GNU/Linux >> Linux の 問題 >  >> Linux

ファイアウォールの背後にある Linux コンピューターのクラスターの管理

解決策 1:

プッシュではなくプル更新

規模が大きくなると、push を実行できなくなります すべての製品を更新します。

  • すべてを追跡する必要があります それぞれが異なるファイアウォール構成を持っている可能性がある単一の顧客。
  • 着信を作成する必要があります これには、ポート転送またはその他の同様のメカニズムが必要です。 これは顧客にとってセキュリティ リスクです

代わりに、製品に定期的に更新を「プル」させ、成長に合わせてサーバー側の容量を追加できます。

方法

あなたが提案したように、この問題はすでに解決されています。考えられるいくつかのアプローチを次に示します。

  • apt の使用 :カスタム PPA とソース リストで組み込みの apt システムを使用します。 PPA をセットアップするにはどうすればよいですか?
    • 短所: ランチパッドのようなパブリック ホスティング サービスを使用しない限り、独自の apt PPA + パッケージング システムをセットアップすることは、気弱な人向けではありません。
  • ssh の使用 :各製品の SSH 公開キーを生成し、そのデバイスのキーを更新サーバーに追加します。次に、ソフトウェアを rsync にします。 / scp 必要なファイル。
    • 短所: 発送する各製品のすべての公開鍵を追跡 (およびバックアップ) する必要があります。
    • プロ :アップデートにアクセスできるデバイスは公開鍵がインストールされているデバイスのみであるため、生のダウンロードよりも安全です。
  • 未加工のダウンロード + 署名チェック :

    • 署名された更新ファイルをどこかに投稿する (Amazon S3、FTP サーバーなど)
    • 更新ファイルの変更を定期的に確認し、署名をダウンロード/検証します。
    • コン :これを展開する方法によっては、ファイルが公開されている可能性があります (これにより、製品のリバース エンジニアリングやハッキングが容易になる可能性があります)
  • できる :Ansible は、システム構成を管理するための優れたツールです。これは操り人形/シェフの領域ですが、エージェントレス (python を使用) であり、冪等になるように設計されています。ソフトウェアの展開に複雑な bash スクリプトが必要な場合は、このようなツールを使用して、更新を簡単に実行できるようにします。

もちろん、これを行う方法は他にもあります..しかし、重要なポイントにたどり着きます.

更新に署名/検証してください!

何をするにしても、それは必須です 更新が改ざんされていないことを保証するメカニズムがあること。上記の構成のいずれかで、悪意のあるユーザーが更新サーバーになりすます可能性があります。アップデートを検証しない場合、ボックスは多くです ハッキングや侵入が容易になります。

これを行う良い方法は、更新ファイルに署名することです。証明書を維持する必要があります (または誰かに支払う必要があります) が、出荷前に各デバイスに指紋をインストールして、改ざんされた更新を拒否できるようにすることができます。

物理的なセキュリティ

もちろん、誰かが顧客の展開に物理的にアクセスできる場合、サーバーを簡単に乗っ取ることができます。 しかし、少なくとも他の配備を攻撃することはできません! 物理的なセキュリティは、おそらく顧客の責任です。

<ブロック引用>

少しの間、更新に大規模な OpenVPN ネットワークを使用するとどうなるか想像してみてください...攻撃者は侵害されたサーバーを使用して、VPN 上のすべてのインスタンスを攻撃する可能性があります。

セキュリティ

何をするにしても、セキュリティを組み込む必要があります 最初から。ここで手抜きをしないでください。手抜きをすると、最終的に後悔することになります。

この更新システムを完全に保護することは、この投稿の範囲外です。あなたまたはあなたのチームの誰かがこの分野に精通していない場合は、コンサルタントを雇うことを強くお勧めします.それだけの価値があります。

解決策 2:

実際にアクセスする必要がありますか?

それとも更新するだけですか? apt が無人で自分自身を更新するのと同じように、自分自身を更新させることができるからです。

ログインが必要な場合

ポート転送を介してリッスンする OpenSSH デーモンがないのはなぜですか?各顧客はセキュリティのために個別のキーを持つことができ、必要な場合にのみ接続されます。

お客様次第

顧客が何を受け入れるかを考慮する必要があります。ネットワークへのリモート アクセスに慣れていないか、特定のテクノロジーや構成にしか慣れていない可能性があります。

解決策 3:

Puppet や Salt などのオーケストレーション ツールをお勧めします。

Salt はメッセージ キューであり、アプライアンスからマスター サーバーへの永続的なアウトバウンド接続を確立できます。これを使用して、アプライアンスで任意のコマンドを実行できます... apt-get のように .

もう 1 つのオプションは Puppet です。マスター サーバーがあり、クライアントはそれぞれの場所からアウトバウンド接続を行います。

これらのツールは両方とも、ファイアウォールの管理制御を持たない同様の目的で使用しています。


Linux
  1. Linuxを持続可能なOSにする理由

  2. Linuxシンボリックリンクを更新する方法

  3. DebianLinuxをアップデートする方法

  1. yum-cronを使用したLinuxでの更新のスケジューリング

  2. インターネットに接続していないときにUbuntuを更新するにはどうすればよいですか?

  3. Linuxクラスタリングの概念

  1. Kali Linux 1.0.4 サマー アップデート リリース

  2. Linux OS サービス「o2cb」

  3. Linux で PyCharm を更新する