- ssh-keygen zum Erstellen eines lokalen Schlüssels
- Neue Server erstellen
- ssh-copy-id an root @ newserver
- ansible Playbook-Repository der gewünschten Konfiguration erstellen (nur sshd-Passwort)
- Lauf
ansible-playbook
Mit autorisierten SSH-Schlüsseln die Aktualisierung privilegierter Dateien in einem LAN durchführen?
Ich habe einen Server, der von Zeit zu Zeit einen Satz privilegierter Dateien (z. B. Zertifikatsschlüssel, Konfigurationsdateien usw.) automatisch aktualisiert. Es muss diese Dateien auf anderen Systemen im LAN speichern. Ich weiß ungefähr, wie es geht, aber ich kenne die Details der Implementierung nicht.
Die Remote-Befehle zum Empfangen und Speichern der Dateien (die auf diesen anderen LAN-Servern ausgeführt werden) können als statisch betrachtet werden oder sehr selten geändert werden. Sie können hart codiert sein. Dies bedeutet, dass sie ideal für die Verwendung mit autorisierten SSH-Schlüsseln sind, jedoch viele Es ist jedoch Vorsicht geboten, da die empfangenen und gespeicherten Dateien immer noch privilegiert und in Pfaden gespeichert werden, die sonst nur von root lesbar sind. Bei den beteiligten Systemen handelt es sich ausschließlich um FreeBSD (+ eine OpenBSD).
Ich visualisiere einen Prozess wie folgt:
- Generieren Sie ein Schlüsselpaar
ssh-keygen
, das für lokales SSH geeignet ist (muss nicht mit einem öffentlichen Netzwerk oder anderen Systemen oder Funktionen arbeiten). - Erstellen Sie
PRIV_USER
auf allen Systemen ein privilegiertes Konto, auf das außer über sshd überhaupt kein Zugriff besteht (es werden entweder im Allgemeinen su Berechtigungen benötigt, die für ein festes Skript sicher sein sollten, oder mindestens Schreibzugriff auf bestimmte fest codierte Speicherorte, die normalerweise von gelesen / beschrieben werden können) nur root, da die empfangenen Dateien gespeichert werden müssen). - Richten Sie auf allen anderen Systemen einen Abschnitt "Authorized Keys" in sshd ein, der bei einer Verbindung als
PRIV_USER
automatisch ein tar-Archiv von Dateien empfängt, diese auf das lokale Dateisystem entpackt und die Verbindung dann trennt. - Wenn auf dem sendenden System Dateien remote aktualisiert werden müssen, führen Sie ein kurzes Skript aus, das ein tar-Archiv der zu sendenden Dateien erstellt und dann eine Verbindung zu den Remote-Systemen herstellt, da
PRIV_USER
die Dateien über SSH gesendet werden. stellt fest, dass die Konsole nicht erfolgreich war / ist, und beendet den Vorgang.
Ich möchte verhindern, dass die Sicherheit durch falsche Informationen beeinträchtigt wird, und ich habe bisher keine autorisierten Schlüssel für diesen Zweck verwendet, noch musste ich meine eigenen internen Schlüsselpaare für einen solchen Zweck generieren oder eingeschränkte privilegierte Konten erstellen. Es gibt also viele Möglichkeiten, wie ich es leicht falsch verstehen kann.
Was sind die richtigen Befehle, die ich für eine minimale grundlegende Implementierung dieser Funktion verwenden sollte? :)
1 Antwort auf die Frage
Verwandte Probleme
-
3
Installieren Sie Silverlight für Mozilla Firefox ohne Administratorrechte
-
1
OpenSSH-Public-Key-Struktur
-
8
Wie kann ich die "known_host" -Frage überspringen, wenn ich mich zum ersten Mal über SSH mit öffentl...
-
3
Führen Sie MSI-Dateien als Administrator über ein Benutzerkonto aus
-
10
Entfernen Sie den Schlüssel von known_hosts
-
6
"Als Administrator ausführen" im Standardbenutzerkonto
-
14
Gibt es einen Sudo-Befehl für Windows?
-
1
Java Plugin ein großes Sicherheitsrisiko? Wie kann man Java-Plugin vor Privilegieneskalation schütze...
-
2
Ausführen von Anwendungen mit erhöhten Rechten in Ubuntu über die GUI
-
2
Warum habe ich nicht das Recht, eine Textdatei in meinem Stammverzeichnis zu erstellen?