Установка и базовая настройка фаервола UFW
Дата публикации: 24.04.2026

Установка и базовая настройка фаервола UFW

ccb9a536


Установка и базовая настройка фаервола UFW: Защищаем сервер как крепость

Вы когда-нибудь видели, как охранник на входе в клуб проверяет гостей по списку? Кто-то проходит без вопросов, кого-то отправляют обратно, а подозрительных личностей вообще не пускают. Фаервол (межсетевой экран) UFW работает точно так же — он контролирует, какой трафик может "войти" на ваш сервер или "выйти" из него.

Для веб-мастера или арбитражника это критично:

  • Безопасность: Закроете уязвимости, которые ищут боты и хакеры.
  • Скорость: Отсечёте мусорный трафик, разгрузив сервер.
  • Изоляция: Разделите доступ для разных сервисов (например, только для вашего IP).

Сегодня вы научитесь: ✅ Устанавливать UFW на Ubuntu/Debian. ✅ Настраивать правила для SSH, HTTP/HTTPS и других портов. ✅ Блокировать атаки и автоматизировать защиту. ✅ Диагностировать проблемы с подключением.


1. Что такое UFW и почему не iptables?

UFW (Uncomplicated Firewall) — это "обёртка" над сложным инструментом iptables, которая делает настройку фаервола простой и интуитивной. Представьте:

  • iptables — это ручная коробка передач в гоночном болиде: мощно, но требует мастерства.
  • UFW — автомат в надёжном седане: достаточно знать, куда ехать.
Характеристика iptables UFW
Сложность Высокая (команды из 10+ параметров) Низкая (команды из 2-3 слов)
Подходит для Экспертов, тонкой настройки Начинающих и 90% задач
Логирование Настраивается вручную Включается одной командой
Ошибки Легко сломать сеть Защита от дурака

Важно: UFW доступен по умолчанию в Ubuntu/Debian. Для других дистрибутивов (CentOS, Arch) есть аналоги: firewalld или nftables.


2. Установка UFW

Шаг 1: Проверка наличия UFW

Откройте терминал и выполните:

ufw --version

Если увидите версию (например, ufw 0.36) — UFW уже установлен. Если нет — устанавливаем:

Шаг 2: Установка (если отсутствует)

Для Ubuntu/Debian:

sudo apt update && sudo apt install ufw -y

Для CentOS/RHEL (через EPEL):

sudo yum install epel-release -y && sudo yum install ufw -y

Шаг 3: Проверка статуса

sudo ufw status

Ответ должен быть:

Status: inactive

Это нормально — фаервол выключен по умолчанию.


3. Базовая настройка: Правила для SSH, HTTP/HTTPS

⚠️ Предупреждение: Если вы подключены к серверу по SSH, сначала разрешите порт 22, иначе рискуете потерять доступ!

Шаг 1: Разрешаем SSH (порт 22)

sudo ufw allow 22/tcp

или (ещё надёжнее — только для вашего IP):

sudo ufw allow from 123.123.123.123 to any port 22 proto tcp

Замените 123.123.123.123 на ваш реальный IP. Узнать его можно здесь.

Шаг 2: Разрешаем веб-трафик (HTTP/HTTPS)

Для веб-сервера (Nginx/Apache) нужны порты 80 (HTTP) и 443 (HTTPS):

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Или одной командой:

sudo ufw allow "Nginx Full"  # Для Nginx
sudo ufw allow "Apache Full" # Для Apache

Шаг 3: Активируем UFW

sudo ufw enable

Система спросит подтверждение:

Command may disrupt existing ssh connections. Proceed with operation (y|n)? y

Отвечайте y и нажимайте Enter.

Шаг 4: Проверяем правила

sudo ufw status numbered

Пример вывода:

Status: active

     To                         Action      From
     --                         ------      ----
[1] 22/tcp                     ALLOW       123.123.123.123
[2] 80/tcp                     ALLOW       Anywhere
[3] 443/tcp                    ALLOW       Anywhere

numbered показывает правила с номерами — это пригодится для их удаления/изменения.


4. Продвинутые правила: Блокировка атак и изоляция

Правило 1: Блокировка подозрительных IP

Допустим, вы заметили в логах (/var/log/auth.log) попытки взлома с IP 192.168.1.100. Блокируем его навсегда:

sudo ufw deny from 192.168.1.100 to any

Правило 2: Ограничение количества подключений (защита от DDoS)

Если кто-то пытается заспамить ваш сервер запросами, ограничим порт 80 до 10 соединений в минуту:

sudo ufw limit 80/tcp

Это создаст правило, которое временно блокирует IP после превышения лимита.

Правило 3: Разрешение доступа только для конкретной сети

Например, разрешим доступ к порту 3306 (MySQL) только для локальной сети 192.168.1.0/24:

sudo ufw allow from 192.168.1.0/24 to any port 3306 proto tcp

Правило 4: Перенаправление портов (проброс)

