Рубрики
Mikrotik

Mikrotik / tools / ip / dhcp / service / list / firewall / ssh / port knocking / backup / wi-fi / update

Ссылки:

https://help.mikrotik.com/
https://wiki.mikrotik.com/

https://habr.com/ru/company/ruvds/blog/575808/
https://habr.com/ru/company/ruvds/blog/575966/
https://habr.com/ru/company/ruvds/blog/576284/
https://habr.com/ru/company/ruvds/blog/576352/

https://github.com/AntonAndreevichMoroz/RealMikrotikBackup
https://github.com/skurudo/mikrostash

https://habr.com/ru/company/ruvds/blog/559398/

default:

mikrotik по умолчанию имеет IP-адрес 192.168.88.1
default login name: admin
default password: без пароля

Пример команд в консоле:

 
!!! Почти все команды соответствуют winbox, то есть все тоже самое можно накликать в winbox

system resource print - информация о железе

user add name=mkt password=P@S#w0Rd group=full - создание юзера
user disable admin - отключаем admin
user print - показать пользователей

interface print - показать интерфейсы
interface enable 0 - активировать интерфейс

ip address add address=192.168.1.116/24 interface=ether1 -так задается адрес 
ip route add gateway=192.168.1.249 - так задается маршрут
ip route print -посмотреть все маршруты

ip dns set primary-dns=208.67.222.222 secondary-dns=208.67.220.220 - добавление днс
allow-remote-requests=yes 
ip dns print - посмотреть днс

system telnet ya.ru port=80 проверка доступности порта

in ethernet edit имя_интерфейса mac-address откроется редактор где можно будет прописать мак адрес
interface ethernet set id-interace mac-address=00:0C:29:18:38:47 или вот так прописать мак

ip service print показать запущенные сервисы

system reboot/shutdown перезагрузка

ip firewall rule  Правила firewall

ip pool add name=namepool ranges=10.10.15.20-10.10.15.30 вот так задается пул адресов
ip dhcp-server add address-pool=namepool disabled=no interface=etc2 name=server1

ip dhcp-client add interface=ether1 disabled=no включить dhcp client на интерфейсе ether1
ip dhcp-client print detail а вот так проверить что получил

Проброс портов с роутера в локалку:

ip firewall nat /
add action=dst-nat chain=dstnat comment="RDP" dst-address=ipwan dst-port=3389 in-interface=wan protocol=tcp to-addresses=ippc to-ports=3389
add action=dst-nat chain=dstnat comment="ssh" dst-address=ipwan dst-port=22 in-interface=wan protocol=tcp to-addresses=ippc to-ports=22

Раздача интернета в локалку с интерфейса wan:

ip firewall nat add action=masquerade chain=srcnat comment=nat out-interface=wan

Вкл. прозрачного прокси:

ip firewall nat add action=redirect chain=dstnat dst-port=80 protocol=tcp src-address=10.10.15.0/24 to-ports=8080

а вот так можно заставить машину с ип 10.10.15.30 при открытии любого соединения на 80 порту идти за контентом на машину 192.168.13.60
ip firewall nat add action=dst-nat chain=dstnat dst-port=80 protocol=tcp src-address=10.10.15.30 to-addresses=192.168.13.60 to-ports=80

DHCP Client

ip dhcp-client print - показать установленные 
ip dhcp-client add interface=Interfacce_name - добавить dhcp-clint для Interfacce_name
ip dhcp-client print - показать установленные 
ip dhcp-client enable numbers=0 - включить клиент dhcp 

Mikrotik Update / обновление:

0. Проверка
/system package update check-for-updates

1. Загружаем
/system package update download

2. Устанавливаем
/system package update install

Пользователи:

0. показать пользователей
user print

1. Смена пароля пользователю admin
/user set admin password=verySTRONGpassword!!

2. Создаем пользователя mkt с полными правами
user add name=mkt password=P@S#w0Rd group=full - создание юзера

3. Отключаем пользователя admin
user disable admin - отключаем admin

Генерация ssh ключа:

ssh-keygen -t rsa -b 4096 -f /root/test_user
На выходе будет закрытый ключ test_user (-----BEGIN RSA PRIVATE KEY-----)
И открытый ключ test_user.pub (ssh-rsa )

Добавление ключа на mikrotik:

0. Копируем ключ на mikrotik, например с помощью scp
scp test_user.pub admin@192.168.88.1:

1. Добавляем ключ пользователю admin
/user ssh-keys import public-key-file=test_user.pub user=admin
/user ssh-keys print 

Запрещаем вход по паролю для пользователя admin

!!! Если у пользователя не импортирован публичный ключ, то настройка будет проигнорирована

Запрещаем вход по паролю:
/ip ssh set always-allow-password-login=no

Подключаемся с помощью ключа:
ssh -i test_user admin@10.0.0.1

Пример отключения служб:

/ip service set telnet disabled=yes
/ip service set ftp disabled=yes
/ip service set www disabled=yes
/ip service set www-ssl disabled=yes
#/ip service set winbox disabled=yes
/ip service set api disabled=yes
/ip service set api-ssl disabled=yes
#/ip service set ssh disabled=yes

Пример смены порта для ssh:

/ip service set ssh port=2223

