SSH mit “AllowUsers” und “AllowGroups” einschränken

Manchmal kann es sehr sinnvoll sein den Login so einzuschränken, dass sich nur noch bestimmte Benutzer oder Gruppen per SSH an dem Linuxsystem anmelden können. Die Lösung liegt ganz nahe und ist noch einfacher umzusetzen.

Alle Einstellungen werden in der Konfigurationsdatei “/etc/ssh/sshd_config” vorgenommen.

Nur bestimmte Benutzer erlauben:
AllowUsers user1 user2

Nur bestimmte Benutzer von bestimmten Computern:
AllowUsers user1@computer1 user2@computer2

Alle Benutzer einer Gruppe:
AllowGroups gruppe1 gruppe2

Sollen mehr Benutzer / Gruppen Zugriff erhalten als ausgeschlossen werden, so kann die Verwendung von “DenyUsers” und “DenyGroups” hilfreich sein.

Info:
Die Benutzer müssen auf dem System existieren, sonst klappt keine Anmeldung.

Grub mit einem verschlüsselten Passwort sichern

Grub ermöglicht es, vor dem Bootvorgang von Linux eine Single-User-Shell mittels “init=/bin/sh” zu starten, was eine Risiko für die Systemsicherheit darstellt. Dies kann verhindert werden, indem ein Passwort in den Konfigurationen gesetzt wird.

Unsichere Möglichkeit:
In der Datei “/boot/grub/menu.lst” gibt es einen auskommentierten Parameter namens “password” (Zeile 30). Bei diesem einfach das “# ” entfernen und das gewünschte Kennwort dahinter schreiben.

Sichere Option:
Um die Integrität des Passwortes zusätzlich abzusichern, sollte dieses verschlüsselt abgelegt werden. Das Dienstprogramm “grub-md5-crypt” erzeugt ein gehashtes, welches kompatibel mit Grub’s Verschlüsselungsalgorithmus (MD5) ist.
Um Grub mitzuteilen, dass ein Passwort im MD5-Format verwendet wird, einfach die folgende Anweisung in die Datei schreiben: “password –md5 Hashwert

Ausführungsrichtlinie einstellen

Mit der dem folgenden Commandlet kann die Sicherheit für Powershellskripte eingestellt werden. Dabei stehen vier Modi zur Wahl.

Welche Modi gibt es?
Restricted: Nur einzelne Befehle, keine Skripte (Standardeinstellung)
AllSigned: Nur signierte Skripte werden ausgeführt, Bestätigungsdialog vor Ausführung
RemoteSigned: Lokal gespeicherte werden auch ohne Signatur ausgeführt. Skripte aus dem Internet nur mit Dialog, lokale ohne.
Unrestricted: Alle laufen ohne jegliche Abfragen und Einschränkungen (ACHTUNG: Sicherheitsrisiko!)

Modus setzen:

1
Set-ExecutionPolicy MODINAME

Aktuell eingestellten Modus anzeigen:

1
Get-ExecutionPolicy

Info:
Weitere Informationen dazu direkt in der Shell mit

1
get-help about_signing