Alias URL Table



  • Добрый день.
    Подскажите, как в Alias URL Table указать исключение блока IP адресов?
    10.0.0.0/8
    !10.8.8.0/24
    Это пример. Дело в том что при просмотре таблицы не видно именно строки исключения.



  • @lucas1 По идее подсети задаются в Firewall->Aliases->IP.
    А Собственно исключения (!) с этими алиаасами задаются при создании правил.



  • Я не нашел как в правиле указать исключение !.
    Вообще я хочу создать правило в котором указан источник таблица со строками каких-то моих подсетей. Но из этих подсетей мне надо исключить некий диапазон IP-адресов. Это цитата из книги по настройке pf в OpenBSD, чтобы точно указать, что мне надо.

    You can specifically exclude a section of network numbers from a table by using the negation (!)
    operator. This lets you make tables easily with entries such as "Every IP address beginning with
    10, except for the 10.8.8.0/24 block."
    table <remote> {10.0.0.0/8, !10.8.8.0/24}
    You can also use a similar entry in a file:
    10.0.0.0/8
    !10.8.8.0/24

    В PfSense как это сделать? Табличный файл создал, втянул эту таблицу в Firewall\Aliases\URLs. Но повторюсь при просмотре Diagnostics\Tables именно исключений не видно.



  • @lucas1 said in Alias URL Table:

    Но повторюсь при просмотре Diagnostics\Tables именно исключений не видно.

    Они там и не появятся. При создании любого правила для Source\ Destination есть опция Invert match.
    Это и есть (!). И, еще раз, задается она в собственно правиле, где вы можете использовать алиасы, хоть с negation (!=Invert match), хоть без.



  • Спасибо за подсказку опции Invert match в правилах.
    Я за это как-то забыл. Но ведь получается соответствие: все - кроме исключений адресов, которые я указал.
    А хотелось бы соответствие: данная подсеть - кроме исключений адресов этой подсети, которые я указал.

    Я думаю это особенно актуально для правил LAN.

    Тем более в классическом packet filter такое было.



  • @lucas1 в классическом pf файл pf.conf Вы создаёте сами, а тут программа. Не все функции pf можно реализовать через Web интерфейс,к сожалению. Приходится мириться с этим, или 'допиливать' софт под себя.



  • Еще хочу уточнить. В Firewall\Aliases\ возможно ли использование при указании FQDNs знаков подстановки * и ?. Ну вроде как t?st*dd.com или *.test.com?



  • @lucas1 а как по-вашему будет найден ip адрес алиаса со знаком '*'? Pf в своих правилах оперирует ip адресами, а не доменными именами



  • @lucas1 Если у Вас стоит задача отфильтровывать трафик по доменному имени , то надо использовать прокси или более хитрые технологии , умеющие "копаться" в содержимом IP,TCP/UDP пакета .

    В чем состоит задача ?



  • есть необходимость отключить доступ на некоторые сайты в Интернете. О каких более хитрых технологиях вы писали?



  • @lucas1 Доброе утро
    Отключить по ip или по доменному имени ????
    Желательна конкретика , хотя бы для примера ( реальном примере )



  • По доменному имени. Например facebook.com, vk.com, twitter.com и т.д.



  • @lucas1
    Рассмотрите squid



  • А если без Suid ?0_1551257101080_f9bf0522-d262-474b-9d55-eb2208098627-изображение.png

    Простой Алиас и применяем к конкретному IP или сети x.x.x.x/x



  • @oleg1969
    А если IP "плавающий" ?
    Например , для paypal.com всякий раз разные IP возвращает DNS сервер
    Я бы тут блокировал все на уровне DNS запроса
    c 3-х разных хостов пинг paypal.ru
    64 bytes from 23.12.80.69: icmp_seq=0 ttl=55 time=18.652 ms
    64 bytes from 23.12.80.69: icmp_seq=1 ttl=55 time=18.532 ms

    64 bytes from 23.200.145.66: icmp_seq=0 ttl=58 time=54.327 ms
    64 bytes from 23.200.145.66: icmp_seq=1 ttl=58 time=55.026 ms
    64 bytes from 23.200.145.66: icmp_seq=2 ttl=58 time=54.514 ms

    64 bytes from a23-37-170-170.deploy.static.akamaitechnologies.com (23.37.170.170): icmp_seq=1 ttl=59 time=5.77 ms
    64 bytes from a23-37-170-170.deploy.static.akamaitechnologies.com (23.37.170.170): icmp_seq=2 ttl=59 time=5.48 ms



  • @konstanti said in Alias URL Table:

    @oleg1969
    А если IP "плавающий" ?

    Ну тогда pfBlockerNG0_1551257475227_460d2fc1-55b3-440e-937b-1d60ea1fe72e-изображение.png



  • @oleg1969 said in Alias URL Table:

    @konstanti said in Alias URL Table:

    @oleg1969
    А если IP "плавающий" ?

    Ну тогда pfBlockerNG!

    Только не надо забывать, что необходимо будет заблокировать все альтернативные способы ресолва DNS записей.





  • Да покв без Squid. Насчет плавающего IP. Т.е. FQDN в Firewall\Aliases\ разрешаются при старте PfSense,потом кешируются, а не при каждом обращении к правилу? А списки FQDN pfBlockerNG работают по другому?



  • @lucas1
    По поводу "плавающего" ip - для того чтобы отловить такое , нужно по ip получать имя хоста , и тогда уже проверять , совпадет - не совпадет. Думаю , что PF такое не умеет .
    Полагаю , что PFBlocker работает с DNS запросами и уже по ним анализирует свои списки доступа .



  • То, что paypal.ru отдает разные IP - это я полагаю опция round-robin DNS сервера.

    Визуально списки FQDN Firewall\Aliases\ и pfBlockerNG ничем не отличаются. Я понимаю, что задача pfBlockerNG автоматически создать правило на основе конкретного списка, указанного в настройках pfBlockerNG. Т.е. либо вручную правило через списки FQDN Firewall\Aliases\ создавать, либо автоматически через pfBlockerNG. Вопрос в том, что непонятно как происходит разрешение конкретного FQDN в данном списке для данного правила, содержащего Alias. Т.е я хотел сказать если nslookup paypal.ru разрешается сейчас в 64.4.250.13 64.4.250.14 64.4.250.19 64.4.250.20,
    то при наличии FQDN paypal.ru в алиасе в правиле, разрешение FQDN будет разовым или постоянным при обращении к правилу? Єто я на случай, если завтра nslookup paypal.ru будет разрешаться вообще в другие IP, а PfSense не перезагружался.



  • @lucas1 said in Alias URL Table:

    то при наличии FQDN paypal.ru в алиасе в правиле, разрешение FQDN будет разовым или постоянным при обращении к правилу? Єто я на случай, если завтра nslookup paypal.ru будет разрешаться вообще в другие IP, а PfSense не перезагружался.

    Все зависит от настройки PfSense, где-то есть настройка с какой периодичностью ресолвятся домены из списков, System / Advanced / Firewall & NAT / Aliases Hostnames Resolve Interval 300 секунд



  • Спасибо за ответ.



  • @konstanti

    По поводу "плавающего" ip - для того чтобы отловить такое , нужно по ip получать имя хоста , и тогда уже проверять , совпадет - не совпадет. Думаю , что PF такое не умеет .

    Полагаю , что PFBlocker работает с DNS запросами и уже по ним анализирует свои списки доступа .

    1. Заворачиваем все dns-запросы на пф https://docs.netgate.com/pfsense/en/latest/dns/redirecting-all-dns-requests-to-pfsense.html
      Опционально:
    2. Устанавливаем cron
    3. Добавляем в cron */5 * * * * root /usr/bin/killall -9 filterdns ; /bin/sleep 5 ; /usr/local/sbin/filterdns -p /var/run/filterdns.pid -i 300 -c /var/etc/filterdns.conf -d 1

    У меня без пп.2-3 неоперативно отрабатывалось разрешение имен в Сети для клиентов.



  • Как вариант, можно попробовать воспользоваться директивой ipset в dnsmasq — вроде как для pfSense он собирается с ней.


Log in to reply