The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"PF. Блокирование ESTABLISHED соединений"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"PF. Блокирование ESTABLISHED соединений"  
Сообщение от babay82 email(ok) on 15-Мрт-06, 13:00 
Кто подскажет как в PF блокировать ESTABLISHED соединения?
Начал потихоньку учить PF. И натолкнулся на такую проблемму.
Иногда нужно блокировать возможность прослушивания online радио с определённого сервера на порту 8000.
Добавляю правила
block drop out quick on rl0 proto tcp from any to $radio_server port 8000
block drop in quick on rl0 proto tcp from $radio_server port 8000 to any
Но эти правила не обрывают уже установленные соединения. И получается, те кто слушали радио, продолжают его слушать пока не отключатся.
Заранее благодарен за ответ.
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "PF. Блокирование ESTABLISHED соединений"  
Сообщение от paul (??) on 15-Мрт-06, 20:20 
>Добавляю правила
>block drop out quick on rl0 proto tcp from any to $radio_server
>port 8000
>block drop in quick on rl0 proto tcp from $radio_server port 8000
>to any
>Но эти правила не обрывают уже установленные соединения. И получается, те кто
>слушали радио, продолжают его слушать пока не отключатся.
>Заранее благодарен за ответ.

Скорее всего выше этих правил присутствует правило с quick, разрешающее ESTABLISHED соединения - например, pass in quick on rl0 proto tcp all modulate state. Решение - поместить запрещающие правила выше или убрать quick у вышестоящего правила

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "PF. Блокирование ESTABLISHED соединений"  
Сообщение от babay82 email(ok) on 16-Мрт-06, 13:17 
>Скорее всего выше этих правил присутствует правило с quick, разрешающее ESTABLISHED соединения
>- например, pass in quick on rl0 proto tcp all modulate
>state. Решение - поместить запрещающие правила выше или убрать quick у
>вышестоящего правила

Таких правил нет.
Листинг pf.conf
ext_if="rl0"    #Внешний интерфейс
int_if="fxp0"   #Внутренний интерфейс
local_net="192.168.1.0/24"      #Внутренняя сеть
ext_addr="1.1.1.1"       #Внешний адрес
NoRouteIp="{ 127.0.0.0/8, 192.168.1.0/24 }"     #Не маршрутизируемые в инет адреса

#Нормализация и дефрагментация пакета
scrub in all
#NAT
nat on $ext_if from $local_net to any -> $ext_addr
###Фильтрация###
#Блокирование спуфинга
antispoof quick for $int_if inet
#Блокировка на внешнем интерфейсе внутренних адресов RFC 1918
block in quick on $ext_if from $NoRouteIp to any
block out quick on $ext_if from any to $NoRouteIp
#Блокировка радио
block drop out quick on $ext_if proto tcp from any to any port 8000
block drop in quick on $ext_if proto tcp from any port 8000 to any

Вывод pfctl -sr
scrub in all fragment reassemble
block drop in quick on ! fxp0 inet from 192.168.1.0/24 to any
block drop in quick inet from 192.168.1.1 to any
block drop in quick on rl0 inet from 127.0.0.0/8 to any
block drop in quick on rl0 inet from 192.168.1.0/24 to any
block drop out quick on rl0 inet from any to 127.0.0.0/8
block drop out quick on rl0 inet from any to 192.168.1.0/24
block drop out quick on rl0 proto tcp from any to any port = 8000
block drop in quick on rl0 proto tcp from any port = 8000 to any

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

3. "PF. Блокирование ESTABLISHED соединений"  
Сообщение от paul (??) on 16-Мрт-06, 14:46 
>>Скорее всего выше этих правил присутствует правило с quick, разрешающее ESTABLISHED соединения
>>- например, pass in quick on rl0 proto tcp all modulate
>>state. Решение - поместить запрещающие правила выше или убрать quick у
>>вышестоящего правила
>
>Таких правил нет.
>Листинг pf.conf
>ext_if="rl0"    #Внешний интерфейс
>int_if="fxp0"   #Внутренний интерфейс
>local_net="192.168.1.0/24"      #Внутренняя сеть
>ext_addr="1.1.1.1"       #Внешний адрес
>NoRouteIp="{ 127.0.0.0/8, 192.168.1.0/24 }"     #Не маршрутизируемые в инет
>адреса
>
>#Нормализация и дефрагментация пакета
>scrub in all
>#NAT
>nat on $ext_if from $local_net to any -> $ext_addr
>###Фильтрация###
>#Блокирование спуфинга
>antispoof quick for $int_if inet
>#Блокировка на внешнем интерфейсе внутренних адресов RFC 1918
>block in quick on $ext_if from $NoRouteIp to any
>block out quick on $ext_if from any to $NoRouteIp
>#Блокировка радио
>block drop out quick on $ext_if proto tcp from any to any
>port 8000
>block drop in quick on $ext_if proto tcp from any port 8000
>to any
>
>Вывод pfctl -sr
>scrub in all fragment reassemble
>block drop in quick on ! fxp0 inet from 192.168.1.0/24 to any
>
>block drop in quick inet from 192.168.1.1 to any
>block drop in quick on rl0 inet from 127.0.0.0/8 to any
>block drop in quick on rl0 inet from 192.168.1.0/24 to any
>block drop out quick on rl0 inet from any to 127.0.0.0/8
>block drop out quick on rl0 inet from any to 192.168.1.0/24
>block drop out quick on rl0 proto tcp from any to any
>port = 8000
>block drop in quick on rl0 proto tcp from any port =
>8000 to any

Можно попробовать добавить в начало правило
block in all
block out all
Что бы быть уверенным, что все в конце зарежется. А что показывает tcpdump когда пользователь слушает радио? Может оно по udp ходит..

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

4. "PF. Блокирование ESTABLISHED соединений"  
Сообщение от 118088 (ok) on 19-Мрт-06, 15:22 
>block drop out quick on rl0 proto tcp from any to $radio_server port 8000
>block drop in quick on rl0 proto tcp from $radio_server port 8000 to any

Попробуйте блокировать не на внешнем, а на внутреннем int_if="fxp0"
тогда будет

int_if="fxp0"   #Внутренний интерфейс
local_net="192.168.1.0/24"      #Внутренняя сеть
radio_server="A.B.C.D"
block quick on $int_if proto tcp from $local_net to $radio_server port 8000

Отпишитесь с результатом пожалуйста.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

5. "PF. Блокирование ESTABLISHED соединений"  
Сообщение от babay82 email(ok) on 20-Мрт-06, 15:06 
>
>Попробуйте блокировать не на внешнем, а на внутреннем int_if="fxp0"
>тогда будет
>
>int_if="fxp0"   #Внутренний интерфейс
>local_net="192.168.1.0/24"      #Внутренняя сеть
>radio_server="A.B.C.D"
>block quick on $int_if proto tcp from $local_net to $radio_server port 8000
>
>
>Отпишитесь с результатом пожалуйста.


Да, при блокировке на внутреннем интерфейсе, получилось оборвать соединения.
Огромное спасибо.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

6. "PF. Блокирование ESTABLISHED соединений"  
Сообщение от A Clockwork Orange on 20-Мрт-06, 15:52 
а как насчет флагов S и S/A
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

7. "PF. Блокирование ESTABLISHED соединений"  
Сообщение от 118088 (ok) on 20-Мрт-06, 22:52 
>а как насчет флагов S и S/A
добавить flags S/SA
)

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру