Mit welchem ​​Benutzer soll ich Webserver, Redis & Mongodb ausführen?

8

Auf diesem VPS gibt es drei Benutzer: root, another_one, Nobody. Alle Webserver-Dateien, Konfigurationen usw. gehören root. Ich bin jedoch im Zweifel, was das Laufen angeht. Wenn ich root für den Webserver verwende, kann das System Sicherheitslücken ausgesetzt sein. Wenn ich nobodymich anmelden möchte, werde ich nach einem Kennwort gefragt, das ich nie festgelegt habe und das ich nicht kenne. Soll ich noch einen Benutzer erstellen?

Im Moment bin ich mir nur bei Nginx sicher: Ich führe es als root aus und es erzeugt Prozesse wie niemand. Aber was ist mit Webservern und anderen Diensten wie db und redis?

Hinweis: Ich sollte erwähnen, dass ein anderer Benutzer sudo kann, es unterscheidet sich also nicht so sehr von root.

rubik
quelle

Antworten:

9

Ich führe Dienste immer mit einem dedizierten Benutzer aus. Also würde ich diese Benutzer erstellen:

  • Nginx
  • Mongo
  • Apache
  • MySQL
  • redis

Sie sollten die eigentlichen Dienste niemals als root ausführen!

Wenn Sie diese Anwendungen mit Ihrem Distributionspaket-Manager installieren, wird im Rahmen der Installation häufig automatisch ein Benutzer für jeden dieser Dienste erstellt.

Ich verwende normalerweise CentOS / RHEL und wenn ich Dinge wie Apache installiere, wird der Benutzer "Apache" zu diesem Zeitpunkt automatisch erstellt. So auch für MySQL und Nginx.

slm
quelle
Gut, danke! Ja, bei der Installation von redis zum Beispiel habe ich festgestellt, dass auch ein redisBenutzer erstellt wurde. Ich werde diesem Rat folgen, danke.
Rubik
Ich konfiguriere jetzt Dinge und mit mehreren Benutzern ist es einfacher, bestimmte Berechtigungen festzulegen!
Rubik
Ich mag diesen Ansatz. Welche Strategie verfolgen Sie aus Neugier für Gruppen? Haben Sie eine Servicegruppe? Oder führen Sie für jeden Dienstnutzer eine eigene Gruppe?
Patrick M
@PatrickM - separate Gruppen. Dienstleistungen sollten so weit wie möglich voneinander abgeschottet sein.
slm