UPD помогите разобраться с PF

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
matrich
ефрейтор
Сообщения: 57
Зарегистрирован: 2008-03-31 16:13:02

UPD помогите разобраться с PF

Непрочитанное сообщение matrich » 2009-09-17 13:21:39

Не могу разобраться. PF логи не пишет. Подскажите что не так?

Код: Выделить всё

(/etc)-> cat  rc.conf
......
#PF
pf_enable="YES"
pf_rules="/etc/pf.conf"
pflog_enable="YES"
pflog_logfile="/var/log/pf.log"
pflog_program="/sbin/pflogd"
.....

Код: Выделить всё

(/etc)-> cat pf.conf
# pf.conf
############### Опции ##############
        ext_if = "xl1"
        int_if = "xl0"
        lannet = "192.168.111.0/24"
        extnet = "xxx.xxx.xxx.xxx/28"
        bsd    = "192.168.111.98/32"
        ext_ip = "xxx.xxx.xxx.xxx/32"
        mail   = "192.168.111.10"
        my_ip  = "192.168.111.217/32"
        private_nets= "{ 127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8, 169.254.0.0/16, 192.0.2.0/24, 0.0.0.0/8, 240.0.0.0/4 }"
        client_ports = "{ 21, 22, 25, 110, 123, 80, 443, 3128, 3129, 3389,8080, >=49151 }"
        admin_ports = "{ 5190, 33330:33340 }"
########## Нормалицазия #############
     # Определяем политику при блокировке пакетов
    set block-policy drop
     # Поведение пакетного фильтра при использовании таблицы состояний
     set state-policy floating
     # Логируемый интерфейс
     set loginterface $ext_if
     # Максимальное количество записей в пуле отвечающем за нормализацию трафика (scrub)
     # Максимальное количество вхождений в пул отвечающий за состояние таблицы состояний соединений (keep state)
     set limit { frags 100000, states 100000 }
     # Устанавливаем тип оптимизации
     set optimization normal
     # Игнорируем фильтрацию на кольцевом интерфейсе
     set skip on lo0
###########    NAT RDR ##############
    #для локалки
    nat on $ext_if inet from $lannet to any -> $ext_ip
########### Правила фильтрации ###########
    # Защита от спуфинга
    antispoof quick for { lo0, $int_if, $ext_if }
    # Блокируем всё
    block log all
    # Блокируем тех, кто лезет на внешний интерфейс с частными адресами
    block drop in quick on $ext_if from $private_nets to any
    # Разрешаем icmp
    pass inet proto icmp icmp-type echoreq
    # Разрешаем DNS для локалки
    pass in on $int_if proto udp from $lannet to $bsd port domain
    # Разрешаем NTP для локалки
    pass in on $int_if proto udp from $lannet to $bsd port ntp
    # Тестовый полный выход для отладки
    pass in on $int_if from $lannet to any
    # Выпускаем почтовик
    pass in on $int_if proto tcp from $mail to any port smtp
    # Выпускаем админские сервисы
    pass in on $int_if proto tcp from $my_ip to any port $admin_ports
    # Выпускаем клиентске сервисы
    pass in on $int_if proto tcp from $lannet to any port $client_ports
    # Разрешаем нашему шлюзу полный выход с обоих интерфейсов
    pass out on $ext_if proto tcp from any to any
    pass out on $ext_if proto udp from any to any keep state
    pass out on $int_if proto tcp from any to any
    pass out on $int_if proto udp from any to any keep state
######### Входящий #############
    # Разрешаем входящий smtp для всех
    pass in on $ext_if proto tcp from any to $mail port smtp flags S/SA synproxy state
    # Разрешаем входящий https
    pass in on $ext_if proto tcp from any to $mail port https flags S/SA synproxy state
    # Разрешаем входящий www
    pass in on $ext_if proto tcp from any to $ext_ip port www flags S/SA synproxy state
    # Разрешаем входящий ftp
    #pass in on $ext_if proto tcp from any to $ext_ip port ftp flags S/SA synproxy state

Код: Выделить всё

(/var/log)-> ls -l | grep pf
-rwxr-xr-x  1 root    wheel          0 24 авг 11:58 pf.log
-rw-------  1 root    wheel          0 17 сен 03:04 pf.today
-rw-------  1 root    wheel       1501 16 сен 03:04 pf.yesterday

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

