Меню Закрити

MikroTik. Налаштування

Передмова
До школи підведено оптоволокно 100 Мб/с від провайдера Уарнет. По школі працює зв’язка “MikroTik CRS112-8G-4S” + “Tp-Link TL-SG1024D” + “Utepo UTP1-SW0801-TP120” + “TP-LINK EAP115”. В результаті чого маємо 8 точок безпроводового доступу та розетки RJ45 в кожному приміщенні. Встановлювали та налаштовували локальну мережу https://mvkom.net/ (гарячий їм привіт). Як часто буває, працювало спочатку все нормально. Раз працює, то нехай працює. Тим більше за обслуговування цього господарства ніхто, звісно, платити не збирався. З часом все стало працювати дуже погано. З’явилися значні затримки в завантаженні сайтів. Провайдер повідомив, що відбувається перевищення лімітів на кількість з’єднань, і що це може бути через вірусну активність, або торенти. Віруси? Скоріше ні, так як практично всі комп’ютери з ОС Лінукс. Торенти? Також ні, так як більшість клієнтів з мобільними гаджетами. Може сам MikroTik став жертвою? Вивчення інформації про уразливості мікротіка та аналіз його поточних налаштувань, підключення звичайного побутового роутера замість мікротіка, швидше підтвердили ці підозри, ніж спростували. Пароль адміністратора був надто простий, жодні непотрібні сервіси не були відключені чи обмежені, ЖОДНОГО правила фаєрволу для захисту не прописано (ще раз гарячий привіт mvkom). MikroTik напевне став легкою жертвою та учасником ботнету.

Допомоги чекати було нізвідки, крім того “якщо хочеш щось зробити добре, зроби це сам”.

Налаштування

Для роботи з MikroTik використовуємо WinBox. Це зручніше, ніж через веб інтерфейс.

Підключення до мікротіка

Запускаємо WinBox.

Підключитися можна по ІР, якщо мікротік раніше був налаштований, або по МАС, якщо налаштування скинуті. По умовчанню ім’я користувача admin, пароль порожній.

Оновлення RouterOS.

Мікротік ще подавав ознаки життя. Зв’язок з провайдером був. Тому оновлення виконано через меню System/Packages кнопка Check For Updates. Канал залишаємо stable (можна long term).

Після оновлення потрібно ще оновити завантажувач. Меню System/Routerboard. Порівнюємо Upgrade Firmware та Curent Firmware. Якщо відрізняються натискаємо Upgrade.

*При оновленні мікротік перезавантажується. WinBox потрібно перепідключати.

*Якщо мікротік не підключений до інтернету є два варіанти:

  • Перший. Завантажити RouterOS з сайту виробника. Архітектуру дивимося в заголовку WinBox (в мене mipsbe). Розміщуємо файл *.npk в Files. Перезавантажуємо мікротік, System/Reboot.
  • Другий варіант. Скидаємо налаштування мікротіка. Меню System/Reset Configuration. Налаштовуємо доступ до провайдера. Оновлюємо.

Скидання налаштувань

Перед скиданням налаштувань варто подивитися та занотувати МАС адресу інтерфейсу, який дивиться в сторону провайдера. В мене це ether1. Заходим в Interface. Двічі клацаємо на ether1. В полі MAC Address: те, що нам потрібно.

*Провайдер Уарнет запровадив прив’язку до МАС адреси пристрою, що підключений першим. Щоб кожен раз при зміні МАС адреси не зв’язуватися з провайдером для переприв’язки зручніше в себе прописувати потрібний МАС.

Налаштування розпочинаємо з нуля. System/Reset Configuration. Налаштування по умовчанню видаляємо Remove Configuration.

Зміна користувача

Рекомендується створити нового користувача з повними правами та видалити (відключити) користувача по умовчанню. Один із способів злому мікротіка – підбір пароля. Заміна стандартного користувача admin ускладнить злочинцям такий підбір.

Меню System/User. Додаємо(+) нового користувача. Вводимо ім’я користувача та пароль. Пароль МАЄ БУТИ СКЛАДНИМ. Обираємо в Group: full. Стандартного admin видаляємо/відключаємо (Remove/Disable).

Об’єднання інтерфейсів в міст

Мікротік є програмним роутером. Інтерфейси (Ports) фізично не з’єднані. Тому їх потрібно програмно об’єднати створивши міст (Bridge).

Ідемо в меню Bridge. Додаємо(+) новий міст. Стандартну назву можемо змінити. Наприклад bridge1-lan. Інші налаштування залишаємо без змін.

До моста потрібно додати потрібні інтерфейси за виключенням того, який буде підключено до провайдера. Наприклад ether1. Меню Bridge вкладка Ports. Додаємо(+) новий. Обираємо в Interface: ether2 та натискаємо Ок. І так далі по одному додаємо наступні інтерфейси.

