Как настроить и защитить Mikrotik от вражеских вторжений из вне?

mikrotik - маршрутизатор, роутер, точка доступа.

Как настроить Mikrotik? Как защитить Mikrotik от вражеских вторжений из вне?
Первоначальная настройка Mikrotik — роутера (маршрутизатора). Первоначальная защита Mikrotik.

Для защиты Mikrotik маршрутизатора необходимо:
1. Сменить пароля администратора.
2. Отключить лишние, не востребованные сервисы.
3. Включить NAT
4. Настроить Firewall — организовать фильтрацию и прохождение пакетов.


P.S. после команды setup, R, — роутер сотрёт все настройки, но не пароли, к нему можно подключиться через WinBox по IP — 192.168.88.1

Настройка из консоли:
имя admin, пароль пустой.
Если вы забудете пароль — вас спасёт только полный резет — переустановка маршрутизатора!
Меняем пароль:
>user edit admin password
Открывается редактор, — вводим новый пароль. Для сохранения и ыхода жмём Ctrl+o (контрл и одновременно букву о)
Можно добавить нового пользователя, на всякий случай:
>use add name=mkt password=12345 group=full

Смотрим какие есть интерфейсы:
>interface print
Flags: D — dynamic, X — disabled, R — running, S — slave
# NAME TYPE MTU L2MTU MAX-L2MTU
0 X ;;; WAN
ether1 ether 1500 1600 1600
1 X ;;; LAN
ether2 ether 1500 1600 1600

Активируем нужные:
>interface enable 0
>interface enable 1
>interface print
Flags: D — dynamic, X — disabled, R — running, S — slave
# NAME TYPE MTU L2MTU MAX-L2MTU
0 R ;;; WAN
ether1 ether 1500 1600 1600
1 R ;;; LAN
ether2 ether 1500 1600 1600

Смотрим IP:
> ip address print
Для примера возьмём следующие параметры:
Провайдер(интернет) — 195.196.10.50
GW (шлюз) — 195.196.10.49
DNS server — 195.196.11.10, 195.196.12,10
Локальная сеть (внутренняя) — 192.168.18.0/24
Добавляем ip провайдера:
>ip address add address=195.196.10.10/30 interface=ether1
Добавляем локалку:
>ip address add address=192.168.18.0/24 interface=ether2
Смотрим что вышло:
> ip address print
Добавляем шлюз прова:
> ip route add gateway=195.196.10.49
Смотрим:
> ip route print

Добавляем DNS провайдера интернет:
> ip dns set servers=195.196.11.10,195.196.12,10 allow-remote-request=yes

Включить NAT (masquerade):
> ip firewall nat add chain=srcnat action=masquerade out-interface=ether1
После этих настроек у внутренней сети появится интернет.

Настроить Firewall, т.е. необходимо организовать фильтрацию пакетов (цепочки input), и естественно чтобы после защиты ваша сеть смогла работать — организовать прохождение пакетов — это цепочки forward:

P.S Для начала зайдите — через WinBox — IP -> Firewall -> Service Port — отключите всё Disable, оставьте то что необходимо, а именно в нашем случае pptp (VPN server), и если вы хотите задействовать встроенный FTP — ftp

Добавляем правила:
ip firewall filter add chain=input connection-state=invalid action=drop comment=»Drop Invalid connections»
ip firewall filter add chain=input connection-state=established action=accept comment=»Allow Established connections»
ip firewall filter add chain=input protocol=udp action=accept comment=»Allow UDP»
ip firewall filter add chain=input protocol=icmp action=accept comment=»Allow ICMP»
ip firewall filter add chain=input src-address=192.168.0.0/24 action=accept comment=»Allow access from local network»
Следующие два правила — если вы хотите настроить доступ через ваш Mikrotik, в вашу внутреннюю сеть по VPN (pptp server)
Первое — открывает порт 1723, второе разрешает протокол 47(GRE).
ip firewall filter add chain=input action=accept protocol=tcp dst-port=1723 comment=»Allow access to VPN»
ip firewall filter add chain=input action=accept protocol=gre comment=»If you have a VPN (pptp server)»
Следующее правило позволяет подключаться к вашему Mikrotik через WinBox (порт по умолчанию 8291)
P.S Естественно нужно настроить «IP Service LIST» IP -> Services -> IP Service List, щёлкнуть мышкой по строчке winbox, откроется окно редактирования данных -> изменить IP на тот, с которого вы будете подключаться, тоже самое необходимо проделать с SSH и WWW, все остальные сервисы отключить — disable. (ip_address_allow — ваш IP)
ip firewall filter add chain=input action=accept protocol=tcp src-address=ip_address_allow dst-port=8291 comment=»Allow access over WinBox»
ip firewall filter add chain=input action=accept protocol=tcp src-address=ip_address_allow dst-port=22 comment=»Allow access over SSH»
ip firewall filter add chain=input action=accept protocol=tcp src-address=ip_address_allow dst-port=80 comment=»Allow access over WWW»
Если вы хотите задействовать встроенный FTP:
ip firewall filter add chain=input action=accept protocol=tcp src-address=ip_address_allow dst-port=21 comment=»Allow access to FTP»
Всё остальное рубим:
ip firewall filter add chain=input action=drop comment=»Drop reject all other»

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

