Sebastian Mogilowskis Blog

Just another blog about administration, linux and other stuff

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.

, , , ,

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.