Den LAMP ins Web bringen

Home Hommage an S.J.Lec Fotografie Netzbetrieb Kabelfrequenzen in Hamburg
Übersicht
Linux - Versionen
den Lampp ins Web
PHP / MySQL?
MySQL-Replikation
Fern-Administration
DFUE - Chronik
Hansenet

Kontakt

Nachdem mein Lamp nun zufriedenstellend arbeitete, die Firewall hoffentlich funktionierte, wollte ich nun einzelne Funktionen auch außerhalb meines LAN's / Intranets bereitstellen und von außen erreichbar machen und trotzdem ein einigermassen abgeschottetes Serversystem erhalten.

Abschottung der Inhalte

Der Apache bietet mit der Idee der virtuellen Server die Möglichkeit einen Server mit einem DocumentRoot außerhalb der Intranetstrukturen anzulegen und diesen auf einen bestimmten Port (hier: 8080 gewählt) erreichbar zu machen.

Erster Schritt ist die Anpassung der Apachekonfiguration :

<etc/httpd/httpd.conf>   

Listen 8080
. . . 

NameVirtualHost gatex.antiwome.net:8080

<VirtualHost gatex.antiwome.net:8080>
DocumentRoot /daten/internet
ServerName antiwome.homeip.net
Port 8080
HostNameLookups off
UseCanonicalName off
DirectoryIndex index.php
IndexIgnore *.jpg *.gif *.php
ErrorLog /var/log/httpd/8080error_log
CustomLog /var/log/httpd/8080access_log combined
<Location />
  <Limit CONNECT>
    Order deny,allow
    Deny from all
  </Limit>
</Location>
</VirtualHost>

Ich habe die Anzeige von Verzeichnissen für Skripte und Bilder abgeschaltet und eigene Logdateien definiert.

Den Abschnitt <Location> habe ich eingefügt, nachdem ich bemerkt habe, das aufgrund der speziellen Konfiguration mein Server mißbraucht wurde, um Mail abzuladen. In den Logs tauchten Zugriffe auf, die einen CONNECT auf fremden Mailservern:25 machten. Das Problem ist damit gelöst.

In das eigene DokumentRoot müssen die benötigen Dateien nicht kopiert werden, unter Linux reichen symbolische Links (im Apache freischalten). Es sollte jetzt nicht mehr möglich sein, aus der Dateistruktur des Virtuellen Servers herauszukommen.

Dezidierte Öffnung der FireWall

Die aufgesetzten ipTables waren jetzt davor, den Server auch von außen zur erreichen, da definiert wurde, daß neue Verbindungen nur im Intranet entstehen konnten.

Anpassungen im FireWall-Skript

#Aktivieren der Untersttzung fr Dynamische IP-Adressen (auskommentieren bei fester IP)
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
. . .
#EINGEHENDE Verbindungen aus dem Internet teilweise zulassen
$IPTABLES -A INPUT -i $AUSSEN -p tcp --dport 8080 -j ACCEPT
. . .
#DNAT (WWW) (optional)
#Notwendig, um die Pakete fr das DNAT zuzulassen (2.Teil von der Regel oben)
$IPTABLES -A FORWARD -i $AUSSEN -o $INNEN -p tcp --dport 8080 -d 192.168.xxx.yyy/32 
		\-m  state --state ESTABLISHED,RELATED,NEW -j ACCEPT
#xxx.yyy anpassen an die lokalen Verhaeltnisse

Voila. Natürlich kann man es nicht ohne weiteres testen, da ist der DSL-Router davor. Zum Testen sollte man eine andere Verbindung als das bestehende DSL verwenden.

Publizieren der Serveradresse

Mit DSL haben Sie in der Regel eine dynamische Adresszuweisung des Providers, d.h. nach jedem Verbindungsabbau kann der Server nach aussen eine neue Adresse bekommen und ist dait nicht ohne weiteres erreichbar. Abhilfe kann ein DNS-Eintrag bei einem Provider für dynamische Adressen sein, beispielsweise unter dyndns.org wird ein solcher Service bereitgestellt. Mit einem Dämon kann sichergestellt werden, daß Änderungen der Adresse an DynDNS übermittelt werden. Ich verwende ez-ipupdate.

Da sich die DSL-Verbindung üblicherweise abbaut und damit der Server nicht von außen erreichbar ist, sollte ein minimaler Netzverkehr erzeugt werden, um den Abbau der Verbindung zu verhindern.

Ergebnis

Neugierig geworden? Ich beschäftige mich in einer Freizeit auch mit digitaler Fotografie und habe einige Alben im Netz. Über meinen Server stelle ich eine Datenbank einer Fotos mit einer Suchfunktion zur Verfügung.


aktualisiert am 27.12.2007 18:49:59 ©W.Meinhart
eXTReMe Tracker