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.
ldap://ad01.example.lan)cn=radiusbind,cn=Users,...)sudo apt update
sudo apt install freeradius freeradius-ldap -y
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
Mit einem bekannten Benutzer aus dem AD:
echo "testuser TestPasswort" | radtest testuser TestPasswort localhost 0 radiussecret
Ausgabe sollte
Access-Acceptenthalten.
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
}
Zur Protokollierung von Verbindungen kannst du in /etc/freeradius/3.0/sites-enabled/default im Block accounting z. B. sql aktivieren oder Syslog verwenden.
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!