Benachrichtigen, wenn normaler Benutzer zu root wechselt?

1652
IMB

Wäre es möglich, dass sich ein normaler Benutzer per suBefehl bei root anmeldet, wird eine E-Mail-Benachrichtigung gesendet.

3
Warum dürfen Ihre normalen Benutzer sogar `su` ausführen? Zumindest auf meinem System muss jeder Benutzer, der `su` verwenden möchte, in` wheel` sein. Baarn vor 11 Jahren 0
Der Ansatz ist schlecht, jeder Benutzer, der über `su` root wird, kann auch eine solche E-Mail-Benachrichtigung entfernen. Ihre Benutzer sollten nur einen sehr kleinen Befehlssatz als root ausführen dürfen und nur `sudo 'verwenden. Verwenden Sie die Datei `/ etc / sudoers`, um sie entsprechend zu konfigurieren (siehe die Sudoers-Manpage). speakr vor 11 Jahren 3
@speakr Nun, mein Plan ist nur ein normaler Benutzer, der root gegeben wird. Ich möchte dies nur tun, um zu verhindern, dass rohe Leute Roots zwingen. Direktes root ist also deaktiviert und dieser normale Benutzer muss 'su' verwenden IMB vor 11 Jahren 0
Definieren Sie "Brute Forcing Root". Erklären Sie dann, wie dies verhindert werden kann. Fran vor 11 Jahren 0
@ fran SSH Brute-Force-Angriff. Ich habe mein SSH bereits auf einem anderen Port und blockiere fehlgeschlagene Anmeldeversuche, aber ein bisschen mehr Sicherheit wie dieses wird nicht schaden. Wie dies funktioniert ist, falls der Brute-Forcer den Port herausfindet, muss er trotzdem den Benutzernamen kennen, da root deaktiviert ist. IMB vor 11 Jahren 0
@IMB Haben Sie also in Ihrer Frage "ssh" anstelle von "su" geschrieben? Ich sehe nicht, wie Ihre Erklärung mit `su` zu tun hat. Fran vor 11 Jahren 0
@Fran Nein. Wenn sich der Benutzername bei SSH anmeldet, verwendet er 'su' statt direkt root. IMB vor 11 Jahren 0

1 Antwort auf die Frage

0
speakr

Eine Lösung wäre das Erstellen eines Skripts, das eine E-Mail sendet und eine Shell ausführt:

#!/bin/bash echo "sudo was used" | mail -s "sudo notification" your@mailaddress exec bash 

Stellen Sie sicher, dass Sie dieses Skript vor dem Zugriff unberechtigter Benutzer schützen (siehe den unteren Teil dieser Antwort )!

Erzwingen Sie dann den privilegierten Benutzer joe, um das Skript mit einschränkenden sudoBerechtigungen auszuführen .

Ein Beispiel für /etc/sudoers:

joe ALL = (root) /absolute/path/to/your/script.sh 

Jetzt kann Joe anrufen sudo /absolute/path/to/your/script.shund erhält eine Root-Shell, während Sie benachrichtigt werden.

Beachten Sie jedoch, dass, sobald Joe die Root-Shell erhalten hat, er Ihr System besitzt, dh nichts hindert ihn daran, Ihr Skript, die Sudoers-Datei usw. zu ändern.