Webserver-How-To Teil 2: Das Sicherheitskonzept
23. März 2008Hat man sich für eine Konfiguration der Infrastruktur entschieden, steht der nächste wichtige Schritt an: Die Absicherung, um Hackern und anderen Übeltätern keinen Zugriff auf den Server zu gewähren. WICHTIG: Wenn ihr nur ganz simpel einen lokalen Webserver auf eurem PC installieren wollt (Konfiguration 1, bzw. 2 bei der Teil 2 meines How-Tos), könnt ihr diesen Schritt überspringen. Solltet ihr keinen Wert auf Sicherheit legen (was nicht wirklich zu empfehlen ist) oder keine wichtigen Daten auf eurem Server gespeichert haben, könnt ihr diesen Schritt ebenfalls überspringen. Grundsätzlich empfehle ich aber wirklich JEDEM, der einen Server am Netz hängen hat, entsprechende Sicherheitsmaßnahmen zu treffen.
So, ihr habt euch also für einen sicheren Server entschieden. Gut so! Lasst mich im folgenden erklären, wo es darauf ankommt und wie eine Beispielkonfiguration aussehen KÖNNTE. Folgende Konfiguration ist meinem Gehirn entsprungen - ich schätze sie als relativ sicher ein, natürlich gibt es aber auch tausende weitere Konfigurationen, wie ihr euren Server / bzw. euer Netzwerk absichern könnt.
Im Folgenden ein kleines Bild von der Grundidee:

Lasst euch nicht verwirren. Ich fange mal an, das alles Stück für Stück zu erklären: Auf eurem dedizierten (also eigenständigen) Webserver läuft eine Virtualisierungssoftware, wie z.B. VMWare. In dieser ist ein weiteres Betriebsystem installiert - z.B. Windows XP oder auch eine Linux-Distribution. Diese virtuelle Maschine hat die Aufgabe, feindliche Angriffe abzublocken, Ports zu schließen und vor allem: Nur authentifizierten Usern Zugriff auf Dienste wie FTP zu geben. Zudem soll ein SSH-Daemon drauf laufen, der sämtliche Aktivitäten im Intranet (natürlich nicht über geöffnete Ports zum Internet hinaus) mit 128bit verschlüsselt. Somit kann der gesamte Netzwerkverkehr zwar weiterhin abgehört werden - jedoch ist das ganze verschlüsselt und somit unmöglich für den Lauscher, herauszufinden, welche Pakete empfangen und versendet wurden.
Der Angreifer greift also über seinen Provider ohne Probleme auf den Router zu, kommt im besten Fall noch an der gegebenenfalls integrierten Firewall darin vorbei, doch wird - je nach Absicht - von der virtuellen Maschine abgeblockt. Zugriff auf physikalische Dienste, die auf eurem Webserver laufen, bekommt er also NICHT. Um Zugriff z.B. auf FTP-Server zu erhalten, bedarf es einer Authentifzierung. Diese soll über einen VPN-Server laufen, damit ihr selbst entscheiden könnt, wer im World-Wide-Web Zugriff auf euren Webserver bekommen soll. Diese Authentifizierung wird ebenfalls über SSH mit 128bit verschlüsselt - somit kommt wirklich nur derjenige rein, der entsprechenden Benutzernamen und Passwort weiß. Sind die Clients im VPN-Netz authentifiziert, erhalten diese logischerweise interne IP-Adressen. Sämtliche Anfragen von diesen werden von der Firewall nicht gefiltert. Heißt also: Vollzugriff!
Nun will man natürlich aber auch nicht, dass alles so krass abgesichert ist, dass der Normalo-Internetsurfer keinen Zugriff mehr auf Port 80, also dem Standardport für Apache hat. Deswegen werden solche Ports entsprechend zuerst auf dem Router an die IP der virtuellen Maschine weitergeleitet, deren Firewall wiederum auf den eigentlichen Webserver weiterleitet. Diese Anfragen finden selbstverständlich unverschlüsselt statt.
Wie aber ist nun der eigentliche Server mit dem Internet verbunden? Gar nicht! Er hat keinen Anschluss, der direkt zum Router führt, sondern stellt die Verbindung über die virtuelle Maschine her. Diese hat ja eine Netzwerkkarte zugewiesen bekommen, die direkt mit dem Internet verbunden ist. Als Gateway trägt man also im TCP / IP-Protokoll des Servers die IP-Adresse der virtuellen Maschine ein - somit können nur Anfragen auf den Server akzeptiert werden, wenn diese in der virtuellen Maschine entsprechend konfiguiert sind.
Natürlich kann (anders als auf dem Bild) die virtuelle Maschine auch für alle anderen Computer im Netzwerk genutzt werden. Ich rate davon jedoch ausdrücklich ab, da man mit diesen sonst kaum Zugriff auf das Internet hat, da die virtuelle Maschine so gut wie alles blockt. Die Installation einer normalen Firewall-Software auf den anderen Computern ist somit um einiges unaufwändiger, als die Konfiguration an der virtuellen Maschine vorzunehmen.
So viel also zur Idee. Bei der Realisierung muss ich euch leider enttäuschen: Ich kann schlecht jeden Schritt einzeln beschreiben, zumal die Konfigurationen je nach Umgebung wieder ganz anders aussehen können. Eine Pauschal-Anleitung ist also unmöglich.
Eine weitere Möglichkeit wäre, das ganze über vorgefertigte Linux-Distributionen wie z.B. IPCop laufen zu lassen. Diese sind speziell als Firewalls gedacht und können über ein Webinterface administriert werden. IPCop benötigt allerdings 2 Netzwerkkarten - eine für die LAN-Verbindung zum Netzwerk, eine andere für die Verbindung zum Internet. Der Sicherheit halber sollte man den Server jedoch hinter ein VLAN schalten. Dafür wiederum ist spezielle, teurere Hardware nötig.
Solche Sicherheitsvorkehrungen gelten aber - wie bereits erwähnt - eigentlich nur für professionellere Server mit sensiblen Daten. Aus diesem Grund sollte gewisses Know-How, wie man diese Dienste installiert, schon da sein. Denn nur die Anfangskonfiguration ist längst nicht alles.
Lange Rede, kurzer Sinn: Solltet ihr nicht weiterkommen, postet eure Fragen in den Kommentaren - oder mietet mich! Gerne richte ich (sofern örtlich) auch bei euch ein professionelles Sicherheitssystem ein und konfiguiere das Netzwerk entsprechend. Anfragen bitte per Mail an mich.
Mit dem nächsten Teil meines How-Tos geht das mehr oder weniger richtig los: Wir beginnen mit der Installation von Apache und konfiguieren es entsprechend!