Ограничение ip для подключения по ssh к mikrotik:

/ip service set ssh address=192.168.15.0/24,10.0.0.0/24

port knocking:

/ip firewall filter
add action=add-src-to-address-list address-list=LIST1 address-list-timeout=30s chain=input comment="Accept input SSH step 1" dst-port=28 in-interface=WAN protocol=tcp
add action=add-src-to-address-list address-list=LIST2 address-list-timeout=30s chain=input comment="Accept input SSH step 2" dst-port=29 in-interface=WAN protocol=tcp src-address-list=LIST1
add action=add-src-to-address-list address-list=LIST3 address-list-timeout=30s chain=input comment="Accept input SSH step 3" dst-port=30 in-interface=WAN protocol=tcp src-address-list=LIST2
add action=accept chain=input comment="Accept input SSH now" dst-port=22 in-interface=WAN protocol=tcp src-address-list=LIST3
add action=drop chain=input comment="Drop input SSH all" dst-port=22 in-interface=WAN protocol=tcp


Пример:
С помощью nmap будем стучатся в порты
Проверяем доступность 22 порта:
nmap 192.168.15.9 -p 22
22/tcp filtered ssh

Стучимся:
nmap 192.168.15.9 -p 28
28/tcp closed unknown
nmap 192.168.15.9 -p 29
29/tcp closed msg-icp
nmap 192.168.15.9 -p 30
30/tcp closed unknown

Проверяем:
nmap 192.168.15.9 -p 22
22/tcp open  ssh

Подключаемся:
ssh 192.168.15.9

icmp port knocking:

!!! может быть полезно для создания portknoking
!!! по умолчанию размер пакета ping равен 28
!!! Для windows:  ping -l 2 -n 5 10.0.0.25 - при такой команде будет послано пять пакетов размером 2 на адрес 10.0.0.5
!!! Для linux: ping -s 2 -c 5 10.0.0.25 - - при такой команде будет послано пять пакетов размером 2 на адрес 10.0.0.5
/ip firewall filter
add action=add-src-to-address-list address-list=ping_size_2_me address-list-timeout=10m chain=input in-interface-list=WAN packet-size=30 protocol=icmp

Бэкапы / backup :

Бинарный:
/system backup save name=backup dont-encrypt=yes

Текстовый:
/export file=backup

Защита L1:

Отключение не используемого интерфейса:
/interface ethernet disable ether4_LAN

Установка пароля на wi-fi:
/interface wireless security-profiles
add authentication-types=wpa2-psk disable-pmkid=yes eap-methods="" management-protection=allowed mode=dynamic-keys name=RUVDS supplicant-identity="" wpa2-pre-shared-key=verySTRONGpassword!!

Запретить подключатся к wi-fi с низким уровнем сигнала:
/interface wireless access-list
add allow-signal-out-of-range=1d authentication=no comment="Drop signal <= -80" interface=wlan1 signal-range=-120..-80

Защита L2:

Ограничим работающие сервисы уровня L2:

mac-ping только для внутренней сети:
/tool mac-server set allowed-interface-list=LAN

ограничивает L2 подключение посредством службы Winbox:
/tool mac-server mac-winbox set allowed-interface-list=LAN

ограничиваем широковещательную рассылку пакетов CDP, LLDP и MNDP:
/ip neighbor discovery-settings set discover-interface-list=LAN

чтобы со стороны провайдера не догадывались, что у вас стоит роутер MikroTik, 
можно сменить MAC адрес WAN интерфейса, но это скорее баловство:
/interface ethernet set [ find default-name=ether1 ] mac-address=BC:EE:AA:BB:CC:A0 name=WAN

Если в вашем L2 сегменте появится второй или более незаконный DHCP сервер, то это может здорово навредить работе всей сети.
Для защиты от такого рода атак существует технология «DHCP snooping». 
После её активации бридж пропускает DHCP пакеты только в доверенную сторону:
/interface bridge add comment=defconf dhcp-snooping=yes name=bridge
/interface bridge port add bridge=bridge interface=ether2_LAN trusted=yes

защита ARP dhcp:
активировать функцию заполнения ARP таблицы, в ручном режиме:
/ip dhcp-server set dhcp_home add-arp=yes

маршрутизатор в режим только ответа на ARP запросы:
/interface bridge set bridge arp=reply-only

ограничение соединения по MAC:
/interface bridge port
add bridge=bridge1 interface=ether6 hw=yes learn=no unknown-unicast-flood=no
add bridge=bridge1 interface=ether7 hw=yes learn=no unknown-unicast-flood=no
/interface ethernet switch unicast-fdb
add mac-address=4C:5E:0C:00:00:01 port=ether6 svl=yes
add mac-address=D4:CA:6D:00:00:02 port=ether7 svl=yes
/interface ethernet switch acl add action=drop src-mac-addr-state=sa-not-found src-ports=ether6,ether7 table=egress

выключить режим обучения портов MAC адресам:
/interface ethernet switch port
set ether6 learn-limit=1
set ether7 learn-limit=1

Дополнительно можно указать устройству проверять tag трафика и дропать пакеты, у которых VLAN ID не найден в его таблице VLAN:
/interface ethernet switch port set vlan-mode=secure


romon

/tool/romon print
/tool/romon set enabled=yes