1. UFW: Uncomplicated Firewall
Навіщо потрібен брандмауер?
Уявіть, що ваш сервер — це будинок, повний всякого цінного добра (даних, звичайно). Якщо ви залишите двері навстіж, хто завгодно може зайти, поласувати вашими даними, а потім залишити брудний посуд (або щось гірше). Брандмауер — це ті самі двері, які ви можете контролювати: кому можна заходити, через які ворота і за яких умов.
Linux пропонує два основних інструменти для налаштування брандмауера: ufw (Uncomplicated Firewall, тобто "нескладний брандмауер") та iptables. Давай розбиратись, як вони працюють і чим відрізняються.
Що таке UFW?
UFW — це інструмент для налаштування брандмауера, створений з ідеєю "давайте зробимо це простіше". Він ідеально підходить для тих, хто хоче швидко налаштувати базові правила доступу, не вникаючи у складні деталі.
Встановлення та увімкнення UFW
UFW зазвичай попередньо встановлений у більшості дистрибутивів на базі Debian/Ubuntu. Якщо його немає, встановіть його:
sudo apt update
sudo apt install ufw
Увімкнути UFW:
sudo ufw enable
Перевірити статус:
sudo ufw status
При першому запуску статус, скоріш за все, буде "inactive". Після увімкнення він зміниться на "active".
Налаштування правил UFW
Тепер найцікавіше — налаштування правил, що визначають, який трафік пропускати, а який блокувати.
Дозволити доступ по SSH (порт 22):
sudo ufw allow 22
Відкрити доступ до вебсервера (порт 80):
sudo ufw allow 80
Відкрити HTTPS (порт 443):
sudo ufw allow 443
Закрити доступ до непотрібного порту (наприклад, 8080):
sudo ufw deny 8080
Видалити правило:
Якщо ви раптом передумали, видаліть правило за номером, вказаним командою sudo ufw status numbered. Наприклад:
sudo ufw delete 1
Перевірка та тестування
Щоб переконатись, що все працює як треба, можна ще раз перевірити статус:
sudo ufw status
Ви побачите список усіх активних правил.
2. IPTABLES: більше контролю, більше можливостей
Що таке iptables?
Якщо UFW — це "прості двері з замком", то iptables — це "розумний охоронець", який дозволяє налаштувати взагалі все. Він надає повний контроль над трафіком, включаючи маршрутизацію, фільтрацію за різними критеріями та навіть можливість модифікувати пакети.
Основні поняття iptables
- Таблиці — це набори функцій для обробки мережевих пакетів.
filter: обробка та фільтрація пакетів (наприклад, дозволити або заблокувати).nat: перетворення адрес/портів (для роутерів, наприклад).
- Ланцюжки — це правила, застосовані до пакетів.
INPUT: для вхідного трафіку.OUTPUT: для вихідного трафіку.FORWARD: для перенаправленого трафіку.
- Цілі (targets) — це дії, виконувані над пакетом.
ACCEPT: дозволити пакет.DROP: відкинути пакет.REJECT: відкинути пакет, надіславши сповіщення.
Давайте подивимося, як налаштувати правила iptables.
Перегляд поточних правил
Щоб побачити, які правила вже налаштовані, виконайте:
sudo iptables -L
Додатково можна додати -v або -n для детальної інформації про пакети та IP-адреси.
Створення правил з iptables
Просте правило: дозволити SSH (порт 22):
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
Заблокувати доступ до порту 8080:
sudo iptables -A INPUT -p tcp --dport 8080 -j DROP
Обмеження доступу за IP-адресою:
Якщо хочете, щоб комп'ютер з конкретним IP міг підключатись до вашого сервера, а всі інші ні:
sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
Видалення правил
Щоб видалити правило, потрібно знати його номер. Знайдіть його за допомогою:
sudo iptables -L --line-numbers
А потім видаліть:
sudo iptables -D INPUT <номер_правила>
Збереження правил
Правила iptables стандартно "забуваються" при перезавантаженні системи. Щоб цього уникнути, збережіть їх:
sudo iptables-save > /etc/iptables/rules.v4
Потім правила можна відновити так:
sudo iptables-restore < /etc/iptables/rules.v4
3. UFW проти IPTABLES: що обрати?
UFW і iptables виконують одну і ту ж функцію — захищають ваш сервер. То який інструмент обрати?
- UFW — це простий інструмент для базового налаштування безпеки. Якщо ви не хочете занурюватися в низькорівневі деталі чи просто хочете швидко налаштувати брандмауер, обирайте UFW.
- Iptables — це потужний інструмент для більш складного налаштування. Якщо у вас складна інфраструктура (наприклад, NAT, маршрутизація), вам знадобиться iptables.
До речі, UFW насправді працює "поверх" iptables. Він просто генерує iptables-правила за вас. Тож, якщо ви опанували iptables, ви автоматично розумієте внутрішню роботу UFW.
4. Практичні приклади: захист сервера
Приклад 1: захист SSH та веб-сервера з UFW
- Переконайтеся, що UFW встановлено та активовано:
sudo ufw enable
- Дозвольте доступ по SSH і до веб-сервера:
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443
- Перевірте активні правила:
sudo ufw status
Приклад 2: блокування непотрібного трафіку за допомогою iptables
- Дозвольте доступ по SSH:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
- Дозвольте веб-трафік:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
- Заблокуйте все інше:
sudo iptables -A INPUT -j DROP
Сьогодні ви дізналися, як захистити сервер за допомогою UFW та iptables. Обидва інструменти потужні й корисні, просто звикайте до того, що UFW — це ваш "друг на кожен день", а iptables — це "сильний інструмент в руках майстра". Налаштовуйте брандмауер, досліджуйте свої налаштування, і нехай ваш сервер залишиться фортецею, а не проходним двором.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