Schützen von Netzwerk und Host
Artikel erschienen in Swiss IT Magazine 2007/07
Da Angriffe auf das Netzwerk und die Server, auf denen die Anwendung ausgeführt wird, eine Vielzahl von weitergehenden Folgeangriffen ermöglichen, ist es wichtig, beide vor potentiellen Bedrohungen zu schützen. Im Falle des Netzwerks bezieht sich das insbesondere auf die Hardware, beim Server dagegen im wesentlichen auf die Konfiguration der auf dem Server installierten Software.
Potentiell können unsichere Stellen in diesen Komponenten dazu genutzt werden, um das Netzwerk und damit weitere Sicherheitslücken auszuspionieren, um Dienste zu verweigern – Denial of Service (DoS) – , um andere Identitäten vorzuspiegeln oder um Daten auszulesen, die nicht öffentlich zugänglich sein sollten.
Die grundlegenden Komponenten, welche die Sicherheit eines Netzwerks beeinflussen, sind Router, Firewalls und Switches. Bei diesen Komponenten muss einerseits sichergestellt sein, dass sie nicht mit Anfragen überlastet werden, zum anderen muss auch verhindert werden, dass sie von einem Angreifer ersetzt oder neu konfiguriert werden.
Der Router ist die erste Komponente, die bei einem Zugriff auf das Netzwerk angesprochen wird. Die Aufgabe des Router ist, eingehende Datenpakete in die richtigen Bereiche des Netzwerks und zu den entsprechenden Servern zu leiten. Er kann dabei in erster Instanz bereits unerwünschte Datenpakete ausfiltern oder
blockieren.
Damit ein Router diese Aufgabe wie gewünscht ausführen kann, ist es wichtig, sämtliche Aktualisierungen der Firmware einzuspielen. Die meisten Hersteller von Routern bieten dazu einen entsprechenden Newsletter an, den man abonnieren kann, und stellen alle notwendigen Informationen zusätzlich auf ihrer Webseite zur Verfügung.
Ausserdem sollte das Filtern von ein- und ausgehenden Datenpaketen aktiviert werden, damit unerwünschte und unsichere Anfragen nicht in das interne Netzwerk eindringen können und damit vom internen Netzwerk nur notwendige Daten versendet werden – so kann ein DoS-Angriff zwar nicht verhindert werden, es lässt sich aber verhindern, dass das eigene Netz an einem DoS-Angriff auf andere Server teilnimmt.
Des weiteren sollten ICMP-Datenpakete, die zum Austausch von Fehler- und Informationsmeldungen dienen und zur Analyse der Netzwerkinfrastruktur genutzt werden können, blockiert werden. Sofern ICMP für den Betrieb des eigenen Netzwerks notwendig ist, sollte der Router so konfiguriert werden, dass ICMP nur im Echo-Modus zugelassen wird.
Schliesslich sollte der Router Broadcast-Anfragen unterdrücken. Solche Anfragen können zum einen dazu genutzt werden, um Hosts in einem Netzwerk anzuzeigen, zum anderen können sie aber auch als Träger für DoS-Angriffe dienen.
Eine Firewall ist prinzipiell immer dann ratsam, wenn Daten mit einem nicht vertrauenswürdigen Netzwerk ausgetauscht werden, um nur den notwendigen Datentransfer zuzulassen. Ausserdem sollten verschiedene Server einer Webanwendung wie beispielsweise Web- und Datenbankserver durch eine Firewall voneinander getrennt sein.
Wie bereits bei Routern gilt auch bei Firewalls, dass stets sämtliche verfügbaren Aktualisierungen eingespielt werden sollten. Auch hier wird zusätzlich zu den Informationen auf der Webseite des Herstellers in der Regel ein entsprechender Newsletter angeboten. Die Hauptaufgabe einer Firewall – Datenpakete zu filtern – wird von ihr wesentlich feingranularer ausgeführt als von dem vorgeschalteten Router.
Dabei wird im wesentlichen zwischen vier verschiedenen Filtermethoden unterschieden:
- Paketfilter erlauben oder verweigern die Vermittlung von Datenpaketen anhand statischer Regeln wie Quell- und Zieladresse, Quell- und Zielport oder verwendetem Protokoll. Die Standardeinstellung sollte sein, dass alle Datenpakete, die nicht explizit erlaubt sind, per se zunächst abgelehnt werden. Der Inhalt der Datenpakete spielt für einen Paketfilter in der Regel keine Rolle.
Der Switch schliesslich als dritte Ebene dient dazu, Datenpakete direkt zu einem Host oder einem Netzwerksegment weiterzuleiten, ohne dass die Datenpakete auf das gesamte Netzwerk verteilt werden müssen.
Wie bereits bei Routern und Firewalls gilt auch bei Switches, dass sämtliche Aktualisierungen zeitnah eingespielt werden sollten. Ausserdem muss darauf geachtet werden, dass unsichere Standardeinstellungen geändert werden, um zu verhindern, dass nicht autorisierte Benutzer Komponenten neu konfigurieren können.
Sofern verfügbar, sollte zudem Datenverschlüsselung in Switches aktiviert werden. So kann sichergestellt werden, dass abgefangene Datenpakete nutzlos sind.
Für alle drei Komponenten – Router, Firewall und Switch – gelten als letztes noch folgende vier Faustregeln:
- Sie dürfen nur aus dem eigenen Netzwerk konfiguriert werden können, nicht über einen Zugriff von aussen.
Für den Schutz von Servern gelten prinzipiell die gleichen Regeln wie bereits für den Schutz des Netzwerks. Auch hier gilt, dass sämtliche Aktualisierungen regelmässig und zeitnah eingespielt werden müssen, um bekannte Sicherheitslücken so schnell wie möglich zu schliessen. Dies gilt dabei nicht nur für das Betriebssystem, sondern insbesondere auch für sämtliche installierte Software wie Webserver, Datenbanken oder Frameworks.
Werkzeuge wie beispielsweise der Microsoft Baseline Security Analyzer können Lücken aufdecken, die trotz installierter Aktualisierungen erhöhte Aufmerksamkeit und weitere Konfiguration erfordern. Ausserdem sind für die meisten Betriebssysteme und Webserver Werkzeuge verfügbar, welche die entsprechende Software zusätzlich absichern, wie beispielsweise IIS Lockdown (beide Tools lassen sich über die Microsoft-Website problemlos finden).
Auf dem Host sollten ebenso wie auf den Netzwerkkomponenten nur die Dienste laufen, die unbedingt notwendig sind – das heisst insbesondere, auf Webservern Dienste wie SMTP, FTP, NNTP und ähnliches zu deaktivieren. Ebenso sollten nicht benötigte Protokolle abgeschaltet werden, wie beispielsweise WebDAV, NetBIOS und SMB. Das gleiche gilt auch für Ports: Für einen Webserver sind in der Regel ausser den Ports 80 und 443 keine weiteren offenen Ports notwendig.
Die auf dem Host verfügbaren Benutzerkonten sollten mit minimalen Rechten ausgestattet sein, zudem sollten nicht benötigte Konten deaktiviert oder entfernt werden. Ratsam ist auch, das Administratorkonto umzubenennen und den Gastzugriff abzuschalten.
Die Vergabe minimaler Rechte schliesst ein, dass Datei- und Ordnerzugriff sowie Freigaben so sparsam wie möglich eingesetzt werden sollten. Insbesondere der Zugriff auf Systemordner sollte für möglichst alle Benutzerkonten verweigert werden. Auch der Zugriff auf die Registry sollte eingeschränkt werden.
Bei Webservern sollte man schliesslich darauf achten, dass die Daten der Webseiten nicht auf der gleichen Partition liegen wie das System, um Angriffe über relative Verzeichnispfade zu verhindern. Im weiteren sollte schreibender Zugriff der Webseite auf den Server deaktiviert werden, es sei denn, dieser wird für wichtige Aufgaben benötigt.
Web Application Firewalls (WAF) sind Firewalls, die als Anwendungsfilter speziell für Webanwendungen arbeiten. Dabei werden im Vorfeld die zu schützenden Anwendungen und die Interaktion mit ihnen analysiert, um Profile erlaubter Aktionen zu erzeugen. Auf dieser Basis wird von der WAF im Anschluss ein Regelsatz erzeugt, der den Zugriff auf die Webanwendung steuert.
Da WAFs ausserhalb der Anwendungen ansetzen, können mit einer einzelnen WAF mehrere Webanwendungen gleichzeitig geschützt werden. Zudem bieten sie die Möglichkeit, Lücken in Legacy-Anwendungen zu schliessen, für die es keine Aktualisierung mehr geben wird, und die Zeit in regulären Anwendungen zu überbrücken, bis eine Aktualisierung verfügbar ist.
Dennoch stellen WAFs nicht das Allheilmittel dar, da Anwendungen weiterhin Lücken enthalten können, die nicht durch eine WAF abgefangen werden – hier ist ein gesundes Misstrauen also weiterhin angebracht. Im übrigen lassen sich WAFs durch den Einsatz von komplexeren Angriffen leicht austricksen, so dass sie eher als Basisschutz dienen denn als vollwertige, umfassende Sicherheitslösung.
Das Schützen von Netzwerk und Host ist ein umfangreiches Thema, dessen Komplexität häufig unterschätzt und daher auch oft vernachlässigt wird. Eine gute Faustregel ist, jede einzelne Verbindung und jeden einzelnen Dienst individuell zu überdenken, zunächst alles zu sperren und erst nach und nach die benötigten Verbindungen und Dienste wieder freizuschalten.
Dabei sollte man immer versuchen, die Angriffsfläche möglichst gering zu halten und möglichst viele Daten über fehlerhafte Zugriffe zu sammeln, so dass man im Falle des Falles einen Angriff detailliert nachvollziehen und daraus lernen kann.