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 — это "мощный инструмент в руках мастера". Настраивайте брандмауэр, изучайте свои настройки, и пусть ваш сервер останется крепостью, а не проходным двором.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