Network Access Control, Teil 3

Test: Open-Source und kostenlose NAC-Lösungen

10.11.2009 von Elmar Török
Network Access Control setzt sich in den Firmen nur zögerlich durch. Das liegt zum einen an der Komplexität von NAC, zum anderen aber auch an den hohen Kosten für Software und Implementierung. Kostenlose und Open-Source-NAC-Lösungen machen die Hemmschwelle kleiner.

Auch wenn Network Access Control (NAC) schon seit einigen Jahren mit Konzept und entsprechenden Produkten Einzug in die Unternehmenswelt gefunden hat, breitet sich das Schutzsystem nur langsam in den Firmen aus. Schließlich präsentierte der Netzwerk-Riese Cisco schon 2003 das Konzept der Network Access Control, abgekürzt NAC. Die simple Idee dahinter: Sobald das Netzwerk ein neues Gerät erkennt, das Zugriff auf die Ressourcen haben möchte, muss es erst einen Check auf Unbedenklichkeit durchlaufen, bevor es logisch mit dem LAN verbunden wird. Mehr zu den Grundlagen von NAC lesen Sie in unseren beiden Artikeln Sicheres Netzwerk durch Network Access Control und Die Technik hinter Network Access Control.

Wenn man Faktoren wie mangelnde Standardisierung und die Marketingschlachten der Hersteller außer Acht lässt, bleibt ein Hauptgrund gegen die Einführung von NAC übrig: Weil NAC Auswirkungen auf fast alle Komponenten der Netzwerkinfrastruktur hat, ist die Umsetzung aufwendig und damit sehr teuer. "Nur mal ausprobieren" kommt nicht in Frage. NAC-Projekte müssen mit hohen Ressourcenbudgets vorbereitet und durchgezogen werden.

Das mag in großen Unternehmen der richtige Weg und durchaus machbar sein. Kleine und mittlere Firmen hingegen stehen dem NAC-Prinzip eher skeptisch gegenüber und wollen erst abklären, ob die Nutzeffekte in ihrer spezifischen Umgebung den Aufwand rechtfertigen. Die Angebote der großen Hersteller wie Enterasys, Cisco oder Symantec sind auf die Belange großer Unternehmen mit der entsprechenden Finanzkraft zugeschnitten. Weit günstiger, zumindest was das NAC-System selbst angeht, lässt sich die Sicherheitslösung mit einem Open-Source-Angebot angehen. Das mag in einigen Firmen nicht der offiziellen Policy entsprechen, aber für den Test und erste Erfahrungen mit NAC genügen die kostenlosen Angebote auf alle Fälle.

Eigentlich wollte auch Cisco, einer der wichtigsten Hersteller im NAC-Markt, seinen NAC-Client der Open-Source-Community übergeben. Doch nach einer Weile ruderte der Hersteller zurück und gab an, die Offenheit "über den Ansatz der Standards" weiterführen zu wollen.

Auswahl am Markt

Gegen Open-Source-NAC sprechen Dinge wie möglicherweise fehlender oder schwer erhältlicher Support. Und wenn Funktionen fehlen, kann Eigeninitiative in Form von Programmieraufwand die einzige Option sein, um das Problem zu beheben. Immerhin ist bei Open Source das eigene Programmieren möglich, bei Closed-Source-Produkten ist man komplett auf den Goodwill des Herstellers angewiesen.

Es gibt eine ganze Reihe von Angeboten, die mehr oder weniger ausgereift sind. Viele kommen aus dem Universitätsumfeld, wo sie vom hauseigenen IT-Team entwickelt wurden. Recht bekannt ist mittlerweile PacketFence, eine Lösung der Harvard University. Aber auch FreeNAC, das seine Geburtsstunde im Labor des Schweizer Telecomanbieters Swisscom erlebte, kann inzwischen auf eine ganze Reihe von Nutzern verweisen. Die Entwickler bieten auch eine kommerzielle Version davon an.

Nicht Open Source, aber kostenlos ist SafeAccess Lite von Still Secure. Allerdings gibt es zwei Mankos: Die Anzahl der verwaltbaren Geräte ist auf 250 beschränkt, und die Software erlaubt nur das Erkennen und Bewerten von Endgeräten. Den Zugang blockieren kann sie nicht, das bleibt der kommerziellen Variante vorbehalten.

Im Internet oder auf den Sourceforge-Seiten finden sich einige weitere, weniger bekannte NAC-Projekte:

Testkriterien

Wir haben uns im folgenden Test auf Stillsecure SafeAccess Lite und FreeNAC beschränkt und sie genauer betrachtet. Die Auswahl erfolgte zum einen wegen ihres Bekanntheitsgrads. Zum anderen war entscheidend, dass die NAC-Lösung auch als vorkonfigurierte Virtual Machine (VM) bezogen werden kann. Die VM erleichtert das anfängliche Setup, NAC-Lösungen sind auch ohne die Basisinstallation komplex genug.

Wir nutzten für die Tests den kostenlosen VMware-Server-2 auf einem Intel-DualCore-Rechner mit 4 GByte RAM. Die getesteten NAC-Lösungen laufen aber auch mit dem VMware-Player oder – wenn die Ressourcen vorhanden sind – auf einem ESX-3.5-Server. Weil die Produkte aus Sicht einer kleinen Firma betrachtet werden sollten, kamen auch nur typische SMB-Switches von D-Link (DGS-3200-10), Dell (Powerconnect 3248) und Netgear (GS724TP) zum Einsatz.

Übersicht: Die VM von SafeAcess ist mit einer übersichtlichen GUI versehen.

Generell ist der Funktionsumfang der Open-Source-NAC-Lösungen auf das Erkennen und Reglementieren von "normalen" Endgeräten ausgerichtet. Goodwill wird vorausgesetzt, die Produkte lesen entweder MAC-Tables der Switche aus oder lauschen auf DHCP-Anfragen. Einen Angreifer, der solche verräterischen Aktionen tunlichst unterlassen wird, kann man damit nicht aufspüren.

Test Stillsecure SafeAccess Lite

SafeAcces Lite von StillSecure wird ausschließlich als VMware-Image verteilt und setzt einen sofort nutzbaren NAC-Server auf. Die Erkennung der Endgeräte erfolgt wahlweise über einen Agent, DHCP-Erkennung mit Browser oder ganz ohne Software über einen RPC-Dienst auf dem (Windows-)Endgerät. Stillsecure hat dem Linux-Server eine ansprechende GUI verpasst, sodass Anwender nichts vom Betriebssystem mitbekommen. Ergebnisse und Einstellungsdialoge werden sehr übersichtlich und ansprechend präsentiert.

Schnelles Setup: Alle Einstellungen von SafeAceess Lite befinden sich auf einer Seite.

Im Zip-Paket der VM sind zwei Dokumente enthalten, die die Erstinstallation beschreiben. Das physikalische Setup ist simpel. Nachdem es nur um reines Monitoring geht, genügt es, den Server mit einem Switch zu verbinden, der Kontakt zu den überwachten Endgeräten hat. Zusätzlich kann über einen Span-Port der Broadcast-Traffic für den DHCP-Server zum NAC-Server kopiert werden. Dann erkennt das NAC auch neue Endgeräte aus anderen Segmenten. Ein Span-Port kann die Daten anderer Switchports auf sich vereinen und ermöglicht so die Überwachung von normalerweise nicht sichtbarem Datenverkehr auf den Ports.

Nach dem Start der VM muss der Benutzer zunächst eine IP-Adresse vergeben. Das geht über den Zugriff auf die Konsole der VM, das Passwort für den Benutzer root lautet safeaccess. Als root kann man über das Kommando network-settings.py <ipaddress> <netmask> <gateway> die gewünschte IP festlegen. Alles Weitere passiert per Browser über die grafische Benutzeroberfläche. Diese wird mit https://<ipadresse> gestartet und führt mit einem Wizard durch die Grundkonfiguration mit Zeitserver (NTP), neuem Root-Passwort und Lizenzcode. Die Lizenz erhält man beim Download der VM von der Stillsecure-Website. Der Schlüssel ist sehr lang, ohne Copy&Paste ist das Eingeben eine Tortur. Am besten kopiert man ihn in ein Notepad-Dokument.

Gerätemanagement

Danach meldet man sich mit dem neuen Passwort erneut bei der grafischen Oberfläche an und hat die Bedienkonsole vor sich. Weil das System im Prinzip ab der Vergabe einer IP-Adresse nach Endgeräten sucht, dürfte die Liste schon gut gefüllt sein.

Fundbüro: In der Endgeräte-Übersicht zeigt die NAC-Lösung alle gefundenen PCs.

