Re: Помогите настроить безопасность микротика новичку-параноику
Добавлено: 16 мар 2018, 15:37
/del
Форум поддержи и обмена опытом пользователей оборудования RouterBOARD и операционной системы RouterOS Латвийского производителя MikroTik
https://forummikrotik.ru/
Про VPN - через любой DNS можно прогнать VPN, если винда еще не дошла до нормального DNS ( они научились наконец не делать openresolver из любого сервера?) это не значит, что не прибежит в обновлениями что-то соотв стандарту. и про VPN - сами показали что такой VPN это опасность, если он идет через ICMP ( просто читать вАМ было лень) и именно поэтому ICMP надо запретить.
Вам предложили оплатить показ "где у вАС проблема" ( ну кроме ДНК) на примере топового сайта ( можно не одного из мирового рейтинга 100к) . Или получить деньги, если проблемы нет и вЫ полностью и корректно описали свои конфиги. Морозитесь в ответ, а ведь что проще - если такая самоуверенность просто заработать денег ( можем повысить ставки до 200USD за задачу) .o12k9ks писал(а): ↑16 мар 2018, 17:15 Не встречал таких проблем, ЧТО Я ДЕЛАЮ НЕ ТАК? *facepalm* полный. Вы мне пытаетесь доказать, что у меня есть проблема, но у меня ее нет, КАК МНЕ ЕЕ НАЙТИ?я уже заинтригован
Мне уже страшно сайты открывать, открываю и думаю, блин вот вот, сейчас .... сейчас сейчас он не откроется нормально, зависнет на загрузке или глючит начнет![]()
а он все никак не виснет((
по частям: у меня микротика вообще нет дома ( так получилось что дома кошка 7201). Вы, вполне может быть встретили проблему, но посчитали ссылку битой или сайт покойником.o12k9ks писал(а): ↑16 мар 2018, 22:32
Я вам чесно скажу, у меня микротик лет 7, за это время я не встретил эту проблему, как не встретило их еще 2 человека двух компах и не встретили 4 андроид смартфона, поэтому, даже если вы найдете какой-то сайт, который у меня не откроется, то мне на это будет совершенно все равно, потому что те сайты на которых я бываю абсолютно нормально и практически молниеносно (хотя у меня 8M Инет) открываются, поэтому я не вижу тут проблемы. Я не говорю о том что ее нет 100%, я говорю о том, что даже если она есть, у меня ее за все это время не разу не возникло, а по этому мне абсолютно на эту проблему плевать. У меня закрыт ICMP и закрыт TCP53, корневые DNS сервера мой провайдер сроду не выдавал, ни один, поэтому трафика на 53 TCP я никогда не видел, хотя правило долго и упорно его там ждало. Тем самым закрыл две возможные дырки в безопасности, за это заплатил тем что когда нибудь возможно у меня какой-то сайт не открылся, но если за столько лет этого не произошло, то видимо, может быть уже никогда не произойдет, вы считаете это не правильным, потому что что-то может не открываться, я считаю это правильным потому что с проблемой ни разу не столкнулся и скорее всего не столкнусь. Поэтому давайте остановимся на том, что возможно проблема существует, но в моем случае она не проявляется и останемся каждый при своем. Спасибо за то что рассказали мне про возможные проблемы.
Спасибо Вам огромное за такой подробный ответ! Наверно он Вам не в 10 минут обошёлся) Я не знаю пока, на 100% ли я всё из перечисленного использую, но ознакомлюсь обязательно!o12k9ks писал(а): ↑16 мар 2018, 09:34together8 писал(а): ↑15 мар 2018, 21:27 Здравствуйте! Месяц назад куплен недорогой микротик. В процессе курения мануалов различных более опытных пользователей, настроил тырнет, локальную сеть, вифи. Разрешил трафик igmp для просмотра IPTV, заменил некоторые порты для подключения к микротику, ненужные - отключил. Пользователя тоже заменил и сделал сложный пароль. Сделал проброс порта до домашнего сервачка и настроил базовые правила контроля трафика в правилах фаервола. Вроде б все работает, но нет уверенности, что безопасность норм. Потому что в процессе поиска правил фаерволла видел немного разные реализации. Тут я тоже не нашел уверенного, никем не оспариваемого листинга правил фаервола. Братцы, опишите, пожалуйста, грамотные, правильные настройки фаервола.
1) если ICMP не надо то полностью отключить, как и отключить все остальные протоколы кроме TCP и UDP если ничего кроме них не нужно
2) если знаешь какие порты надо, то остальные отключить + отключить те порты которые рекомендуется отключить, которые используют для взлома
3) все Invalid пакеты в дроп
4) в настройках микротика TCP SynCoocies включить, RP filter включить
5) заблочить на вход 53 порт UDP для всех IP не своих DNS серверов
6) заблочить TCP 53 оба конца
7) сделать блоклист и дропать всех кто опрашивает порты
8) дропаем bogon сети
9) меняем мак и оставляем вход только по маку, поиск микротика для всех интерфейсов отрубаем
10) Wifi делаем скрытым
11) если доступ к микротику извне не нужен, тогда оставляем доступ только по маку и блочим весь трафик к микротику, ибо очень многие проги любят ломать микротик локально, ну и побезопаснее будет.
12) если используется NTP для синхронизации времени, то блочим все IP на UDP 123 кроме нашего сервера синхронизации времени
1) и 2) решается тем что в NAT прописывают только TCP и только UDP в этом случае пройдут только TCP и UDP пакеты, ну в твоем случае это будет еще и разрешение IGMP, остальное внутрь не пролезет, если что-то еще нужно, что бы работало, дописываем сюда же, в SRC прописываем внутреннюю сетку, в Out интервейс наш инет. Если что-то не может выйти в инет, значит временно отключаем указанные порты, смотрим по какому порту прога ходит в инет и добавляем его тут же. В моем случае выглядит это так:
и отключаем для себя ICMP так же, потому что мы его тоже можем генерировать, если нам оно не надо, то отрубаем. Ну как вариант можно оставить только ICMP отвечающий за пинг. Что бы какие-то узлы пинговать можно было.
тот трафик что видно на скрине это ICMP исходящий, т.к. на вход ICMP не разрешен на уроввне NATа, описано чуть выше. Так же исходящий ICMP трафик могут генерировать вири которые у нас в сети. Либо просто скрипт на каком-нибудь сайте сообщает хозяину, что нас можно ломать.
Вариант Б: Заблокировать только порты которые чаще всего исользуют для взлома список там не однозначный в плане конечности, но в основном на всех ресурсах (блочим эти порты, т.е. в нашем случае указываем в NAT [все порты кроме этих]).
Можно добавить в фаервол, но лучше в нате просто указать что бы не обрабатывать именно эти порты, тогда не придется их в фильтре фаервола обрабатывать:
add chain=tcp protocol=tcp dst-port=67-68 action=drop comment="deny DHCP"
add chain=tcp protocol=tcp dst-port=69 action=drop \ comment="deny TFTP"
add chain=tcp protocol=tcp dst-port=111 action=drop \ comment="deny RPC portmapper"
add chain=tcp protocol=tcp dst-port=135 action=drop \ comment="deny RPC portmapper"
add chain=tcp protocol=tcp dst-port=137-139 action=drop \ comment="deny NBT"
add chain=tcp protocol=tcp dst-port=445 action=drop \ comment="deny cifs"
add chain=tcp protocol=tcp dst-port=2049 action=drop comment="deny NFS"
add chain=tcp protocol=tcp dst-port=3133 action=drop comment="deny BackOriffice"
add chain=tcp protocol=tcp dst-port=12345-12346 action=drop comment="deny NetBus"
add chain=tcp protocol=tcp dst-port=20034 action=drop comment="deny NetBus"
Запретить udp порты в цепочке udp:
add chain=tcp protocol=udp dst-port=67-68 action=drop comment="deny DHCP"
add chain=tcp protocol=udp dst-port=69 action=drop \ comment="deny TFTP"
add chain=tcp protocol=udp dst-port=111 action=drop \ comment="deny RPC portmapper"
add chain=tcp protocol=udp dst-port=135 action=drop \ comment="deny RPC portmapper"
add chain=tcp protocol=udp dst-port=137-139 action=drop \ comment="deny NBT"
add chain=tcp protocol=udp dst-port=445 action=drop \ comment="deny cifs"
add chain=tcp protocol=udp dst-port=2049 action=drop comment="deny NFS"
add chain=tcp protocol=udp dst-port=3133 action=drop comment="deny BackOriffice"
add chain=tcp protocol=udp dst-port=12345-12346 action=drop comment="deny NetBus"
add chain=tcp protocol=udp dst-port=20034 action=drop comment="deny NetBus"
Либо так как вышел, либо более элегантно:
Если используется шара на вход, то некоторые порты просто так блочить не получится. И да список не полный, потому что в windows много дыр, но из основных это они.
3) Тут все просто, Invalid пакеты, это такие пакеты которые микротик внятно не может интерпритировать, тут варианта два, либо пакет битый, либо он намеренно модифицирован для взлома, т.к. ни первые, ни вторые нам не нужны, прощаемся с обоими.
4) Первая технология защищает от доса, вторая от подмены источника пакетов, более подробно можно почитать в инете.
IP > Settings >
5) и 6) Блочим не только UDP но и TCP, почему-то мало кто знает, но TCP тоже используется для DNS запросов и его никто не блочит, почем зря. Информацию можно найти в инете. TCP53 блочим как на вход так и на выход, аналог аппендицита, в обычной жизни не используется, а проблем доставить может очень много)
7)
5 ;;; Port scanners to list
chain=prerouting action=add-src-to-address-list protocol=tcp psd=21,3s,3,1 address-list=BLOCKLIST_IN_IP address-list-timeout=20w15h log=no log-prefix=""
6 chain=prerouting action=mark-packet new-packet-mark=drop_packets_mark passthrough=no protocol=tcp psd=21,3s,3,1 log=no log-prefix=""
7 ;;; NMAP FIN Stealth scan
chain=prerouting action=add-src-to-address-list tcp-flags=fin,!syn,!rst,!psh,!ack,!urg protocol=tcp address-list=BLOCKLIST_IN_IP address-list-timeout=20w15h log=no log-prefix=""
8 chain=prerouting action=mark-packet new-packet-mark=drop_packets_mark passthrough=no tcp-flags=fin,!syn,!rst,!psh,!ack,!urg protocol=tcp log=no log-prefix=""
9 ;;; SYN/FIN scan
chain=prerouting action=add-src-to-address-list tcp-flags=fin,syn protocol=tcp address-list=BLOCKLIST_IN_IP address-list-timeout=20w15h log=no log-prefix=""
10 chain=prerouting action=mark-packet new-packet-mark=drop_packets_mark passthrough=no tcp-flags=fin,syn protocol=tcp log=no log-prefix=""
11 ;;; SYN/RST scan
chain=prerouting action=add-src-to-address-list tcp-flags=syn,rst protocol=tcp address-list=BLOCKLIST_IN_IP address-list-timeout=20w15h log=no log-prefix=""
12 chain=prerouting action=mark-packet new-packet-mark=drop_packets_mark passthrough=no tcp-flags=syn,rst protocol=tcp log=no log-prefix=""
13 ;;; FIN/PSH/URG scan
chain=prerouting action=add-src-to-address-list tcp-flags=fin,psh,urg,!syn,!rst,!ack protocol=tcp address-list=BLOCKLIST_IN_IP address-list-timeout=20w15h log=no log-prefix=""
14 chain=prerouting action=mark-packet new-packet-mark=drop_packets_mark passthrough=no tcp-flags=fin,psh,urg,!syn,!rst,!ack protocol=tcp log=no log-prefix=""
15 ;;; ALL/ALL scan
chain=prerouting action=add-src-to-address-list tcp-flags=fin,syn,rst,psh,ack,urg protocol=tcp address-list=BLOCKLIST_IN_IP address-list-timeout=20w15h log=no log-prefix=""
16 chain=prerouting action=mark-packet new-packet-mark=drop_packets_mark passthrough=no tcp-flags=fin,syn,rst,psh,ack,urg protocol=tcp log=no log-prefix=""
17 ;;; NMAP NULL scan
chain=prerouting action=add-src-to-address-list tcp-flags=!fin,!syn,!rst,!psh,!ack,!urg protocol=tcp address-list=BLOCKLIST_IN_IP address-list-timeout=20w15h log=no log-prefix=""
18 chain=prerouting action=mark-packet new-packet-mark=drop_packets_mark passthrough=no tcp-flags=!fin,!syn,!rst,!psh,!ack,!urg protocol=tcp log=no log-prefix=""
Ну и дропаем все что с этих IP потом уже прилетает.
8)
Причем дропаем как на вход так и на выход, то что у нас на микротике все отлично, совсем не дает гарантии на то, что мы сами не будем генерировать богон трафик, а как известно быть его не должно. Есть правда исключения, например если наш провайдер зарезервировал для себя кусок богон сети, что конечно не правильно, но если очень хочется то конечно можно) в моем случае это 100 ая сетка, поэтому ее я убрал, в твоем случае надо смотреть.
/ip firewall address-list
add list="BOGONS" address=0.0.0.0/8
add list="BOGONS" address=10.0.0.0/8
add list="BOGONS" address=100.64.0.0/10
add list="BOGONS" address=127.0.0.0/8
add list="BOGONS" address=169.254.0.0/16
add list="BOGONS" address=172.16.0.0/12
add list="BOGONS" address=192.0.0.0/24
add list="BOGONS" address=192.0.2.0/24
add list="BOGONS" address=192.168.0.0/16
add list="BOGONS" address=198.18.0.0/15
add list="BOGONS" address=198.51.100.0/24
add list="BOGONS" address=203.0.113.0/24
add list="BOGONS" address=224.0.0.0/3
Соответсвенно либо прописываем для выхода отдельный лист где нет наших локальных IP, потому что если локальную сеть не прописать то она будет блочится. С богонами у меня еще не очень все гладко, поэтому просто привожу как есть с оф сайта, разберешься сам, а я еще недодумал как там правильно прописать)
9)
10)
В этом случае придется прописывать сетку вручную, но проблем со взломщиками поубавит
11)
Делаем доступ только по маку.
В доступе к микротику прописываем несуществующий IP адрес:
Прописываем в dst адресах адрес микротика и этот несуществующий адрес и все что на них идет дропаем
К сожалению не раз наблюдал картину, когда игры стучались на роутер, т.е. захожу в фаервол, смотрю какой трафик идет от dota2 и от steam а он идет на 255.255.255.255 т.е. на роутер, что ему там делать не знаю, размеры килобайты, потом однажды зашел на микротик и увидел в users, что кто-то сидит залогиненый, причем не как юзер а как service после этого делаю все описанное выше, проблема больше не возникает. Несуществующий IP прописываем, что бы микротик ждал входа из несуществующего адреса, у меня там другой адрес прописан, этот адрес просто как пример. Но понятно что нужно уметь ходить по маку, иначе доступа к микротику не будет вообще.
12) если используется NTP для синхронизации времени, то блочим все IP на UDP 123 кроме нашего сервера синхронизации времени. (на скрине все адреса в src*)
я использую 82.199.107.209 полный список серверов можно посмотреть тут: http://www.pool.ntp.org/zone/europe
Соответственно, если используется винда, то в ней тоже прописываем этот сервер, ну либо добавляем несколько в адреслист микротика
ps: и как новичку совет, все изменения делай с включенным SafeMode (пока она нажата, если что-то пошло не так и отрубился доступ к микротику, то микротик откатит все изменения в течении 10 мин и будет доступ, которые были сделаны до нажатия этой кнопки, ну и соответственно не придется сбрасывать хардварно, просто откатит изменения) и делай постоянные бэкапы конфигов. Ну и все разрешенные соединения делай established и related
ps.s:
и да, если есть кому грызть инет кроме тебя, сделай обязательно приотеризацию трафика, что бы домашние весь канал не забирали, ну или что бы ты не заберал у них, если конечно это нужно. в моем случае выглядит так:
если тебе тоже нужно, то поможем)
ps.s.s: спойлер почему-то не работает :( или я не знаю как именно он тут прописывается, извиняюсь