BSDPORTAL.RU

На этом сайте обсуждаются вопросы использования ОС FreeBSD
 Портал  •  Статьи  •  Форум  •  Wiki  •  Поиск  •  FAQ  •  Обои  •   Официальная документация  •  Новые темы 

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 33 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Блокирование TeamViewer
СообщениеДобавлено: Чт 18 июл, 2013 2:52 pm 
Не в сети

Зарегистрирован: Вт 25 апр, 2006 5:31 pm
Сообщения: 890
Собственно блокировка работает, но надо некоторые хосты, к примеру 95.211.162.245, из списка блокированных подсетей открыть и вот это не получается.
pf.conf такой:
Код:
set limit states 200000
set limit src-nodes 200000
set limit frags 1000000
set limit tables 20000
set limit table-entries 40000000

set skip on lo

ext_if = "fxp1"
int_if = "fxp0"
vpn_grp = "tun"
non_route_nets_inet = "{ 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 }"
table <vpn_users> { 172.16.16.32/27 }
table <tim_ip> { 46.4.68.241, 151.1.182.135, 46.105.99.126, 92.51.171.0/24, 46.165.192.0/24, 95.211.58.0/16,\
            89.185.96.0/24, 178.77.120.0/24, 202.143.0.0/16, 216.108.0.0/16, 217.172.187.0/24, 80.237.0.0/16\
            81.169.0.0/16, 87.230.0.0/16, 87.230.74.0/24 }


antispoof quick for $ext_if

pass #to establish keep-state
block in on $ext_if
block drop in log quick on $ext_if from $non_route_nets_inet to any
block out quick on $ext_if from any to <tim_ip>

pass out on $ext_if from <vpn_users> nat-to ($ext_if)
pass in on $int_if inet proto tcp from ($int_if:network) to ($int_if) port pptp keep state
pass in on $int_if inet proto 47 from ($int_if:network) to ($int_if) keep state
pass in on $vpn_grp inet from <vpn_users> to ! (self) keep state

пробовал такое правило:
Код:
. . .
pass out quick on $ext_if from any to 95.211.162.245
block out quick on $ext_if from any to <tim_ip>
. . .

c роутера доступ есть, из vpn туннелей нет, наведите на правильное правило в данной ситуации


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Блокирование TeamViewer
СообщениеДобавлено: Чт 18 июл, 2013 4:00 pm 
Не в сети

Зарегистрирован: Вт 19 фев, 2008 10:54 am
Сообщения: 536
Откуда: Vladimir
Можно попробовать
Код:
block out quick on $ext_if from any to { <tim_ip>, !95.211.162.245 }

но не факт что сработает, так как ip содержится и в таблице <tim_ip>
Попробуйте создать отдельную таблицу для ip, которые нужно исключить. Так легче будет разруливать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Блокирование TeamViewer
СообщениеДобавлено: Чт 18 июл, 2013 4:14 pm 
Не в сети

Зарегистрирован: Вт 25 апр, 2006 5:31 pm
Сообщения: 890
neyromant писал(а):
Можно попробовать
Код:
block out quick on $ext_if from any to { <tim_ip>, !95.211.162.245 }

но не факт что сработает, так как ip содержится и в таблице <tim_ip>
Попробуйте создать отдельную таблицу для ip, которые нужно исключить. Так легче будет разруливать.

При таком правиле, не трудно догадаться, что будет блокирован весь инет, кроме 95.211.162.245 ибо оно развернется в 2:
Код:
block drop out quick on fxp1 from any to <tim_ip>
block drop out quick on fxp1 inet from any to ! 95.211.162.245

и второе как раз блокирует все


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Блокирование TeamViewer
СообщениеДобавлено: Чт 18 июл, 2013 4:22 pm 
Не в сети