Unter dem Menüpunkt "Endpoint Activity" kann man alle gefundenen Geräte und ihren Status sehen. SafeAccess Lite unterstützt drei Methoden, um den Zustand eines Endgeräts zu testen. Da ist einmal der klassische Weg über einen fest installierten Agent. Die Software kann automatisch auf die Clients geschoben oder manuell von der Website http://<ipadresse-des-nac-servers>:89/setup.exe heruntergeladen werden. Gibt man die Zeile mit vorangestelltem https ein https://<ipadresse-des-nac-servers>:89/setup, versucht ein ActiveX-Control, die zweite Variante des Checks, das Endgerät über den Browser abzuprüfen.

Schnelltest: PCs können per ActiveX Applaet getestet werden.

Das funktionierte mit Firefox und Internet Explorer, allerdings nicht auf Windows 7 RC. Die dritte Möglichkeit stellt ein Check über den RPC-Dienst bei (Windows-)Endgeräten dar. Dafür muss der Admin eine gültige Benutzername/Passwort-Kombination für die Endgeräte in den Einstellungen hinterlegen.

Jede Menge Tests

Spannend und der eigentliche Grund, warum man SafeAccess Lite trotz des fehlenden Enforcements nutzen sollte, sind die Mengen an Tests, die der Hersteller erlaubt. Die Liste umfasst die Prüfung auf fehlende Patches und Service-Packs, auf verwendete Betriebssysteme sowie das Vorhandensein und die Aktualität von Anti-Virus- und Anti-Malware-Produkten. Alle Testergebnisse sind in der Endgeräteübersicht aufgelistet.

Umfassend: SafeAccess Lite kann zahlreiche Parameter prüfen.
Durchgefallen: Hier fehlen wichtige Hotfixes.

In der NAC-Policy wird festgelegt, was überprüft und wie mit Abweichungen umgegangen werden soll. So gibt es eine (erweiterbare) Liste mit Websites, die trotz Ablehnung vom Client aus erreichbar sind, zum Beispiel um die geforderten Hotfixes von Microsoft herunterzuladen.

Weiße Liste: Auch gesperrte PCs dürfen auf einige Websites zugreifen, um Patches herunterzuladen.

Fazit SafeAccess Lite

Auch ohne Enforcement kann der Check kleinen Firmen einen guten Überblick über den Zustand ihrer Computer liefern. Ein Testreport pro Endgerät hilft beim Bewerten von Schwachstellen über die Zeit. Trotzdem: Das größte Manko ist die fehlende Enforcement-Funktion. Ohne Umsetzung von Regeln bleibt der SafeAccess-Lite-NAC-Server ein zahnloser Tiger.

Test FreeNAC

Die Open-Source-Lösung FreeNAC begann als internes Projekt von Swisscom, wurde weiterentwickelt und steht nun auch in einer kommerziellen Variante zur Verfügung. Ursprünglich war es dazu gedacht, Endgeräten unter Benutzung von Ciscos VMPS-Protokoll Zugang zum Netzwerk zu gewähren oder zu sperren. Mithilfe von VLAN Membership Policy Server (VMPS) werden Ports basierend auf der MAC-Adresse des angeschlossenen Gerätes dynamisch einem VLAN zugeordnet. Wenn ein Gerät innerhalb des Netzwerkes umzieht, ordnet der Switch den neuen Port automatisch dem richtigen VLAN zu.

VMPS ist zum einen auf Cisco Switche beschränkt und zum anderen ein Auslaufmodell – Cisco wird VMPS nicht weiterentwickeln. Die Projektverantwortlichen von FreeNAS haben daher auch 802.1x Support für das Enforcement in ihre Software integriert. Allerdings sagt schon die Website recht deutlich, dass FreeNAC nichts für Anfänger ist; man will damit versierte Systemadministratoren ansprechen, die sich in der Open-Source-Welt, vor allem Linux, gut auskennen.

Alles im grünen Bereich: die Statusanzeige von FreeNAC.

Die Lernkurve wird durch die VM-Version von FreeNAC ein wenig beschleunigt, allerdings ist der Umgang mit dem Tool wirklich nichts für Anfänger. Die Dokumentation spielt dabei keine rühmliche Rolle. Das Englisch der Autoren ist stellenweise interpretationsbedürftig, und gern werden Pfade vergessen oder Berechtigungen vorausgesetzt, die der Anwender gerade nicht hat.

Konfiguration von FreeNAC

