Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Invoke-IcingaCheckFirewall reports NotConfigured on Windows Server 2025 with GPO-managed firewall

オープン 初心者向け
#480 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
76/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
静か
技術スタック
powershell

調査の方向性

Invoke-IcingaCheckFirewall から開始し、issue に示されている Get-NetFirewallProfile の呼び出しを確認します。GPO で管理されている Windows Server 2025 システム上で、既定のポリシー ストアと ActiveStore を比較します。Domain、Private、Public が有効な場合に、check が有効なプロファイル状態を評価して OK を返せば完了です。

索引モデルが issue の本文から書いたものです。

説明

Describe the bug

Invoke-IcingaCheckFirewall reports a critical state on Windows Server 2025 when the Windows Firewall is managed by Group Policy.

The check reports all firewall profiles as NotConfigured, although the effective firewall state is enabled for Domain, Private and Public profiles.

The issue appears to be related to the plugin using Get-NetFirewallProfile without specifying -PolicyStore ActiveStore.

On the affected system, the default policy store returns NotConfigured, while the effective active policy store returns True.

To Reproduce

  1. Install Icinga for Windows on a Windows Server 2025 system with Windows Firewall managed through Group Policy.

  2. Verify the default firewall profile state:

Get-NetFirewallProfile | Select-Object Name, Enabled

Output:

Name    Enabled
----    -------
Domain  NotConfigured
Private NotConfigured
Public  NotConfigured
  1. Verify the effective firewall profile state using the Active Policy Store:
Get-NetFirewallProfile -PolicyStore ActiveStore | Select-Object Name, Enabled

Output:

Name    Enabled
----    -------
Domain     True
Private    True
Public     True
  1. Verify the effective firewall state using netsh:
netsh advfirewall show allprofiles

Relevant output:

Domain Profile Settings:
State                                 ON

Private Profile Settings:
State                                 ON

Public Profile Settings:
State                                 ON
  1. Run the Icinga for Windows firewall check:
Import-Module icinga-powershell-framework
Import-Module icinga-powershell-plugins

Invoke-IcingaCheckFirewall `
    -FirewallProfile Domain,Private,Public `
    -Enabled `
    -Verbosity 3

Output:

[CRITICAL] Firewall profiles [CRITICAL] Firewall Profile Domain, Firewall Profile Private, Firewall Profile Public (All must be [OK])
\_ [CRITICAL] Firewall Profile Domain: Value NotConfigured is not matching threshold Enabled
\_ [CRITICAL] Firewall Profile Private: Value NotConfigured is not matching threshold Enabled
\_ [CRITICAL] Firewall Profile Public: Value NotConfigured is not matching threshold Enabled
  1. Inspect the implementation of the check:
(Get-Command Invoke-IcingaCheckFirewall).Definition

Relevant code:

$FirewallData = (Get-NetFirewallProfile -Name $singleprofile -ErrorAction SilentlyContinue);

$FirewallCheck = New-IcingaCheck `
    -Name "Firewall Profile $singleprofile" `
    -Value $FirewallData.Enabled

The check currently reads the default policy store, which returns NotConfigured on Windows Server 2025 systems where Windows Firewall is managed through Group Policy.

The effective firewall state is available through:

Get-NetFirewallProfile -PolicyStore ActiveStore

which correctly returns:

Domain     True
Private    True
Public     True
Possible root cause

Invoke-IcingaCheckFirewall currently uses:

Get-NetFirewallProfile -Name $singleprofile

On Windows Server 2025 with GPO-managed firewall profiles this returns:

NotConfigured

while the effective state is available via:

Get-NetFirewallProfile -PolicyStore ActiveStore

which correctly returns:

True

for all enabled firewall profiles.

Expected behavior

The check should evaluate the effective firewall state.

On systems where the firewall is managed by Group Policy, the effective state can be retrieved with:

Get-NetFirewallProfile -PolicyStore ActiveStore

Expected result:

Domain  Enabled
Private Enabled
Public  Enabled

The check should return OK when the effective firewall state is enabled.

Your Environment

  • Version used (icinga2 --version):
    Icinga Master: r2.16.1-1
    Windows Agent: v2.16.1
    icinga-powershell-framework: 1.14.2
    icinga-powershell-plugins: 1.14.1

  • Operating System and version:
    Icinga Master: Debian 12
    Windows Server 2025 OsBuildNumber: 26100

主要言語
PowerShell
スター
55
フォーク
31
平均マージ
4日 5時間
マージ済み PR(30日)
6

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

Icinga/icinga-powershell-plugins のほかの issue

Icinga/icinga-powershell-plugins の issue をすべて見る

似ている issue

Observability & SRE の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。