GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Ist es meine Aufgabe als Linux-Administrator, Root-Rechte für Anwendungen aufzugeben, oder die Aufgabe des Anwendungsentwicklers?

Ist es eine meiner Aufgaben als Linux-Administrator, irgendeine Aufgabe auszuführen, um die Root-Rechte der auf meinen Systemen laufenden Anwendungen zu löschen?

Ja. Es ist Ihre Aufgabe, dafür zu sorgen, dass es erledigt wird. Wenn die Anwendung es nicht tut, müssen Sie feststellen, dass die Anwendung es nicht tut, und es selbst tun.

Oder verlasse ich mich einfach auf die Anwendungsentwickler, um sicherzustellen, dass sie ihren Code dafür geschrieben haben?

Verlassen Sie sich nicht auf Anwendungsentwickler, etwas getan zu haben. Es gibt viele Tools, die einem Linux-Systemadministrator zur Verfügung stehen, um die Fakten zu erhalten darüber, was Anwendungen zur Laufzeit tun.


Es ist die Pflicht des Programmierers der Anwendung sicherzustellen, dass die Anwendung Root-Privilegien aufgibt und mit unprivilegierten Rechten arbeitet. Wenn die Anwendung dies nicht tut, können Sie nichts dagegen tun – abgesehen davon, dass Sie die Anwendung nicht verwenden, einen Fehlerbericht an den Entwickler senden oder die erforderlichen Änderungen selbst im Code implementieren.

Andererseits sind es Sie , als Administrator, der auswählt, als welcher Benutzer die Anwendung gestartet wird; Die goldene Regel lautet, einem Prozess niemals mehr Rechte zu gewähren, als er zum Ausführen benötigt. Sie können also einen unprivilegierten Benutzer erstellen - schauen Sie in /etc/passwd nach um sich ein Bild von Systemkonten zu machen - und führen Sie die Anwendung als dieser Benutzer aus. (Sie müssen dies selten von Hand tun; normalerweise wird dies alles erledigt, wenn Sie eine Software über den Paketmanager installieren.) Wenn die Anwendung jedoch Root-Rechte zum Starten benötigt und diese Rechte dann nicht mittendrin fallen lässt der Lauf, dann ist es außerhalb Ihrer Kontrolle.

Zum Beispiel ältere Versionen von sendmail erforderlich, um SUID root auszuführen, was eine Sicherheitslücke darstellte, wenn es einem entfernten Angreifer gelang, eine Schwachstelle des Programms erfolgreich auszunutzen. Wenn Sie sendmail hatten ausschließlich als Mail-Relay ausgeführt wird, können Sie es als unprivilegierter Benutzer ausführen.


Ich würde sagen, dass es unsere Aufgabe als Systemadministratoren ist, Anwendungen und Benutzern (die es ihnen ermöglichen, ihre Arbeit zu erledigen) die geringstmöglichen Privilegien zu geben.

Ein Benutzer, der Tomcat/Java-Apps oder -Webseiten bereitstellt oder eine App mit Datenbankzugriff bereitstellt, hat selten oder wenig legitimen Bedarf an Root-Zugriff.

Die meisten Frameworks lassen heutzutage standardmäßig auch root fallen.

Zum Beispiel für Entwickler hier, die Java-Frameworks verwenden, geben wir Entwicklern nur Zugriff auf einen nicht privilegierten Benutzer, der Bereitstellungen durchführen kann, und einige sudo-Befehle, die darauf beschränkt sind, einige wichtige Dienste (neu) zu starten und zu stoppen.

Ich würde sogar noch weiter gehen, dass es nicht die Aufgabe des Entwicklerteams ist, sich mit Produktionsservern zu befassen.

Aus meiner Lebenserfahrung ist das Entwicklerteam oft nur besorgt, seine Arbeit zu erledigen, und ist nicht in der Lage, das Sicherheits- und Kapazitätsmanagement ohne Planung, Anleitung und proaktives Eingreifen des Systemadministratorteams richtig hinzubekommen.


Linux
  1. So verbessern Sie die Startzeit von Anwendungen unter Linux

  2. So richten Sie Sudo-Berechtigungen für Benutzer in Linux ein

  3. Wie lösche ich Root-Rechte in Shell-Skripten?

  4. Linux – Ist der Schrägstrich (/) Teil des Namens des Linux-Root-Verzeichnisses?

  5. Die 10 besten Medienbearbeitungsanwendungen für Linux

So erteilen Sie Benutzern Root-Rechte unter Kali Linux

Verzögerter Administrator – Administratorrechte vorübergehend auf Administratoren verzichten

Die 5 besten Linux-Distributionen für Entwickler und Programmierer

So ändern Sie das Root-Passwort unter Linux

So ändern Sie das Passwort des Root-Kontos von Linux VPS

Die 20 besten Startprogramme für Linux-Anwendungen zur Steigerung Ihrer Produktivität