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

замість вступу

Доброю ідеєю може виявитися спочатку підключити Mikrotik як локальний клієнт (WAN Mikrotik в LAN порт вашого поточного роутера) і налаштувати WiFi та ін. Таким чином ви зможете, підключивши тільки один ваш ноутбук, все перевірити і випробувати (і навіть посканіть роутер з вашої існуючої локалки ), а потім, коли вирішите, що готові, просто включите новенький Mikrotik замість старого роутера. Якщо ви щось напартачили в процесі настройки, ви не виставите незахищеним комп'ютери за Mikrotik-му і завжди спокійно зможете скинути роутер на заводський стан.

Автодоповнення команд настільки схоже на стиль Cisco і ін. Що у вас не виникне відчуття відірваності від пережитого досвіду, а firewall роутера Mikrotik настільки схожий на iptables, що не складе істотно праці зрозуміти принцип роботи, якщо у вас хоч трохи досвіду роботи з Linux.

Отже, маємо роутер Mikrotik, наприклад, дуже популярний RB951G-2HnD.

Вважаємо, що внутрішня мережа залишилася недоторканою (192.168.88.0/24), IP роутера 192.168.88.1, зовнішній інтерфейс ether1-gateway.

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

Доступ до терміналу через WinBox

Величезна перевага WinBox полягає в тому, що навіть якщо мережевий адаптер комп'ютера, з якого ви підключаєтеся до Mikrotik, знаходиться в іншій підмережі (ну, настройка у вас така), то WinBox все одно зможе підключитися до роутера - по mac. Якщо ви ще не встановили WinBox, саме час це зробити! У браузері відкриваємо веб-інтерфейс роутера і знаходимо майже в самому низу ссилочку WinBox.

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

Запускаємо WinBox і вибираємо New Terminal.

Далі все як в нормальних дорослих залозках, по tab автодоповнення команд та ін. Вам сподобається!

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

При введенні команд врахуйте, що внесені зміни застосовуються відразу ж, тому не заблокуйте самі себе. Після введення команд нові правила будуть доступні для редагування через WinBox або веб-інтерфейс. Порядок правил має значення - виконуються зверху вниз. Де б ви не взяли самі команди, спочатку подивіться, що вони роблять!

Ланцюжок FORWARD працює тоді, коли дані проходять через роутер, наприклад, коли ваш локальний комп'ютер хоче відкрити сайт ya.ru. Всякі блокування на цьому етапі захищають вас, наприклад, від того, що заражений комп'ютер у вашій локальній мережі почне розсилати спам або брати участь в DDOS. Тобто кожен банк-клієнт, IM-месенджер і купа іншого софта вимагають своїх особливих дозволів, то якщо ви не захищаєте банк від хакерів, то ми просто заборонимо деякі найбільш поширені види трафіку, які використовуються зараженими комп'ютерами. А так весь проходить з локалки в інтернет (але не навпаки!) Ми дозволимо.

Ланцюжок OUTPUT працює тоді, коли дані генерітся на самому роутері і йдуть назовні. Наприклад, для запитів DNS. Цю цеопчку по суті нам немає сенсу фільтрувати. Майже.

Ланцюжок forward дозволяє нам дозволяти чи не дозволяти проходить трафік, а ось за те, який трафік і куди ми будемо перенаправляти, відповідають ланцюжка SRCNAT і DSTNAT.

Мінімальний набір правил - зробити недоступним із зовні зовнішній інтерфейс роутера.

/ Ip firewall filter
add chain = input connection-state = invalid action = drop comment = "drop invalid connections"
add chain = input connection-state = related action = accept comment = "allow related connections"
add chain = input connection-state = established action = accept comment = "allow established connections"
add chain = input action = drop comment = "drop everything else" in-interface = ether1-gateway

де в останньому правилі ми забороняємо весь вхідний трафік на зовнішньому Інтрфейс. Чи не грайтеся настройками віддалено! Легко позбавити себе доступу до роутера.

Далі, у міру потреби, можна буде поміщати дозволяють правила перед останнім заборонним.

IP -> Firewall - NAT. За замовчуванням, nat вже включен.Ето правило "маськарадінг":

/ Ip firewall nat add chain = srcnat action = masquerade out-interface = ether1-gateway

Вихідний інтерфейс (out-interface) завжди зовнішній, дивиться і інтернет (або просто в іншу мережу, якщо у вас все непросто). В принципі, мінімально цих правил nat і input вже досить. Врахуйте, що якщо у вас ланцюжок forward за замовчуванням блокує все, що можливо, то треба додати відповідне правило:

/ Ip firewall filter add chain = forward out-interface = ether1-gateway

кидок портів

