Wie kann man einem benutzerdefinierten Daemon sicher erlauben, einen Proxy neu zu starten?

Wie kann man einem benutzerdefinierten Daemon sicher erlauben, einen Proxy neu zu starten?

Ich habe einen benutzerdefinierten Daemon, der eine Blacklist für meinen Proxy (HAProxy) verwaltet. Wenn die Blacklist aktualisiert wird, muss ich haproxy neu laden, damit es den aktuellsten Proxy hat. Leider ist ein manuelles Neuladen von haproxy nicht sinnvoll, da die Blacklist mehrmals täglich aktualisiert werden könnte.

Um dieses Problem zu lösen, habe ich ein Skript zum Neuladen von Haproxy erstellt, das jedoch als Root ausgeführt werden muss, damit es durch systemctl laufen kann, um ordnungsgemäß verwaltet zu werden. Dieses Skript befindet sich im Bin-Verzeichnis des Daemon-Benutzers. Ich habe auch den Eigentümer der Datei auf einen anderen Benutzer (vorerst Root) und die Berechtigungen auf -r-xr-x--- geändert. Ich habe vor, den Daemon-Benutzer zur Sudoers-Datei hinzuzufügen, ohne dass auf dieses Skript ein Kennwortzugriff möglich ist.

Ich möchte wissen, ob diese Vorgehensweise „sicher“ ist oder ob es eine bessere Alternative gibt.

Antwort1

Ja, die richtige Vorgehensweise besteht darin, ein Skript zu schreiben, das nur das tut, was der Daemon benötigt, und einen speziellen Sudoers-Eintrag zu erstellen, damit der Daemon das Skript ausführen kann. Es ist jedoch wichtig, dass der Daemon-Benutzer das Skript nicht ändern kann. Daher würde ich es nicht im Stammverzeichnis des Daemons speichern. Legen Sie es lieber an einen Ort wie diesen /usr/local/binund machen Sie es nur für Root beschreibbar.

verwandte Informationen