# Network Access Control

Network Access Control (NAC; deutsch Netzwerkzugangskontrolle) ist eine Technik, die die Abwehr von Viren, Würmern und unautorisierten Zugriffen aus dem Netzwerk heraus unterstützt. Mit NAC werden Endgeräte während der Authentifizierung auf Richtlinienkonformität geprüft. Ist z. B. der Virenscanner nicht aktuell oder fehlt dem Client-Betriebssystem der neueste Security-Patch, wird das betroffene Endgerät unter Quarantäne gestellt und mit aktuellen Updates versorgt, bis es wieder den geltenden Sicherheitsrichtlinien entspricht. Anfangs verteilten sich die dafür erforderlichen Funktionen auf Netzwerkkomponenten wie Router und Switches. Auf gehärteten Appliances können sämtliche Funktionalitäten auch gebündelt vorgehalten werden.

## Aufgaben

Kernaufgaben sind:
* eindeutige Identifizierung und Rollenverteilung von Nutzern und Geräten
* Wahrung von erstellten Sicherheitsrichtlinien
* Quarantäne und automatische Wiederherstellung nichtkonformer Endgeräte
* Verwaltung und Erstellung individueller Richtlinien und Rollen für verschiedene Nutzergruppen

## Anforderungen

Network Access Control erfüllt grundlegend zwei Anforderungen:
Zum einen eine vollständige Übersicht, welche Geräte sich im (Unternehmens-)Netzwerk befinden und wo sie angeschlossen sind. Die Art der Endgeräte, wie Clients, Drucker, Produktionssysteme, Geldautomaten, medizinische Geräte, Tablets, Smartphones, Kühlschränke, Kaffeemaschinen etc. darf dabei keine Rolle spielen. Durch diese Übersicht wird verhindert, dass fremde oder unbekannte Systeme einfach durch Nutzen des WLAN oder einer freien Netzwerkdose Zugriff auf das (firmen-)interne Netzwerk bekommen. Dadurch können im Netzwerk nur noch eigene und dafür zugelassene Systeme betrieben werden.
Die zweite Anforderung stellt eine sogenannte Compliance-Funktion dar. Dies ist die Überprüfung, ob die Endgeräte, die sich bereits im Netzwerk befinden, den Sicherheitsanforderungen oder den Sicherheitsrichtlinien des Unternehmens entsprechen. Das betrifft in der Regel Eigenschaften wie die vorhandene Installation und den Status eines Antivirenprogramms oder einer Desktop-Firewall, ob neueste Patches installiert sind sowie nach Bedarf weitergehende Prüfungen auf vorhandene Patches für gängige Applikationen wie Firefox oder Adobe.
Ziel ist es, innerhalb des eigenen Netzwerkes nur Endgeräte und Software zu betreiben, die alle erwarteten Anforderungen erfüllen und damit der Sicherheitsrichtlinie entsprechen. Hält ein System der Überprüfung nicht stand, werden entsprechende Gegenmaßnahmen eingeleitet, dazu gehören Quarantäne und Heilung, i. d. R. durch Patches, oder eine Rekonfigurieren des Systems, bis hin zur Außerbetriebnahme.
Weiterhin gibt es Unterschiede in der Interpretation der zu überwachenden Netzwerkzugänge (LAN, WLAN, WAN). Zur Erfüllung dieser Anforderung gibt es diverse technische Ansätze und Umsetzungen sowie sowohl kommerzielle als auch Open Source Produkte.

## Historie

Generell ist die Kontrolle der Netzwerkzugänge etwas, das seit der Existenz von ebendiesen Zugängen thematisiert wird. Dabei gab es Ansätze und Produkte, die mehr oder weniger erfolgreich waren. Heterogene Netzwerkinfrastrukturen, unzureichende Netzwerkabdeckungen, hohe Komplexität und hohe Kosten sind die häufigsten Gründe für fehlgeschlagene Ansätze. Der größte Teil der Unternehmen hat dafür noch keine Lösung. Ergänzend gibt es keine klare Definition des Begriffes „Network-Access-Control“, so dass die damit verbundenen Angebote ebenfalls stark variieren. Weitere Begriffe, die ebenfalls zu Verwirrungen beigetragen haben, da sie prinzipiell das gleiche Thema betreffen, sind unter anderen „Network-Admission-Protokoll“ (NAP), „Network-Admission-Control“ (NAC).

