Ich wurde nach einer Anleitung gefragt, um einen Apache 2 Webserver so abzusichern, das er nur aus dem lokalem Netzwerk erreichbar ist. Ich habe dies bereits bei BETA Webseiten und bei meinem Debian Router Projekt eingesetzt.
Hier sind einige Beispiele: (192.168.5.0/24 ist hier das LAN, dies muss evtl. angepasst werden)
1. Nur lokalen Netzwerkzugriff erlauben
<Directory /var/www/htdocs>
Options FollowSymLinks
AllowOverride None
DirectoryIndex index.htm
Order deny,allow
Deny from all
Allow from 192.168.5.0/24
</Directory>
2. Lokalen Zugriff erlauben, von allen anderen Passwort anfordern
<Directory /var/www/htdocs>
Options FollowSymLinks
AllowOverride None
DirectoryIndex index.htm
Order deny,allow
Deny from all
Allow from 192.168.5.0/24
AuthUserFile /var/www/.htpasswd
AuthName "Private"
AuthType Basic
Require valid-user
Satisfy Any
</Directory>
Mit “Statisfy” kann mehr als eine Authentifizierungsmethode verwendet werden. Mit “Statisfy All” sind beide Bedingungen erforderlich, mit “Statisfy Any” ist nur eine der Bedingungen erforderlich.
Vielleicht werden noch Webserviceanfragen auf localhost benötigt, dann sollte man 127.0.0.1 zu dem erlaubten Hosts hinzufügen:
Allow from 192.168.5.0/24 127.0.0.1
Bemerkung:
Diese Methode ist nicht sehr sicher. Man kann sie für einfache Bereiche einsetzen wie einen Beta webserver. Es ist sehr einfach diese Sicherung mit SNAT zu umgehen.