Зарегистрирован: Вт 19 фев, 2008 10:54 am
Сообщения: 536
Откуда: Vladimir
GreenDragon писал(а):
neyromant писал(а):
Можно попробовать
Код:
block out quick on $ext_if from any to { <tim_ip>, !95.211.162.245 }

но не факт что сработает, так как ip содержится и в таблице <tim_ip>
Попробуйте создать отдельную таблицу для ip, которые нужно исключить. Так легче будет разруливать.

При таком правиле, не трудно догадаться, что будет блокирован весь инет, кроме 95.211.162.245 ибо оно развернется в 2:
Код:
block drop out quick on fxp1 from any to <tim_ip>
block drop out quick on fxp1 inet from any to ! 95.211.162.245

и второе как раз блокирует все

Оставте
Код:
block drop out quick on fxp1 inet from any to ! 95.211.162.245

Блокирнет все, кроме указанного адреса, но как уже писал, лучьше отдельно создать таблицу, если будет не один адрес, а вероятность появления еще исключающих адресов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Блокирование TeamViewer
СообщениеДобавлено: Чт 18 июл, 2013 4:25 pm 
Не в сети

Зарегистрирован: Вт 25 апр, 2006 5:31 pm
Сообщения: 890
neyromant писал(а):
Оставте
Код:
block drop out quick on fxp1 inet from any to ! 95.211.162.245

Блокирнет все, кроме указанного адреса, но как уже писал, лучьше отдельно создать таблицу, если будет не один адрес, а вероятность появления еще исключающих адресов.

и что, в эту таблицу загнать все подсети мира?
Вы видимо не поняли свое правило - оно блокирует все, кроме 95.211.162.245, то же google.com, bsdportal.ru и т.д
Мне же нужно блокировать только то, что в таблице <tim_ip>, но с исключением из перечисленных подсетей в ней некоторых IP


Последний раз редактировалось GreenDragon Чт 18 июл, 2013 4:31 pm, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Блокирование TeamViewer
СообщениеДобавлено: Чт 18 июл, 2013 4:30 pm 
Не в сети

Зарегистрирован: Вт 19 фев, 2008 10:54 am
Сообщения: 536
Откуда: Vladimir
А так
Код:
pass out quick on $ext_if from any to 95.211.162.245 keep state
pass in quick on $ext_if from any to 95.211.162.245
block out quick on $ext_if from any to <tim_ip>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Блокирование TeamViewer
СообщениеДобавлено: Чт 18 июл, 2013 4:35 pm 
Не в сети

Зарегистрирован: Вт 25 апр, 2006 5:31 pm
Сообщения: 890
увы через tun интерфейсы не работает
для ext_if достаточно правила для out, а вот для tun, которые натятся на этом интерфейсе закрыто


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Блокирование TeamViewer
СообщениеДобавлено: Чт 18 июл, 2013 4:38 pm 
Не в сети

Зарегистрирован: Вт 19 фев, 2008 10:54 am
Сообщения: 536
Откуда: Vladimir
GreenDragon писал(а):
увы через tun интерфейсы не работает
для ext_if достаточно правила для out, а вот для tun, которые натятся на этом интерфейсе закрыто

А что мешает попробовать и дописать перед общим блокированием такие же правила как и для ext_if, только для tun?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Блокирование TeamViewer
СообщениеДобавлено: Чт 18 июл, 2013 4:46 pm 
Не в сети

Зарегистрирован: Вт 25 апр, 2006 5:31 pm
Сообщения: 890
neyromant писал(а):
GreenDragon писал(а):
увы через tun интерфейсы не работает
для ext_if достаточно правила для out, а вот для tun, которые натятся на этом интерфейсе закрыто

А что мешает попробовать и дописать перед общим блокированием такие же правила как и для ext_if, только для tun?

Как Вы себе это представляете?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Блокирование TeamViewer
СообщениеДобавлено: Чт 18 июл, 2013 4:55 pm 
Не в сети

Зарегистрирован: Вт 19 фев, 2008 10:54 am
Сообщения: 536
Откуда: Vladimir
Что то типа такого.
Код:
pass out quick on $ext_if from any to 95.211.162.245 keep state
pass out quick on $vpn_grp from any to 95.211.162.245 keep state
block out quick on $ext_if from any to <tim_ip>

С pf в OpenBSD не работал, только в FreeBSD.
Когда то инет у меня поднимался через pppd и так же был интерфейс tun, только tun0.
Я конечно не гуру, но почему к данному интерфейсу нельзя прописать правила?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Блокирование TeamViewer
СообщениеДобавлено: Чт 18 июл, 2013 5:10 pm 
Не в сети

Зарегистрирован: Вт 25 апр, 2006 5:31 pm
Сообщения: 890
я тоже не гуру :)
почему нельзя - можно, но только такое правило не работает
дело в том, что tun это не один интерфейс
Ок, спасибо за попытку помочь, пойду домой думать


Последний раз редактировалось GreenDragon Чт 18 июл, 2013 5:14 pm, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Блокирование TeamViewer
СообщениеДобавлено: Чт 18 июл, 2013 5:12 pm 
Не в сети

Зарегистрирован: Вт 19 фев, 2008 10:54 am
Сообщения: 536
Откуда: Vladimir
GreenDragon писал(а):
я тоже не гуру :)
почему нельзя - можно, но только такое правило не работатет

Попробуйте на этот интерфейс и входящее разрешение прописать.
Экспериментируйте и все получится)))
У Вас ведь 3 интерфейса, внешний, внутренний и тунельный, так вот посмотрите и подумайте на каком из них может идти блокировка.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Блокирование TeamViewer
СообщениеДобавлено: Чт 18 июл, 2013 5:16 pm 
Не в сети

Зарегистрирован: Вт 25 апр, 2006 5:31 pm
Сообщения: 890
нет не три, tun-ов может быть сколько угодно, их количество для данного случая описано таблицей
Код:
table <vpn_users> { 172.16.16.32/27 }


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Блокирование TeamViewer
СообщениеДобавлено: Чт 18 июл, 2013 5:17 pm 
Не в сети

Зарегистрирован: Вт 19 фев, 2008 10:54 am
Сообщения: 536
Откуда: Vladimir
GreenDragon писал(а):
нет не три, tun-ов может быть сколько угодно, их количество для данного случая описано таблицей
Код:
table <vpn_users> { 172.16.16.32/27 }

Да я понимаю, просто под третьим обобщил поднимаемые тунели)))))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Блокирование TeamViewer
СообщениеДобавлено: Пт 19 июл, 2013 2:03 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пт 23 янв, 2004 1:07 pm
Сообщения: 581
Откуда: Yaroslavl
Дык в саму таблицу забей этот адрес с отрицанием.
Тогда у тебя и будет одно правило с одной таблицей.
вот пример из доки:

Цитата:
Addresses can also be specified using the negation (or "not") modifier such as:
table <goodguys> { 192.0.2.0/24, !192.0.2.5 }
The goodguys table will now match all addresses in the 192.0.2.0/24 network except for 192.0.2.5.

_________________
Я одну мечту скрывая нежу
Что я сердцем чист
Но и я кого нибудь зарежу
Под осенний свист


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Блокирование TeamViewer
СообщениеДобавлено: Пт 19 июл, 2013 4:16 pm 
Не в сети

Зарегистрирован: Вт 25 апр, 2006 5:31 pm
Сообщения: 890
нужно было вот так сделать
Код:
# grep -v "^#" /etc/pf.conf
set limit states 200000
set limit src-nodes 200000
set limit frags 1000000
set limit tables 20000
set limit table-entries 40000000

set skip on lo