## Technologien
### IP-basiertes Netzwerkscannen

Bei dieser Technologie wird das Netzwerk nach verwendeten IP-Adressen gescannt, indem die Adressräume gepingt werden oder die ARP-Caches der Router ausgelesen werden. Dadurch erkannte Endgeräte werden dann in der Regel durch weitere Scans genauer identifiziert, um zu überprüfen, ob es sich um bekannte und zugelassene Geräte handelt.
Werden fremde Geräte erkannt, so werden diese durch verschiedene Technologien in der Kommunikation gestört oder zum Beispiel auf ein Gästeportal umgeleitet. Teilweise kommt dafür sogar ARP-Spoofing zum Einsatz, was eigentlich eher eine Angriffstechnologie ist.

### Trafficanalyse mittels Gateway Appliances

Für die Trafficanalyse wurden von verschiedenen Herstellern Appliances geschaffen, die inline den Netzwerkverkehr überprüfen und dadurch auch jedes Gerät sehen, welches im Netzwerk kommuniziert. Datenpakete von unerwünschten Systemen können dabei einfach „gedropped“ werden, wodurch die Eindringlinge nicht mehr ungehindert im Netzwerk kommunizieren können. Problematisch dabei ist, dass diese Appliances überall im Netzwerk verteilt werden müssen, um jeden Teilbereich abdecken zu können. Das heißt, in jedem Subnetz muss ein Fühler stehen und den Traffic anschauen. Das macht diese Projekte in der Regel sehr aufwendig, komplex und vor allem sehr teuer, da je nach Größe des Unternehmens auch eine ganze Menge Geräte gekauft werden müssen. Die Überprüfung muss natürlich in Echtzeit geschehen, da sonst ein Flaschenhals erzeugt wird, der die Kommunikation im Netzwerk bremst und damit das tägliche Arbeiten stört. Eine weitere Schwachstelle dieser Technologie ist, dass Eindringlinge, die nur lauschen und dementsprechend keine Datenpakete versenden, nicht erkannt werden. Spionieren durch einfache Lauschangriffe ist also weiterhin uneingeschränkt möglich.
Selbst jedoch, wenn überall entsprechende Appliances verteilt wurden, gibt es Bereiche, die nicht erfasst werden können. Die Geräte, die an einem Switch hängen, können in der Regel miteinander kommunizieren, ohne dass der Datenverkehr durch eine NAC-Appliance läuft. Damit sind zumindest die direkten Nachbarn angreifbar und auch ausnutzbar, um von diesen Geräten aus ins weitere Netzwerk vorzudringen.

### Agentenbasiert

Hier wird auf allen Endgeräten ein Agent installiert der dafür sorgt, dass die Endgeräte sich im Netzwerk gegen einen zentralen Dienst authentifizieren können und damit nur die entsprechend gemanagten Endgeräte (verschlüsselt) miteinander kommunizieren können. Fremde Systeme können sich also nicht direkt mit firmeneigenen Geräten verbinden. Die große Herausforderung bei diesem Ansatz ist es jedoch, Agenten für die vielen verschiedenen Betriebssysteme bereitzustellen und so das ganze Netzwerk abzudecken.
Neben proprietären Ansätzen zählt in diese Kategorie aber auch der Standard IEEE 802.1X, der unter anderem darauf baut, bereits vom Betriebssystem mitgelieferte Agenten (Supplikanten) zu verwenden. Dennoch ist auch hier die vollständige Abdeckung aller Netzwerkteilnehmer in der Regel nicht gewährleistet – vor allem ältere Endgeräte und Switches unterstützen diese Funktion häufig nicht.
802.1X ist in einem eigenen Artikel umfänglich beschrieben – der Vollständigkeit halber soll an dieser Stelle jedoch erwähnt werden, dass es sich um einen proaktiven Ansatz handelt. Wird ein Gerät mit einem Switch oder Access-Point verbunden, muss es sich mit einem geeigneten Ausweis (z. B. Benutzername & Passwort oder ein Zertifikat) authentifizieren. Der Switch oder Access-Point wiederum lässt die Gültigkeit des Ausweises durch einen RADIUS-Server überprüfen, der neben einem „Accept“ oder „Deny“ auch diverse andere Regeln als Antwort übermitteln kann, wie zugeordnete VLANs oder ACLs. Die Komplexität besteht hier vor allem in der Administration des RADIUS-Servers sowie der Identitäten.