В результаті маємо:

  • ether1 – інтерфейс, який “дивиться” в сторону провайдера (WAN);
  • bridge1-lan – інтерфейси об’єднані в світч, які “дивляться” в сторону локальної мережі.

Налаштування статичного ІР роутера

Роутер в локальній мережі має мати статичний ІР адрес. Меню IP/Addresses. Додаємо новий. В New Address в полі Address: вказуємо будь яку підмережу. Наприклад 192.168.1.1/24. В полі Interface: має бути вказано створений міст, bridge1-lan. Поле Network: заповниться автоматично.

Тепер роутер має статичну адресу 192.168.1.1 та доступний з локальної мережі. В тому числі через WinBox.

Налаштування підключення до інтернету

Існують різні способи підключень. В провайдера Уарнет налаштування підключення автоматично передаються по DHCP з прив’язкою по МАС адресі. Тому перевіряємо МАС адресу інтерфейсу ether1. Якщо вона змінилася – прописуємо нову (попередню) адресу командою в терміналі

/interface ethernet set ether1 mac-address=xx:xx:xx:xx:xx:xx.

Де xx:xx:xx:xx:xx:xx занотована раніше МАС адреса. Якщо ж попередня МАС адреса невідома можливо прийдеться зв’язуватися з провайдером для прив’язки нової.

Мікротік для провайдера є клієнтом. Тому ідемо в IP/DHCP Client. Додаємо(+) новий клієнт. В полі Interface: обираємо ether1 та Ок.

Якщо зв’язок з провайдером встановлено у вікні DHCP Client в рядку ether1 в полі IP Address буде ІР адреса надана провайдером.

*Для перевірки зв’язку в термінал можна виконати ping 8.8.8.8 Якщо пінгується, все добре, можна налаштовувати далі.

Налаштування DHCP сервера

Мікротік має присвоювати клієнтам локальної мережі ІР адреси. За це відповідає DHCP Server. Ідемо в меню IP/DHCP Server, кнопка DHCP Setup. Дальше по кроках:

  • DHCP Server Interface: bridge1-lan – інтерфейс, який “дивиться” в локальну мережу;
  • DHCP Address Space: 192.168.1.0/24 – адресний простір, з якого будуть видаватися ІР клієнтам;
  • Gateway for DHCP Network: 192.168.1.1 – адреса шлюза (роутера);
  • Addresses to Give Out: 192.168.1.2-192.168.1.254 – діапазон адрес, які видаватимуться клієнтам, можна звузити діапазон та зарезервувати деякі адреси;
  • DNS Servers: залишаємо DNS провайдера передані по DHCP, або можна вказати ІР самого роутера, можна інші;
  • Lease Time: час, на який надається ІР адреса клієнту. Наприклад 30 хвилин. Якщо в клієнтів є “яблучні” гаджети ставити менший час не рекомендується.

Тепер при підключенні клієнтів вони отримають ІР адресу. Подивитися видані адреси можна в DHCP Server, Leases.

Налаштування NAT

Меню IP/Firewall вкладка NAT. Додаємо нове правило. В New NAT Rule

У вкладці General обираємо значення параметрів Chain: srcnat, Out. Interface: ether1.

У вкладці Action параметр Action: masquerade.

*Тепер у клієнтів має з’явитися доступ до мережі Інтернет.

Захист mikrоtika та мережі

Нехтувати безпекою самого роутера НЕПРИПУСТИМО. Для досить надійного захисту необхідно провести деякі налаштування.

Налаштування фаєрвола

Фаєрвол є важливим та гнучким інструментом захисту. Захист формується шляхом прописування правил, за якими будуть перевірятися та фільтруватися пакети. Правила перевіряються в порядку слідування. Тому порядок правил має значення.

Додавати правила зручно через термінал. Але те саме можна зробити і у віконному інтерфейсі.

Щоб перейти до довання правил, в терміналі виконується команда:

/ip firewall filter

Потім додається правило:

add action=accept chain=input comment=”accept establish, related” connection-state=established,related

