Tag 19/2016: ssh-Dämon-Konfiguration mit erweiterten Regeln

In vielen Konfigurationsbeispielen für die  sshd_config, der Konfigurationsdatei für den ssh-Dämon, wird mit der AllowUsers-Direktive explizit festgelegt, mit welchen Benutzernamen (und damit Benutzern) man sich überhaupt anmelden darf. Kombiniert mit @HOST gilt der Login eines Benutzers dann sogar nur für den angegebenen Host.

AllowUsers foo bar baz@192.168.1.100

Loginversuche von Unbefugten mit dort nicht aufgeführten Benutzerkonten lassen sich damit, dank eindeutiger Fehlermeldung im Logfile, noch einfacher mit Tools wie fail2ban aufspüren.

sshd[9140]: User system from host.example.com not allowed because not listed in AllowUsers

Hat man den Login so konfiguriert, dass nur das Public-Key-Verfahren erlaubt ist und muss einem Benutzerkonto trotzdem den Login mit Passwort erlauben, kann man sich mit konditionalen Blöcken behelfen, die man mit der Match-Direktive einleitet.

An das Ende der sshd_config kann man beispielsweise ergänzen:

Match Address 192.168.1.100 User bolo
   AllowUsers bolo
   PasswordAuthentication yes

Hier werden zwei Kriterien geprüft, nämlich ob der Login von einer bestimmten IP-Adresse aus erfolgt („Address 192.168.1.100“) und ob es der zu erlaubende Benutzer ist („User bolo“). Wenn ja, wird diesem Benutzer explizit auch der Login („AllowUsers bolo“) und die Anmeldung via Passwort erlaubt („PasswordAuthentication yes“).  Die im konditionalen Block gelisteten Einstellungen überschreiben die globalen.

Genauso gut kann man also auch schreiben:

# in der "globalen" AllowUsers Liste
AllowUsers foo bar baz@192.168.1.100 bolo@192.168.1.100

PasswordAuthentication no
PubkeyAuthentication yes
PermitEmptyPasswords no

Match User bolo
PasswordAuthentication yes

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.