### Switchbasiert

In der Regel wird dafür das Protokoll SNMP verwendet, welches die Möglichkeit bietet, mit nahezu allen Switches zu kommunizieren, da fast jeder Hersteller von Business Switches dieses Protokoll unterstützt. Je nach Bedarf können aber z. B. auch SSH oder andere (möglichst verschlüsselte) Protokolle zum Einsatz kommen.
Über diese Kommunikation kann als erstes ein vollständiger Netzwerküberblick ermittelt werden, unabhängig von der Netzwerkgröße. Jedes Gerät, das an einem Switch Port angeschlossen ist und kommuniziert, wird erkannt. Sobald ein neues Gerät verbunden wird, informiert entweder der Switch das NAC-System aktiv über einen Trap oder das NAC-System fragt regelmäßig den Switch nach den aktuell angeschlossenen Geräten.
Die Identifizierung der Geräte erfolgt dabei über die MAC-Adresse, weshalb dieser Ansatz oft auch „MAC-based NAC“ genannt wird. Durch die Pflege einer Whitelist kann definiert werden, welche Geräte im Unternehmensnetzwerk zugelassen sind und welche nicht. Über den gleichen Kommunikationsweg wie die Erkennung kann so auch ein Switch einen Befehl von dem NAC-System erhalten und einen Netzwerk-Port umkonfigurieren. Wird also ein fremdes oder unerwünschtes System angeschlossen und entsprechend erkannt, kann z. B. der Netzwerk-Port automatisch abgeschaltet werden – das Gerät verliert sofort die Netzwerkverbindung – physikalisch!
Mit dem Reifen dieser Technologie wurden nach und nach mehr verschiedene Möglichkeiten in den Switches geschaffen, die einige Vorteile bringen. Selbst in kleinsten Netzwerken werden heutzutage bereits VLANs eingesetzt. Die virtuellen Netzwerke bieten eine komfortable Möglichkeit, das Netzwerk unabhängig von der physikalischen Struktur zu segmentieren.
Da auch die Konfiguration der VLANs an den Switches vorgenommen wird, ist es eine naheliegende Erweiterung von Network Access Control, Netzwerkports nicht nur sperren, sondern auch umleiten zu können. Fremde Systeme müssen damit nicht mehr vollständig vom Netzwerk getrennt werden, sondern können in einen separaten Gästebereich umgeschaltet werden, in dem z. B. nur Internet angeboten wird.
Problematisch bleibt, dass die MAC-Adresse sehr leicht fälschbar ist. Ein Eindringling kann sich jede beliebige Adresse aussuchen – sie beispielsweise vom Drucker abschreiben und eintippen um Netzwerkzugang zu erlangen.
Aus diesem Grund gehen einige professionelle Lösungen noch einige Schritte weiter und vergleichen viele weitere Systemeigenschaften, wie die IP-Adresse, den Hostnamen, das Betriebssystem oder offene und geschlossene Ports. Im Resultat bedeutet das, dass ein Eindringling nicht nur die MAC-Adresse fälschen muss, um Zugang zu erlangen, sondern auch all die anderen Eigenschaften. Weichen Teile der Eigenschaften ab, so kann das NAC-System entsprechend Alarm auslösen.
Neben dem Sicherheitsaspekt kann auf diese Weise auch ein komfortables Management der VLANs etabliert werden, indem je Port immer automatisch das zum Endgeräte gehörende VLAN konfiguriert wird. Jeder Mitarbeiter hat demzufolge, egal wo er sich anschließt, immer seine gewohnte Umgebung und seine benötigten Ressourcen zur Verfügung.

## Identitäten

