DDos MikroTik – Захист маршрутизаторів MikroTik від простих Атак

🎯 Коли потрібен захист від DDoS MikroTik

Перед налаштуванням захисту важливо зрозуміти, чи дійсно він вам потрібен.

✅ Захист ПОТРІБЕН, якщо:
  • 🌐 Ви інтернет-провайдер
  • 🖥️ У вас хостинг або сервери з важливими сайтами
  • 🏢 У компанії є публічні сервіси (сайт компанії, пошта)
  • 🏛️ Ваша організація може стати ціллю атаки (банк, держустанова)
  • ⚡ Є критично важливі сервіси, які повинні працювати 24/7
❌ Захист НЕ ПОТРІБЕН, якщо:
  • 🏠 Звичайна домашня мережа
  • 🏢 Маленький офіс без публічних сервісів
  • 🧪 Тестова або навчальна мережа

⚠️ Важливо! Якщо в мережі немає критично важливих ресурсів, агресивна фільтрація може заблокувати легітимний трафік і створити додаткові труднощі.


🔍 Що таке DDoS атака

DDoS (Distributed Denial of Service) – розподілена атака типу “відмова в обслуговуванні”. Це кібератака, яка намагається вивести з ладу сервер, сервіс або мережеву інфраструктуру шляхом перевантаження її величезною кількістю запитів з різних джерел одночасно.

📝 Не плутайте з DoS – DDoS використовує множинні джерела атаки, що робить її набагато потужнішою.

untitled diagram 1

🎭 Типи DDoS атак

📊 Об’ємні атаки (Volumetric Attacks)
  • UDP Flood: Масова відправка UDP пакетів на різні порти
  • ICMP Flood: Перевантаження PING запитами
  • DNS Amplification: Використання DNS серверів для підсилення атаки
  • NTP Amplification: Використання NTP серверів для генерації великого трафіку
🔧 Протокольні атаки (Protocol Attacks)
  • SYN Flood: Відправка великої кількості SYN запитів без завершення з’єднання
  • Ping of Death: Відправка пошкоджених ICMP пакетів
  • Smurf Attack: Використання broadcast-адрес для підсилення ICMP трафіку
  • RST Flood: Надсилання великої кількості TCP RST пакетів
  • TCP Reset: Переривання існуючих з’єднань пакетами TCP Reset
💻 Прикладні атаки (Application Layer Attacks)
  • HTTP Flood: Масові GET/POST запити до веб-сервера
  • Slowloris: Повільні неповні HTTP запити
🔄 Гібридні атаки

Сучасні DDoS атаки часто поєднують елементи різних типів, створюючи складніші гібридні атаки, що одночасно атакують різні рівні мережі.


⚙️ Як працює DDoS атака

🎮 Простими словами:
  1. 🧟 Хакер збирає “армію” заражених комп’ютерів (як зомбі)
  2. 📢 Дає команду всім цим комп’ютерам атакувати одну ціль
  3. 💥 Заражені комп’ютери засипають ціль запитами
📞 Аналогія:

Уявіть, що 1000 людей одночасно телефонують на один номер – нормально подзвонити буде неможливо. Те ж саме відбувається при DDoS атаці, тільки в інтернеті.

💔 Наслідки:
  • 🌐 Інтернет-канал перевантажується
  • 🖥️ Сервер/роутер не витримує навантаження
  • 👥 Звичайні користувачі не можуть отримати доступ до сервісу

🛠️ Інструменти захисту MikroTik

MikroTik пропонує кілька інструментів для захисту від DDoS атак:

  • 🔥 Firewall фільтри
  • RAW фільтри
  • 📝 Address Lists
  • 🔗 Connection Tracking

💡 Примітка: Варіантів захисту від DDoS існує багато, все залежить від досвіду та фантазії адміністратора. Ми розглянемо основні методи.


🛡️ Базові Методи захисту

1️⃣ Захист від SYN-flood атак

SYN flood – це форма атаки DoS, при якій зловмисник надсилає багато запитів SYN, споживаючи серверні ресурси.

/ip firewall filter
add chain=input protocol=tcp tcp-flags=syn connection-state=new limit=200,5:packet action=accept comment="Allow new TCP connections"
add chain=input protocol=tcp tcp-flags=syn connection-state=new action=drop comment="Drop SYN flood"
✅ Плюси:
  • Ефективно проти простих SYN-flood атак
  • Легко налаштовується
