msdeployエージェントサービスは、サーバー上の攻撃ベクトルを開くことができますか?


13

運用サーバーへの自動展開のためのmsdeploy Web展開エージェントサービスの使用を評価しています。

見つけられないことの1つは、潜在的なセキュリティへの影響です。

1つには、Webサーバーはもちろんセキュリティで保護されているため(ファイアウォールとロードバランサーの背後)、外部からのhttp(s)トラフィックのみが許可されます。

それでも、Web展開エージェントは、http(s)からアクセスできるため、IIS(外部に面している唯一のもの)と統合して実行されます。そのため、IISでホストされているWebを介してエージェントにアクセスできる可能性があるのではないかと心配しています。

実稼働環境で使用する場合、msdeployはどの程度安全ですか?

更新:実稼働WebサーバーはIIS7を実行しています。


msdeployでIIS 6または7を使用していますか?
8月

これは主にIIS7になります。情報も更新されました。問題です。
セバスチャンPRジンター

回答:


10

使用してからしばらく経ちましたが、Web管理部分を含まないIIS 6でのみ使用していました。リモート管理URLとポートを変更し、外部ファイアウォールでブロックできます。こちら:リモートサービスのカスタマイズとセキュリティ保護をご覧ください。主なセキュリティメカニズムはユーザーアカウントセキュリティのように見えますが、あなたが言ったように、それはすべてIIS内にあるため、IISの脆弱性により、パッチが適用されるまでセキュリティ対策が役に立たなくなる可能性があります。その理由だけでも、インターネットからWebコンテンツを更新することをためらうでしょうが、これは組織のセキュリティ要件とWeb開発者のニーズに依存します。

Web配置サービスをインターネットに公開しないようにするには、次を実行できます。

  • NATされていない、またはロードバランシングIP範囲の一部ではない内部専用IPでデフォルトのWebサイトをリッスンさせる
  • デフォルトの管理Webサイトでlocalhostのみをリッスンし、各ホストでmsdeploy実行可能ファイルを呼び出してローカルで実行するスクリプトを作成できます(msdeployを使用して単一ポイントからすべてのホストにリモート接続する代わりに)
  • ロードバランサーに、WebデプロイURL(例:https:// server:8081 / MSDeploy)をヒットしようとする外部リクエストをフィルターさせる
  • すべてのWebデプロイメントの元となる指定された(内部)デプロイメントホストを持ち、そのIPがデプロイメントURL上のWebサーバーへの接続のみを許可する(単一のデプロイメントホストからではないものをブロックする)

インターネットから直接Web展開機能を利用できるようにする必要がある場合は、すべてのWeb開発者がリモートで作業しているかどうかを言います(なぜこれが直接必要なのか想像できませんVPNの普及により、2段階の展開プロセスを使用して、Web展開対応のIIS 7ボックス(WebファームのDMZとは別)を備えた分離DMZをセットアップし、Web開発者がインターネットからそのDMZにのみ接続して、リモートで変更を展開します。次に、そのホストに内部的に接続し、変更、テストなどを確認した後、残りのWebサーバーに展開できます。この方法でもリスクはありません。悪意のあるユーザーがWeb展開機能を危険にさらし、悪意のあるコードを知らないうちに実稼働環境に知らないうちに導入してしまう可能性があります。


更新は、プロダクションサーバーへのセキュリティ保護されたVPNアクセスからのみ行われるため、インターネットからのアクセスは必要ありません。Webサーバーの構成を変更する可能性のあるものをインストールすることについて、私はいまだに悪い気持ちを抱いています。現在、「デプロイ許可」を持つユーザーは、特定のWebフォルダーのみにSFTPアクセスできます。Webサーバーはドメイン内になく、他の方法で完全に隔離されています。
セバスチャンPRギンター

1
通常、「Webサーバーの構成を変更できるものをインストールすることについていまだに気分が悪い」に同意しますが、この場合、Webファームがある場合、サーバーの1つで何かを誤って構成して、手動更新プロセスによる意図しないホールは、すべてのWebサーバーで一貫した構成を保証するサービスを有効にするよりもはるかに可能性が高く、危険です。

さて、「簡単な自動展開の可能性と引き換えにリスクを負うのに十分安全である」と考えます。ありがとう。
セバスチャンPRギンター

0

簡単な答え。はい、任意のコンピューターで実行されているものはすべて攻撃ベクトルを開きます。ソフトウェアに脆弱性があることを常に想定する必要があります。軽減は重要な要素であり、ネットワーク、ユーザー、コンピューター、IPなどへのアクセスを制限します。物理アクセスも確認します。

ファイアウォールが1日の特定の時間からルールを処理できる場合、更新が許可される時間を制限することもできます。

Webサーバー上のユーザー、つまり更新を実行できるユーザーを制限することをお勧めします。(おそらくこれは既に実行済みです)次に、ファイアウォールを使用して、管理インターフェイスにアクセスできるネットワーク(IP)を制限します。次に、サポートされている場合、更新はファイアウォールのルールを介して勤務時間中にのみ処理できるようにします。ファイアウォール管理者に緊急アップデートのルールをいつでも編集してもらうことができます。最後に、Web Deployment Agentの既知の脆弱性を監視し、さらに緩和するか、修正が実装されるまで無効にします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.