c't 2/2020
S. 98
Test & Beratung
Shell-Zugriff reglementieren
Aufmacherbild

Grenzen setzen

GNU Rush schränkt auf Linux-Systemen die Möglichkeiten der Shell gezielt ein. Ein Admin kann so bestimmen, wer welche Kommandos wie ausführen darf.

Die Restricted User Shell (Rush) soll primär den Zugriff auf die Ressourcen eines Servers reglementieren, beispielsweise auf ein Git-Repository oder auf die vom Client via scp oder rsync aufgerufenen Gegenstellen. Rush prüft dazu vor dem Ausführen eines Kommandos, ob darauf eine der definierten Regeln zutrifft. Beim Formulieren solcher Regeln dürfen Administratoren reguläre Ausdrücke einsetzen und auf diese Weise auch komplexe Befehle abfangen. Rush kann die Kommandos dann modifizieren und so sicherstellen, dass der Aufruf von scp auch wirklich etwa /bin/scp startet.

Rush kann weitere Programme auch vorab starten und so beispielsweise eine Chroot-Umgebung aufbauen. Interessant ist das vor allem für Programme wie scp, mit denen sonst Systemdateien kopiert werden könnten. Ergänzend kann Rush den Zugriff auf Systemressourcen begrenzen und beispielsweise die Nutzung des Hauptspeichers einschränken.