Главная

Tuesday, 20 August 2013

Мониторинг Windows Firewall


Windows XP Firewall был первой попыткой сделать штатную возможность в MS Windows для защиты рабочего места пользователя. Главным недостатком той защиты был тот факт, что инспектировался только входящий трафик на компьютер пользователя. Т.е. пользователь мог занести вирус на USB-флешке в Windows XP и вирус уж дальше беспрепятственно делал свое черное дело в сети.  Естественно настройка правил такого Windows  Firewal через графический интерфейс не вызывает затруднений. Кроме одного – серьезная настройка занимает время. И проверка таких правил визуально затруднительна.  Более того, в Windows XP Firewall  нет возможности простого переноса всех правил со старого компьютера на новый.


Автоматизацией быстрой настройки и проверки состояния Windows XP Firewall может служить командная оболочка netsh. Следующие команды могут быть записаны в любой пакетный файл.


Проверка рабочего режима:
netsh firewall show opmode
Конфигурация профиля Domain (текущая):
-------------------------------------------------------------------
Рабочий режим                     = Disable
Режим исключения                  = Enable

Проверка состояния службы профиля:
netsh firewall show service             
Конфигурация службы для профиля Domain:
Режим    Настройка   Имя
-------------------------------------------------------------------
Enable   Нет         Общий доступ к файлам и принтерам

Конфигурация открытых портов в разрезе профилей:
netsh firewall show portopening   
Конфигурация порта для профиля Domain:
Порт   Протокол  Режим    Имя
-------------------------------------------------------------------
3587   TCP       Enable   Группирование одноранговой сети Windows
3540   UDP       Enable   PNRP-протокол (Peer Name Resolution Protocol)
26675  TCP       Enable   ActiveSync Service
139    TCP       Enable   Служба сеанса NetBIOS
445    TCP       Enable   SMB поверх TCP
137    UDP       Enable   Служба имени NetBIOS
138    UDP       Enable   Служба датаграмм NetBIOS
1900   UDP       Enable   SSDP-компонент UPnP-инфраструктуры

Проверить активное состояние фаерволла подробно:
netsh firewall show state verbose=enable  

Проверить конфигурацию фаерволла подробно:
netsh firewall show config verbose=enable

В режиме диалога залогировать всю информацию выдаваемую netsh можно через команду set file open 123.log. К сожалению эта команда не работает в пакетном файле, поэтому здесь проще просто перенаправить вывод в файл, например в конце команды сделать так: netsh firewall show config verbose=enable  >123.log

      В Windows 7 Firewall  стал более продвинутым, во первых он стал инспектировать сетевой трафик компьютера в обоих направлениях, во вторых, теперь и правила ipsec можно прописать там же. Но вот автоматизация настройки и проверки состояния Windows 7 Firewall через netsh претерпела некоторые изменения.  Не нашел я команду show portopening отдельно, но наконец то появился экспорт-импорт настроек фаерволла в файл!


Например, следующие команды могут быть записаны в пакетный файл.

netsh advfirewall show global              

netsh advfirewall show store               

Все рабочие  правила фаерволла:
netsh advfirewall firewall show rule name=all         

И полная картина подробно, от предыдущей команды показывает на 70% больше информации:
netsh advfirewall firewall show rule name=all verbose 

Экспорт настроек в файл:
netsh advfirewall export "WFconfiguration.wfw"
И их импорт из того же файла:
netsh advfirewall import "WFconfiguration.wfw"

Данные получены, а как их оперативно проанализировать?

      Полученные сведения можно анализировать (parsing) как простой командой find так и более продвинутым средством типа MS LogParser. Журнал работы самого фаерволла (обычно это файл pfirewall.log) можно анализировать теми же средствами или использовать специальную утилиту Windows Firewall Log Viewer.



      Кстати если вы любите эксперименты с сетями в VMWare то там можно добавить к вышеописанным средствам мониторинга сети штатный сетевой сниффер самой VMWare vnetsniffer.exe. Получите мониторинг всех сетевых пакетов между виртуальными компьютерами.

Командная строка с записью лога в файл может выглядеть так
"c:\Program Files\VMware\VMware Workstation\vnetsniffer.exe" vmnet1 >>d:\vmnet1.log

Опять же вывод направлен  в файл. Ну а дальше вы знаете.

No comments:

Post a Comment

А что вы думаете по этому поводу?