エンタープライズ レベルでの PowerShell セキュリティのベスト プラクティスの設定と適用

Windows Speedup Tool をダウンロードしてエラーを修正し、PC の動作を高速化します。

マイクロソフトが開発したWindows PowerShellタスクの自動化と構成管理用。これは .NET フレームワークに基づいています。コマンドライン シェルとスクリプト言語が含まれています。ユーザーの自動化には役立ちませんが、複雑な管理タスクを迅速に解決することもできます。それにもかかわらず、多くのユーザーは、PowerShell がハッカーがセキュリティ侵害に使用するツールであると信じていることがよくあります。残念なことに、実際、PowerShell はセキュリティ侵害に広く使用されています。このため、技術的な知識が少ない、またはまったくないユーザーは、PowerShell を非アクティブ化することがよくあります。ただし、実際には、PowerShell セキュリティ アプローチがエンタープライズ レベルでのセキュリティ侵害に対する最善の保護を提供できます。

Microsoft Germany のプレミア フィールド エンジニアである David das Neves 氏は、自身の投稿の 1 つで、PowerShell セキュリティ アプローチはエンタープライズ レベルでセキュリティを設定する強力な方法であると述べています。 RedMonk が作成したプログラミング言語ランキング チャートによると、PowerShell は GitHub で最も使用されている言語の 1 つです。

PowerShell のセキュリティを理解する

Windows PowerShellは世界中の多くの IT 管理者によって使用されています。これは、Microsoft のタスク自動化および構成管理フレームワークです。これを利用すると、管理者はローカルとリモートの両方の Windows システムで管理タスクを実行できます。しかし、最近では、いくつかの組織がその使用を避けています。特にリモートアクセスの場合。セキュリティ上の脆弱性が疑われる。このツールに関する混乱を解消するために、Microsoft プレミア フィールド エンジニアの Ashley McGlone は、このツールが脆弱性ではなく安全なツールである理由について言及したブログを公開しました。

組織は PowerShell を脆弱性として検討しています

McGlone 氏は、このツールに関する組織の最近の傾向についていくつか言及しています。一部の組織では PowerShell リモート処理の使用を禁止していますが、他の組織では InfoSec がリモート サーバー管理をブロックしています。また、PowerShell Remoting のセキュリティに関する質問を常に受け​​ているとも述べています。複数の企業が自社環境におけるツールの機能を制限しています。これらの企業のほとんどは、常に暗号化される単一ポート 5985 または 5986 のツール Remoting を懸念しています。

PowerShell セキュリティのベスト プラクティス

McGlone 氏は、このツールが脆弱性ではない一方で、非常に安全である理由を説明しています。同氏は、このツールは中立的な管理ツールであり、脆弱性ではないなど重要な点について言及している。このツールのリモート処理は、すべての Windows 認証および認可プロトコルを尊重します。デフォルトでは、ローカル管理者グループのメンバーシップが必要です。

同氏はさらに、このツールが企業が考えているよりも安全である理由について次のように述べています。

「WMF 5.0 (または KB3000850 を適用した WMF 4.0) の改良により、PowerShell は、スクリプト ブロックのログ記録とシステム全体の転写を有効にする場合、ハッカーにとって最悪のツールになります。一般的な CMD ユーティリティとは異なり、ハッカーはあらゆる場所に指紋を残します。」

強力な追跡機能があるため、McGlone は次のことを推奨します。パワーシェルリモート管理に最適なツールとして。このツールには、組織がサーバー上のアクティビティについて、誰が、何を、いつ、どこで、どのように行うかなどの質問に対する答えを見つけることができる機能が備わっています。

さらに、エンタープライズ レベルでのこのツールの保護と使用について学ぶためのリソースへのリンクも提供しました。企業の情報セキュリティ部門がこのツールについて詳しく知りたい場合は、McGlone が PowerShell Remoting Security Discussions へのリンクを提供します。これは、PowerShell チームによる新しいセキュリティ ドキュメントです。このドキュメントには、Powershell Remoting とは何か、そのデフォルト設定、プロセスの分離と暗号化、トランスポート プロトコルなど、さまざまな情報セクションが含まれています。

このブログ投稿では、PowerShell について詳しく知るためのいくつかのソースとリンクについて言及しています。 WinRMSecurity Web サイトへのリンクや TechNet ブログ上の Lee Holmes によるホワイト ペーパーなど、これらのソースを入手できます。

エンタープライズ レベルの Windows PowerShell セキュリティ

Windows PowerShell セキュリティを設定する前に、その基本を理解しておく必要があります。ユーザーは最新バージョンを使用する必要がありますWindows PowerShell。ここでユーザーは、最新バージョンの Windows PowerShell を使用して PowerShell セキュリティを設定する必要があることに注意する必要があります。以前のバージョン (PowerShell バージョン 2 など) の場合は、良いことよりも害を及ぼす可能性があります。したがって、ユーザーは PowerShell バージョン 2 を削除する必要があることが推奨されます。

Windows PowerShell の最新バージョンとは別に、ユーザーは OS の最新バージョンも選択する必要があります。 PowerShell セキュリティをセットアップするには、Windows 11 または Windows 10 が最も互換性のあるオペレーティング システムです。 Windows 11/10には多くのセキュリティ機能が搭載されています。したがって、ユーザーは古い Windows マシンを Windows 11/10 に移行し、使用できるすべてのセキュリティ機能を評価することをお勧めします。

実行ポリシー:多くのユーザーは PowerShell セキュリティ アプローチを選択せず​​、ExecutionPolicy をセキュリティ境界として使用します。ただし、David が投稿で述べているように、標準ユーザーであっても ExecutionPolicy を超える方法は 20 以上あります。したがって、ユーザーは RemoteSigned などの GPO を介して設定する必要があります。 ExecutionPolicy は、一部のハッカーがインターネットから PowerShell スクリプトを使用するのを防ぐ可能性がありますが、完全に信頼できるセキュリティ設定ではありません。

PowerShell のセキュリティ アプローチで考慮すべき要素

David は、エンタープライズ レベルで PowerShell セキュリティを設定する際に考慮すべき重要な要素をすべて挙げています。 David が取り上げる要因の一部は次のとおりです。

  • PowerShell リモート処理
  • 特権アクセスの保護
  • 環境の最新化
  • ホワイトリスト / 署名 / ConstrainedLanguage / Applocker / Device Guard
  • ロギング
  • スクリプトブロックロギング
  • 拡張ロギング / WEF および JEA

PowerShell セキュリティ設定の詳細については、彼の投稿を参照してください。MSDN ブログ