Уязвимость Mikrotik позволяет получать список всех пользователей через winbox

Интересное

Bandwidth server

Bandwidth server is used to test throughput between two MikroTik routers. Disable it in production enironment.

/tool bandwidth-server set enabled=no 

Dns cache

Router might have DNS cache enabled, that decreases resolving time for DNS requests from clients to remote servers. In case DNS cache is not required on your router or another router is used for such purposes, disable it.

/ip dns set allow-remote-requests=no

Ethernet/sfp interfaces

It is good practice to disable all unused interfaces on your router, in order to decrease unauthorised access to your router.

/interface print
/interface set x disabled=yes
  • x numbers of the unused interfaces.

Firewall

С использование терминала.Создайте список адресов, которым будет разрешено подключаться к маршрутизатору/ip firewall address-listadd address=192.168.1.0/24 list=allow-ipadd address=192.168.88.10/32 list=allow-ip

Добавляем правило, которое разрешает все действия с этих адресов

/ip firewall filteradd action=accept chain=input comment=”Allow Address List” src-address-list=allow-ip

В случае если нужен доступ с неизвестных адресов я делаю ожидание icmp пакета (ping) определённого размера. Если такой пакет прилетает, то адрес источника добавляется в список allow-ip со временем в 1 час. При желании можно сделать каскад из таких пакетов.

/ip firewall filteradd action=add-src-to-address-list address-list=allow-ip address-list-timeout=1h chain=input packet-size=783 protocol=icmp

Обратие внимание на размер пакета packet-size 783 байт. Но при пинговании Вы должны указывать на 28 байт меньше. В данном случае пинг из windows:

ping -l 755 myhostname.domain

Запрещаем доступ ко всем портам, которые не разрешены выше:

/ip firewall filter add action=drop chain=input

Firewall

We strongly suggest to keep default firewall on. Here are few adjustment to make it more secure, make sure to apply the rules, when you understand what are they doing.

Ipv4 firewall to a router

  • work with new connections to decrease load on a router;
  • create address-list for IP addresses, that are allowed to access your router;
  • enable ICMP access (optionally);
  • drop everything else, log=yes might be added to log packets that hit the specific rule;
/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

Ipv6

Currently IPv6 package is disabled by default. Please enable package with care, as RouterOS will not create any default firewall rules for IPv6 at the moment.

Ipv6 firewall for clients

Enabled IPv6 puts your clients available for public networks, set proper firewall to protect your customers.

  • accept established/related and work with new packets;
  • drop invalid packets and put prefix for rules;
  • accept ICMP packets;
  • accept new connection from your clients to the Internet;
  • drop everything else.
/ipv6 firewall filter
add action=accept chain=forward comment=established,related connection-state=established,related
add action=drop chain=forward comment=invalid 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="local network" in-interface=!sit1 src-address-list=allowed
add action=drop chain=forward log-prefix=IPV6

Ipv6 firewall to a router

  • work with new packets, accept established/related packets;
  • drop link-local addresses from Internet interface;
  • accept access to a router from link-local addresses, accept multicast addresses for management purposes, accept your address for router access;
  • drop anything else;
/ipv6 firewall filter
add action=accept chain=input comment="allow established and related" connection-state=established,related
add chain=input action=accept protocol=icmpv6 comment="accept ICMPv6"
add chain=input action=accept protocol=udp port=33434-33534 comment="defconf: accept UDP traceroute"
add chain=input action=accept protocol=udp dst-port=546 src-address=fe80::/16 comment="accept DHCPv6-Client prefix delegation."
add action=drop chain=input in-interface=sit1 log=yes log-prefix=dropLL_from_public src-address=fe80::/16
add action=accept chain=input comment="allow allowed addresses" src-address-list=allowed
add action=drop chain=input
/ipv6 firewall address-list
add address=fe80::/16 list=allowed
add address=xxxx::/48  list=allowed
add address=ff02::/16 comment=multicast list=allowed

Ipv6 nd

Disable IPv6 Neighbour Discovery

/ipv6 nd set [find] disabled=yes

Lcd

Some RouterBOARDs have LCD module for informational purpose, set pin or disable it.

/lcd set enabled=no

Mac-ping

Disable mac-ping service,

/tool mac-server ping set enabled=no
/tool mac-server ping print

Mac-telnet

Disable mac-telnet services,

/tool mac-server set allowed-interface-list=none
/tool mac-server print

Mac-winbox

Disable mac-winbox services,

/tool mac-server mac-winbox set allowed-interface-list=none
/tool mac-server mac-winbox print

More secure ssh access

RouterOS utilises stronger crypto for SSH, most newer programs use it, to turn on SSH strong crypto:

/ip ssh set strong-crypto=yes

Neighbor discovery

MikroTik Neighbor discovery protocol is used to show and recognize other MikroTik routers in the network, disable neighbor discovery on all interfaces,

/ip neighbor discovery-settings set discover-interface-list=none 

Other clients services

RouterOS might have other services enabled (they are disabled by default RouterOS configuration).
MikroTik caching proxy,

/ip proxy set enabled=no

MikroTik socks proxy,

/ip socks set enabled=no

MikroTik UPNP service,

/ip upnp set enabled=no

MikroTik dynamic name service or ip cloud,

/ip cloud set ddns-enabled=no update-time=no

Routeros mac-access

RouterOS has built-in options for easy management access to network devices. The particular services should be shutdown on production networks.

Для кого эта статья

Если вы умеете работать с iptables, то дерзайте и настраивайте firewall, для вас в этой статье не будет ничего нового (ну разве что в таблице NAT используются цепочки с другими именами). Если вы впервые видите firewall в RouterOS и хотите получить готовый скрипт для конфигурации, то вы его здесь не найдете.

Особенности терминологии

Изучая packet flow для iptables, можно встретить описания через “цепочки в таблицах” либо “таблицы в цепочках”. На схеме представлены таблицы в цепочках, при добавлении правил в firewall все будет наоборот.

Но на самом деле пакет перемещается между блоками [цепочка таблицы], например если вы сделайте accept в блоке [prerouting mangle] транзитный пакет все-равно будет обработан в [forward mangle]. Это важно помнить в сложных конфигурациях с pbr и queues.

В документации iptables есть более точные определения, но простыми словами:Цепочки отвечают за место обработки пакета и последовательность правил.Таблицы определяют действия, которые можно произвести над пакетом.

Примеры

Не копируйте примеры бездумно, лучше возьмите устройство и постарайтесь написать конфигурацию самостоятельно (или переписать примеры, но вникнуть что делает каждое из правил). Если не знаете как дополнить правила: в дефолтной и минимальной домашней конфигурациях нет доступа на роутер с wan интерфейса, добавьте его с фильтрацией по списку адресов.

Сервисы,

которые Вы не используете тоже надо выключить ибо это лишние точки отказа./ip serviceset api disabled=yesset api-ssl disabled=yesи так далее.

Заключение

Очень надеюсь, что моя краткая инструкция поможет вашему устройству не попасть под контроль любой ботнет сети, в том числе Hajim.

Оцените статью
Obzorka24.ru