mausspb
@mausspb
web разработчик, системный администратор

Как запретить посещение некоторых сайтов по https в Routeros?

Сейчас блокируется все на 80 порту ля списка ip адресов(в локальной сети) , так же есть редирект для этого же списка на proxy , где так же режутся определенные сайты. Но если в редирект на proxy добавить 443 порт ( для нашего списка ip ), то режутся все https . Я так понял , что это связано с тем, что нельзя посмотреть зашифрованный траффик и отличить разрешенный url от запрещенного.
Есть ли способы фильтрации 443 на mokrotik Router OS ?
  • Вопрос задан
  • 6616 просмотров
Решения вопроса 1
@efkot
нет зашифрованный трафик вы не отсечете ни проксём ни лаер7
только в бан по ипам

я вот так баню
ip firewall layer7-protocol add name=block_site regexp="^.*(get|GET).+(odno(c|k)la(s|ss)niki|vk.com|ok.ru|vk.me).*\$"

для https всё сложней
system scheduler add interval=10m name=schedule on-event=script1 policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive

/system script
add name=script1 policy=ftp,reboot,read,write,policy,test,password,sensitive \
    source=":foreach i in=[/ip dns cache all find where (name~\"odnokl\" || na\
    me~\"vk.com\" || name~\"vk.me\") && (type=\"A\") ] do={\r\
    \n:local tmpAddress [/ip dns cache get \$i address];\r\
    \ndelay delay-time=10ms\r\
    \n#prevent script from using all cpu time\r\
    \n:if ( [/ip firewall address-list find where address=\$tmpAddress] = \"\"\
    ) do={ \r\
    \n:local cacheName [/ip dns cache get \$i name] ;\r\
    \n:log info (\"added entry: \$cacheName \$tmpAddress\");\r\
    \n/ip firewall address-list add address=\$tmpAddress list=blockSS timeout=\
    12:00:00 comment=\$cacheName;\r\
    \n}\r\
    \n}"

ip firewall filter add action=reject chain=forward dst-address-list=blockSS in-interface="eth 1" protocol=tcp reject-with=tcp-reset
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
xnscripter
@xnscripter
Поднимаю тему.
В RouterOS v6.48.3 поменялся синтаксис, работать будет так:

/system script add name=script_block policy=ftp,reboot,read,write,policy,test,password,sensitive source="
:foreach addr in=[/ip dns cache all find where (name~"vk.com" || name~"userapi.com" || name~"twitch.tv") && (type="A")] do={
  :local tmpAddress [/ip dns cache get $addr data];
  :delay 300ms;
  :if ([/ip firewall address-list find where address=$tmpAddress] = "") do={
    :local cacheName [/ip dns cache get $addr name];
    :log info "added entry: $cacheName $tmpAddress";
    /ip firewall address-list add address=$tmpAddress list=block timeout=24h comment=$cacheName;
  }
};"

/system scheduler add interval=10m name=schedule_block-sites on-event=script_block policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive

/ip firewall filter add action=reject chain=forward dst-address-list=block protocol=tcp reject-with=tcp-reset

В firewall filter - Src. Address List можно добавить название списка пользователей со статикой,
кому будем блокировать доступ.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы