Нашел статейку по настройке етого чуда. Наверника чем-то поможет.
Евсюков Денис 30.05.2006 16.25 
Настройка wipfw, консольный фаервол под windows, портированный из FreeBSD 
[i] 
Установка очень проста. Нужно распаковать в любую папку 
содержимое архива и затем запустить один из предлагаемых скриптов 
install. Есть два скрипта, каждый из которых создан для задания 
определенного действия по умолчанию. Есть скрипт разрешающий (т.е. если 
в правилах что то не блокировано, то значит разрешено) и запрещающий 
(наоборот, если явно не разрешено, значит блокировать), я уже по 
привычке, вынесенной из аутпоста выбрал режим блокирования, 
соответственно нужно прописывать разрешающие правила... 
После запуска скрипта он прописывает пути в реестр, чтобы помнить, куда 
его поставили и прописывает программу как сервис в системе, после чего 
производит запуск установленного сервиса. В памяти программа занимает 
очень мало, порядка 2 мегабайт в оперативной памяти и порядка 400-500 килобайт в 
виртуальной памяти... С аутпостом не сравнить конечно, но у нас нет 
интерфейса к программе и сама программа не контролирует работу 
приложений в системе. Точнее интерфейс написан уже создателями самого 
фаервола, но он идет отдельно. Данный интерфейс 
служит только для создания правил работы, и не позволяет мониторить 
работу фаервола. А по поводу второго вопроса хочется сказать, что фаер пришел из 
среды FreeBSD, в которой так же как в Linux не производиться контроль за 
работающими приложениями и основная задача фаервола - защита 
машины от атак извне. Все остальное зависит от пользователя и от программ по борьбе 
с троянами и вирусами... 
Итак, программа установлена, теперь пришла пора настройки. Настройка 
производиться путем правки файла rc.wf. Нужно править именно этот файл, т.к. он запускается 
при запуске системы и конфигурирование производиться именно им. Я 
пробовал создавать свой скрипт конфигурации системы, типа файла .bat, он 
производит настройку, но только на время работы компьютера, после 
перезагрузки все изменения теряются. Чего не происходит в случае правки 
данного файла... 
Запуск скрипта производиться с помощью файла sh.exe, это порт командного 
процессора из FreeBSD, поэтому в начале файла требуется описание 
программы, которая используется для обработки данного скрипта. 
Если в начале строки стоит знак # - значит все что идет дальше по строке 
является комментарием... 
- Код: Выделить всё • Развернуть
- #!/bin/sh 
 #
 #
 
Далее прописываем переменную для уменьшения кода, данная переменная 
содержит вызов фаера с командой добавления правила 
- Код: Выделить всё • Развернуть
- cmd="./ipfw add" 
 
Для изменения правил нужно эти правила сначала очистить, а потом уже по 
новой прописать, поэтому очищаем все правила... 
- Код: Выделить всё • Развернуть
- # First flush the firewall rules 
 ./ipfw -q -f flush
 
Разрешаем все сетевые пакеты на локальной машине... 
- Код: Выделить всё • Развернуть
- #Localhost rules 
 $cmd pass all from any to any via lo*
 
Теперь задаем основное правило, т.е. программу мы поставили в режиме 
блокировки, и теперь нам надо разрешать то, что нужно. Для себя я выбрал 
режим разрешить все себе (т.е. все исходящие разрешены) и открыть порты 
для входящих соединений в определенных сервисах... 
- Код: Выделить всё • Развернуть
- #Для начала разрешаем все нам самим 
 $cmd allow all from me to any
 
Теперь разбираемся с пингом. Аутпост использует режим невидимости и в то 
же время позволяет пинговать нам самим... Выберем тот же режим и здесь. 
Напоминаю, что исходящие уже разрешены, поэтому прописываем только 
входящие. У пинга есть несколько типов пакета, и все зависит от типа 
пакета. Есть пакеты типа запрос, ответ, и т.п. Нам нужно разрешить 
только ответ от нашего запроса и соответственно запретить запрос... 
- Код: Выделить всё • Развернуть
- # ICMP разрешаем пинг... 
 $cmd allow icmp from any to me icmptypes 0,3,4,11 in
 
