実行環境で PwoerShell の停止、ログの取得について解説します。
また、WinRMを使用してリモートでPowerShellの実行が可能です。そのため、WinRMの停止についても解説します。
PowerShell 2.0
エンジンの削除
ダウングレード攻撃を阻止するため、役割と機能の削除ウィザードで PowerShell 2.0 エンジン を削除します。PowerShell 2.0 はログ出力ができないため、ダウングレード攻撃されると手掛かりを失います。
[コントロールパネル]>[プログラム]>[プログラムと機能]>[Windows の機能の有効化または無効化]>[Windows PowerShell 2.0] のチェックボックスを外す。
グループポリシーでPowerShell を停止する
PowerShell を使用しないシステムでは、グループポリシーで PowerShell を停止してください。
[ユーザーの構成]>[ポリシー]>[管理用テンプレート]>[システム]>[指定された Windows アプリケーションを実行しない]>[有効]
[実行しないアプリケーションの一覧]>[powershell.exe、powershell_ise.exe、pwsh.exe]
PowerShell の
ログを取得する
グループポリシーで PowerShellのログを有効にしてください。
[コンピュータの構成]>[ポリシー]>[管理用テンプレート]>[Windowsコンポーネント]>[Windows PowerShell]>[モジュールログを有効にする] を [有効] に設定し、[オプション]>[モジュール名]>[表示] をクリックする。
[モジュール名] の入力画面で、[値] に [Microsoft.PowerShell.*] [Microsoft.WSMan.Management] の2行を入力し、[OK] をクリックする。
[イベントビューアー]-[アプリケーションとサービス ログ]-[Microsoft]-[Windows]-[PowerShell]-[Operational] を右クリックし、[プロパティ] をクリックし、[ログを有効にする] にチェックする。
最大ログサイズを10048KB以上にし、[イベントを上書きしないでログをアーカイブする]をチェックする。
定期的に [イベントビューアー]-[アプリケーションとサービス ログ]-[Microsoft]-[Windows]-[PowerShell]-[Operational] を監査します。
PowerShell の
ログサイズを設定する
定期的に [イベントビューアー]-[アプリケーションとサービス ログ]-[Microsoft]-[Windows]-[PowerShell]-[Operational] を監査します。
[イベントビューアー]-[アプリケーションとサービス ログ]-[Microsoft]-[Windows]-[PowerShell]-[Operational] を右クリックし、[プロパティ] をクリックし、[ログを有効にする] にチェックする。
最大ログサイズを10048KB以上にし、[イベントを上書きしないでログをアーカイブする]をチェックする。
WinRMサービスを無効化/制限
グループ ポリシーを使用してリモート管理を無効にする
ローカルグループポリシーエディターを開くには、次のいずれかの操作を行います。
- Windows Server 2016、Windows Server 2012 R2、または Windows Server 2012 を実行しているサーバーで、「グループポリシーの管理」を起動します。
- ポリシーオブジェクトを選択し、右クリックして編集をクリックします。
- グループポリシー管理エディターで、[コンピューターの構成]>[管理用テンプレート]>[Windows コンポーネント]>[windows リモート管理 (winrm)]>[Winrm サービス] を開きます。
- コンテンツ ウィンドウで [WinRM によるリモート サーバー管理を許可する] をダブルクリックします。
- [WinRM によるリモート サーバー管理を許可する] ポリシー設定のダイアログ ボックスで、[無効] をクリックしてリモート管理を無効にします。[OK] をクリックして変更内容を保存し、ポリシー設定のダイアログ ボックスを閉じます。
WinRM が使用するポートをパーソナルFirewallで閉じる
PowerShell を管理者モードで起動し、以下のコマンドを実行します。
Set-NetFirewallRule -name WINRM-HTTP-In-TCP -Enabled False Set-NetFirewallRule -Name WINRM-HTTP-In-TCP-PUBLIC -Enabled False