Drahtlose Netzwerke sind überall: Zu Hause, im Café und in der Firma. Im Gegensatz zu Kabelnetzen verliert der Admin bei WLANs allerdings schnell die ... (mehr)

Radius-Clients

Damit Freeradius den Zugang erlaubt, muss Freeradius zunächst auch den Client kennen, der einen User authentifizieren möchte. Die Konfiguration der Clients findet in der Datei »clients.conf« statt, sie enthält die Netzwerkparameter und Sicherheitseinstellungen der Network Access Server (NAS); im Beispiel also etwa ein WLAN-Hotspot.

Das Schlüsselwort »client« , gefolgt von einem Namen, leitet jede Client-Konfiguration ein, die Konfiguration steht dann zwischen geschweiften Klammern. Voreingestellt ist nur der Client namens localhost. Er weist alle Verbindungen zurück, die nicht vom selben Rechner stammen. Der Name kann auch als Definition der zugelassenen Clients dienen, etwa »localhost« oder »192.168.1.2/32« . Seit Freeradius-Version 2 ist dies nicht mehr vorgeschrieben, funktioniert aber weiterhin. Ansonsten legen die »ipaddr« und »netmask« die für diesen Client zugelassenen Netzwerkparameter fest.

Ein Radius-Server verlangt außerdem ein Shared Secret vom Client – ein Passwort, das als Grundlage für die weitere verschlüsselte Kommunikation dient. Der voreingestellte localhost-Client gibt hier »testing123« vor. Die Konfiguration sieht zusammengefasst so aus:

client localhost {
  ipaddr = 127.0.0.1
  secret = testing123
  netmask = 32
}

Der optionale Eintrag »netmask« bestimmt das erlaubte Subnetz. Fehlt er, steht er auf 32, was genau einem Rechner entspricht. Alternativ zur IP-Adresse nimmt der Eintrag »ipaddr« auch einen Hostnamen entgegen. Allerdings bedeutet das, dass bei einem Problem mit dem DNS-Server auch der Radius-Server ausfällt.

Das in Freeradius enthaltene Tool »radclient« ermöglicht es, den Zugang von der Kommandozeile aus zu testen. Mit der gegebenen Konfiguration gestattet der Radius-Server das zunächst nur lokal; Abbildung 3 zeigt die Ausgabe.

Abbildung 3: Das Programm radtest hilft beim Debugging eines Radius-Servers.

Hints und Huntgroups

Zwei weitere Konfigurationsdateien und Freeradius-Konzepte heißen »huntgroups« und »hints« . Bei Huntgroups handelt es sich um Benutzergruppen, deren Mitglieder über denselben Network Access Server Zugriff erhalten. Entsprechend sieht eine einfache Huntgroups-Konfiguration so aus:

lokal  NAS-IP-Address == 192.168.1.1

Diese Einstellung ordnet allen Benutzern, die der Radius-Client (NAS) mit der IP-Adresse »192.168.1.1« authentifiziert, der Huntgroup »lokal« zu. Diese Information lässt sich in der »users« -Datei verwenden, indem man über das Attribut »Huntgroup-Name« die Zugehörigkeit eines Benutzers abgleicht. Dies bietet die Möglichkeit, für einen Benutzer verschiedene Einträge anzulegen, die je nach verwendetem NAS aktiv werden. Das ist insbesondere in Kombination mit dem »DEFAULT« -User sinnvoll.

Die Hints erlauben die Detailkonfiguration direkt über die Benutzernamen, indem der Client situationsabhängige Präfixe oder Suffixe anhängt. Die mitgelieferte »hints« -Datei enthält die für Internet-Anbieter typischen Einstellungen, die Benutzernamen mit den Endungen ».ppp« , ».slip« und ».cslip« das entsprechende Protokoll zuweisen. Anschließend wird die Authentifizierung mit Passwort mit dem verbleibenden Benutzernamen fortgeführt, dafür sorgt der Parameter »Strip-User-Name = Yes« .

Der folgende Eintrag führt also zur Authentifierung eines Benutzers, der sich als »ADMIN.ppp« meldet. Nachdem ihm das PPP-Protokoll zugewiesen worden ist, autorisiert Freeradius ihn dann als »ADMIN« . Auch hier bietet sich die Kombination mit »DEFAULT« an:

DEFAULT Suffix == ".ppp", Strip-User-Name = Yes
  Hint = "PPP",
  Service-Type = Framed-User,
  Framed-Protocol = PPP
comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019