Далее я думаю понятно... Разрешаем те порты для входящих, сервисы 
которых как мы предполагаем будут работать на машине, включая http, мыло 
и все остальное... Если этого не сделать, то запрос мы отправим, а вот 
получить ответ уже не сможем и тем самым сервис работать просто напросто 
не будет... 
- Код: Выделить всё • Развернуть
- # Разрешаем получать IPшники по DHCP 
 $cmd pass udp from any 68 to any 67
 $cmd pass udp from any 67 to any 68
 
 # Разрешаем DNS
 # DNS
 $cmd allow tcp from any to any 53
 $cmd allow tcp from any 53 to any
 $cmd allow udp from any to any 53
 $cmd allow udp from any 53 to any
 
 # Разрешаем входящие ftp, ssh, email, tcp-dns, http, https, pop3, pop3s
 (если вы чем либо из этого не пользуетесь то убираем то что не нужно...)
 $cmd allow tcp from any 20,21,22,25,80,123,443,110,119,995 to me
 $cmd allow tcp from any 5223,8010,8080 to me
 
 # Разрешаем входящие сервера времени
 $cmd allow udp from any 13,37,525 to me
 $cmd allow tcp from any 13,37 to me
 
В АИСТе (интернет-провайдер г. Тольятти) используется технология VPN соединений для установления 
интернет-соединений, она подразумевает использование прокола gre, 
который не завязан на определенный порт, поэтому прописываем правило для 
ip не используя указание порта. Для большей безопасности разрешаем 
установку соединения только с сервером АИСТа (192.168.0.1)... 
- Код: Выделить всё • Развернуть
- # VPN разрешаем vpn тунель 
 $cmd allow ip from 192.168.0.1 to me
 
Для работы с ослом (имеенно в режиме High ID), требуется при установке 
соединения позволить серверу соединение по любым портам, т.к. сервер при 
соединении проверяет порты, и если тот порт, что он проверяет будет 
недоступен, то он дает вам low id, что сказывается на способности 
качать... Поэтому серверу разрешаем соединения по всем портам, и 
открываем порты осла 4662 и 4672 для остальных. Я открыл порты и tcp и 
udp хотя сейчас сеть kad не используется, на всякий случай, по сути порт 
4672 можно и не прописывать, на работе это никак не скажется... 
- Код: Выделить всё • Развернуть
- # Разрешаем осла 
 $cmd allow tcp from 81.28.160.141 to any
 $cmd allow tcp from any to any 4662
 $cmd allow udp from any to any 4672
 
У меня стоит модем Zyxel P660-R, он внешний и я управляю его работой по 
телнету и получаю все его события (логи) по snmp протоколу, которые 
нужно разрешить... 10.0.0.1 - это ип-адрес модема... 
- Код: Выделить всё • Развернуть
- # Разрешаем snmp 
 $cmd allow udp from 10.0.0.1 to any 162,514
 
 # Разрешаем telnet
 $cmd allow tcp from 10.0.0.1 23 to any
 
Ну и резрешаем порты для работы ирк-сервера... 
- Код: Выделить всё • Развернуть
- # Разрешаем IRC... 
 $cmd pass tcp from any to any 6667-6669
 $cmd pass tcp from any 6667-6669 to any
 
