Secure Apache only for other networks
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.
iptables -t nat -A POSTROUTING -s REALIP -o eth0 -p tcp -m tcp -j SNAT --to-source 192.168.5.224
Dieser iptables Befehl, ändert die Quell-IP aller TCP Pakete von REALIP zu 192.168.5.224 auf dem Interface eth0.
This is the internet ! Gratis Domain-Weltkarte von united-domains – Teil 2

