AAA-Server (Authentifizierung, Autorisierung und Accounting)
Was ist ein AAA-Server?
Ein AAA-Server ist ein Serverprogramm, das Benutzeranfragen für den Zugriff auf Computerressourcen bearbeitet und für ein Unternehmen Authentifizierungs-, Autorisierungs- und Abrechnungsdienste (AAA) bereitstellt.
Der AAA-Server interagiert normalerweise mit Netzzugangs- und Gateway-Servern sowie mit Datenbanken und Verzeichnissen, die Benutzerinformationen enthalten. Der aktuelle Standard, über den Geräte oder Anwendungen mit einem AAA-Server kommunizieren, ist RADIUS (Remote Authentication Dial-In User Service).
Die Hauptmerkmale eines AAA-Servers
Die wichtigsten Merkmale der Authentifizierung, Autorisierung und Accounting (AAA) lassen sich in die folgenden drei Phasen unterteilen:
Authentifizierung. Wenn ein Benutzer auf ein System oder eine Ressource zugreifen möchte, das/die mit AAA konfiguriert ist, ist der erste Schritt des Prozesses die Authentifizierung. Hier muss der Benutzer gültige Anmeldedaten - einen Benutzernamen und ein Kennwort - eingeben, um zu beweisen, dass er derjenige ist, für den er sich ausgibt. Das Gerät, auf das zugegriffen werden soll, leitet die Authentifizierungsdaten an eine Backend-Datenbank weiter. Sind die Anmeldedaten gültig, erhält der Benutzer Zugang zum System. Sind der Benutzername und das Kennwort ungültig, schlägt der Authentifizierungsprozess fehl, und der Benutzer wird für den Zugriff auf das System gesperrt.
Autorisierung. Nur weil sich ein Benutzer erfolgreich authentifiziert und Zugang zu einem vernetzten System erhält, bedeutet dies nicht, dass alle authentifizierten Benutzer berechtigt sind, mit dem System zu tun, was sie wollen. Beispielsweise sollte einigen Benutzern nur Lesezugriff auf ein System gewährt werden, während andere Änderungen an den Konfigurationseinstellungen mit Lese- und Schreibzugriff vornehmen dürfen. Dies ist der Zweck der Autorisierungsphase von AAA. Administratoren können verschiedene Gruppen einrichten und diesen Gruppen Zugriffsrichtlinien zuweisen. So können einige authentifizierte Benutzer nur begrenzte Möglichkeiten haben, auf bestimmte Ressourcen zuzugreifen oder Änderungen vorzunehmen, während andere autorisiert sind, weitaus größere Freiheiten zu haben.
Accounting/Erfassung. Aus der Sicherheitsperspektive wäre es schön, wenn man Informationen darüber sammeln könnte, wer versucht, sich bei Netzen oder Systemen zu authentifizieren, ob die Authentifizierung erfolgreich war oder nicht, sowie weitere Informationen, wie zum Beispiel:
- wie lange eine authentifizierte Sitzung gedauert hat
- die Menge der während einer authentifizierten Sitzung übertragenen und empfangenen Daten;
- ob und wann ein Benutzer versucht hat, auf eine höhere Ebene des Systemzugriffs zuzugreifen; und
- Systembefehle, die während der authentifizierten Sitzung ausgeführt wurden.
Dies ist genau das, was die Abrechnungsphase von AAA leistet. Sie dient als Protokollierungsmechanismus bei der Authentifizierung gegenüber AAA-konfigurierten Systemen.
Wie funktioniert AAA (Authentifizierung, Autorisierung und Abrechnung)?
Die Architektur von AAA umfasst die folgenden drei Komponenten:
Supplicant (Anfragender). Dies ist der Benutzer oder das Gerät, der/das versucht, Zugang zu einem Netzwerk oder System zu erhalten.
Authenticator (Beglaubiger). Dies ist das Gerät, auf das der Anfragende zuzugreifen versucht. Der Authenticator ist so konfiguriert, dass er mit einem AAA-Server für Authentifizierungs-, Autorisierungs- und Abrechnungszwecke zusammenarbeitet.
Authentifizierungsserver. Dieser Server steuert alle AAA-Funktionen. Wie bereits erwähnt, verwendet der AAA-Server das RADIUS-Protokoll für die Kommunikation und greift entweder auf eine lokale Datenbank zu oder ist mit einer Backend-Benutzerauthentifizierungsdatenbank verbunden, zum Beispiel Microsoft Active Directory (AD).
Der Authenticator sendet eine Authentifizierungsanfrage - in der Regel in Form einer Aufforderung zur Eingabe eines Benutzernamens und eines Passworts durch den Antragsteller. Sobald der Supplicant den Benutzernamen und das Kennwort übermittelt hat, leitet der Authenticator die Authentifizierungsdaten an den Authentifizierungsserver weiter, um zu überprüfen, ob sie mit den Daten in der Benutzerdatenbank übereinstimmen. Bei Erfolg sendet der Authentifizierungsserver eine Rückmeldung an den Authenticator, dass der Authentifizierungsversuch erfolgreich war und welche Zugriffsstufe der Benutzer gemäß den Gruppenrichtlinieneinstellungen haben darf. Während dieser Zeit werden Authentifizierungs-, Zugriffs- und Sitzungsprotokolle vom Authenticator gesammelt und entweder lokal auf dem Authenticator gespeichert oder an einen entfernten Protokollserver zur Speicherung und zum Abruf gesendet.
AAA-Server und das Active Directory
Für die Authentifizierung und Zugriffsberechtigung muss ein AAA-Server auf eine Datenbank mit Benutzernamen, Kennwörtern und Zugriffsebenen verweisen. Das hierfür verwendete Protokoll ist RADIUS. In vielen Fällen ist jedoch die Back-End-Datenbank, die der AAA-Server zur Überprüfung von Anmeldeinformationen und Zugriffsebenen verwendet, Microsoft Active Directory (AD). Dies wird erreicht, indem der Network Policy Server von Microsoft, der als RADIUS-Server fungiert, auf die AD-Benutzernamen- oder Kennwort- und Autorisierungsdatenbank zugreift.