ip firewall filter add chain=forward protocol=tcp connection-state=invalid action=drop comment=»Drop invalid connections»
ip firewall filter add chain=forward connection-state=established action=accept comment=»Allow already established connections»
ip firewall filter add chain=forward connection-state=related action=accept comment=»Allow related connections»
На всякий случай разрешаем прохождение GRE протокола:
ip firewall filter add chain=forward protocol=gre action=accept comment=»Allow GRE»
Если у вас есть сервер VPN, для запуска RDP (удалённый рабочий стол) разрешить прохождение на порт 3389.
ip firewall filter add chain=forward protocol=tcp dst-port=3389 action=accept comment=»Allow 3389″

Блокируем IP адреса внутренних сетей.
ip firewall filter add chain=forward src-address=0.0.0.0/8 action=drop
ip firewall filter add chain=forward dst-address=0.0.0.0/8 action=drop
ip firewall filter add chain=forward src-address=127.0.0.0/8 action=drop
ip firewall filter add chain=forward dst-address=127.0.0.0/8 action=drop
ip firewall filter add chain=forward src-address=224.0.0.0/3 action=drop
ip firewall filter add chain=forward dst-address=224.0.0.0/3 action=drop

Либо:
ip firewall filter add chain forward protocol=udp action=accept comment=»Allow UDP»
ip firewall filter add chain forward protocol=icmp action=accept comment=»Allow ICMP Ping»
Либо:
Для icmp, udp и tcp трафика создадим цепочки, куда будем сбрасывать нежелательные пакеты:
Создадим переход в новые цепочки
ip firewall filter add chain=forward protocol=tcp action=jump jump-target=tcp
ip firewall filter add chain=forward protocol=udp action=jump jump-target=udp
ip firewall filter add chain=forward protocol=icmp action=jump jump-target=icmp

Создадим правила tcp для цепочке tcp и запретим некоторые порты:
ip firewall filter add chain=tcp protocol=tcp dst-port=69 action=drop comment=»Deny TFTP»
ip firewall filter add chain=tcp protocol=tcp dst-port=111 action=drop comment=»Deny RPC portmapper»
ip firewall filter add chain=tcp protocol=tcp dst-port=135 action=drop comment=»Deny RPC portmapper»
ip firewall filter add chain=tcp protocol=tcp dst-port=137-139 action=drop comment=»Deny NBT»
ip firewall filter add chain=tcp protocol=tcp dst-port=445 action=drop comment=»Deny Cifs»
ip firewall filter add chain=tcp protocol=tcp dst-port=2049 action=drop comment=»Deny NFS»
ip firewall filter add chain=tcp protocol=tcp dst-port=12345-12346 action=drop comment=»Deny NetBus»
ip firewall filter add chain=tcp protocol=tcp dst-port=20034 action=drop comment=»Deny NetBus»
ip firewall filter add chain=tcp protocol=tcp dst-port=3133 action=drop comment=»Deny BackOriffice»
ip firewall filter add chain=tcp protocol=tcp dst-port=67-68 action=drop comment=»Deny DHCP»

Запретим udp порты для цепочки udp:
ip firewall filter add chain=udp protocol=udp dst-port=69 action=drop comment=»Deny TFTP»
ip firewall filter add chain=udp protocol=udp dst-port=111 action=drop comment=»Deny PRC portmapper»
ip firewall filter add chain=udp protocol=udp dst-port=135 action=drop comment=»Deny PRC portmapper»
ip firewall filter add chain=udp protocol=udp dst-port=137-139 action=drop comment=»Deny NBT»
ip firewall filter add chain=udp protocol=udp dst-port=2049 action=drop comment=»Deny NFS»
ip firewall filter add chain=udp protocol=udp dst-port=3133 action=drop comment=»Deny BackOriffice»

Разрешим только необходимые icmp коды для icmp цепочки:
ip firewall filter add chain=icmp protocol=icmp icmp-options=0:0 action=accept comment=»Drop invalid connections»
ip firewall filter add chain=icmp protocol=icmp icmp-options=3:0 action=accept comment=»Dllow established connections»
ip firewall filter add chain=icmp protocol=icmp icmp-options=3:1 action=accept comment=»Allow already established connections»
ip firewall filter add chain=icmp protocol=icmp icmp-options=4:0 action=accept comment=»Allow source quench»
ip firewall filter add chain=icmp protocol=icmp icmp-options=8:0 action=accept comment=»Allow echo request»
ip firewall filter add chain=icmp protocol=icmp icmp-options=11:0 action=accept comment=»Allow time exceed»
ip firewall filter add chain=icmp protocol=icmp icmp-options=12:0 action=accept comment=»Allow parameter bad»
ip firewall filter add chain=icmp action=drop comment=»deny all other types»