Припустимо, вам треба зробити доступним веб-сервер (tcp / 80), запущений на локальній машині з IP 192.168.88.22.

/ Ip firewall nat add action = dstnat chain = dstnat dst-port = 80 in-interface = ether1-gateway protocol = tcp to-addresses = 192.168.88.22 to-ports = 80

Все б нічого, але швидше за все, у вас включений firewall, який ріже все, що не відповідає політиці партії. Тоді треба дозволити forward пакетів:

Це правило треба перемістити вище, тобто ближче до початку списку правил.

/ Ip firewall nat add action = netmap chain = dstnat protocol = tcp dst-address = 192.168.88.3 to-addresses = 192.168.4.200

Чекаємо і тиснемо, як бліх любителів чужого ssh

Якщо ми не використовуємо ssh для роботи з Mikrotik, то нам може бути мало просто відключити ssh в IP -> Services. Якщо ми не користуємося ssh, значить, будь-яка спроба конекту по ssh - ворожа!

/ Ip firewall filter
add chain = input protocol = tcp dst-port = 22 address-list = ssh_blacklist action = add-src-to-address-list address-list-timeout = 60m comment = "record ssh brute forcers" disabled = no log = yes log -prefix = "--- SSH ATTEMPT ---"

А ось тепер, маючи на руках список хуліганів (ssh_blacklist), можна банити їм або тільки роботу з ssh, або взагалі будь-які дії в бік нашого мікротіка:

/ Ip firewall filter
add chain = input protocol = tcp src-address-list = ssh_blacklist action = drop comment = "drop ssh brute forcers"

Правила по вилову і блокування маніяків треба розмістити вище останнього забороняє правила, інакше нічого не спрацює. А ще краще, якщо у вас є відкритий VPN або інші сервіси на мікротом - обидва цих правила поставити найпершими, щоб тих, хто намагався наш ssh відкрити, відгородити взагалі від усього на нашому роутере, за принципом - якщо хтось в одному що -то замишляє, то і в іншому він теж капость готує. Головне - не перестаратися! Раптом ви самі випадково забудете про це правило і вирішите з роботи посканіть роутер nmap-му, наприклад.

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

Налаштування за допомогою скрипта

Наведу приклад скрипта настройки firewall:

Зверніть увагу: цей скрипт не прив'язаний до зовнішнього IP або MAC або чогось унікального. Його можна брати і використовувати. Якщо ви нічого не змінювали в своєму роутере і оновили до версії 6. * після покупки, вам про всяк випадок слід перевірити назву зовнішнього інтерфейсу і переконатися, що внутрішня мережа 192.168.88.0/24. І все.

ether1-gateway - зовнішній інтерфейс, перший за рахунком. Це його ім'я по-замовчуванню. Решта порти - внутрішні.

У секції ext input нічого немає - мені не потрібно, щоб хтось підключався до роутера. Якщо вам необхідний віддалений доступ до роутера, скажімо, по ssh, то впишіть команду:

add chain = input protocol = tcp dst-port = 22 action = accept in-interface = ether1-gateway comment = "allow remote ssh"

Останнє правило (5) ніколи не буде виконуватися, я його додав сюди спеціально, щоб продемонструвати роботу jump. Останнє правило для ланцюжка forward буде (4) drop.

Тобто припустимо, ми запросили вихідні повідомлення з віддаленим ssh-сервером (тобто з локальної мережі через через ланцюжок forward, протокол tcp, dst-port 22). Дійшовши до блоку (1) jumping, виконається перехід в (2) deny для tcp. Оскільки в ланцюжку tcp немає рішення з приводу tcp / 22, то виконання повернеться до (3), яке виконає forward нашого пакета. Якщо наш пакет не задовольнить вимогам (3), наступне за ним правило (4) блокує його.

Наочно це дуже цікаво дивитися, коли у вікні Firewall бачиш лічильник пакетів по правилам.

Якщо ви почали підозрювати, що 100500 правок виконують вже казна-що, просто виділяєте все правила брандмауера і натискаєте delete. Потім знову Run Script;)

Щоб не гортати всю простирадло, можна відфільтрувати лістинг правил по ланцюжках (фільтр вгорі праворуч):

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

Запасіться терпінням, не експериментуйте в стані нічного анабіозу і поспіхом. В принципі, це все.

Скопіювавши в notepad, потрібно видалити пробіли в кінці рядків, інакше скрипт не працює

Привіт, скористався скриптом трохи змінивши там назви інтерфейсів, додавши кілька правил для pptp в секцію allow established connections 1 723 і gre, після застосування я можу підключиться по pptp але для мене закриті всі порти, я можу тільки пінгувати, підкажіть що додати, в service port pppt включений, буду дуже вдячний

Схожі статті