❌ Мінуси:
  • Обмежена дієвість проти складних DDoS-атак
  • Не захищає від інших типів атак
  • Може впливати на продуктивність при високому навантаженні
2️⃣ Захист від UDP-flood

/ip firewall filter

add chain=input protocol=udp connection-state=new action=jump jump-target=udp-protect comment="UDP Flood protect"
add chain=udp-protect dst-limit=50/1s,5,src-address/1s action=return


# Варіант 1: Через Filter (базовий)
add chain=udp-protect action=drop comment="Drop UDP flood"

# Варіант 2: Через RAW (кращий)
/ip firewall raw
add chain=prerouting protocol=udp action=drop src-address-list=udp-flooders comment="Block UDP flooders"
✅ Плюси:
  • Ефективно проти простих UDP-flood атак
  • Легко налаштовується
❌ Мінуси:
  • Не захищає від інших типів атак
  • Може заблокувати легітимний UDP-трафік
  • Потребує постійного контролю лімітів
3️⃣ Захист від ICMP-flood
/ip firewall filter
add chain=input protocol=icmp icmp-options=8:0 limit=5,10:packet action=accept comment="Allow limited ICMP echo-request"
add chain=input protocol=icmp icmp-options=0:0 action=accept comment="Allow ICMP echo-reply"
add chain=input protocol=icmp icmp-options=3:0-4 action=accept comment="Allow ICMP unreachable"
add chain=input protocol=icmp icmp-options=11:0 action=accept comment="Allow ICMP time-exceeded"
add chain=input protocol=icmp action=drop comment="Drop all other ICMP"

Важливі типи ICMP:

  • 0:0 – echo reply (відповідь на ping)
  • 3:0-4 – destination unreachable
  • 8:0 – echo request (ping) – потрібно лімітувати!
  • 11:0 – time exceeded (traceroute)
✅ Плюси:
  • Ефективний проти простих ICMP-flood атак
  • Легко налаштувати
❌ Мінуси:
  • Не захищає від інших типів атак
  • Потребує постійного моніторингу
4️⃣ Захист від DNS-атак
# Якщо DNS НЕ використовується
/ip dns set allow-remote-requests=no

# Якщо DNS тільки для LAN
/ip firewall raw
add chain=prerouting protocol=udp dst-port=53 in-interface-list=WAN action=drop comment="Block DNS UDP from WAN"
add chain=prerouting protocol=tcp dst-port=53 in-interface-list=WAN action=drop comment="Block DNS TCP from WAN"
✅ Плюси:
  • Ефективно проти простих DNS-flood атак
  • Легко налаштовується
❌ Мінуси:
  • Захищає лише DNS-сервер
  • Може блокувати легітимні DNS-запити
  • Недостатньо проти комплексних атак
5️⃣ Connection Tracking

Connection Tracking – механізм відстеження стану мережевих з’єднань, основа для динамічного фільтрування трафіку.

🔄 Стани з’єднань:
  • NEW – нове з’єднання
  • ESTABLISHED – встановлене з’єднання
  • RELATED – пов’язане з’єднання
  • INVALID – некоректне з’єднання
⚙️ Налаштування:
/ip settings set tcp-syncookies=yes rp-filter=strict

/ip firewall connection tracking
set enabled=yes
set tcp-syn-sent-timeout=5s
set tcp-syn-received-timeout=5s
set tcp-established-timeout=1h
set tcp-fin-wait-timeout=10s
set tcp-close-wait-timeout=10s
set tcp-last-ack-timeout=10s
set tcp-time-wait-timeout=10s
set udp-timeout=10s
set icmp-timeout=10s

Режими rp-filter:​​
strict: Найбезпечніший – перевіряє і інтерфейс, і маршрут
loose: М’якший – тільки перевіряє наявність маршруту в таблиці
no: Вимкнено
⚠️ УВАГА: strict може не працювати в multi-homed мережах (кілька ISP)!​

📝 Пояснення параметрів:
  • tcp-syncookies: Захист від SYN-flood атак
  • max-tcp-retransmits: Максимальна кількість повторних передач
  • tcp-syn-sent-timeout: Час очікування на стадії SYN
  • tcp-established-timeout: Час життя встановленого з’єднання
  • udp-timeout: Час життя UDP з’єднань
  • icmp-timeout: Час життя ICMP повідомлень
✅ Плюси:
  • Підвищує стійкість до атак
  • Допомагає виявляти аномалії в трафіку
  • Знижує навантаження на процесор
❌ Мінуси:
  • Складність налаштування
  • Не захищає від всіх типів атак
  • Потребує використання з іншими методами
