Sichere Remote-Bearbeitung von Dateien, auf die über Root zugegriffen werden kann, über SSH

8

Gemäß den bewährten Sicherheitsmethoden sollte die Root-Anmeldung über SSH mit Kennwort oder Schlüsseln nicht zulässig sein. Stattdessen sollte sudo verwendet werden.

Wenn man jedoch SSH (SFTP) für die Fernbearbeitung von Serverkonfigurationsdateien verwenden möchte, wie sie in / etc leben (Apache, Cron, wie Sie es nennen), wie sollte dies geschehen?

  • Kann die Remote-Bearbeitung von Dateien mit Root-Zugriff über SFTP mit den Best Practices für die Sicherheit kompatibel sein?

  • Wie man Dateiberechtigungen, Benutzergruppen und solche festlegen sollte, damit die Best Practices für die Sicherheit befolgt werden

Derzeit verwende ich die durch Passphrasen geschützte Authentifizierung mit öffentlichem Schlüssel, um mich als Root anzumelden. Ich bin mir jedoch nicht sicher, ob ich etwas Sichereres tun kann, sodass SSH-Anmeldungen mit Root-Status vollständig deaktiviert werden können.

Der Server ist Ubuntu 12.04.

Mikko Ohtamaa
quelle
Was ist Ihr Client-Betriebssystem? Bitte seien Sie genauer in Ihrer Frage!
SPRBRN
Ich verstehe nicht, warum die direkte schlüsselbasierte Root-Anmeldung weniger sicher sein sollte als sudo.
JPC

Antworten:

2

Wenn die Remote-Bearbeitung wirklich gewünscht wird, könnte eine einfache Lösung darin bestehen, eine Kopie von / etc (oder Teilen davon) auf einem anderen lokalen Benutzer zu speichern und das System so einzurichten, dass Änderungen von dort in das echte / etc. Kopiert werden. Noch besser wäre es, ein Git - oder SVN - oder ein anderes Versionskontrollsystem Ihrer Wahl zu verwenden - und Sie hätten auch ein zusätzliches Änderungsprotokoll.

Es ist auch möglich, Chroot auf SFTP einzurichten und die normale Anmeldung für ein bestimmtes Konto zu deaktivieren - oder die Anmeldung nur von bestimmten IP-Adressen auf diesen Benutzer zu beschränken - mit derselben Funktion wie OpenSSH (Match Group usw.). Überprüfen Sie dazu http://www.thegeekstuff.com/2012/03/chroot-sftp-setup/

Beachten Sie jedoch, dass die meisten Konfigurationsdateien auf / etc den Root-Zugriff nur durch Bearbeiten ermöglichen. Ich habe Systeme gesehen, die mit svn / git konfiguriert wurden, um die Validierung von Konfigurationsdateien zu überprüfen, bevor Änderungen der Dateien akzeptiert wurden. Diese können nur zum Akzeptieren sicherer Konfigurationsformate verwendet werden.

Auf jeden Fall gibt es viele verschiedene Lösungen für das Problem. Dies war nur ein Ansatz.

thejhh
quelle
1

Ich verstehe nicht, warum es nicht in Ordnung wäre, diese Dateien über SSH zu bearbeiten. Ich mache es die ganze Zeit, z

sudo nano /etc/apache2/sites-available/default

Wenn Sie einen GUI-Editor verwenden möchten, können Sie X-Tunneling verwenden. Sie müssen es in Ihrer ssh conf-Datei zulassen und dann die -XOption in Ihrer ssh-Befehlszeile verwenden.

ssh -X server.example.com

Anschließend können Sie die Datei in einem GUI-Editor bearbeiten:

sudo gedit /etc/apache2/sites-available/default
Mikkel
quelle
Dies ist Fernbearbeitung als Sinn, auf den ich mich bezog; Sie führen gedit auf dem Server aus, nicht auf einem lokalen Texteditor, der Dateien über SSH / SFTP bearbeitet
Mikko Ohtamaa