Фильтрация по реестру Роскомнадзор часть 3

Долгое время не доходили руки выложить новые скрипты для разбора последней версии реестра. 

И так, в реестре появились новые типы записей (поле blockType), которые могут принимать значения :

  • default — старый механизм поведения (поля url и ip существуют)
  • domain — блокировка по доменному имени (поле domain и ip существуют, но указаны как правило с ошибками)
  • ip — блокировка по ip-адресу безусловная

Если с типами default и ip все более-менее понятно, то что делать с типом domain — не ясно, в том числе из-за того что редакторы реестра как правило далеки от понимания как это все работает, и вносят туда информацию вида  www.pleer.com, вместо домена pleer.com .

В результате разделил парсер xml-parser.pl реестра от построителя конфигов. Результатом работы парсерса являются файлы domain.block (информация о заблокированных доменах и их адресах), ip.block (адреса безусловной блокировки), ip.filter (адреса на которых надо производить анализ URL запросов) и url.block (заблокированные URL-и).

Что с ними делать — целиком на Ваше усмотрение.

В скрипте make_config.pl строятся конфиги для системы фильтрации на оборудовании CISCO+WCCP+SQUID описанной в предыдущих статьях, причем сделана попытка агрегации сетей до /24 если количество хостов в сети более указанных в переменной $min_hosts. Если у Вас нет проблем с количеством ACL, то исключить агрегацию можно выставлением переменной $aggr_power в 0 .

loader.sh xml-parser.pl make_config.pl

Фильтрация по реестру Роскомнадзор часть 3: 1 комментарий

  1. Здравствуйте

    Не силен в перле и регулярных выражениях по этому не могу понять как ВСЕ ип встречающиеся в ходе обработки dump.xml запихать в один файл.
    Например у вас есть такая строка :

    case «domain» {

    print(FDOM punyencode_domain($domain).» «._ip($ip,»|»).»\n»);
    }
    Которая в файл domain.block складывает домен + его ип адреса
    Затем идет
    case «ip» {
    print(FIPB _ip($ip,»\n»));
    }
    Которая в файл ip.block складывает некие заблокированные ип адреса которых на данный момент всего 8 штук
    И вот тут я не могу понять чем в этих двух случаях отличается упоминание «$ip»

    Вопрос :
    Как на примере блока case «ip» сделать чтобы в FIPB попадали все IP адреса (IP из фильтра урл, из заблоченых доменов и т.д.)
    Спасибо

    п.с. использую схему bgp + squid + squidguard, по bgp заворачиваю все ип на squid машину а squidguard-ом фильтрую по domainlist и urllist

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *