RADIUS - Kurzanleitung

Bevor Sie sich mit Radius vertraut machen, ist es wichtig, dass Sie Folgendes verstehen:

  • Was ist AAA?
  • Was ist NAS?

Lassen Sie uns zunächst eine grundlegende Vorstellung von diesen beiden Themen haben.

Was ist AAA?

AAA steht für Authentifizierung, Autorisierung und Buchhaltung.

Authentifizierung

  • Bezieht sich auf die Bestätigung, dass ein Benutzer, der einen Dienst anfordert, ein gültiger Benutzer ist.

  • Erreicht durch die Vorlage einer Identität und Anmeldeinformationen.

  • Beispiele für Anmeldeinformationen sind Kennwörter, einmalige Token, digitale Zertifikate und Telefonnummern (Anrufen / Anrufen).

Genehmigung

  • Bezieht sich auf die Gewährung bestimmter Diensttypen (einschließlich "kein Dienst") an die Benutzer basierend auf ihrer Authentifizierung.

  • Kann auf Einschränkungen basieren, z. B. Einschränkungen der Tageszeit oder des physischen Standorts oder Einschränkungen für mehrere Anmeldungen desselben Benutzers.

  • Beispiele für Dienste sind IP-Adressfilterung, Adresszuweisung, Routenzuweisung, Verschlüsselung, QoS / Differenzialdienste, Bandbreitensteuerung / Verkehrsmanagement usw.

Buchhaltung

  • Bezieht sich auf die Verfolgung des Verbrauchs von Netzwerkressourcen durch Benutzer.

  • Typische Informationen, die in der Buchhaltung gesammelt werden, umfassen die Identität des Benutzers, die Art des erbrachten Dienstes, den Beginn des Dienstes und das Ende des Dienstes.

  • Kann für die Verwaltung, Planung, Abrechnung usw. verwendet werden.

Der AAA-Server bietet seinen Clients alle oben genannten Dienste.

AAA-Protokolle

Radius ist ein AAA-Protokoll für Anwendungen wie Netzwerkzugriff oder IP-Mobilität. Neben Radius haben wir die folgenden Protokolle in AAA:

TACACS (Terminal Access Controller Access Control System)

TACACS ist ein Remote-Authentifizierungsprotokoll, das zur Kommunikation mit einem Authentifizierungsserver verwendet wird, der üblicherweise in Unix-Netzwerken verwendet wird. Mit TACACS kann ein RAS-Server mit einem Authentifizierungsserver kommunizieren, um festzustellen, ob der Benutzer Zugriff auf das Netzwerk hat.

TACACS +

TACACS + bietet Zugriffskontrolle für Router, Netzwerkzugriffsserver und andere vernetzte Computergeräte über einen oder mehrere zentralisierte Server. Es verwendet TCP und bietet separate Authentifizierungs-, Autorisierungs- und Abrechnungsdienste. Es funktioniert auf Port 49.

DURCHMESSER

Der Durchmesser ist ein geplanter Ersatz für Radius.

Was ist ein Netzwerkzugriffsserver?

Der Network Access Server (NAS) ist ein Dienstelement, das Clients wählen, um Zugriff auf das Netzwerk zu erhalten. Ein NAS ist ein Gerät mit Schnittstellen sowohl zum Backbone als auch zum POTS oder ISDN und empfängt Anrufe von Hosts, die über DFÜ-Dienste auf das Backbone zugreifen möchten. NAS befindet sich am Standort eines Internetproviders, um seinen Kunden einen Internetzugang zu bieten.

Ein Netzwerkzugriffsserver ist:

  • Ein einzelner Zugriffspunkt auf eine Remote-Ressource.

  • Ein RAS-Server, da er den RAS-Zugriff auf ein Netzwerk ermöglicht.

  • Ein erster Einstiegspunkt in ein Netzwerk.

  • Ein Gateway zum Schutz der geschützten Ressource.

Beispiele beinhalten:

  • Überprüfung des Internetzugangs mit Benutzer-ID und Kennwort.

  • VoIP, FoIP und VMoIP erfordern eine gültige Telefonnummer oder IP-Adresse.

  • Die Telefon-Prepaid-Karte verwendet die Prepaid-Kartennummer.

Die folgende Abbildung zeigt eine grundlegende Architektur von Radius.

RADIUS ist ein Protokoll zum Übertragen von Informationen zur Authentifizierung, Autorisierung und Konfiguration zwischen einem Netzwerkzugriffsserver, der seine Links authentifizieren möchte, und einem gemeinsam genutzten Authentifizierungsserver.

  • RADIUS steht für Remote Authentication Dial In User Service.

  • RADIUS ist ein AAA-Protokoll für Anwendungen wie Netzwerkzugriff oder IP-Mobilität

  • Es funktioniert in beiden Situationen, lokal und mobil.

  • Es verwendet PAP-Protokolle (Password Authentication Protocol), CHAP-Protokolle (Challenge Handshake Authentication Protocol) oder EAP-Protokolle (Extensible Authentication Protocol), um Benutzer zu authentifizieren.

  • Es sucht in Textdatei, LDAP-Servern, Datenbank zur Authentifizierung.

  • Nach den Authentifizierungsdiensten werden die Parameter an NAS zurückgegeben.

  • Es wird benachrichtigt, wenn eine Sitzung gestartet und beendet wird. Diese Daten werden für Abrechnungs- oder Statistikzwecke verwendet.

  • SNMP wird zur Fernüberwachung verwendet.

  • Es kann als Proxy verwendet werden.

Hier ist ein einfaches Netzwerkdiagramm des Radius:

Hier ist eine Liste aller Hauptfunktionen von Radius:

Client / Server-Modell

  • NAS arbeitet als Client für den Radius-Server.

  • Der Radius-Server ist dafür verantwortlich, Benutzerverbindungsanforderungen abzurufen, den Benutzer zu authentifizieren und dann alle Konfigurationsinformationen zurückzugeben, die der Client benötigt, um dem Benutzer den Dienst bereitzustellen.

  • Ein Radius-Server kann als Proxy-Client für andere Radius-Server fungieren.

Netzwerksicherheit

  • Transaktionen zwischen einem Client und einem Server werden mithilfe eines gemeinsam genutzten Schlüssels authentifiziert. Dieser Schlüssel wird niemals über das Netzwerk gesendet.

  • Das Passwort wird verschlüsselt, bevor es über das Netzwerk gesendet wird.

Flexible Authentifizierungsmechanismen

Radius unterstützt die folgenden Protokolle zur Authentifizierung:

  • Punkt-zu-Punkt-Protokoll - PPP

  • Passwortauthentifizierungsprotokoll - PAP

  • Challenge Handshake Authentication Protocol - CHAP

  • Einfache UNIX-Anmeldung

Erweiterbares Protokoll

Radius ist erweiterbar; Die meisten Anbieter von Radius-Hardware und -Software implementieren ihre eigenen Dialekte.

Das zustandslose Protokoll unter Verwendung von UDP wird an Port 1812 ausgeführt.

Bevor der Client mit dem Radius-Server kommuniziert, muss der geheime Schlüssel zwischen dem Client und dem Server geteilt werden, und der Client muss so konfiguriert sein, dass er den Radius-Server verwendet, um den Dienst zu erhalten.

Sobald der Client richtig konfiguriert ist, gehen Sie wie folgt vor:

  • Der Client beginnt mit Access-Request.

  • Der Server sendet entweder Access-Accept, Access-Reject oder Access-Challenge.

  • Access-Accept behält alle erforderlichen Attribute bei, um dem Benutzer einen Dienst bereitzustellen.

Radiuscodes (dezimal) werden wie folgt zugewiesen:

  • 1 Zugriffsanfrage
  • 2 Zugriff akzeptieren
  • 3 Zugriff ablehnen
  • 4 Buchhaltungsanfrage
  • 5 Buchhaltungsantwort
  • 11 Access-Challenge
  • 12 Status-Server (experimentell)
  • 13 Status-Client (experimentell)
  • 255 Reserviert
  • Kein Keep Alive-Konzept - gut oder schlecht?

Die Codes 4 und 5 beziehen sich auf die Radius Accounting-Funktionalität. Die Codes 12 und 13 sind für eine mögliche Verwendung reserviert.

Das Paketformat von Radius ist wie folgt:

Code:Dies ist 1 Oktett (1 Byte) lang und identifiziert verschiedene Arten von Paketen. Normalerweise bedeutet 1 Oktett 1 Byte.

Identifier: Dies ist wieder 1 Oktett lang und hilft beim Abgleichen von Antworten mit Anfragen.

Length:Dies ist 2 Oktette lang und gibt die Länge des Pakets an, einschließlich Code, Kennung, Länge und Authentifikator. (Das minimale Paket beträgt 20 Oktette und das maximale 4096 Oktett).

Authenticator: Dies ist 16 Oktette lang und bei einigen Anfragen und Antworten ausgefüllt.

List of Attributes: Es gibt eine Liste mit mehr als 63 Attributen, und ein Radius-Attribut hat auch ein definiertes Format, das im nächsten Kapitel beschrieben wird.

Ein Radius-Attribut besteht aus den folgenden drei Teilen:

  • Type:1 Oktett lang, identifiziert verschiedene Arten von Attributen. Es ist ein unten aufgeführter Attributcode.

  • Length: 1 Oktett lang, Länge des Attributs einschließlich Typ.

  • Value: 0 oder mehr Oktette lang, enthält Attributspezifische Informationen.

RADIUS-Attributliste

