知識マップ: PowerShellのセキュリティ強化 ── ログ・AMSI・言語モード・JEA
記事「PowerShellのセキュリティ強化 ── ログ・AMSI・言語モード・JEA」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。
この記事は、PowerShellを禁止するのではなく、可視化・迂回経路の遮断・権限の限定・実行の制限を段階的に組み合わせて安全に使う方法を扱う。スクリプトブロックログとトランスクリプションで実行内容を記録してGet-WinEventで検証し、AMSIと2.0エンジンの無効化で検査を迂回する経路を塞ぐ。トランスクリプトの集約先はOWNER RIGHTSを含むACL設計で他人の記録を守り、制約付き言語モードはWDACやAppLockerを構成した結果として初めて実効性を持つ。最後にJEAで役割機能ファイルとセッション構成ファイルを使い、仮想アカウント経由で管理者権限を配らずに操作を委任する。
flowchart LR
accTitle: PowerShellセキュリティ強化の知識マップ
accDescr: PowerShellのログ・AMSI・言語モード・JEAによる可視化と権限委任の関係、およびトランスクリプト保護のACL設計を示す図。
powershell_security_hardening["PowerShellのセキュリティ強化"]
jea["JEA(Just Enough Administration)"]
script_block_logging["スクリプトブロックログ"]
powershell_transcription["PowerShellトランスクリプション"]
get_winevent["Get-WinEvent"]
transcript_share_acl_hardening["トランスクリプト共有のACL設計"]
log_tampering_by_compromised_account["侵害されたアカウントによるログ改ざん"]
owner_rights_sid["OWNER RIGHTS(S-1-3-4)"]
role_capability_file["役割機能ファイル(.psrc)"]
session_configuration_file["セッション構成ファイル(.pssc)"]
jea_virtual_account["仮想アカウント(RunAsVirtualAccount)"]
jea_transcript_directory["JEAのTranscriptDirectory"]
powershell_remoting["PowerShell Remoting"]
powershell_language_mode["PowerShellの言語モード"]
constrained_language_mode["制約付き言語モード(Constrained Language Mode)"]
app_control_for_business["App Control for Business(旧WDAC)"]
applocker["AppLocker"]
excessive_admin_privilege_grant["管理者権限の過剰付与"]
parameter_validateset_restriction_bypass["ValidateSetによるパラメーター制限の回避"]
jea_wrapper_function_pattern["JEAの引数限定ラッパー関数"]
amsi["AMSI(Antimalware Scan Interface)"]
powershell_v2_engine["Windows PowerShell 2.0エンジン"]
powershell_execution_policy["PowerShellの実行ポリシー"]
powershell_security_hardening -->|"利用する"| script_block_logging
powershell_security_hardening -->|"利用する"| powershell_transcription
script_block_logging -->|"で確認できる"| get_winevent
transcript_share_acl_hardening -.->|"軽減する"| log_tampering_by_compromised_account
transcript_share_acl_hardening -->|"利用する"| owner_rights_sid
jea -->|"利用する"| role_capability_file
jea -->|"利用する"| session_configuration_file
jea -.->|"利用する"| jea_virtual_account
jea -->|"で構成できる"| jea_transcript_directory
jea -->|"前提とする"| powershell_remoting
session_configuration_file -->|"利用する"| powershell_language_mode
powershell_language_mode -->|"利用する"| constrained_language_mode
constrained_language_mode -.->|"前提とする"| app_control_for_business
constrained_language_mode -.->|"前提とする"| applocker
jea -->|"軽減する"| excessive_admin_privilege_grant
role_capability_file -.->|"原因になり得る"| parameter_validateset_restriction_bypass
jea_wrapper_function_pattern -->|"軽減する"| parameter_validateset_restriction_bypass
jea_wrapper_function_pattern -->|"前提とする"| role_capability_file
powershell_security_hardening -->|"利用する"| amsi
powershell_v2_engine -->|"両立しない"| amsi
powershell_v2_engine -->|"両立しない"| script_block_logging
powershell_execution_policy -->|"用いるのは非推奨"| powershell_security_hardening
powershell_transcription -.->|"前提とする"| transcript_share_acl_hardening
jea_transcript_directory -->|"防止する"| log_tampering_by_compromised_account
概念間の関係(全24件)
図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。
- PowerShellのセキュリティ強化はスクリプトブロックログを利用します。
- PowerShellのセキュリティ強化はPowerShellトランスクリプションを利用します。
- スクリプトブロックログはGet-WinEventで確認できます。
- トランスクリプト共有のACL設計は侵害されたアカウントによるログ改ざんを軽減します。
- トランスクリプト共有のACL設計はOWNER RIGHTS(S-1-3-4)を利用します。
- JEA(Just Enough Administration)は役割機能ファイル(.psrc)を利用します。
- JEA(Just Enough Administration)はセッション構成ファイル(.pssc)を利用します。
- JEA(Just Enough Administration)は仮想アカウント(RunAsVirtualAccount)を利用します。
- JEA(Just Enough Administration)はJEAのTranscriptDirectoryで構成できます。
- JEA(Just Enough Administration)はPowerShell Remotingを前提とします。
- セッション構成ファイル(.pssc)はPowerShellの言語モードを利用します。
- PowerShellの言語モードは制約付き言語モード(Constrained Language Mode)を利用します。
- 制約付き言語モード(Constrained Language Mode)はApp Control for Business(旧WDAC)を前提とします。
- 制約付き言語モード(Constrained Language Mode)はAppLockerを前提とします。
- JEA(Just Enough Administration)は管理者権限の過剰付与を軽減します。
- 役割機能ファイル(.psrc)はValidateSetによるパラメーター制限の回避の原因になることがあります。
- JEAの引数限定ラッパー関数はValidateSetによるパラメーター制限の回避を軽減します。
- JEAの引数限定ラッパー関数は役割機能ファイル(.psrc)を前提とします。
- PowerShellのセキュリティ強化はAMSI(Antimalware Scan Interface)を利用します。
- Windows PowerShell 2.0エンジンはAMSI(Antimalware Scan Interface)と両立しません。
- Windows PowerShell 2.0エンジンはスクリプトブロックログと両立しません。
- PowerShellの実行ポリシーをPowerShellのセキュリティ強化に用いることは推奨されません。
- PowerShellトランスクリプションはトランスクリプト共有のACL設計を前提とします。
- JEAのTranscriptDirectoryは侵害されたアカウントによるログ改ざんを防ぎます。
主要概念の定義
機械可読データ
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。