ext_if = "fxp1"
int_if = "fxp0"
vpn_grp = "tun"
non_route_nets_inet = "{ 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 }"
table <vpn_users> { 172.16.16.32/27 }
table <tim_ip> { !95.211.162.245, 46.4.68.241, 151.1.182.135, 46.105.99.126, 92.51.171.0/24, 46.165.192.0/24, 95.211.58.0/16,\
            89.185.96.0/24, 178.77.120.0/24, 202.143.0.0/16, 216.108.0.0/16, 217.172.187.0/24, 80.237.0.0/16\
            81.169.0.0/16, 87.230.0.0/16, 87.230.74.0/24 }


antispoof quick for $ext_if

pass #to establish keep-state
block in on $ext_if
block drop in log quick on $ext_if from $non_route_nets_inet to any

pass out quick on $ext_if from any to <tim_ip> # !!! вместо block и добавить !95.211.162.245 в таблицу <tim_ip> !!!

pass out on $ext_if from <vpn_users> nat-to ($ext_if)
pass in on $int_if inet proto tcp from ($int_if:network) to ($int_if) port pptp keep state
pass in on $int_if inet proto 47 from ($int_if:network) to ($int_if) keep state
pass in on $vpn_grp inet from <vpn_users> to ! (self) keep state




Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Блокирование TeamViewer
СообщениеДобавлено: Пт 19 июл, 2013 5:24 pm 
Не в сети

Зарегистрирован: Вт 25 апр, 2006 5:31 pm
Сообщения: 890
Код:
pass out quick on $ext_if from any to <tim_ip>

вообще чем дольше смотрю на это правило тем меньше его понимаю
по идее должно пропускаться все что соответствует таблице, кроме !95.211.162.245, а получается наоборот


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Блокирование TeamViewer
СообщениеДобавлено: Пн 22 июл, 2013 10:46 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пт 23 янв, 2004 1:07 pm
Сообщения: 581
Откуда: Yaroslavl
параметры при который правило срабатывает - from any to <tim_ip>
таблица это такой же "match"
адрес соответствует таблице, если он в одном из указанных диапазонов И НЕ принадлежит адресам "с отрицанием"
IMHO логично.

_________________
Я одну мечту скрывая нежу
Что я сердцем чист
Но и я кого нибудь зарежу
Под осенний свист


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Блокирование TeamViewer
СообщениеДобавлено: Вт 23 июл, 2013 9:53 am 
Не в сети

Зарегистрирован: Вт 25 апр, 2006 5:31 pm
Сообщения: 890
GreenX писал(а):
параметры при который правило срабатывает - from any to <tim_ip>
таблица это такой же "match"
адрес соответствует таблице, если он в одном из указанных диапазонов И НЕ принадлежит адресам "с отрицанием"
IMHO логично.
что-то тогда у меня с логикой плохо. Я понимаю это правило так:

пропустить исходящие пакеты на интерфейсе $ext_if от любого IP к IP, указанным в таблице <tim_ip>, кроме тех, перед которыми в таблице стоит отрицание и последующие правила к этим пакетам не применять.
Это правильно?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Блокирование TeamViewer
СообщениеДобавлено: Вт 23 июл, 2013 10:46 am 
Не в сети
Аватара пользователя

Зарегистрирован: Пт 23 янв, 2004 1:07 pm
Сообщения: 581
Откуда: Yaroslavl
Не совсем правильно - вы усложняете.
Правило работает если пакет соответствует параметрам.
Параметров у вас три: интерфейс, направление и DST IP.
Сейчас для нас важен один - DST IP и он таблица.
Если упростить, то схема примерно такая:
Вызывается функция с двумя аргументами (IP и имя таблицы) а возвращает она - входит указанный IP в множество таблицы или нет.
Т.е. нет там ничего хитрого - с отрицанием без отрицания. Просто match or not.
И если параметры соответствуют (match), то применяется действие (pass).

_________________
Я одну мечту скрывая нежу
Что я сердцем чист
Но и я кого нибудь зарежу
Под осенний свист


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 33 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Зарегистрированные пользователи: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
Яндекс.Метрика