Роутеры Mikrotik очень гибки в настройке и обладают весьма обширным функционалом, но при неправильной настройке Firewall могут быть легко взломаны. Заводские настройки роутеров Mikrotik не обеспечивают полной безапосности, поэтому обезопасить свой роутер от проникновения можно лишь выполнив все настройки самостоятельно. Рассмотрим основные настройки Firewall и служб роутера Mikrotik.
Содержание
Роутеры Mikrotik очень гибки в настройке и обладают весьма обширным функционалом, но при неправильной настройке Firewall могут быть легко взломаны. Заводские настройки роутеров Mikrotik не обеспечивают полной безапосности, поэтому обезопасить свой роутер от проникновения можно лишь выполнив все настройки самостоятельно. Рассмотрим основные настройки Firewall и служб роутера Mikrotik.
Доступ к роутеру Mikrotik
Меняем имя пользователя по-умолчанию
По-умолчанию имя пользователя с полным доступ к роутеру admin. Смена стандартного имени усложнит получение доступа к роутеру.
/user add name=myname password=mypassword group=full
/user remove admin
Создаем сложный пароль
Для создания сложного и уникального пароля лучше воспользоваться генератором паролей. Безопасный пароль должен содержать символы верхнего и нижнего регистра, цифры и специальные символы.
/user set 0 password="!={Ba3N!"40TуX+GvKBz?jTLIUcx/,"
Другой способ установки пароля
/password
Доступ по IP адресу
Помимо того, что firewall защищает ваш роутер от несанкционированнного доступа из внешних сетей, существует возможно разрешить доступ к настройкам роутера только с определенного ip-адреса или сети.
/user set 0 allowed-address=x.x.x.x/yy
где x.x.x.x - ip-адрес, yy - маска сети
Службы роутера Mokrotik
Для безопасного подключения к администрированию роутера используются доступы по SSH, HTTPS и приложение Winbox.
Смотрим какие службы задействованы на Mikrotik.
/ip service print
Отключаем службы, которые не используют безопасное подключение.
/ip service disable telnet,ftp,www,api,api-ssl
Меняем стандартный порт службы SSH, чтобы предотвратить большинство случайных попыток входа в систему различных SSH-взломщиков
/ip service set ssh port=2200
Дополнительно можно задать доступ к службам только с определенного IP-адреса или сети. Например для службы Winbox установим доступ из сети 192.168.88.0 и маской 24
/ip service set winbox address=192.168.88.0/24
Чтобы отключить возможность обнаружения роутера в сетях можно отключить следующие службы.
Отключение обнаружения MAC-адреса
Отключаем Mac-telnet
/tool mac-server set allowed-interface-list=none
Отключаем MAC-Winbox
/tool mac-server mac-winbox set allowed-interface-list=none
Отключаем MAC-Ping
/tool mac-server ping set enabled=no
Отключаем Bandwidth server
Bandwidth server используется для проверки пропускной способности между двумя роутерами Mokrotik.
/tool bandwidth-server set enabled=no
Отключаем Neighbor Discovery
Протокол Neighbor Discovery используется для распознавании других роутерово Mikrotik в сети. Отключаем его на всех интерфейсах
/ip neighbor discovery-settings set discover-interface-list=none
Кэширование DNS
В роутере может быть включена функция кэширования DNS для более быстрого разрешения доступа к удаленным серверам. Если у вас нет потребности в этом, то можете отключить.
/ip dns set allow-remote-requests=no
Прочие службы Mikrotik
Кэширующий Proxy
/ip proxy set enabled=no
Socks proxy
/ip socks set enabled=no
UPNP
/ip upnp set enabled=no
Служба динамических имен или Cloud IP
/ip cloud set ddns-enabled=no update-time=no
Усиление безопасности SSH подключений
Включение усилинного шифрования для SSH
ip ssh set strong-crypto=yes
Интерфейсы роутера
Ethernet / SFP
Возьмите за правило отключать на роутере те интерфейсы, которые не используются. Это позволит снизить вероятность несанкцианированных подключений.
/interface print
/interface set x disabled=yes
где x - номер неиспользованного интерфейса
LCD
Некоторые роутеры Mikrotik снабжены для удобства информационным дисплеем. Установите pin-код или отключите дисплей.
/lcd set enabled=no
Firewall
Обработка подключений к роутеру IPv4
- работаем с новыми соединениями для снижения нагрузки на маршрутизатор;
- создаем список ip-адресов, которым разрешен доступ к маршрутизатору;
- разрешаем ICMP запросы;
- сбрасываем все остальные подключения.
/ip firewall filter
add action=accept chain=input comment="default configuration" connection-state=established,related
add action=accept chain=input src-address-list=allowed_to_router
add action=accept chain=input protocol=icmp
add action=drop chain=input
/ip firewall address-list
add address=192.168.88.2-192.168.88.254 list=allowed_to_router
Настройки firewall для клиентов роутера IPv4
- Пакеты установленных и сопутствующих соединений добавляем в fasttrack для повышения пропускной способности;
- сбрасываем все недействительные соединения и отмечаем их префиксом invalid;
- сбрасываем все пакеты, которые направлены из локальной сети не на публичный IP-адрес, используем список dst-address-list=not_in_internet для входящего интерфейса bridge1, записываем в log с префиксом log-prefix=!public_from_LAN;
- Сбрасываем взодящие пакеты на порт интернета ether1, которые не были обработаны NAT, записываем в журнали с префиксом !NAT;
- сбрасываем входящие пакеты из интернета, у которых нет публичного ip-адреса, пишем в логи спрефиксом !public;
- сбрасываем все подключения с локальной сети, которые не имеют ip-адреса подсети нашего роутера.
/ip firewall filter
add action=fasttrack-connection chain=forward comment=FastTrack connection-state=established,related
add action=accept chain=forward comment="Установленные и дополнительные соединения" connection-state=established,related
add action=drop chain=forward comment="Сбрасываем недействительные" connection-state=invalid log=yes log-prefix=invalid
add action=drop chain=forward comment="Сбрасываем попытки подключиться не к публичному ip-адресу из локальной сети" dst-address-list=not_in_internet in-interface=bridge1 log=yes log-prefix=!public_from_LAN out-interface=!bridge1
add action=drop chain=forward comment="Сбрасываем входящие пакеты не обработанные NAT" connection-nat-state=!dstnat connection-state=new in-interface=ether1 log=yes log-prefix=!NAT
add action=drop chain=forward comment="Сбрасываем входящие пакеты из интернета без публичного IP-адреса" in-interface=ether1 log=yes log-prefix=!public src-address-list=not_in_internet
add action=drop chain=forward comment="Сбрасываем пакеты из локальной сети, которые не имеют локального адреса" in-interface=bridge1 log=yes log-prefix=LAN_!LAN src-address=!192.168.88.0/24
/ip firewall address-list
add address=0.0.0.0/8 comment=RFC6890 list=not_in_internet
add address=172.16.0.0/12 comment=RFC6890 list=not_in_internet
add address=192.168.0.0/16 comment=RFC6890 list=not_in_internet
add address=10.0.0.0/8 comment=RFC6890 list=not_in_internet
add address=169.254.0.0/16 comment=RFC6890 list=not_in_internet
add address=127.0.0.0/8 comment=RFC6890 list=not_in_internet
add address=224.0.0.0/4 comment=Multicast list=not_in_internet
add address=198.18.0.0/15 comment=RFC6890 list=not_in_internet
add address=192.0.0.0/24 comment=RFC6890 list=not_in_internet
add address=192.0.2.0/24 comment=RFC6890 list=not_in_internet
add address=198.51.100.0/24 comment=RFC6890 list=not_in_internet
add address=203.0.113.0/24 comment=RFC6890 list=not_in_internet
add address=100.64.0.0/10 comment=RFC6890 list=not_in_internet
add address=240.0.0.0/4 comment=RFC6890 list=not_in_internet
add address=192.88.99.0/24 comment="6to4 relay Anycast [RFC 3068]" list=not_in_internet
IPv6
Работа с пакетами протокола IPv6 отключена в роутерах Mikrotik по-умолчанию. При включении IPv6 роутер самостоятельно не создает правил для Firewall.
Отключаем обнаружение соседями для IPv6
/ipv6 nd set [find] disabled=yes
Обработка подключений к роутеру IPv6
- обрабатываем новые пакеты, принимаем установленные соединения и связанные (сопутствующие);
- сбрасываем недействительные пакеты и помечаем префиксом;
- принимаем ICMP пакеты;
- пропускаем соединения от клиентов роутера в интернет;
- сбрасываем все остальное.
/ipv6 firewall filter
add action=accept chain=forward comment="установленные, связанные" connection-state=established,related
add action=drop chain=forward comment="недействительные" connection-state=invalid log=yes log-prefix=ipv6,invalid
add action=accept chain=forward comment="icmpv6" in-interface=!sit1 protocol=icmpv6
add action=accept chain=forward comment="LAN" in-interface=!sit1 src-address-list=allowed
add action=drop chain=forward log-prefix=IPV6