Дозволяємо Ping в Windows Server 2008

Досить часто початківці адміністратори запитують, чому Windows Server 2008 не відповідає на пінг (по протоколу ICMP) і як же змусити його відповідати на пакети ping.

Давайте, спочатку розберемося, чому Microsoft вирішила залишити політику, яка забороняє ping цю настройку за замовчуванням. Офіційної версії немає, проте передбачається, що це спосіб протистояти мережевим атакам типу Ping Flooding і POD (Ping of Death). Методика POD досить часто використовується в атаках на кшталт "Відмова в обсаджування" (Denial of Service), коли на цільової сервер шлються ICMP ненормально великого розміру. При атаках типу Ping flooding здійснюється посилка величезної кількості пакетів ping на цільової сервер, в результаті, якщо він налаштований відповідати на пакети ping, велика частина його обчислювальних здібностей витрачається на генерацію відповідей на ці пакети, як наслідок - низька продуктивність інших служб (наприклад, HTTP або FTP).

Щоб дозволити ping в профілі public (в тому числі Інтернет), перейдіть в Administrative
Tools -> Firewall with Advanced Security -> Inbound Rules і знайдіть правило "File and Printer Sharing (Echo Request - ICMPv4-In)"-> Клацніть правою кнопкою миші по правилу і виберіть"Enable."

В результаті активації правило "FileandPrinterSharing (EchoRequest - ICMPv4-In)" має стати зеленим.

Крім того, дозволити відповіді на ping (ICMP) в Windows Server можна і з командного рядка (особливо актуально для інсталяцій Windows Server Core), для чого в командному рядку наберіть:

netsh firewall set icmpsetting 8

Відключити правило можна так:

netsh firewall set icmpsetting 8 disable

У Windows Server 2008 R2 також підійде команда:

netsh advfirewall firewall add rule name = "ICMP Allow incoming V4 echo request" protocol = icmpv4: 8, any dir = in action = allow