Der Start der VM läuft problemlos ab, nachdem in der Konsole die Eingabeaufforderung erscheint, kann man sich mit den Standard-Credentials freenac/freenac einloggen. Weil die VM seltener upgedatet wird als die Installationspakete, sollte man zuerst mit sudo /opt/nac/svn update die Binärpakete auf den neuesten Stand bringen.

Schlicht gestaltet: die Web-Oberfläche von FreeNAC.

Da sich FreeNAC automatisch eine IP-Adresse per DHCP holt, lässt sich die restliche Konfiguration per Konsole abwickeln. Die Programmierer haben dazu sowohl einen Zugang per Web-Browser vorgesehen als auch einen eigenen Client mit Namen "VMPS" programmiert. Der Client benötigt beim Start die XML-Datei "vmps.xml" im gleichen Verzeichnis. Dort muss der Benutzer die Dummy-IP-Adresse mit der IP-Adresse seines gerade gestarteten FreeNAC-Servers ersetzen. Im Feld "database" muss der Wert "opennac" stehen.

Langes Gedächtnis: Das History-Log von FreeScan hilft bei der Einrichtung und Fehlersuche.

Kommandozeilenmodus

Verbindet man sich nun mit einem Klick auf den Connect-Button mit dem Server, lässt sich die restliche Konfiguration vornehmen. Wer es lieber an der Kommandozeile erledigen möchte, kann an der Konsole der VM mit dem Befehl mysql in den Konfig-Modus der Datenbank wechseln. Um einen Switch hinzuzufügen, gibt man Folgendes ein:

insert into switch set ip='1.2.3.4', name='swXX', location='1'

Als IP-Adresse muss natürlich der Wert des eigenen Switch eingetragen werden. Damit der Switch automatisch nach Neueinträgen gescannt wird, setzt man den Wert für "scan" auf "1":

update switch set scan='1' where ip='1.2.3.4'

Vorher sollte man allerdings die SNMP-Passwörter in die Datei config.inc eintragen. Sie befindet sich im Verzeichnis /opt/nac/etc/config.inc .

Seitenweise Listen: Die Konfiguration von FreeNAC steht in diversen Config-Dateien.

Management mit GUI und Browser

SNMP ist deshalb so wichtig, weil FreeNAC über das Auslesen der MAC-Tables im Switch erkennt, ob und welche neuen Geräte sich mit dem Netzwerk verbunden haben. Die Wahl der Passwörter ist frei, muss aber bei allen Switches für Public und Private Community gleich sein. Falls der Switch das unterstützt, sollten auch dessen Access-Control-Listen für SNMP mit der IP-Adresse des FreeNAC-Servers gefüllt sein.

Kontaktaufnahme: Switches nach dem ersten Scan.

Über die Windows-GUI lassen sich die Ports der Switches umfassend steuern. So ist die VLAN-Zuordnung ebenso möglich wie das Abschalten eines Ports oder das Löschen seiner MAC-Tables.

System erkannt: eine Workstation in der Detailansicht.

Um das Enforcement mit 802.1x umzusetzen, wird ein FreeRADIUS-Server genutzt, der bereits Bestandteil der VM ist. Der Server verwendet die MAC-Adresse des Endgeräts, um es, je nach Ergebnis der Prüfung auf Berechtigung, in ein entsprechendes VLAN zu verschieben. Voraussetzung ist ein 802.1x-fähiger Switch, im Test kam ein D-Link DGS 3200-10 zum Einsatz. Der Switch musste in die Config-Datei des Radius-Servers unter /etc/freeradius eingetragen werden. Dazu kann man den Beispieleintrag am Ende der Datei als Muster heranziehen und bei mehreren Switches kopieren. Soll Active Directory als Authentisierungslieferant zum Einsatz kommen, gibt es eine ausführliche Anleitung an dieser Stelle: www.freenac.net/en/installguide/802.1x/active_directory.

Alternative Oberfläche: Ein Endgerät wird im Browser angezeigt.

Fazit FreeNAC

FreeNAC ist eine umfangreiche NAC-Lösung, mit der zahlreiche Projekte umgesetzt werden können. Der Anwender benötigt aber sehr gute Linux-Kenntnisse, um die Plattform in seinem Netzwerk zu implementieren. Die stellenweise unstrukturierte und unvollständige Dokumentation macht das nicht einfacher, hier sollten die Projektverantwortlichen in Zukunft einen Schwerpunkt setzen. (ala)