Це правило дозволяє (acept), в ланцюжку (chain), вхідних (input) пакетів, встановлені (established) та пов`язані (related) пакети.

Якщо правило додається у вікні Firewal Rule у відповідних полях вводяться відповідні параметри. Наприклад для попереднього правила вкладка General:

  • Chain: input;
  • Connection State: established, related.

Вкладка Action

  • Action: accept.

Коментар не обов’язковий, але варто його додати для нагадування. Для додавання коментаря використовуємо кнопку Comment.

Друге правило блокує (drop) в ланцюжку вхдних пакетів неправильні/пошкоджені (invalid) пакети.

add action=drop chain=input comment=”drop invalid” connection-state=invalid

Третє правило дозволяє в ланцюжку вхідних пакетів ICMP пакети, які використовуються для пінгування роутера.

add action=accept chain=input comment=”accept ICMP” protocol=icmp

*Пінгування роутера ззовні може нести загрозу для безпеки. Тому, якщо пінгуваня роутера не планується, варто accept змінити на drop. Тобто блокувати пінгування роутера.

Четверте правило блокує в ланцюжку вхідних пакетів все, що “прилітає” не з локальної мережі (in-interface=!bridge1-lan) і може бути потенційно небезпечним.

add action=drop chain=input comment=”drop all not from lan” in-interface=!bridge1-lan

*Це правило робить фаєрвол нормально закритим для доступу ззовні. Все те, що явно не дозволено – заборонено. Ці чотири правила дозволяють лише встановлені та пов’язані з ними вхідні пакети. Всі інші вхідні пакети блокуються. *Не забуваємо про дозвіл/блокування пінгу.

Наступне правило помічає транзитні встановлені, та пов’язані пакети для передачі по найшвидшому маршруту.

add action=fasttrack-connection chain=forward comment=”fasttrack” connection-state=established,related

  • *Без цього правила швидкість інтернету суттєво обрізалася.
  • *Це правило зменшує навантаження на процесор.
  • *Це правило потрібно відключити, якщо використовуються правила обмеження швидкості.

Наступне правило дозволяє в ланцюжку транзитних (forward) пакетів встановлені та пов’язані пакети. Тобто те, що йде з локальної мережі транзитом через роутер передається в мережу.

add action=accept chain=forward comment=”accept established,related” connection-state=established,related

Наступне правило блокує в ланцюжку транзитних пакетів пошкоджені/неправильні пакети.

add action=drop chain=forward comment=”drop invalid” connection-state=invalid

Наступне правило блокує нові(new) транзитні пакети з мережі інтернет в локальну мережу. Тобто захищає локальну мережу від зовнішніх атак.

add action=drop chain=forward comment=”drop all from WAN to LAN” connection-nat-state=!dstnat connection-state=new in-interface=ether1

В принципі цих правил достатньо для безпечної роботи.

Слідкуємо по лічильникам, яке правило спрацьовує. Можемо для будь якого правила включити логування.

Відключення сервісів, які не планується використовувати. Налаштування.

Сервіси доступу до роутера, які не планується використовувати, потрібно відключити.

Ідемо в IP/Services. У вікні IP Service List відключаємо (х) всі сервіси, якими не плануємо користуватись. Я залишив лише winbox. Для безпеки в полі Available From вказауємо звідки можемо мати доступ. Я вказав локальну підмережу. В результаті керувати мікротіком можливо лише через WinBox з локальної мережі. Віддалений доступ закритий.

Відключаємо пакети, які не плануємо використовувати

Аналогічно до попереднього потрібно вимкнути всі пакети (розширення), які не плануємо використовувати.

Меню System/Packages. В Package List віключаємо (Disable) непотрібне. Я вимкнув:

  • ipv6;
  • mpls;
  • ppp;
  • wireless.

*Уважно, головне не перестаратися і не відключити потрібні пакети.

Ще дещо виключаємо

Відключаємо (забираємо галочку з Enable, якщо вона стоїть):

  • IP/UPnP;
  • IP/Web Proxy;
  • IP/Socks.

Відключаємо Neighbors. Ця функція передає в оточуюче середовище дані про роутер. Може використовуваться для зв’язку з іншими мікротіками для автоматичного налаштування. Передавати дані роутера в сторону провайдера небезпечно. Тому віключаємо цю функцію на всіх інтерфейсах.

Меню IP/Neighbors, кнопка Discovery Settings, поле Interface: none.

Частково відключаємо доступ до роутера по МАС адресу.

Меню Tools/Mac Server. У вікні кнопка MAC Telnet Server. В полі Allowed Interface List: none. Кнопка MAC Ping Server забираємо галочку з MAC Ping Server Enabled.

Час життя з’єднань

Не завжди з’єднання коректно закриваються. Незакриті з’єднання займають місце в оперативній пам’яті. По умовчанню максимальний час життя з’єднань 24 години, що надто багато. Змінюємо на 1 год.

В терміналі виконуємо команду:

/ip firewall connection tracking set tcp-established-timeout=1h

Або IP/Firewall, вкладка Connections, кнопка Tracking, поле TCP Established Timeout: 01:00:00.

Післямова

Це, звісно, далеко не всі налаштування. Але їх цілком достатньо для забезпечення надійної, безпечної роботи. Не варто нехтувати цими налаштуваннями. Мікротіки дуже ласі пристрої для зловмисників. За допомогою незахищених роутерів можна створити потужну мережу ботнет для хакерських атак.

*За 24 години Uptime фаєрвол заблокував близько 15 000 небажаних вхідних пакетів. Скільки з них були критичними???


P.S. Наступним кроком буде розмежування мереж:

  • для учнів/батьків/гостей, з обмеженнями по швидкості, небажаному контенту, доступу в робочий час, ізоляції від основної мережі, без пароля;
  • для працівників – без обмежень, з паролем.