In diesem Artikel erweitern wir unsere zentrale Benutzerverwaltung um Netzwerkzugriffskontrolle per FreeRADIUS. Damit lassen sich WLAN-, VPN- oder 802.1X-Zugänge sicher und zentral über den Samba AD authentifizieren – inklusive Gruppeninformationen.

Ziel

  • FreeRADIUS auf Debian installieren
  • Anbindung an Samba AD via LDAP
  • Rückgabe von Gruppeninformationen im Access-Accept

Vorbereitung

  • Samba AD mit LDAP-Zugriff (ldap://ad01.example.lan)
  • Ein Benutzer mit Leserechten im AD (cn=radiusbind,cn=Users,...)
  • Debian 12 oder ähnlich

Installation

sudo apt update
sudo apt install freeradius freeradius-ldap -y

LDAP-Anbindung konfigurieren

Bearbeite die Datei /etc/freeradius/3.0/mods-enabled/ldap:

ldap {
  server = 'ad01.example.lan'
  identity = 'cn=radiusbind,cn=Users,dc=example,dc=lan'
  password = 'DEIN_PASSWORT'
  base_dn = 'dc=example,dc=lan'
  user {
    base_dn = "dc=example,dc=lan"
    filter = "(sAMAccountName=%{%{Stripped-User-Name}:-%{User-Name}})"
  }
  group {
    base_dn = "dc=example,dc=lan"
    filter = "(objectClass=group)"
    membership_attribute = "member"
  }
  tls {
    start_tls = no
  }
}

Anschließend freeradius neu starten:

sudo systemctl restart freeradius

Test der Authentifizierung

Mit einem bekannten Benutzer aus dem AD:

echo "testuser TestPasswort" | radtest testuser TestPasswort localhost 0 radiussecret

Ausgabe sollte Access-Accept enthalten.

Gruppeninformationen zurückgeben

Damit FreeRADIUS Gruppenzugehörigkeiten im Access-Accept mitsendet, ergänze in /etc/freeradius/3.0/sites-enabled/default im Block post-auth z. B.:

update reply {
  Reply-Message := "Willkommen %{reply:User-Name}"
  Class := "%{control:LDAP-Group-Name}"
}

Oder lege policies an, die bestimmte Gruppen erlauben oder ablehnen:

if (!LDAP-Group == "cn=wlan,ou=Groups,dc=example,dc=lan") {
  reject
}

Accounting aktivieren (optional)

Zur Protokollierung von Verbindungen kannst du in /etc/freeradius/3.0/sites-enabled/default im Block accounting z. B. sql aktivieren oder Syslog verwenden.

Fazit

Mit FreeRADIUS und LDAP-Anbindung kannst du den Zugriff auf Netzwerkdienste zentral über deinen Samba AD steuern – sicher, nachvollziehbar und flexibel. Damit lassen sich z. B. WLANs nach Benutzergruppen differenzieren oder VPN-Zugänge fein granular steuern.

Im nächsten Artikel geht es darum, wie sich Linux-Logins und SSH-Zugriffe zentral über LDAP authentifizieren lassen – inklusive Public-Key-Login und automatischer Home-Verzeichnisse.

Bleib dran!

Vorheriger Beitrag Nächster Beitrag