Wann sollte im Allgemeinen ein neues Benutzerkonto erstellt werden, um eine mit dem Internet verbundene Software auf einem Server auszuführen?
Angenommen, ich verwende einen gemeinsam genutzten Debian-Server (z. B. über Dreamhost) und möchte einige Websites mit WordPress, einige mit Redmine, einige mit Ruby on Rails, einige mit Django betreiben und Mercurial unterstützen Repositories auch.
Auf Dreamhost-Servern und vielen anderen ähnlich eingerichteten Servern könnte dies alles unter einem einzelnen Benutzerkonto erfolgen , bei diesem Ansatz kann ich jedoch einige Nachteile feststellen:
- Eine längere .bashrc
- Wenn dieses eine Konto kompromittiert wird, tun dies alle Sites, die unter diesem Konto ausgeführt werden.
Andererseits kann es schwierig werden, viele Benutzerkonten zu haben, um den Überblick zu behalten, insbesondere wenn einige von ihnen identische Anforderungen an die installierte Software haben. Ein Konto für jede Website, auf der WordPress ausgeführt wird, ist möglicherweise zu viel.
Was ist die beste Vorgehensweise? Geht es lediglich darum, die Anzahl der gehosteten Websites (oder der gehosteten Repositorys usw.) pro Benutzerkonto proportional zum Grad der Paranoia zu verringern?
Bitte hinterlassen Sie Ihre Meinung dazu und begründen Sie diese.
Wenn Sie Grund zu der Annahme haben, dass sich die Vorgehensweise auf einem privaten Server oder VPS von der Vorgehensweise auf einem gemeinsam genutzten Server unterscheidet, erläutern Sie bitte die Gründe für diese Vorgehensweise.
quelle
mod_suexec
ist, dass "Nicht-CGI-Anforderungen immer noch mit dem in der User-Direktive angegebenen Benutzer verarbeitet werden". Wenn PHP also ein Modul ist, wird es immer noch als "Haupt" -Apache-Benutzer ausgeführt. Es ist eine großartige Lösung, wenn alles, was Sie ausführen, CGI ist.Im Allgemeinen habe ich einen Benutzer für externe Dienste, die sich nicht anmelden dürfen (z. B. "nobody"), und einen Benutzer, der sich anmelden darf, und su oder sudo. Stellen Sie natürlich sicher, dass Ihre Benutzernamen unterschiedlich und nicht leicht zu erraten sind.
Ich sehe keinen Benutzer pro Dienst als notwendig an, es sei denn, Sie betreiben eine gemeinsame Hosting-Umgebung, in der jeder Kunde über eine Anmeldung verfügt. Wenn Sie sich realistisch als ein sehr attraktives Ziel für das Hacken sehen, können Sie so gut wie möglich isolieren. Wenn Sie jedoch nicht etwas sehr umstrittenes unternehmen oder Finanzdaten hosten, sind Sie für ein Ziel nicht wirklich attraktiv.
quelle