6️⃣ Захист від неправильних TCP пакетів
/ip firewall raw
# Створити окремий chain
add chain=prerouting action=jump jump-target=bad_tcp protocol=tcp comment="Check TCP flags"

# Фільтрувати неправильні комбінації
add chain=bad_tcp action=drop comment="No flags" protocol=tcp tcp-flags=!fin,!syn,!rst,!ack
add chain=bad_tcp action=drop comment="FIN+SYN" protocol=tcp tcp-flags=fin,syn
add chain=bad_tcp action=drop comment="FIN+RST" protocol=tcp tcp-flags=fin,rst
add chain=bad_tcp action=drop comment="FIN without ACK" protocol=tcp tcp-flags=fin,!ack
add chain=bad_tcp action=drop comment="FIN+URG" protocol=tcp tcp-flags=fin,urg
add chain=bad_tcp action=drop comment="SYN+RST" protocol=tcp tcp-flags=syn,rst
add chain=bad_tcp action=drop comment="RST+URG" protocol=tcp tcp-flags=rst,urg
add chain=bad_tcp action=drop comment="Port 0 traffic" port=0 protocol=tcp

🔒 Комплексний захист

Основний принцип — поєднання базових фільтрів, винятків trusted networks, активного моніторингу та зовнішніх сервісів.
Додавайте динамічні списки адресу атакуючих та цілей, використовуйте блокування на prerouting, dst-limit, автоматичне додавання IP до “чорного списку”.

🎯 Принцип роботи:
  1. 🔍 Всі нові з’єднання перенаправляються до спеціального ланцюжка
  2. 📊 Система відстежує кількість пакетів від кожного джерела
  3. 🚫 При перевищенні лімітів IP блокується автоматично
⚙️ Налаштування:
# 1. Створити списки адрес
/ip firewall address-list
add list=ddos-targets
add list=ddos-attackers

# 2. JUMP правила
/ip firewall filter
add chain=forward connection-state=new action=jump jump-target=detect-ddos

# 3. Детекція в detect-ddos chain
/ip firewall filter
add chain=detect-ddos dst-limit=32,32,src-and-dst-addresses/10s action=return
add action=add-dst-to-address-list address-list=ddos-targets address-list-timeout=10m chain=detect-ddos
add action=add-src-to-address-list address-list=ddos-attackers address-list-timeout=10m chain=detect-ddos

# 4. Блокування в RAW (найефективніше!)
/ip firewall raw
add chain=prerouting src-address-list=ddos-attackers dst-address-list=ddos-targets action=drop comment="Drop DDoS in RAW"
🔍 Як це працює:
  • ✅ Дозволяє максимум 32 пакети за 10 секунд з однієї адреси
  • 🚫 При перевищенні ліміту IP блокується на 10 хвилин
  • ⚡ Блокування відбувається на рівні prerouting (максимально швидко)
✅ Плюси комплексного підходу:
  • Динамічне виявлення та блокування
  • Автоматичне додавання в чорний список
  • Ефективно проти більшості простих атак
  • Гнучкі налаштування
❌ Мінуси:
  • Може блокувати легітимний трафік при неправильних лімітах
  • Недостатньо ефективний проти складних атак
  • Потребує постійного моніторингу
  • Може впливати на продуктивність при дуже високому навантаженні

🎯 Висновки

❓ Чи можна захиститися від DDoS на 100%?

Повністю захиститися від DDoS-атак практично неможливо, але можна значно підвищити стійкість мережі.

🔧 Що впливає на ефективність захисту:
  • 💪 Складність та масштаб атаки
  • 🖥️ Технічні можливості обладнання
  • 🛡️ Комплексність системи захисту
  • 👨‍💻 Наявність ресурсів для моніторингу
📋 Основні методи захисту:
  1. 🔥 Базові фільтри для блокування відомих атак
  2. 🎯 Динамічне виявлення та блокування IP-адрес
  3. 🔗 Налаштування Connection Tracking
  4. ☁️ Використання зовнішніх сервісів і CDN
  5. 📊 Детальний моніторинг та аналітика

🔐 Пам’ятайте: Захист від DDoS – це не одноразове налаштування, а постійний процес моніторингу, аналізу та адаптації до нових загроз.

📚 Додаткові ресурси


Створено для навчальних цілей. Використовуйте відповідально та тестуйте всі налаштування в безпечному середовищі перед впровадженням у продакшені.

5 2 votes
Rating
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Scroll to Top