知識マップ: PowerShellの実行ポリシーとスクリプト署名 ── 「Bypassで蓋をする」運用から卒業する実務ガイド

記事「PowerShellの実行ポリシーとスクリプト署名 ── 「Bypassで蓋をする」運用から卒業する実務ガイド」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。

PowerShellの実行ポリシーはセキュリティ境界ではなく安全装置で、複数のスコープを持ち、グループポリシーの設定がすべてに優先します。RemoteSignedはインターネット由来を示すZone.Identifier(Mark of the Web)が付いた未署名スクリプトだけをブロックし、内容を確認できればUnblock-Fileで印を除去して通せます。より厳格なAllSignedやスクリプト配布時の署名にはコード署名証明書が必要で、Set-AuthenticodeSignatureとタイムスタンプサーバーの指定により、証明書の期限切れ後も署名を有効に保てます。自己署名証明書を各端末の信頼ストアへ配れば配布は可能ですが、その証明書自体が信頼の起点になるため秘密鍵の漏えいリスクを引き受けることになり、常用のBypass指定はグループポリシー管理下では効かず安全装置を放棄する運用になります。

PowerShellの実行ポリシーとスクリプト署名の知識マップ実行ポリシーのグループポリシーによる優先、RemoteSignedとZone.Identifier(Mark of the Web)の関係、Unblock-Fileによるブロック解除、コード署名証明書によるSet-AuthenticodeSignatureとタイムスタンプ、自己署名証明書配布のリスクの関係を示す図利用するで構成できる両立しない利用するに保存される防止する前提とする前提とする前提とする利用する利用するに保存される前提とする原因になり得るに保存される利用する利用する用いるのは非推奨PowerShell実行ポリシーコード署名証明書PowerShellグループポリシーBypassポリシーRemoteSignedポリシーZone.Identifier(Mark of the Web)代替データストリーム(ADS)Unblock-File管理者権限実行ポリシーAllSignedSet-AuthenticodeSignatureコード署名のタイムスタンプCert:ドライブアドホックな自己署名証明書信頼された発行元ストア信頼の起点の悪用リスクタスクスケジューラの無人実行

概念間の関係(全18件)

図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。

主要概念の定義

PowerShell実行ポリシー
PowerShellスクリプトの実行可否と署名要求を制御する設定。既定はクライアントOSでRestricted、Windows ServerとPowerShell 7ではRemoteSigned。
コード署名証明書
ソフトウェアの発行元を証明し、改ざんを検出するための証明書。
PowerShell
オブジェクトパイプラインとエラー処理機構を持つ、Microsoftが最も堅牢で最新のWindows自動化に推奨するコマンドラインシェル兼スクリプト言語。
Bypassポリシー
警告もプロンプトも出さず、あらゆるスクリプトを実行できる実行ポリシーの値。PowerShellを組み込んだ独自のセキュリティモデルを持つアプリケーション向けに用意されている。
RemoteSignedポリシー
インターネット由来(Zone.Identifier付き)のスクリプトにのみ信頼された発行元の署名を要求し、ローカルで作成したスクリプトは署名なしで実行できる実行ポリシーの値。PowerShell 7の既定。
Zone.Identifier(Mark of the Web)
ブラウザーなどでダウンロードしたファイルに付与される代替データストリーム。ファイルの出所(インターネット由来など)を記録し、SmartScreenや保護ビューの判定材料になる。
Unblock-File
ファイルに付いたZone.Identifier代替データストリームを除去し、実行ポリシーを変更せずにブロックを解除するコマンドレット。エクスプローラーのプロパティの「許可する」ボタンと同じ操作。
実行ポリシーAllSigned
ローカル作成分も含むすべてのスクリプトと構成ファイルに、信頼された発行元によるAuthenticode署名を要求する実行ポリシーの値。未分類の発行元は実行前に確認を求める。
Set-AuthenticodeSignature
コード署名証明書でファイルにAuthenticode署名を付与するコマンドレット。署名はファイル末尾に# SIG #コメントブロックとして埋め込まれ、既存の署名があれば置き換える。
アドホックな自己署名証明書
検証用にツールで自前発行したサーバー/クライアント証明書。鍵管理の仕組みを持たず、検証環境限定・期限つきでの利用が原則。適切に運用される社内CAのルート証明書(これも技術的には自己署名)とは区別する。

機械可読データ

このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。