Security- und NAT-Gateway für das Münchner Wissenschaftsnetz (MWN)
Systeme innerhalb des Münchner Wissenschaftsnetzes (MWN) mit privaten IP-Adressen brauchen für viele Internetdienste eine offizielle IP-Adresse. Die Umsetzung der privaten in eine offizielle Adresse erfolgt durch ein sogenanntes NAT-Gateway. Zeitgleich werden an dieser Schlüsselstelle verschiedene Security-Überprüfungen durchgeführt.
Inhalt
Vorbemerkung
Jeder Rechner benötigt zur Kommunikation im Internet und MWN (Münchner Wissenschaftsnetz) eine IP-Adresse. Rechner mit privaten IP-Adressen, die vom LRZ zugewiesen wurden, können ohne weiteres Zutun innerhalb des MWNs kommunizieren, jedoch nicht über die Grenzen des MWNs hinaus ins Internet. Damit diese Rechner die MWN-Grenze überwinden können, betreibt das LRZ ein zentrales NAT-Gateway, dem wir den Projektnamen Secomat gegeben haben.
Die erste Version dieses Gateways war unter dem Namen NAT-o-MAT bekannt. Bis dieser alte Name endgültig getilgt ist, wird noch einige Zeit vergehen, d.h. er taucht noch an der einen oder anderen Stelle auf. Der Namenswechsel erschien uns angebracht, da sich der Aufgabenschwerpunkt zusehends in Richtung Sicherheitsfunktion verschiebt. In diesem Dokument wird nur noch der neue Name Secomat verwendet.
NAT steht für "Network Address Translation" und bedeutet die IP-Adressumsetzung von einer "privaten" in eine "öffentliche" IP-Adresse. Wie sein Name bereits vermuten lässt, geht der Funktionsumfang des Secomat jedoch darüber hinaus: er kann z.B. die Datenübertragungsrate begrenzen oder verschiedene Angriffsszenarien (u.a. Portscans, Denial of Service, Spam) erkennen und unterbinden.
Wichtiger Hinweis:
In einigen Studentenwohnheimen (z.B. in der Studentenstadt Freimann) werden eigene Router, Gateways und Proxy-Server betrieben. Der Internetzugang wird hier nicht über den Secomat des LRZ ermöglicht.
NAT
IP-Adressen aus bestimmten Bereichen (z.B. 10.155.1.1) werden als privat bezeichnet (RFC 1918), da Datenpakete mit solchen IP-Adressen nicht im Internet weitergeleitet - geroutet - werden.
Hat ein Rechner eine private IP-Adresse, so kann kein Paket aus dem Internet diesen direkt erreichen. Rechner mit privaten Adressen sind damit automatisch gegen (Hacker-)Angriffe aus dem Internet geschützt. Ebenso kann jedoch kein Datenpaket mit einer privaten IP-Adresse das MWN verlassen und Dienste außerhalb des MWNs nutzen. Private IP-Adressen schützen somit vor Zugriffen aus dem Internet, verhindern aber auch den Datenverkehr nach außen. Siehe hierzu auch: Welchen Vorteil bieten private IP-Adressen?
NAT ist eine Möglichkeit, die Grenze privater IP-Adressen bei Bedarf zu überwinden. Anfragen mit privaten IP-Adressen werden dabei von einem NAT-Gateway mit einer öffentlichen, d.h. weltweit im Internet nutzbaren, IP-Adresse als Absender versehen und ins Internet weitergeleitet. Dieses Verfahren wird Source NAT genannt und wird ist im Prinzip auch von vielen DSL-Routern verwendet.
Source NAT (SNAT) stellt sicher, dass Verbindungen nur zustande kommen, wenn sie vom privaten Netz aus aufgebaut werden, nicht aber von außen (dem Internet).
Verhinderung von Portscans, Denial of Service und Spam-Angriffen
Zur Verhinderung von Scan- und DOS- oder DDOS-Angriffen, die von Rechnern im MWN ausgehen, wird die Anzahl von Paketen von und auf bestimmte Ziele beobachtet:
- Rechner, die mit ihrer Quell-IP einen bestimmen Zielport auf vielen Ziel-Rechnern erreichen wollen, machen einen DOS- oder Scan-Angriff, wenn mehr als 10 Pakete pro Sekunde abgeschickt werden.
- Rechner, die mit vielen Quell-IPs einen einzigen Ziel-Rechner kontaktieren wollen, machen einen DDOS-Angriff, wenn mehr als 10 Pakete pro Sekunde abgeschickt werden.
- Bei den TCP-Ports 80 (HTTP, WWW) und 443 (HTTPS) sind 100 Pakete pro Sekunde die Grenze.
- Beim Port 25 (Mail) sind 6 Verbindungen pro Minute die Grenze.
Wird eine dieser Grenzen überschritten, so erhält der Rechner einen "Strafpunkt". Bei 120 Strafpunkten innerhalb eines gleitenden Fensters von 15 Minuten wird davon ausgegangen, dass der Rechner ein abnormales Kommunikationsverhalten zeigt und möglicherweise kompromittiert (z.B. durch einen Virus) ist. Daraufhin erfolgt die automatische Sperrung des Rechners am Internet-Zugang. Der Browser am blockierten Rechner wird zwangsweise auf eine WWW-Seite umgeleitet, die einen Hinweis auf die Blockierung und einen Link zur AntiVirus-Seite des LRZ enthält. Werden die 120 Strafpunkte innerhalb von 15 Minuten wieder unterschritten, so wird der Rechner - wiederum automatisch - freigeschaltet.
Die Policies für das Traffic-Shaping und die Blockade unerwünschter Pakete sind ausführlicher hier beschrieben.
Wichtiger Hinweis:
Trotz dieser Maßnahmen ist jeder Benutzer auch weiterhin selbst für die Sicherheit seines Rechners verantwortlich ist. Hierzu gehört der Einsatz eines aktuellen Virenscanners und der vorsichtige Umgang mit Programmen, die auf das Internet zugreifen.
Technische Realisierung
Der Secomat ist kein fertiges Produkt, das in dieser Form im Handel erhältlich ist. Er besteht aus einem Cluster von Linux-Servern, dessen Hochverfügbarkeit mit Heartbeat/Pacemaker erreicht wird. Die Kernkomponente des Secomat ist der Linux-Firewall-Mechanismus Netfilter/Iptables. Neben Regeln für NAT gibt es hier auch Regeln (Hashlimits) gegen DoS (Denial of Service), DDoS (Distributed Denial of Service), Würmer und Portscans.
Traffic-Shaping wird mit Hilfe des Linux Traffic Controllers (http://lartc.org/) umgesetzt. Diese Kernkomponenten sind eingebettet in eine Reihe von selbst entwickelten Bash- und Perl-Skripte, die z.B. zur Analyse von Firewall-Logs dienen oder grafische Auswertungen via RRDtool (http://www.rrdtool.org) ermöglichen.
Fragen & Antworten
Siehe FAQs.