Tło:
W końcu przeznaczam trochę czasu, aby dołączyć do XXI wieku i spojrzeć na Puppet.
W obecnej formie kontrolujemy wersje wszystkich konfiguracji serwerów w repozytorium, które jest przechowywane wewnętrznie w biurze. Gdy aktualizacja wymaga wykonania, zmiany są sprawdzane z powrotem w repozytoriach i ręcznie wypychane na dany komputer. Zwykle oznacza to wysyłanie SFTP do zdalnego komputera, a następnie przenoszenie plików na miejsce, z odpowiednimi uprawnieniami, z powłoki.
Mam więc nadzieję, że Puppet będzie prostym, ale niesamowitym rozszerzeniem tego, co już mamy.
Teraz uważam proces, który obecnie musimy być w miarę bezpieczny. Zakładając, że nasza sieć wewnętrzna będzie zawsze względnie bezpieczniejsza niż sieci publiczne w naszych centrach danych.
Proces jest zawsze w jedną stronę. Zmienia przejście z bezpiecznego środowiska na niepewne i nigdy na odwrót.
Główny sklep znajduje się w najbezpieczniejszym możliwym miejscu. Ryzyko naruszenia bezpieczeństwa poprzez kradzież konfiguracji lub wysyłanie złośliwych modyfikacji jest znacznie zmniejszone.
Pytanie:
Z tego, co rozumiem z modelu serwer / klient Puppet, wynika, że klienci odpytują i pobierają aktualizacje bezpośrednio z serwera. Ruch jest zapakowany w SSL, więc nie można go przechwycić ani sfałszować. Ale różni się od tego, co obecnie robimy, ponieważ serwery Puppet musiałyby być hostowane w miejscu publicznym. Albo centralnie, albo jeden dla każdej witryny centrum danych, którą prowadzimy.
Zastanawiam się więc:
Czy jestem niepotrzebnie paranoikiem w kwestii zmiany z push na pull?
Czy jestem niepotrzebnie paranoikiem, jeśli chodzi o centralne przechowywanie wszystkich tych informacji w sieci publicznej?
W jaki sposób inni utrzymują wiele sieci - osobny serwer dla każdej witryny?
Aktualizacja 30/07/09:
Wydaje mi się, że jednym z moich innych poważnych problemów jest zaufanie, więc muszę zaufać jednej maszynie. Puppetmaster (s) będą firewall, zabezpieczone i takie. Ale mimo to każda maszyna publiczna z usługami odsłuchowymi ma pewną powierzchnię ataku.
Przypuszczalnie, jeśli master ma pozwolenie na aktualizację dowolnego pliku na jednym z klientów marionetkowych, wówczas jego kompromis ostatecznie doprowadzi do kompromisu wszystkich jego klientów. „Królowie królestwa”, że tak powiem.
Czy ta hipoteza jest poprawna?
Czy jest jakiś sposób, aby to złagodzić?