Bei der Kontrolle der Netzwerkzugänge geht es prinzipiell darum, die Identitäten der Netzwerkteilnehmer festzustellen und zu verwalten und entsprechend Zugang zu gewähren oder zu verweigern. Dabei müssen Geräteidentitäten und Benutzeridentitäten unterschieden werden, da die Netzwerkszugangskontrolle im ersten Schritt endgeräteorientiert ist. Die Kontrolle der Benutzer wiederum erfolgt innerhalb des Netzwerkes durch andere Systeme, wie das Berechtigungssystem im Active Directory oder anderen Verzeichnisdiensten.
Dennoch sind auch das Active Directory oder grundsätzlich LDAP Dienste eine beliebte Identitätsquelle, die auch für die Netzwerkzugangskontrolle herangezogen werden können. Folgende Einschränkungen gibt es dabei:
* Die reine Betrachtung der Geräte aus dem Active Directory ist relativ einfach und in der Regel zur Vereinfachung der Pflege auch sinnvoll. Zu beachten ist aber, dass die Definition, welche AD-Geräte-Gruppen in welches Netzwerksegment bzw. VLAN gesteuert werden sollen, gut geplant und strukturiert sein muss, damit Änderungen an der einen oder anderen Seite keine Schwierigkeiten verursachen.
* Die reine Betrachtung der Benutzer aus dem AD ist definitiv nicht ausreichend. Mit dieser Methode ist jeder Mitarbeiter in der Lage, beliebige Geräte mitzubringen und im Netzwerk zu betreiben – echtes Network Access Control ist damit nicht mehr möglich, da ungesicherte Geräte jederzeit vollen Zugriff erlangen können.
* Eine Kombination von Benutzern und Geräten aus dem AD zur Ermittlung der spezifischen Zugriffsrechte ist in der Regel nicht ganz einfach und erzeugt eine hohe Komplexität. Sollen tatsächlich unterschiedliche Zugänge für verschiedene Benutzer an dem gleichen Endgerät gewährt werden, müssen diese Regeln jedoch genau geplant und sorgfältig umgesetzt werden. Je nach Komplexität der Wünsche kann dies einen erheblichen Aufwand bedeuten, bei dem vorher genau analysiert werden sollte, ob es denn überhaupt zielführend und/oder notwendig ist.
** Das Active Directory selbst steuert über die zugewiesenen Berechtigungen der Benutzer genau, welcher Mitarbeiter Zugriff auf welche Server und Dienste im Unternehmen hat. Melden sich also an ein und demselben Endgerät erst ein „normaler“ Mitarbeiter und später ein IT-Administrator mit seinem Benutzerkonto an, so erfolgt darüber bereits die Steuerung, welche Zugriffe erlaubt sind. Die Veränderung des Netzwerksegmentes, in dem sich das Endgerät befindet, ist daher nur dann notwendig, wenn die vom Administrator benötigten Systeme in dem aktuellen Netzwerksegment nicht erreichbar sind. Diese Situation tritt aber in der Regel nur in sehr großen und umfangreich strukturierten Netzwerken auf. Darüber hinaus empfiehlt das BSI grundsätzlich, keine administrativen Maßnahmen von einem regulären Benutzersystem auszuführen. Vorhandener Schadcode könnte sonst administrative Rechte erhalten und erheblichen Schaden anrichten.
** Folglich reicht in den allermeisten Fällen die Autorisierung der Endgeräte aus, oder die Reduzierung der Regeln auf ganz spezielle Sonderfälle.
Neben dem Active Directory- und LDAP-Verzeichnissen gibt es diverse andere Identitätsquellen, wie verschiedene Datenbanken z. B. von Help-Desk-Systemen oder CMDBs oder Mobile Device Management Produkte. Grundlegend kann jedes Verzeichnis mit Geräteidentitäten zur vereinfachten Einführung und Pflege von Network Access Control dienlich sein. Unterschiede bestehen weiterhin darin, dass gegen einige „Quellen“ live authentifiziert werden kann, während andere lediglich zum Lernen von Identitäten dienen können und dafür mit dem NAC-System synchronisiert werden müssen.

## Zeitlich begrenzte Zugänge für Gäste und andere Besucher

