Seite 1 von 1

Rechtesystem für einen Scriptaccount - SUDO oder ...?

Verfasst: 06.02.2016 00:00:10
von DiscoBoy
Ich plane für meine Router gescriptete (Python) Administrationswerkzeuge zu schreiben, die dann je nach Userkonfiguration betreffende configs anpassen. Ja, ich weiß, es gibt schon Projekte hierzu und viele hatten auch immer wieder einen schlechten Ruf wegen krasser Sicherheitslücken in der Vergangenheit. Es gibt z.B. saltstack und Puppet und anderes...mir schwebt aber dennoch eine eigene speziell angepasste und eher minimalistische Lösung vor:

Nehmen wir an ich habe ein Python-Script als Service laufen unter dem Scriptaccount "admin". Dieses Script soll nun Systemkonfigurationen anpassen, bzw. Verzeichnisse erstellen usw. und braucht hierfür des öfteren ROOT Rechte. Es liegt nahe hierfür den Account "admin" in die sudoers Liste mit aufzunehmen und hierfür evtl. auch eine spezielle Konfiguration zu erstellen. Aber ist das sinnvoll oder sicher genug? Was wenn mein Python Script angreifbar ist und sich so jemand über SUDO Rechte verschaffen kann? Lieber wäre mir ich könnte ganz spezielle Dateien und einzelne Programme für den Account "admin" freigeben, ohne aber überall die Dateirechte ändern zu wollen. Was würdet ihr unter Debian als bessere Alternative zu SUDO vorschlagen?

Danke für eure Tipps und Anregungen!

Re: Rechtesystem für einen Scriptaccount - SUDO oder ...?

Verfasst: 06.02.2016 03:19:44
von NAB
Du kannst über die /etc/sudoers ziemlich fein einstellen, was dein "admin" darf und was nicht. Damit kannst du seine Möglichkeiten begrenzen.

Re: Rechtesystem für einen Scriptaccount - SUDO oder ...?

Verfasst: 06.02.2016 11:14:45
von DiscoBoy
Macht es aber Sinn eher auf AppArmor oder SELinux zu setzen oder ist das mit Kanonen auf Spatzen schießen oder doch die bessere Alternative...
Es reicht bei SUDO ja das falsche Programm und schon kann ein User sich weitreichende Rechte verschaffen. Ich möchte aber verhindern, dass mein User "admin" als Einfallstor dienen kann. Wie läuft das z.B. bei anderen daemons. Die starten oft mit Root Rechten und wechseln dann auf niedrigere User/Gruppen nach dem Start.

Re: Rechtesystem für einen Scriptaccount - SUDO oder ...?

Verfasst: 23.02.2016 23:21:18
von Norcoen
Eine Möglichkeit wäre vielleicht noch bei gewissen Scripten SUID-Bits zu setzen?

Re: Rechtesystem für einen Scriptaccount - SUDO oder ...?

Verfasst: 25.02.2016 21:33:32
von Evox
Was würdet ihr unter Debian als bessere Alternative zu SUDO vorschlagen?
Debianacl (Zugriffskontroll-Liste) wäre eventuell genau das man sucht. Ja, etwas Einarbeitung ist schon nötig aber es lohnt sich wirklich. :wink:

Sind nur meine Erfahrung.
Würde nicht soviel mit sudo arbeiten, die Gefahr dabei ist das man zu Leichtsinnig wird und dabei Zustände erzeugt wie unter ein anderen bekannten BS. Lieber dafür alles tun das nur ein Nutzer erweiterte Rechte erlangen kann. PAM, Selinux würden sich da anbieten.

Re: Rechtesystem für einen Scriptaccount - SUDO oder ...?

Verfasst: 17.04.2016 22:28:17
von debiani
SUDO kenne ich nun auch von zB Mint oder (k)ubuntu. Ist dies auf jeden Fall empfehlenswert, bei debian also nachzurüsten, oder lieber die Systenvoreinstellung so lassen und mit 1. "su" und dann Eingabe des Befehls arbeiten?

Beispiel: Unter Mint etc würde man senden "sudo mkdir /mnt/nas", jetzt unter debian tippe ich zuerst "su", um dann als root in der Konsole "mkdir" eingeben.

Re: Rechtesystem für einen Scriptaccount - SUDO oder ...?

Verfasst: 17.04.2016 22:33:41
von NAB
Für solche Fälle kannst du einfach "su -c mkdir /mnt/nas" nehmen. Ist zwar ein Buchstabe mehr, aber das schafft man grad noch so. Dafür brauchst du kein sudo einzurichten.

Re: Rechtesystem für einen Scriptaccount - SUDO oder ...?

Verfasst: 17.04.2016 22:35:58
von debiani
Benötigt man ggf. "sudo" eigentlich gar nicht in debian?

Re: Rechtesystem für einen Scriptaccount - SUDO oder ...?

Verfasst: 17.04.2016 22:57:11
von TomL
Nein, ist nicht notwendig.

Re: Rechtesystem für einen Scriptaccount - SUDO oder ...?

Verfasst: 18.04.2016 09:03:20
von WPSchulz
Für solche Fälle kannst du einfach "su -c mkdir /mnt/nas" nehmen. Ist zwar ein Buchstabe mehr, aber das schafft man grad noch so. Dafür brauchst du kein sudo einzurichten.
Versteh ich jetzt nicht ganz. Mit "su -c" kann man doch die Erlaubnis, "mkdir /mnt/nas" auszuführen, nicht auf einige, wenige user beschränken, wohl aber mit einer sudo-Regel in '/etc/sudoers'.

Edit:
Ok, ich sehe , daß Du "su -c" als Alternative für "sudo" vorschlägst, weiter oben jedoch auf die Vorteile von sudoers Regeln hingewiesen hast.

Re: Rechtesystem für einen Scriptaccount - SUDO oder ...?

Verfasst: 18.04.2016 09:31:26
von debiani
Also bei mir klappte der Befehl mit -c auch nicht auf Anhieb, gemäß Info vom Thomas werde ich wohl sudo auch nicht benötigen und demnach nicht einrichten.