Допустим, у вас работает сервис на порту 8080, но вы хотите, чтобы он был доступен через 80:

sudo ufw allow 80/tcp
sudo ufw route allow proto tcp from any to any port 8080

Это полезно для проксирования трафика (например, через Nginx).


5. Управление правилами: Изменение и удаление

Как удалить правило

Узнаём номер правила (из sudo ufw status numbered), затем удаляем:

sudo ufw delete 3  # Удалит правило с номером 3

Как отключить UFW (временно)

sudo ufw disable

Внимание: Отключайте фаервол только для отладки! В рабочем режиме он должен быть всегда включён.

Как сбросить все правила

Если всё сломалось и нужно начать с чистого листа:

sudo ufw reset

Это удалит все правила и отключит UFW.


6. Логирование и диагностика

Включение логов

Чтобы видеть, кто стучится к вашему серверу:

sudo ufw logging on

Логи пишутся в /var/log/ufw.log. Посмотреть их:

sudo tail -f /var/log/ufw.log

Пример записи: [UFW BLOCK] IN=eth0 OUT= MAC=... SRC=192.168.1.100 DST=ваш_IP LEN=40 TOS=0x00 PREC=0x00 TTL=55 ID=12345 PROTO=TCP SPT=4444 DPT=22 WINDOW=1024 RES=0x00 SYN URGP=0 Это означает, что кто-то с IP 192.168.1.100 пытался подключиться к вашему SSH (порт 22), но был заблокирован.

Проверка открытых портов

Если что-то не работает, проверьте, открыт ли порт:

sudo ufw status | grep 80

Или через netstat:

sudo netstat -tulnp | grep 80

7. Автоматизация: Настройка UFW при старте сервера

UFW автоматически запускается при загрузке системы, но если вы изменили правила, их нужно сохранить:

sudo ufw enable  # Сохраняет правила в /etc/ufw/

Чтобы проверить, что UFW добавлен в автозагрузку:

systemctl is-enabled ufw

Должен вывести: enabled.


8. Типичные ошибки и их решение

Проблема Причина Решение
Не могу подключиться по SSH Забыли разрешить порт 22 до включения UFW Подключитесь через консоль хостинга и исправьте правила
Сайт не открывается Не разрешили порты 80/443 sudo ufw allow 80/tcp и sudo ufw allow 443/tcp
UFW не сохраняет правила Не выполнили sudo ufw enable Выполните команду и перезагрузите сервер
Логи пустые Логирование отключено sudo ufw logging on

Практика для закрепления

Упражнение 1: Базовая настройка

  1. Установите UFW на ваш сервер (или виртуальную машину).
  2. Разрешите доступ по SSH только для вашего IP.
  3. Разрешите порты 80 и 443.
  4. Включите UFW и проверьте статус.

Упражнение 2: Блокировка атак

  1. Добавьте правило, которое блокирует IP 1.2.3.4.
  2. Ограничьте порт 22 до 5 соединений в минуту (защита от брутфорса).
  3. Проверьте логи (/var/log/ufw.log) после попытки подключения.

Упражнение 3: Проброс портов

  1. Представьте, что у вас работает сервис на порту 3000.
  2. Настройте UFW так, чтобы трафик с порта 80 перенаправлялся на 3000.
  3. Проверьте доступность сервиса через браузер.

Упражнение 4: Диагностика

  1. Отключите UFW (sudo ufw disable).
  2. Попробуйте подключиться к серверу по SSH и открыть сайт.
  3. Включите UFW обратно и сравните поведение.

Вопрос для размышления

Почему опасно разрешать доступ ко всем портам для любого IP? Приведите 2 примера атак, которые это позволяет провести.


Итоги

Теперь ваш сервер защищён как крепость:

  • SSH доступен только вам.
  • Веб-трафик проходит без помех.
  • Подозрительные IP блокируются автоматически.
  • Логи помогают отслеживать атаки.

Следующий шаг: Настройте fail2ban для автоматической блокировки брутфорс-атак (это будет в следующем уроке).

Помните: Фаервол — это как замок на двери. Он не защитит от всех угроз, но сделает жизнь хакера намного сложнее. Всегда обновляйте правила и следите за логами!


Генератор паролей с длинной 64 символа
Женская одежда с бахромой
Кадастровые работы в Бийске
Как Aptum хостинг помогает малым бизнесам в управлении CRM-системами
Как выбрать планировку сайта для блогов на DreamHost
Как выбрать Vdsina вечный хостинг для своего проекта
Казань окна VEKA - профессионализм и опыт
Курьерская вода
Новостройки Оренбурга: недвижимость с отличной ценой
Онлайн чат-партнерство
Пиломатериалы для возведения бани
Почему VDSina — лучший выбор хостинга
Секреты Вконтакте: тонкости и хитрости
Скидки до 50% на тур в Коста-Рике
Видеочат рулетка бесплатно
рейтинг хостингов 2026 Быстрые VDS серверы