データセキュリティが重要視される現代において、すべての企業はネットワークインフラの健全性を定期的に評価する必要があります。Windows に組み込まれているコマンドラインツールである PowerShell は、こうした監査を効率的に実行する方法を提供します。この記事では、5 つの PowerShell スクリプトを使って、脆弱性を検出し、ネットワークのセキュリティを 1 日で確保する方法をご紹介します。これらのスクリプトは、ネットワークのさまざまな側面を分析するだけでなく、今日のサイバー脅威に対するセキュリティ体制を強化します。
PowerShell による Windows ファイアウォールの状態確認
ネットワーク保護には、効果的なファイアウォールの実装が不可欠です。以下のスクリプトは、Windows システム上のアクティブなファイアウォールプロファイルの状態を確認します。ファイアウォールの設定が適切でないと、ネットワークが攻撃にさらされる可能性があるため、この最初のステップは不可欠です。
Get-NetFirewallProfile スクリプトは、さまざまなファイアウォールプロファイルの状態を表示するために使用されます。これには、ドメイン、プライベート、パブリックネットワークの設定が含まれます。コマンド: Get-NetFirewallProfile | Select-Object Name, Enabled 機能:
- 各プロファイルの状態(有効または無効)を表示します。 さらに、必要な接続のみが許可されるように、アクティブなファイアウォールルールを一覧表示することが重要です。これを行うには、次のスクリプトを使用します。
- コマンド: Get-NetFirewallRule | Where-Object { $_.Enabled -eq $true } | Select-Object DisplayName, Direction, Action
機能:
- 有効なすべてのルール(方向(受信または送信)とそれぞれのアクションを含む)を表示します。 これらの2つのコマンドは、不正アクセスを防止する上で重要な要素であるファイアウォール構成の概要を提供します。ファイアウォールの状態を監視することで、脅威を予測し、インシデントに効果的に対応することができます。
- ファイアウォール プロファイル 状態
ドメイン
| 有効 | プライベート |
|---|---|
| 無効 | パブリック |
| 有効 | ネットワーク接続分析 |
| セキュリティ監査のもう1つの基本的な側面は、アクティブなネットワーク接続の監視です。管理者は、以下のスクリプトを使用して、システムを侵害する可能性のある疑わしい接続を特定できます。 | コマンド: |
Get-NetTCPConnection | Select-Object LocalAddress, LocalPort, RemoteAddress, RemotePort, State, OwningProcess
機能:
- すべてのTCP接続を表示し、異常な動作を検出できるようにします。 これらの接続を分析することで、潜在的な侵入や悪意のある通信を特定することができ、データの整合性にとって不可欠です。攻撃を防ぐために、アクティブな接続を持つすべてのプロセスを綿密に監視する必要があります。https://www.youtube.com/watch?v=PIJIzePX8_M
- Windows Defender の状態の監視 オンラインの脅威が増加する中、ローカル防御を確実に実施することが不可欠です。Windows Defender は基本的なレベルの保護を提供しますが、その有効性は適切に構成および更新されているかどうかに左右されます。以下のスクリプトを使用して、プログラムの状態を評価できます。
コマンド:
機能:
Windows Defender の状態に関する詳細情報(シグネチャの更新状況やリアルタイム保護の有効化など)を表示します。
- ソフトウェアの状態を確認したら、インストールされているソフトウェアを一覧表示し、セキュリティリスクをもたらす可能性のあるソフトウェアを特定することも役立ちます。ソフトウェア名 バージョン
- インストール日 McAfee Antivirus
21.0
| 2025年2月1日 | Visual Studio | 16.7 |
|---|---|---|
| 2024年5月15日 | Kaspersky | 20.0 |
| 2025年1月1日 | 非互換性や脆弱性を回避するため、ソフトウェアレジストリを維持し、定期的に状態を確認することをお勧めします。 | ユーザーとグループの管理 |
| 組織内のユーザー制御は、さらなる保護を提供します。PowerShell スクリプトは、ローカルユーザーの管理や、侵害の可能性があるアカウントや不正なアカウントの特定に役立ちます。以下のコマンドは、すべてのユーザーを一覧表示します。 | コマンド: | Get-LocalUser | Select-Object Name, Enabled, LastLogon |
機能:
ローカルユーザー、そのステータス(有効または無効)、および最終ログオン日を表示します。
さらに、Administrators グループのメンバーがいるかどうかを確認するには、以下のスクリプトが便利です。
- コマンド: Get-LocalGroupMember -Group “Administrators”
- 機能: メンバーを一覧表示し、承認された担当者のみが機密権限にアクセスできるようにします。ユーザー名
ステータス
- 最終ログイン日 Administrator
- アクティブ 2025年3月20日
| User1 | 非アクティブ | 2025年2月15日 |
|---|---|---|
| セキュリティポリシー管理 | ユーザーに適切なセキュリティポリシーを実装することで、ユーザーのアクセスと行動を効果的に管理できます。これには、パスワードの更新、サイバーセキュリティに関するユーザートレーニング、リモートアクセスの管理などが含まれます。これらの対策は、侵害やデータ漏洩を防ぐために不可欠です。 | https://www.youtube.com/watch?v=HaV2da6hNuw |
| スケジュールされたタスクの分析と永続的な攻撃の防止 | スケジュールされたタスクは、攻撃者がシステムへの永続的なアクセスを確立するために利用されることがあります。そのため、アクティブなタスクを定期的に監査する必要があります。以下のスクリプトは、システム内のスケジュールされたタスクを取得します。 | コマンド: |
Get-ScheduledTask | Where-Object {$_.State -eq ‘Ready’} | Select-Object TaskName, TaskPath
機能:
管理者はこれらのタスクを定期的に確認し、不正なタスクや疑わしいタスクを特定して削除する必要があります。これにより、バックドアが未アクティブのままになっていないことも確認できます。
タスク名
- ステータス タスク1
- 準備完了 タスク2
無効
| BitLocker によるディスクセキュリティの評価 | ハードドライブに保存されているデータの保護は最優先事項です。BitLocker は、Windows システムでディスクを暗号化するための必須ツールです。BitLocker が有効になっていることを確認することは重要なステップです。次のスクリプトは、BitLocker の状態を評価します。 |
|---|---|
| コマンド: | Manage-bde -status |
| 機能: | ディスクが暗号化されているかどうかを表示します。 |
ディスクを暗号化することで、機器の盗難や紛失時にデータが漏洩するリスクを大幅に軽減できます。この手順と適切なユーザーおよびログイン管理を組み合わせることで、データ防御が強化されます。ディスク
BitLocker ステータス
- C: 暗号化済み
- D: 暗号化なし
| ディスクセキュリティを確保するためのベストプラクティス | 定期的な監査手順に従い、セキュリティソフトウェアの更新、アクセス監査、サイバーセキュリティのベストプラクティスに関するユーザートレーニングなどの予防策を講じることも重要です。これらの要素を組み合わせることで、ネットワークセキュリティ全体が強化されます。 |
|---|---|
| Microsoft | 、Cisco |
| 、Fortinet | 、Palo Alto Networks |
、Check Point
、Kaspersky
、McAfee 、CrowdStrike、IBM などが提供するソリューションは、いずれもPowerShell 構成を補完する優れた選択肢です。