vasdor
рядовой
Сообщения: 18
Зарегистрирован: 2009-08-27 8:53:38
Откуда: РБ, Могилев

Re: UPD помогите разобраться с PF

Непрочитанное сообщение vasdor » 2009-09-17 14:38:29

Вот так работает:

Код: Выделить всё

tcpdump -n -e -ttt -i pflog0
?

matrich
ефрейтор
Сообщения: 57
Зарегистрирован: 2008-03-31 16:13:02

Re: UPD помогите разобраться с PF

Непрочитанное сообщение matrich » 2009-09-17 15:22:27

Код: Выделить всё

(/etc)-> tcpdump -n -e -ttt -i pflog0
tcpdump: (no devices found) /dev/bpf0: No such file or directory
:shock:

Burner
лейтенант
Сообщения: 693
Зарегистрирован: 2009-06-14 7:02:26

Re: UPD помогите разобраться с PF

Непрочитанное сообщение Burner » 2009-09-17 15:53:49

что, ядро пересобирали, да? Так вам и надо.

matrich
ефрейтор
Сообщения: 57
Зарегистрирован: 2008-03-31 16:13:02

Re: UPD помогите разобраться с PF

Непрочитанное сообщение matrich » 2009-09-17 16:11:30

да, это печально, придется опять :)

matrich
ефрейтор
Сообщения: 57
Зарегистрирован: 2008-03-31 16:13:02

Re: UPD помогите разобраться с PF

Непрочитанное сообщение matrich » 2009-09-18 9:17:26

спасибо помогло, а не подскажите как включить логирование rdr ?

matrich
ефрейтор
Сообщения: 57
Зарегистрирован: 2008-03-31 16:13:02

Re: UPD помогите разобраться с PF

Непрочитанное сообщение matrich » 2009-09-18 15:33:45

можно как нибудь его заставить писать время-дату события?

matrich
ефрейтор
Сообщения: 57
Зарегистрирован: 2008-03-31 16:13:02

Re: UPD помогите разобраться с PF

Непрочитанное сообщение matrich » 2009-09-23 12:08:29

подскажите, пожалуйста, какую-нибудь систему для логирования всех пакетов, которые проходят(пробрасыватся,перенаправляются, блокируются) через интерфейсы, так чтобы писалось время и дата.

vasdor
рядовой
Сообщения: 18
Зарегистрирован: 2009-08-27 8:53:38
Откуда: РБ, Могилев

Re: UPD помогите разобраться с PF

Непрочитанное сообщение vasdor » 2009-09-23 14:15:17

Код: Выделить всё

tcpdump -qn -r /var/log/pf.log
Хотя, там нет даты...

matrich
ефрейтор
Сообщения: 57
Зарегистрирован: 2008-03-31 16:13:02

Re: UPD помогите разобраться с PF

Непрочитанное сообщение matrich » 2009-09-23 14:24:48

ну в принципе дату можно организовать ежедневным переносом в фаил типа DDMMYYY.log, а как бы с rdr? как включить логирование смапированных пакетов?

vasdor
рядовой
Сообщения: 18
Зарегистрирован: 2009-08-27 8:53:38
Откуда: РБ, Могилев

Re: UPD помогите разобраться с PF

Непрочитанное сообщение vasdor » 2009-09-23 15:20:04

http://house.hcn-strela.ru/BSDCert/BSDA ... l#pf-pflog
Вот тут написано, что должны быть директива pass либо block.

Видимо, вот так, напрямую, правило rdr в логи не введёшь... :x

matrich
ефрейтор
Сообщения: 57
Зарегистрирован: 2008-03-31 16:13:02

Re: UPD помогите разобраться с PF

Непрочитанное сообщение matrich » 2009-09-23 15:52:52

спасибо, разобрался
А умеет pf выхватывать mac адреса?


matrich
ефрейтор
Сообщения: 57
Зарегистрирован: 2008-03-31 16:13:02

Re: UPD помогите разобраться с PF

Непрочитанное сообщение matrich » 2009-09-24 10:19:46

я имел в виду, чтоб логировался мак машины из инета, с которой идет соединение, если это возможно