sudo mit RADIUS für Zwei-Faktor-Authentifizierung auf CentOS und Ubuntu
Übersicht
Angreifer nutzen häufig verlorene, gestohlene, schwache oder Standard-Zugangsdaten, um nach der Netzwerkkompromittierung Rechte zu eskalieren. Zwei-Faktor-Authentifizierung reduziert dieses Risiko deutlich. PAM-RADIUS erlaubt, Autorisierung (z. B. über ein Verzeichnis) und Authentifizierung (2FA) zu trennen. Diese Anleitung beschreibt eine einfache, unternehmenskompatible Grundkonfiguration.
Wichtig: Testen Sie Änderungen an Authentifizierung nur mit einem zusätzlichen Administratorkonto oder einer offenen Konsole, um Sperrungen zu vermeiden.
Hauptvarianten dieses Tutorials
- Primär: sudo + pam_radius_auth.so auf CentOS/RHEL 7
- Sekundär: sudo + libpam-radius-auth auf Ubuntu 14.04
- Geeignet für: WiKID, FreeRADIUS, Windows NPS und ähnliche RADIUS-Server
Voraussetzungen
- Root- oder sudo-Rechte auf Zielsystem
- Erreichbarer RADIUS-Server (IP/Hostname) und Shared Secret
- Backup von /etc/pam.d/sudo und lokaler Konfiguration
- Testkonto mit 2FA eingerichtet auf RADIUS-Server
CentOS/RHEL 7: sudo für Zwei-Faktor konfigurieren
Wir beginnen mit RHEL/CentOS 7. Installieren Sie die erforderlichen Pakete:
sudo yum -y install make gcc pam pam-devel
Laden Sie den PAM-RADIUS-Code (Stand: 1.4 zum Zeitpunkt des Originaltexts):
wget ftp://ftp.freeradius.org/pub/radius/pam_radius-x.x.x.tar.gz`
`
Bauen Sie die Bibliothek:
tar -xzvf pam-radius-x.x.x.tar.gz
cd pam-radius-x.x.x
sudo ./configure
sudo make
Kopieren Sie die Bibliothek an den korrekten Ort:
cp pam_radius_auth.so /lib/security/
Oder für 64-Bit-Systeme:
cp pam_radius_auth.so /lib64/security/
Erstellen Sie das Konfigurationsverzeichnis und kopieren Sie die Konfiguration unter dem Namen “server”:
sudo mkdir /etc/raddb
cp pam_radius_auth.conf /etc/raddb/server
Bearbeiten Sie /etc/raddb/server und fügen Sie IP des RADIUS-Servers und das Shared Secret ein:
# server[:port] shared_secret timeout (s)
127.0.0.1 secret 1
radius_server_IP secret 3
#
# having localhost in your radius configuration is a Good Thing.
Hinweis: Sie können vorerst Ihren WiKID-Server als RADIUS-Server verwenden und die CentOS-Maschine als RADIUS-Client auf WiKID eintragen, um Tests durchzuführen.
Jetzt sagen wir sudo, dass es RADIUS verwenden soll. Editieren Sie /etc/pam.d/sudo und ersetzen Sie die Zeile “auth include system-auth” mit:
auth required pam_radius_auth.so
Das ist alles für CentOS/RHEL 7. Ähnliche Schritte funktionieren auch für RHEL/CentOS 5 und 6.
Ubuntu 14.04: sudo für Zwei-Faktor konfigurieren
Auf Ubuntu installieren Sie das Paket:
sudo apt-get install libpam-radius-auth
Bearbeiten Sie /etc/pam_radius_auth.conf und konfigurieren Sie es analog:
# server[:port] shared_secret timeout (s)
127.0.0.1 secret 1
radius_server_IP secret 3
#
# having localhost in your radius configuration is a Good Thing.
Editieren Sie /etc/pam.d/sudo und fügen Sie die Zeile auth sufficient pam_radius_auth.so
oberhalb der common-auth-Include-Zeile ein, so dass die Datei beispielhaft so aussieht:
auth required pam_env.so readenv=1 user_readenv=0
auth required pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0
auth sufficient pam_radius_auth.so
@include common-auth
@include common-account
@include common-session-noninteractive
Ab nun müssen Administratoren beim Aufruf von sudo ihren One-Time-Passcode (OTP) eingeben. PAM leitet Benutzername und OTP an den RADIUS/WiKID-Server weiter.
Testen und Verifizieren
- Testen Sie mit einem separaten Session-Kanal (z. B. lokales Terminal oder KVM).
- Verwenden Sie
sudo -l
um vorab zu prüfen, ob sudo funktioniert (evtl. mit aktivierter RADIUS-Zeile). - Beobachten Sie Logs: /var/log/auth.log (Ubuntu) oder /var/log/secure (CentOS) für Fehlerursachen.
Wichtig: Haben Sie ein Fallback-Adminkonto ohne RADIUS, falls der RADIUS-Server ausfällt.
Troubleshooting - Häufige Probleme und Lösungen
- Kein Zugriff / Zeitüberschreitung: Prüfen Sie Netzwerkverbindung zum RADIUS-Server und Shared Secret.
- Falsches Shared Secret: Fehler in Logs meist als “Authentication failed”.
- Reihenfolge in PAM: Stellen Sie sicher, dass die pam_radius_auth.so-Zeile an der richtigen Stelle steht (required vs. sufficient je nach gewünschtem Verhalten).
- Firewall: RADIUS verwendet UDP 1812 (Standard) oder manchmal 1645. Prüfen Sie Ports und Firewalls.
Sicherheits- und Betriebsüberlegungen
- Metriken: RADIUS nutzt standardmäßig UDP/1812 für Authentifizierung.
- Backup-Plan: Erstellen Sie ein Notfallkonto oder Konsole, falls der RADIUS-Dienst ausfällt.
- Logging: Aktivieren Sie angemessene Logrotation und überwachen Sie Authentifizierungsfehler.
- Netzwerksegmentierung: Platzieren Sie RADIUS-Server in einem sicheren Segment.
Akzeptanzkriterien
- sudo verlangt nach 2FA für administrative Konten.
- Authentifizierungsversuche erscheinen im RADIUS-Server-Log.
- Lokale administrative Sperrung nicht verursacht (Fallback vorhanden).
- Dokumentation und Backout-Prozedur sind vorhanden.
Rollenspezifische Checklisten
- Administrator:
- Backup von /etc/pam.d/sudo anlegen
- Testkonto mit 2FA erzeugen
- RADIUS-ShSecret notieren (sicher verwahren)
- Fallback-Admin einrichten
- Betreiber/Netzwerk-Team:
- UDP-Port 1812/1813 freischalten
- Monitoring für RADIUS bereitstellen
- SLA/Alarm bei RADIUS-Ausfall konfigurieren
- Sicherheitsverantwortlicher:
- Zugriffskontrollen prüfen
- Logging/Retention definieren
Entscheidungsbaum (Mermaid)
flowchart TD
A[Benutzer ruft sudo auf] --> B{Ist pam_radius aktiv?}
B -- ja --> C{RADIUS erreichbar?}
B -- nein --> D[Standard-PAM-Flow]
C -- ja --> E{RADIUS akzeptiert OTP?}
C -- nein --> F[Fehler: Timeout / Netzwerk]
E -- ja --> G[sudo gewährt Rechte]
E -- nein --> H[sudo verweigert]
Kurz-Glossar
- RADIUS: Remote Authentication Dial-In User Service, Protokoll für Authentifizierung/Autorisierung.
- PAM: Pluggable Authentication Modules, modulare Authentifizierungsschicht unter Unix/Linux.
- OTP: One-Time Password, einmal nutzbarer Code für 2FA.
Zusammenfassung
- RADIUS-integration in sudo ermöglicht eine zentrale 2FA für administrative Aktionen.
- Testen Sie Schritt für Schritt, behalten Sie ein Fallback-Adminkonto.
- Überwachen Sie Logs und konfigurieren Sie Netzwerk-/Sicherheitsmaßnahmen.
Wichtig: Diese Anleitung beschreibt ein Basis-Setup. Für produktive Umgebungen planen Sie redundante RADIUS-Server, Monitoring und ein getestetes Notfallverfahren.
Ähnliche Materialien

iPhone-Akkuprobleme nach iOS 26 beheben

Bilder zuschneiden in Word, Excel und PowerPoint

Siri‑Lücke in iOS 9: Kontakte & Fotos schützen

Windows 10 Support endet – Upgrade, ESU oder Wechsel?

Laptop vor Manipulation schützen
