Website-Icon .: blog cscholz.io :.

Linux: Befehlssatz nach SSH Anmeldung mit rbash limitieren

Um Linux abzusichern, sollte man für den Remote-Zugriff immer die SSH-Authentifizierung mittels Public-Key wählen und anschließend nur einem nicht root-Benutzer die Anmeldung per SSH erlauben. Um das ganze noch etwas zu verfeinern, kann man auch noch die Befehle, die der Benutzer für den SSH-Zugriff verwenden darf, einschränken. Dazu wird dem entsprechenden Benutzer die rbash als Shell zugewiesen und anschließend die Path-Variable auf ein separates Verzeichnis umgebogen, in dem anschließend Links auf die zur Verfügung gestellten Befehle erstellt werden.

In der Praxis sieht das ganze so aus:

Um die Suche nach ausführbaren Dateien in der rbash auf ein einziges Verzeichnis zu beschränken, müssen folgende Zeilen am Ende der Datei /etc/profile hinzugefügt werden:

if [ "$SHELL" = /bin/rbash ]; then
   PATH=/usr/rbin
fi

Anschließend dem Benutzer, dem die Anmeldung per SSH erlaubt ist, die rbash als Shell  zuweisen

chsh testuser -s /bin/rbash

Nun noch das entsprechende Verzeichnis erstellen und die gewünschten Binaries verlinken (minimal su)

mkdir /usr/rbin
ln -s $(which su) /usr/rbin/su

Oder je nach Wünsch noch weitere:

ln -s $(which dircolors) /usr/rbin/dircolors
ln -s $(which uptime) /usr/rbin/uptime 
ln -s $(which sed) /usr/rbin/sed
ln -s $(which w) /usr/rbin/w
ln -s $(which grep) /usr/rbin/grep
ln -s $(which pinky) /usr/rbin/pinky
ln -s $(which id) /usr/rbin/id
ln -s $(which cut) /usr/rbin/cut
ln -s $(which awk) /usr/rbin/awk
Die mobile Version verlassen