Technologieführer

sudo mit RADIUS für Zwei-Faktor-Authentifizierung auf CentOS und Ubuntu

4 min read Sicherheit Aktualisiert 19 Oct 2025
sudo + RADIUS 2FA für CentOS und Ubuntu
sudo + RADIUS 2FA für 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.

Autor
Redaktion

Ähnliche Materialien

iPhone-Akkuprobleme nach iOS 26 beheben
Anleitung

iPhone-Akkuprobleme nach iOS 26 beheben

Bilder zuschneiden in Word, Excel und PowerPoint
Office-Anleitungen

Bilder zuschneiden in Word, Excel und PowerPoint

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

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

Windows 10 Support endet – Upgrade, ESU oder Wechsel?
Betriebssysteme

Windows 10 Support endet – Upgrade, ESU oder Wechsel?

Laptop vor Manipulation schützen
Gerätesicherheit

Laptop vor Manipulation schützen

Enpass auf Linux: Installation, Sync & Sicherheit
Passwort-Manager

Enpass auf Linux: Installation, Sync & Sicherheit