🎯 Коли потрібен захист від DDoS MikroTik
Перед налаштуванням захисту важливо зрозуміти, чи дійсно він вам потрібен.
✅ Захист ПОТРІБЕН, якщо:
- 🌐 Ви інтернет-провайдер
- 🖥️ У вас хостинг або сервери з важливими сайтами
- 🏢 У компанії є публічні сервіси (сайт компанії, пошта)
- 🏛️ Ваша організація може стати ціллю атаки (банк, держустанова)
- ⚡ Є критично важливі сервіси, які повинні працювати 24/7
❌ Захист НЕ ПОТРІБЕН, якщо:
- 🏠 Звичайна домашня мережа
- 🏢 Маленький офіс без публічних сервісів
- 🧪 Тестова або навчальна мережа
⚠️ Важливо! Якщо в мережі немає критично важливих ресурсів, агресивна фільтрація може заблокувати легітимний трафік і створити додаткові труднощі.
🔍 Що таке DDoS атака
DDoS (Distributed Denial of Service) – розподілена атака типу “відмова в обслуговуванні”. Це кібератака, яка намагається вивести з ладу сервер, сервіс або мережеву інфраструктуру шляхом перевантаження її величезною кількістю запитів з різних джерел одночасно.
📝 Не плутайте з DoS – DDoS використовує множинні джерела атаки, що робить її набагато потужнішою.

🎭 Типи 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 атака
🎮 Простими словами:
- 🧟 Хакер збирає “армію” заражених комп’ютерів (як зомбі)
- 📢 Дає команду всім цим комп’ютерам атакувати одну ціль
- 💥 Заражені комп’ютери засипають ціль запитами
📞 Аналогія:
Уявіть, що 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"
- 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 до “чорного списку”.
🎯 Принцип роботи:
- 🔍 Всі нові з’єднання перенаправляються до спеціального ланцюжка
- 📊 Система відстежує кількість пакетів від кожного джерела
- 🚫 При перевищенні лімітів 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-атак практично неможливо, але можна значно підвищити стійкість мережі.
🔧 Що впливає на ефективність захисту:
- 💪 Складність та масштаб атаки
- 🖥️ Технічні можливості обладнання
- 🛡️ Комплексність системи захисту
- 👨💻 Наявність ресурсів для моніторингу
📋 Основні методи захисту:
- 🔥 Базові фільтри для блокування відомих атак
- 🎯 Динамічне виявлення та блокування IP-адрес
- 🔗 Налаштування Connection Tracking
- ☁️ Використання зовнішніх сервісів і CDN
- 📊 Детальний моніторинг та аналітика
🔐 Пам’ятайте: Захист від DDoS – це не одноразове налаштування, а постійний процес моніторингу, аналізу та адаптації до нових загроз.
📚 Додаткові ресурси
Створено для навчальних цілей. Використовуйте відповідально та тестуйте всі налаштування в безпечному середовищі перед впровадженням у продакшені.




