Ich bin für einige Server an meiner Universität verantwortlich. Alle diese Maschinen sind so konfiguriert, dass sie mit dem LDAP-Server meiner Fakultät kommunizieren, um zentralisierte Benutzeranmeldungen zu ermöglichen. Auf diesem LDAP-Server gibt es einen Benutzer mit dem Namen root
:
# getent passwd | grep root
root:x:0:0:root:/root:/bin/bash
root:x:0:0:Netbios Domain Administrator:/home/root:/bin/false
Kürzlich hatte ich Probleme mit dem root
Account auf einem der Server, für die ich verantwortlich bin: Mein SSH-Verbindungsversuch wurde zwar erfolgreich gegenüber dem lokalen root
Benutzer authentifiziert, das Home-Verzeichnis wurde jedoch aus dem LDAP als übernommen /home/root
. Außerdem habe ich herausgefunden, dass man sich mit den LDAP- root
Anmeldeinformationen auf jedem Server als root authentifizieren kann, d. h. wenn die Authentifizierung gegenüber dem lokalen root
fehlschlägt, root
wird das LDAP versucht und der Benutzer wird, sofern das Passwort korrekt ist, als Superuser angemeldet.
Ich glaube, das ist nicht sehr sicher und die Mehrdeutigkeit der beiden root
Konten sollte beseitigt werden. Laut unserer IT-Abteilung root
ist das LDAP jedoch erforderlich.
Wie kann ich das Konto aus LDAP herausfiltern, root
um die Authentifizierung damit zu untersagen? Ich verwende pam_ldap.so
und auch einige LDAP-Direktiven in /etc/nsswitch.conf
.
Antwort1
Es gibt viele Möglichkeiten, hier sind ein paar einfache:
/etc/ssh/sshd_config
in auf no ändern (PermitRootLogin
das ist normalerweise eine gute Idee, dann verlassen Sie sich bei der Verwaltung aufsu
/sudo
). Das betrifft natürlich nur SSH.- Verwenden Sie in den verschiedenen PAM-Konfigurationsdateien das
pam_listfile
Modul, um bestimmte Konten explizit zuzulassen oder abzulehnen (muss für jeden Dienst durchgeführt werden). - Konfigurieren Sie in den verschiedenen PAM-Konfigurationsdateien das
pam_ldap
Modulpam_min_uid
auf 1 (oder höher), damit sich Root nicht anmelden kann (muss für jeden Dienst durchgeführt werden). - Ändern Sie den PAM LDAP Suchfilter (
pam_filter
), um entweder Benutzer auszuschließen (z. B. )pam_filter (uidNumber>=1)
, oder Sie können die Basis/den Umfang ändern
Eine der letzten beiden Optionen könnte für Sie am besten geeignet sein. Möglicherweise müssen Sie auch einige Anpassungen an der lokalen PAM-Konfiguration vornehmen, damit ein lokaler Root-Account pam_unix
erfolgreich sein kann, falls pam_ldap
dies fehlschlägt (z. B. Reihenfolge und erforderlich/vorausgesetzt/ausreichend).