バックグラウンド:
私はついに、21世紀に参加してPuppetを見る時間を取っておきます。
現在、私たちはオフィスで内部的に保持されているリポジトリ内のすべてのサーバー構成をバージョン管理しています。更新を行う必要がある場合、変更はリポジトリにチェックインされ、問題のマシンに手動でプッシュされます。これは通常、リモートマシンにSFTPを実行し、関連する権限でシェルからファイルを所定の場所に移動することを意味します。
ですから、Puppetが私たちが既に持っているもののシンプルでありながら驚くべき拡張になることを期待しています。
今、私たちは現在、合理的に安全でなければならないプロセスを検討します。私たちの内部ネットワークは、データセンターのパブリックネットワークよりも常に比較的安全であるという前提で。
プロセスは常に一方向です。変更は安全な環境から安全でない環境へと行き来し、その逆はありません。
マスターストアは可能な限り安全な場所にあります。構成を盗んだり、悪意のある変更を送信したりすることによる侵害のリスクが大幅に削減されます。
質問:
私がPuppetサーバー/クライアントモデルについて理解しているのは、クライアントがサーバーから更新を直接ポーリングしてプルするということです。トラフィックはSSLでラップされているため、傍受やなりすましはできません。ただし、Puppetサーバーは公共の場所でホストする必要があるため、現在の処理とは異なります。中央、または当社が管理する各データセンターサイトに1つ。
だから私は疑問に思っています:
プッシュからプルへの変更について不必要に偏執的ですか?
その情報のすべてをパブリックネットワークに一元的に保存することについて、私は不必要に妄想的ですか?
他の人はどのように複数のネットワークを維持していますか?各サイトに別々のサーバー?
更新日30/07/09:
私の他の大きな懸念の1つが置かれていると思うので、単一のマシンを信頼する必要があります。操り人形師は、ファイアウォールで保護され、保護されます。それでも、リスニングサービスを備えたパブリックマシンには、特定のサイズの攻撃対象領域があります。
おそらく、マスターがパペットクライアントのいずれかのファイルを更新する権限を持っている場合、その侵害は最終的にすべてのクライアントの侵害につながります。いわば「王国への王」。
その仮説は正しいですか?
軽減できる方法はありますか?