Da die Netzwerkzugänge durch Network Access Control vor dem Zugriff von „Nichtunternehmensgeräten“ geschützt sind, werden kommerzielle NAC-Lösungen in der Regel in Verbindung mit einem Gästeportal angeboten. Darüber können fremde Geräte und Benutzer einen zeitlich befristeten Zugang zu definierten Ressourcen erhalten – die entsprechende Identität wird dabei temporär im Netzwerk geduldet. Die technische Umsetzung eines solchen Portals wird im separaten Artikel „Captive Portal“ umfangreich beschrieben.
Durch immer vielfältigere mobile Systeme, komplexere Zugriffsanforderungen durch die Mitarbeiter und die wachsende Notwendigkeit, Wartungstechnikern dedizierte Netzwerkzugriffe zu gestatten, steigt diese Anforderung noch.
Getrieben durch das Thema „Bring-Your-Own-Device“ werden Gästeportale teils erweitert, um Mitarbeitern die Möglichkeit zu geben, eigene Geräte zu registrieren und dann im Unternehmensnetzwerk zu betreiben.

## Compliance

In Verbindung mit Network Access Control bezieht sich Compliance in der Regel auf IT-Compliance, wobei auch hier das Ziel bzw. die Anforderungen unterschieden werden müssen. So ist in diesem Zusammenhang vor allem interessant, ob die Endgeräte den Sicherheitsrichtlinien entsprechen und dahingehend „compliant“ sind. Die Richtlinien beziehen sich dann vor allem auf sicherheitsrelevante Details wie den Status des Antivirus-Programms (Version, Aktiv/Inaktiv, Alter der Signaturen), Status der Desktop Firewall, Patch Level (Betriebssystem, Browser, Plug-Ins und weiterer Applikationen), Status der Verschlüsselung etc.
Dieser Status kann remote oder agentenbasiert ermittelt werden. Remote werden die Endgeräte dabei vor allem per WMI, SNMP oder NMAP gescannt. Ebenfalls möglich sind browserbasierte Abfragen per ActiveX oder JavaScript. Agenten haben mit entsprechenden lokalen Rechten die Möglichkeit, erheblich tiefgreifender zu prüfen und sich dabei nicht nur auf Registrierungsschlüssel oder APIs von anderen Herstellern zu verlassen. So können z. B. Dateiversionen per Hashwert mit Sollwerten verglichen werden, anstatt nur zu prüfen, ob die Installation eines Patches zwar in die Registrierungsdatenbank eingetragen wurde, während tatsächlich die Installation fehlgeschlagen ist.
Ergänzend gibt es unterschiedliche Strategien was den Zeitpunkt der Prüfung angeht. Während ein Agent den Status permanent prüfen kann und so z. B. auch vor der Netzwerkverbindung bereits über den Zustand des Endgerätes Bescheid weiß, müssen agentenlose Prüfungen zu bestimmten Zeiten, in bestimmten Situationen und/oder zyklisch ausgeführt werden.
Die sicherste Variante ist dabei die Prüfung vor der Zulassung zum Netzwerk, was jedoch in der Praxis häufig schwer durchzusetzen ist. Häufig werden die Prüfungen daher nachgelagert ausgeführt und führen im Bedarfsfall damit zu einer reaktiven Aussperrung des Systems.
Ergänzend zu den beiden beschriebenen Varianten bieten einige Network-Access-Control-Lösungen auch die Möglichkeit, den Endgeräte-Compliance-Status durch Produkte Dritter zu erfahren und entsprechend zu verarbeiten. So kann z. B. ein Microsoft WSUS-Server als Quelle von Compliance Informationen bzgl. des Patch-Status dienen, Antivirus-Lösungen das NAC-System über infizierte Endgeräte informieren oder SIEM-Lösungen das NAC-System im Bedrohungsfall anweisen, betroffene Endgeräte zu isolieren.
Network Access Control erhält also eine zentrale Bedeutung in Sicherheitsstrategien, da die Möglichkeiten der Reaktion hoch effektiv sind und bei direkten Kopplungen von Sicherheitssystemen extrem schnell umgesetzt werden können.