Code Attribute
1 Nutzername
2 Benutzer-Passwort
3 CHAP-Passwort
4 NAS-IP-Adresse
5 NAS-Port
6 Servicetyp
7 Gerahmtes Protokoll
8 Gerahmte IP-Adresse
9 Gerahmte IP-Netzmaske
10 Gerahmtes Routing
11 Filter-ID
12 Gerahmte MTU
13 Gerahmte Komprimierung
14 Login-IP-Host
15 Login-Service
16 Login-TCP-Port
17 (nicht zugewiesen)
18 Antwort-Nachricht
19 Rückrufnummer
20 Rückruf-ID
21 (nicht zugewiesen)
22 Gerahmte Route
23 Gerahmtes IPX-Netzwerk
24 Zustand
25 Klasse
26 Herstellerspezifisch
27 Session-Timeout
28 Leerlauf-Timeout
29 Kündigungsmaßnahme
30 Called-Station-Id
31 Calling-Station-ID
32 NAS-Kennung
33 Proxy-Status
34 Login-LAT-Service
35 Login-LAT-Node 3
36 Login-LAT-Gruppe
37 Gerahmter AppleTalk-Link
38 Gerahmtes AppleTalk-Netzwerk
39 Gerahmte AppleTalk-Zone
40-59 (reserviert für die Buchhaltung)
60 CHAP-Herausforderung
61 NAS-Port-Typ
62 Port-Limit
63 Login-LAT-Port

Beispiel für eine Radiusanforderung

Schauen wir uns ein Beispiel für eine Radiusanforderung an:

  • Der NAS unter 192.168.1.16 sendet ein UDP-Paket für Zugriffsanforderungen an den RADIUS-Server für einen Benutzer namens Nemo, der sich an Port 3 mit dem Kennwort "arctangent" anmeldet.

  • Der Request Authenticator ist eine 16-Oktett-Zufallszahl, die vom NAS generiert wird.

  • Das Benutzerkennwort besteht aus 16 Oktetten, die am Ende mit Nullen aufgefüllt und mit D5 (Shared Secret | Request Authenticator) XOR-verknüpft sind.

  • 01 00 00 38 0f 40 3f 94 73 97 80 57 bd 83 d5 cb 98 f4 22 7a 01 06 6e 65 6d 6f 02 12 0d be 70 8d 93 d4 13 ce 31 96 e4 3f 78 2a 0a ee 04 06 c0 a8 01 10 05 06 00 00 00 03

  • 1 Code = Zugriffsanforderung (1)

    1 Kennung = 0

    2 Länge = 56

    16 Authenticator anfordern

  • Attributliste

    6 Benutzername = "Nemo"

    18 Benutzerpasswort

    6 NAS-IP-Adresse = 192.168.1.16

    6 NAS-Port = 3

Beispiel für eine Radiusantwort

Hier ist ein Beispiel für Antwortpakete:

  • Der Radius-Server authentifiziert Nemo und sendet ein Access-Accept-UDP-Paket an den NAS, in dem er aufgefordert wird, Nemo an Host 192.168.1.3 zu telneten

  • Der Antwortauthentifizierer ist eine 16-Oktett-MD5-Prüfsumme aus Code (2), ID (0), Länge (38), Anforderungsauthentifizierer von oben, den Attributen in dieser Antwort und dem gemeinsamen Geheimnis.

  • 02 00 00 26 86 fe 22 0e 76 24 ba 2a 10 05 f6 bf 9b 55 e0 b2 06 06 00 00 00 01 0f 06 00 00 00 00 0e 06 c0 a8 01 03

  • 1 Code = Zugriff akzeptieren (2)

    1 Identifier = 0 (wie bei Access-Request)

    2 Länge = 38

    16 Antwortauthentifizierer

  • Attributliste:

    6 Servicetyp (6) = Login (1)

    6 Login-Service (15) = Telnet (0)

    6 Login-IP-Host (14) = 192.168.1.3

Der Durchmesser ist ein geplanter Ersatz für RADIUS. Es ist ein AAA-Protokoll für Anwendungen wie Netzwerkzugriff und IP-Mobilität. Nachfolgend sind einige Punkte aufgeführt, die Sie über Durchmesser wissen müssen:

  • Es soll sowohl in lokalen als auch in Roaming-AAA-Situationen funktionieren.

  • Der Durchmesser ist nur doppelt so groß wie das Vorgängerprotokoll Radius.

  • Es verwendet TCP oder SCTP und nicht UDP.

  • Es verwendet Sicherheit auf Transportebene (IPSEC oder TLS).

  • Es hat eine 32-Bit-Kennung anstelle von 8-Bit.

  • Es unterstützt sowohl den zustandslosen als auch den zustandsbehafteten Modus.

  • Es unterstützt die Bestätigung der Anwendungsschicht und definiert das Failover.

  • Es bietet eine bessere Roaming-Unterstützung.

  • Es werden AVPs verwendet.

  • Mit Durchmesser können neue Befehle und Attribute definiert werden. Es ist leicht zu erweitern.

Was kommt als nächstes?

Jetzt haben Sie ein grundlegendes Verständnis von Radius und Durchmesser. Um mehr über diese Protokolle zu erfahren, müssen Sie verschiedene RFCs und andere Ressourcen durchgehen, die im Abschnitt Ressourcen aufgeführt sind.