Hintergrund:
Ich nehme mir endlich Zeit, mich dem 21. Jahrhundert anzuschließen und mir Puppet anzuschauen.
Nach dem heutigen Stand der Versionskontrolle werden alle Serverkonfigurationen in einem internen Repository im Büro verwaltet. Wenn ein Update durchgeführt werden muss, werden die Änderungen wieder in die Repos eingecheckt und manuell auf die betreffende Maschine übertragen. Dies bedeutet normalerweise, dass SFTPs auf den Remote-Computer gesendet werden und anschließend Dateien mit den entsprechenden Berechtigungen von einer Shell an ihren Platz verschoben werden.
Daher hoffe ich, dass Puppet eine einfache, aber erstaunliche Erweiterung zu dem sein wird, was wir bereits haben.
Jetzt denke ich, dass wir derzeit einigermaßen sicher sein müssen. Unter der Annahme, dass unser internes Netzwerk immer relativ sicherer ist als die öffentlichen Netzwerke in unseren Rechenzentren.
Der Prozess ist immer ein Weg. Änderungen werden von einer sicheren Umgebung zu einer unsicheren und niemals umgekehrt.
Der Master Store befindet sich am sichersten Ort. Das Risiko von Kompromissen durch das Stehlen von Konfigurationen oder das Versenden von böswilligen Änderungen wird erheblich reduziert.
Frage:
Nach meinem Verständnis des Puppet-Server- / Client-Modells rufen die Clients Aktualisierungen direkt vom Server ab und rufen sie ab. Der Datenverkehr ist SSL-geschützt und kann daher nicht abgefangen oder gefälscht werden. Es unterscheidet sich jedoch von dem, was wir derzeit tun, da die Puppet-Server an einem öffentlichen Ort gehostet werden müssten. Entweder zentral oder für jeden von uns verwalteten Rechenzentrumsstandort.
Ich frage mich also:
Bin ich unnötig paranoid beim Wechsel von Push zu Pull?
Bin ich unnötig paranoid, wenn ich all diese Informationen zentral in einem öffentlichen Netzwerk speichere?
Wie unterhalten andere mehrere Netzwerke - separate Server für jeden Standort?
Update 30/07/09:
Ich denke, eines meiner anderen großen Anliegen ist es, auf eine einzige Maschine zu vertrauen. Der oder die Puppenmeister wären Firewall, gesichert und so. Trotzdem hat jede öffentliche Maschine mit Abhördiensten eine Angriffsfläche von einer bestimmten Größe.
Wenn der Master die Berechtigung hat, eine Datei auf einem der Puppet-Clients zu aktualisieren, führt dies vermutlich letztendlich zu einer Gefährdung aller seiner Clients. Die "Könige zum Königreich" sozusagen.
Ist diese Hypothese richtig?
Gibt es eine Möglichkeit, dies zu mildern?