И на последок запрещаем всё оставшееся:
> ip firewall filter add chain=forward action=drop comment=»Drop all»

После такой защиты Mikrotik готов к работе.
Вашего маршрутизатор можно спокойно использовать как шлюз в интернет для локальной сети. Теперь спокойно и вдумчиво разбираться со всеми оставшимися интерфейсами, сервисами и графиками.

12 thoughts on “Как настроить и защитить Mikrotik от вражеских вторжений из вне?

  1. Илья, а если на роутере через QuickSet были установелы галки в полях NAT, Firewall для защиты соеднения с интернетом, то как зайти потом в Winbox? Не получается ничего, а Резет делать не хочется очень.
    Борд: RB2011UAS-2hd-in
    Ругается:
    — при попытке через Winbox (MAC) — Could not connect to _ (mac adress)_ (port 20561) — timed out!
    — при попытке через Winbox (IP) — долго коннектится на port 8291, потом пишет Port 0, после чего сообщение: Could not connect to _ (IP adress:80)_ — no response!

    Спасибо

    1. Firewall галку отключите, для начала.
      Подсоединитесь через патчкорд rg45, второй компьютер также.
      Работает? Бакаптесь…
      NAT — тонкая вещь, не смогу вам помочь, т.к делается методом научного тыка… Имея, доступ во вне маршрутизвтора, попробуйте поднять NAT имея два компьютера, испытуемый и тот чем пробуете заходить…
      Каждый шаг бакапте, ибо потом вернутся сможете чере прошивку на шаг назад…

  2. Спасибо Вам за ответ.
    Дело в том, что второго компа нет у меня.
    Вот детальное описание проблемы:
    Боард: MikroTik RB2011UAS-2HnD-IN, beeline L2tp, Win7
    Было: Настроил через Winbox коннект роутера с Билайн, инет работает, начал настраивать wi-fi, сменил SSID, установил частоту, коннекта со смартом нет. Прочитал в инете, что нужно войти через 192.168.88.1/cfg и в настройках безопасности поставить галочки на Firewall, NAT и ещё чём-то, так и сделал, применительно к порту куда заходит кабель от Билайна. (еще в процессе установки одной из галок уже отвалился web-интерфейс).
    Проблема: Инет работает, wi-fi не работает. НЕ МОГУ ЗАЙТИ НА РОУТЕР.

    Как отключить галку firewalla, если ни по одному каналу доступа к Тику не могу зайти, включая попытки тупого пинга его IP через выполнить и ssh на 22 порт (который, как сказано тиковцами специально создан для работы с security-режиме).

  3. Хорошая статья, спасибо автору. А как мультикасты заблокировать, в частности iptv(насколько я понимаю протокол igmp)? Т.к. я заметил они съедают до половины ресурсов процессора (400 Мгц omnitik).

  4. сначала настройка фильтров нормальная до местоимения -Либо: все дропаем не нужное ,а в конце еще добиваем ;-))) такой инет с такими настройками нам не нужен.

  5. а объясните, плиз, зачем нужны эти кастомные цепочки? Ну, вот, например, исходя из правила
    ip firewall filter add chain=forward protocol=tcp action=jump jump-target=tcp
    все tcp-пакеты, которые не предназначены для роутера и не от него (цепочки input и output) попадают в цепочку tcp.
    Допустим, я лезу на веб-сервер, т.е. протокол tcp, порт 80. Мой пакет попадает (он же tcp !) в цепочку tcp, но там нет правила, удовлетворяющего ему. Что происходит с пакетом? он опять возвращается в forward ? сам? или надо было правило создать — все, что не перечислено — разрешить (или опять jump в forward)

  6. По тексту опечатки
    не src-address=ip_address_allow
    а src-address-list=ip_address_allow

  7. Сделал как написано — пропал интернет. Заменил в команде (ip firewall filter add chain=input src-address=192.168.0.0/24 action=accept comment=”Allow access from local network”)
    input на forward — все заработало. Если мы последней инструкцией блокируем все проходящие пакеты, то выше нужно же что-то и пропустить. Или я не прав?

  8. что то не пускает в сеть через VPN. Vpn коннектится нормально, а ни до одного устройства внутренней сети достучаться не могу (

  9. Спасибо за полезную информацию. А Все правила должны быть в указанном порядке? Ето зашита помогает от атак ДДОС? Спасибо.

  10. что то не пускает в сеть через VPN. Vpn коннектится нормально, а ни до одного устройства внутренней сети достучаться не могу ((((
    Proxy-ARP надо установить на бридже и на интерфейсе локалки

Comments are closed.