Sicherheit

Ein Prozess, kein Zustand
Sicherheit ist heute wichtiger denn jeh – und wird doch nach wie vor viel zu sehr vernachlässigt. Ein Netz wird nicht plötzlich sicher, weil man eine Firewall dazustellt. Sicherheit ist vielmehr ein Prozess als ein Zustand. Ein Prozess, der in allen Bereichen des Netzes greifen muss, vor allem auch bei den Personen, die dieses Netz betreuen. Sicherheit fängt bei den eingesetzten Protokollen an, geht über die verwendeten Implementierungen dieser Protokolle bis hin zu gezielt eingesetzten Firewalls, einer sicherheitsbewussten Routerkonfiguration und gerade auch der Sicherheit jedes einzelnen Rechners.

Protokolle
Selbstverständlich für uns ist der Verzicht auf unverschlüsselte Protokolle wie Telnet für die Systemadministration.
Doch es sind nicht diese offensichtlichen Fälle, die den Unterschied machen. Wie zum Beispiel werden Backups von den einzelnen Machinen gemacht? Auch hier laufen potentiell vertrauliche Daten über das Netzwerk (wenn auch nur das interne), normalerweise unverschlüsselt – nicht so bei uns, selbst die Backups laufen über ssh-pipes. Und natürlich sind die offsite-Bänder in einem Bankschliessfach.
Wie in diesen Fällen wird bei uns jedes Protokoll vor seinem Einsatz auf seine Sicherheit hin untersucht, und gegebenenfalls schauen wir uns dann nach Alternativen um.

Software
Die besten Protokolle nützen bei schlechter Implementierung wenig. Jedes Stück Software, welches wir einzusetzen erwägen, wird ersteinmal auf seine Sicherheit hin untersucht. Eine komplette Analyse ist leider kaum jemals möglich, aber es ist üblicherweise recht schnell feststellbar, ob eine Software sicherheitsbewusst geschrieben wurde oder nicht. Oft modifizieren wir etablierte Software mehr oder weniger stark, oder entwickeln sie gleich ganz neu – OpenNTPD und OpenBGPD haben Ihre Wurzeln in dieser Unzufriedenheit mit anderen Implementierungen.

Firewalls
Firewalls sind vielleicht das am meisten missverstandene Bausteinchen eines sicheren Netzes. Eine Firewall für sich alleine genommen bringt keine bis wenig Sicherheit – sie kann nur ein Baustein im Ganzen sein. Ein Firewall ist vielmehr ein Punkt zur zentralen Durchsetzung von Policies als ein Security-Device.
Wir betreiben alle unsere und auch alle gehousten Server hinter Firewalls. Zum Einsatz kommt pf unter OpenBSD, an der Entwicklung von beiden sind wir stark beteiligt. Diese Firewalls schotten unsere Netze von aussen, aber auch die internen Netze voneinander ab.
Selbstverständlich kommt die sog. Stateful Inspection zum Einsatz, die Firewalls sehen also nicht Pakete isoliert, sondern im Kontext einer Verbindung, und können so effektiver und genauer filtern. Desweiteren werden Auffällligkeiten im Traffic (unsinnige Kombinationen von TCP-flags zum Beispiel) bereinigt, so dass für die dahinterliegenden Maschinen bzw. deren TCP/IP-Stacks kein Interpretationsspielraum bleibt, der durchaus sicherheitstechnisch bedenklich sein kann.

Host Security
Was nützt eine Firewall, wenn der Angriff von innen kommt? Oder sich komplett innerhalb des Protokoll-Streams abspielt, den die Firewall nicht tiefer untersucht? Jede einzelne Maschine, jedes aus dem Netzwerk (auch dem internen) erreichbare Gerät muss für sich genommen sicher sein.
Das erfordert vor allem zwei Dinge: den Einsatz der richtigen Software und die Aufmerksamkeit der Operatoren. Die korrekte Implementierung der Policies, massvolle Vergabe von Berechtigungen und permanente Paranoia sind hier Grundvorraussetzung. Kein Host darf ungeschützt nicht-öffentliche Dienste anbieten, die nur von der Firewall vor dem Zugriff von aussen geschützt sind – sie müssen sich auch selbst schützen.

Network Security
Neben einer Abschottung der verschiedenen Bereiche voneinander durch eine clevere Segmentierung der eigenen Netze muss vor allem das Problem des sog. Spoofing, also dem Fälschen von IP- oder MAC-Adressen angegangen werden. Auf den Firewalls enforcen wir dass Pakete, die auf einem inneren Interface empfangen werden, auch tatsächlich eine Absenderadresse aus dem in diesem Netzsegment benutzten IP-Adressbereich haben. Ebenso wird sichergestellt dass keine Pakete mit Absenderadressen aus internen Netzen von aussen angenommen werden. Das MAC-Adress-spoofing wird bereits auf den switchen bekämpft: zu jedem einzelnen Port, an dem Endgeräte angeschlossen sind oder die dazu bereitstehen, ist die MAC-Adresse des entsprechenden Gerätes hinterlegt, andere MAC-Adressen werden nicht durchgelassen und unser NOC alarmiert.