Собственно все. Все сервисы работают. И работают отлично. Причем 
работают так же и ssl и https, они включены в список... 
Я проверял эффективность работы фаера на внешних серверах, сканирующих 
порты и выявляющих уязвимости, все сервера сказали, что все порты 
защищены, уязвимости нет... И это при том условии, что расходуется 
минимум памяти, минимум процессорного времени и при всем этом прога еще 
распространяется по лицензии FreeBSD, т.е. бесплатно... 
После данного эксперимента я решил остаться именно на этом фаерволе... 
Так выглядели правила фаервола в первой редакции, и с тех пор я немного 
доработал правила, чем сейчас делюсь с Вами... 
Я буду рассмартивать только те части, что претерпели изменения, все 
остльное просто вырезал... 
- Код: Выделить всё • Развернуть
- # Разрешаем входящие ftp, ssh, email, tcp-dns, http, https, pop3, pop3s 
 $cmd allow tcp from any 22,25,80,123,443,110,119,995 to me established
 $cmd allow tcp from any 143,993,3128,5223,8010,8080,8081 to me established
 $cmd allow tcp from 81.28.160.194 32000 to me established
 $cmd allow tcp from any 20,21 to me
 
Итак, во первых к правилам добавляем пукт established, он означает 
требование в каждом пакете содержать биты RST или ASK, т.е. входящие 
пакеты будут приниматься только в том случае, если был запрос от Вас 
самих... Именно поэтому порты фтп вынесены отдельно, с данным условием 
фтп не работает... Добавились порты работы с прокси серверами, ssl почты 
и добавлено правило для работы с веб-интерфейсом почты автограда... 
Здесь все понятно из комментариев, опять же подключения только как ответ 
на запрос пользователя... 
- Код: Выделить всё • Развернуть
- # Разрешаем получение ключей PGP с серверов 
 $cmd allow tcp from any 389,11371 to me established
 
 # Разрешаем входящие сервера времени
 $cmd allow udp from any 13,37,525 to me
 $cmd allow tcp from any 13,37 to me
 
Доработано правило для организации VPN соединений, спасибо большое Илье 
Котлярову за подсказку! Теперь вместо открытия всего трафика с сервера, 
открываем подключения только для нужных протоколов и портов... 
- Код: Выделить всё • Развернуть
- # VPN разрешаем vpn тунель 
 $cmd allow 47 from 192.168.0.1 to me
 $cmd allow tcp from 192.168.0.1 1723 to me
 
 
Правила для осла претерпели существенные изменения... Добавлены правила 
позволяющие работу с любыми портами, обращающимся к нашему 4662 и 
наоборот, при этом все <опасные> порты прикрыты... Соединение теперь 
стабильное, всегда High ID, и количество соединений максимально, потерь 
нет... 81.28.160.141 - сервер осла. 
- Код: Выделить всё • Развернуть
- # Разрешаем осла 
 $cmd allow udp from 81.28.160.141 4665 to any
 $cmd allow tcp from any 1024-65535 to any 4662
 $cmd allow tcp from any 4661,4662 to any 1024-65535
 $cmd allow udp from any to any 4672
 
И теперь самое главное, очень удобно логировать то, что было запрещено, 
для этого переписываем правило по умолчанию с параметром log. После 
чего, все пакеты deny фиксируются в файлах типа wipfw20060527.log в 
каталоге C:\WINDOWS\security\logs\ 
И теперь, если после настройки фаера у вас како-нить сервис не работает, 
смотрите файл wipfw(сегодняшняядата).log, где фиксируете по времени 
обращения, какие порты были закрыты и почему, после чего уже намного 
легче исправлять или добавлять новые правила... 
Вот строка для логирования блокированных пакетов: 
- Код: Выделить всё • Развернуть
- # Log denny all 
 $cmd drop log all from any to any
 
Если будут замечания, буду рад Вас выслушать... [/more] 
Добавлено: 
Правда, после его правил, у меня перестал работать ход на 80е порты (my > any 80) 
Хотя, я и не нашел, что бы у него это было разрешено. То есть, оно-то разрешено, но входящие с таких серверов на безопасные 1025-65535 не созданы у него. 
А если он это проглядел, то вероятно, что мог проглядеть и много чего еще.. 
Статья не сильная, в общем.