Save to Browser Favorites
Ask
backflip
blinklist
BlogBookmark
Bloglines
BlogMarks
Blogsvine
BUMPzee!
CiteULike
co.mments
Connotea
del.icio.us
DotNetKicks
Digg
diigo
dropjack.com
dzone
Facebook
Fark
Faves
Feed Me Links
Friendsite
folkd.com
Furl
Google
Hugg
Jeqq
Kaboodle
linkaGoGo
LinksMarker
Ma.gnolia
Mister Wong
Mixx
MySpace
MyWeb
Netvouz
Newsvine
PlugIM
popcurrent
Propeller
Reddit
Rojo
Segnalo
Shoutwire
Simpy
sk*rt
Slashdot
Sphere
Sphinn
Spurl.net
Squidoo
StumbleUpon
Technorati
ThisNext
Webride
Windows Live
Yahoo!
Email This to a Friend
If you like this then please subscribe to the 




[...] Webserver-How-To Teil 2: Das Sicherheitskonzept [...]
Chronicles of Seb » How-To: Einen Webserver auf Windows aufsetzen | 23. März 2008 | 17:57[...] Webserver-How-To Teil 2: Das Sicherheitskonzept [...]
[...] geht es richtig los! Nachdem man sich ausführlich Gedanken
Chronicles of Seb » Webserver-How-To Teil 3: Apache installieren & konfiguieren | 24. März 2008 | 23:00[...] geht es richtig los! Nachdem man sich ausführlich Gedanken zur Infrastruktur und zur Sicherheit gemacht hat, geht es los mit ersten Schritt zur Installation des eigenen Webservers: Die [...]
[...] Weiter: Das Sicherheitskonzept
Chronicles of Seb » Webserver-How-To Teil 1: Überlegungen und Umsetzung der Infrastruktur | 26. März 2008 | 16:07[...] Weiter: Das Sicherheitskonzept #close {cursor:pointer;background-color: #cccccc;border: 1px #656565 solid;position: absolute;padding: 0px 6px 2px 6px;top: -1px;right: -1px;margin-right: 0px;} #close a {color: #333333;text-decoration:none;} .content{font-size: 11px;font-family: arial,helvetica;font-weight: normal;color: #000000;} X [...]