次の方法で共有


Azure Policy を使用した SSH サーバー設定の安全なデプロイ

この記事では、既存の構成の詳細な監査から始めて、すべての変更が精度と注意を払って実装されるように、サーバーフリート全体で SSHD 設定をシームレスに構成する方法について説明します。

SSH ポスチャ コントロールの詳細な概要については、「の概要: SSH ポスチャ コントロールとは」を参照してください。.

課題

あなたは、Linux マシンの広大なフリートを担当する管理者だとします。 各マシンは、適切にセキュリティ保護されていない場合、攻撃者にとって潜在的なエントリ ポイントです。 これらのマシンをセキュリティで保護する重要な側面の 1 つは、SSHD ベースの設定を標準化することです。 組織のセキュリティ ポリシーでは、すべての SSHD ポートを 1 つのポートに標準化することが義務付けられています。 これは単純に聞こえるかもしれませんが、数百台または数千台のマシンでは、すぐに物流上の悪夢になる可能性があります。

ソリューション

Azure Policy/Machine Configuration の SSH ポスチャ制御機能を使用すると、役立ちます。 この強力な機能を使用すると、デバイスの全体にわたって SSH セキュリティ体制を監査して適用し、一貫性を確保し、セキュリティを強化することができます。 プロセスを順を追って説明しましょう。

手順 1: "Linux の SSH セキュリティの監査" ポリシーを使用して現在の SSH 設定を監査する

監査 SSH ポリシーの を設定する方法を示す GIF の

Azure Policy を使用してポリシーを構成する際の諍報を回避するには、マシンの現在の状態を理解する必要があります。 これには、SSH ポリシーを使用してマシンを監査して、現在使用中のポートを確認する必要があります。

  1. Azure portal で [ポリシー] に移動します。
  2. [定義] をクリックします。
  3. SSH でフィルター処理し、Linux 用の SSH セキュリティ体制の監査ポリシーを選択します。
  4. ポリシーを割り当て、スコープを適用し、パラメーターを設定して、SSH ポートが目的のポートに設定されていることを確認します。
  5. マネージド ID を作成し、ポリシーを確認して作成します。

ポリシーがフリート内のすべての Linux マシンを監査するには、10 ~ 15 分かかります。

SSH ポリシーの監査は、現在のセキュリティ体制のベースラインの理解を提供するため、非常に重要です。 この手順を実行しないと、ポリシーが盲目的に適用され、中断が発生したり、準拠していないマシンが見つからないりする可能性があります。 最初に監査を行うことで、環境を明確に把握できます。これは、効果的なポリシーの適用に不可欠です。

手順 2: 監査結果の確認

azure Resource Graph クエリ を使用して SSH ポリシーの監査結果を確認する方法を示す gif

監査が完了したら、結果を確認します。 これにより、どのマシンが準拠しているか、準拠していないかを明確に把握できます。

  • これを行うには、Azure Resource Graph クエリを使用できます。

  • クエリを開いて、マシンのフリート上のさまざまなポートを確認します。

    • クエリを実行して、列内のポートの監査データを含むマシンごとに 1 行を表示します。
         // SSH port rule detail
         GuestConfigurationResources
         | where name contains "LinuxSshServerSecurityBaseline"
         | project report = properties.latestAssignmentReport,
          machine = split(properties.targetResourceId,'/')[-1],
          lastComplianceStatusChecked=properties.lastComplianceStatusChecked
         | mv-expand report.resources
         | project machine,
          rule = report_resources.resourceId,
          ruleComplianceStatus = report_resources.complianceStatus,
          ruleComplianceReason = report_resources.reasons[0].phrase,
          lastComplianceStatusChecked
         | where rule contains('port')
    
    

上記の画面キャプチャを通じて、一部のマシンではポート 22 を使用し、他のマシンは異なるポートを使用していたことがわかります。

手記

上記のようなクエリは、ルート ログインを許可するマシンを見つけるためにフリート全体にクエリを実行するなど、管理者の必要なニーズに合わせて編集できます。

監査結果を確認すると、フリートのパターンと外れ値を識別できます。 この手順は、注意が必要な特定のマシンを特定し、全体的なコンプライアンス レベルを理解するために不可欠です。 また、利害関係者に現在の状態と通信し、透明性を提供し、プロセスの信頼を構築するのにも役立ちます。

手順 3: 変更を通知する

目的のポート以外のポートを使用しているマシンがわかったので、これらの変更を関係者に伝える必要があります。 これにより、すべてのユーザーが今後の変更を認識し、それに応じてワークフローを更新できます。

大事な

効果的な通信は、ポリシーの実装を成功させるために重要です。 変更について関係者に通知することで、驚きがなく、全員が移行の準備ができていることを確認できます。 この手順は、さまざまなチームからバイインを獲得し、変更に対する抵抗を最小限に抑えるのに役立ちます。

手順 4: "Linux の SSH セキュリティ体制の構成" ポリシーを使用して新しい設定を適用する

SSH ポリシーの適用 を設定する方法を示す GIF

関係者の承認により、SSH 構成ポリシーを適用できるようになりました。 この手順では、すべてのマシンで SSHD ポートを標準化します。

  1. [ポリシー定義のに移動します。
  2. SSH でフィルター処理し、 Linuxの SSH セキュリティ体制の構成を選択します。
  3. ポリシーを割り当て、スコープを選択し、パラメーターを設定して、ポートが目的のポートに設定されていることを確認します。
  4. 修復を有効にして、ポリシーを設定する前に作成されたすべてのマシンとポートを変更します。
  5. 確認し、ポリシーを作成します。

SSH 構成ポリシーを適用することは、実際に変更が行われる重要な手順です。 この手順により、すべてのマシンがセキュリティ標準に準拠し、攻撃対象領域が減少し、全体的なセキュリティが強化されます。 修復を有効にすると、プロセスを自動化し、時間と労力を節約しながら、フリート全体の一貫性を確保できます。

手順 5: 変更の確認

azure Resource Graph クエリ を使用して SSH ポリシーの結果を適用する方法を確認する方法を示す gif

数時間後に、すべてのマシンが目的のポートを使用していることを確認します。 以前と同じクエリを実行して、コンプライアンスの状態を確認できます。

大事な

検証は、ポリシーの適用が成功したことを確認するための最後の手順です。 この手順では、すべてのマシンが準拠していること、および変更が正しく適用されていることを保証します。 また、適用プロセス中に発生した可能性のある問題を特定し、タイムリーな解決を可能にします。

今後の予定

Linux 用の Azure セキュリティ ベースラインは、現在パブリック プレビュー段階です。 これには、SSH ポスチャ制御に加えて、Linux デバイスのフリートをより適切にセキュリティで保護するためのセキュリティと管理の規則が追加されています。 詳細については、「クイック スタート: テスト マシンのを使用して Linux 用の Azure セキュリティ ベースラインを監査する」を参照してください。

その他のドキュメント

  • 問題などのサポートについては、Microsoft サポートにお問い合わせください
  • フィードバックを提供するには、機能要求などについて話し合います。連絡先: linux_sec_config_mgmt@service.microsoft.com