知識マップ: PowerShell Remoting(WinRM)入門 ── 複数台のWindowsを一括管理する

記事「PowerShell Remoting(WinRM)入門 ── 複数台のWindowsを一括管理する」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。

この記事は、WinRM(WS-Managementの実装)の上で動くPowerShell Remotingの仕組みと安全な使い方を扱う。Enable-PSRemotingはWinRMサービスの起動・リスナー作成・ファイアウォール例外・セッション構成の有効化を自動化し、ドメイン環境はKerberosによる相互認証でそのまま接続できる一方、ワークグループ環境はNTLM認証となり接続側のTrustedHostsへの登録と明示的な資格情報が必要になるとしている。Invoke-Commandによる一括実行の結果はメソッドを持たないデシリアライズ済みオブジェクトであり、操作はリモート側のScriptBlockで完結させるべきだとする。接続先からさらに別サーバーへ届かないsecond hop問題には、$using:による資格情報の明示的な受け渡しを最も手軽な対処とし、リソースベースのKerberos制約付き委任やJEA、リスクの大きいCredSSPを状況に応じた選択肢として位置づけている。

PowerShell Remoting(WinRM)の知識マップPowerShell RemotingがWinRM上でInvoke-CommandやPSSessionを動かし、ドメインのKerberosとワークグループのNTLM/TrustedHostsで認証経路が分かれ、second hop問題に対して明示的な資格情報渡し・委任・JEA・CredSSPという複数の対処が並ぶ関係を示す図。利用する利用する利用する利用する利用する利用するで確認できる利用する利用する自動化するで構成できるで確認できるで構成できるで構成できる前提とする実装を担う軽減する用いるのは非推奨原因になり得る推奨される対応推奨される対応利用する推奨される対応両立しないPowerShell RemotingWinRM(Windows Remote Management)Invoke-CommandEnter-PSSessionNew-PSSessionSSHベースのPowerShell RemotingCLIXMLシリアライズ/デシリアライズされたオブジェクトTest-WSManKerberosNTLMEnable-PSRemotingWindowsファイアウォールGet-NetFirewallRuleTrustedHostsWinRM HTTPS(5986)リスナー相互認証リソースベースのKerberos制約付き委任second hop(ダブルホップ)問題CredSSPアカウント乗っ取りJEA(Just Enough Administration)$using:スコープ修飾子

概念間の関係(全24件)

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

主要概念の定義

PowerShell Remoting
リモートコンピューター上のPowerShellにコマンドを送り、複数台への同じ作業を一括で行う仕組み。既定のトランスポートはWinRM(WS-Managementの実装)だが、PowerShell 7ではSSHベースのRemotingも選べる。
WinRM(Windows Remote Management)
標準プロトコルWS-ManagementのMicrosoft実装で、既定でHTTP 5985番・HTTPS 5986番ポートを使うリモート管理の土台。
Enable-PSRemoting
内部でSet-WSManQuickConfigを実行し、WinRMサービスの開始・自動起動化、リスナー作成、ファイアウォール例外の有効化、セッション構成の有効化をまとめて行うPowerShellのコマンドレット。
Windowsファイアウォール
全エディションで既定有効の、Windows標準のホスト型ファイアウォール。
NTLM
パスワードの一方向ハッシュを使ったチャレンジ/レスポンス方式の認証プロトコル群(LANMAN・NTLMv1・NTLMv2を含む)。相互認証を持たず、サーバーが本物であると仮定できる環境向けに設計されている。
Kerberos
チケットによる一度だけの本人確認と相互認証を提供する認証プロトコル。Windows ServerはKerberos version 5と、公開鍵認証・認可データの転送・委任のための拡張を実装する。
リソースベースのKerberos制約付き委任
資格情報を保存せず、アクセス先のサーバー側で中継サーバーからの委任を受けると構成する、second hop問題への対処方式。
CredSSP
second hop問題への対処の1つで、資格情報をリモートサーバーにキャッシュすることで転送先へのアクセスを可能にする認証方式。既定で無効。
JEA(Just Enough Administration)
実行できるコマンドレット・関数・外部コマンドを限定した専用のセッション構成を用意し、管理者権限を委任する範囲を絞り込むPowerShellのセキュリティ技術。
$using:スコープ修飾子
コマンドレットを呼び出したスレッドから、実行中の各スクリプトブロックのスレッドへ変数を渡すための修飾子。同一プロセス内では参照が渡り、別プロセス・別マシンではシリアライズされたコピーが渡る。
Invoke-Command
指定した複数のコンピューターに対してスクリプトブロックを並列に実行するPowerShellコマンドレット。WinRMによるリモート処理を前提とする。
New-PSSession
持続的な接続(PSSession)を作成し、複数コマンドの実行で状態を共有できるようにするPowerShellのコマンドレット。
SSHベースのPowerShell Remoting
PowerShell 6以降で使える、WinRMの代わりにSSHで接続するRemoting。Invoke-Command/Enter-PSSession/New-PSSessionに-HostNameなどのSSH用パラメーターセットが追加されている。

機械可読データ

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