Настройка файрвола в Ubuntu с помощью UFW на серверах UFO.Hosting

Настройка файрвола в Ubuntu с помощью UFW на серверах UFO.Hosting

В этой статье разберем основные команды и принципы работы с утилитой UFW (Uncomplicated Firewall) для защиты вашего сервера Ubuntu.

Зачем нужен файрвол

Серверы регулярно подвергаются сканированию и атакам. Из-за этого может возникнуть утечка данных или сбои в работе веб-приложений, и все это из-за  некорректной защиты. Поэтому настройка UFW поможет ограничить доступ к серверу и снизить риски.

Предварительные требования для работы

Для начала, необходимо обновить список пакетов, чтобы система получила актуальную версию UFW:

  1. sudo apt-get update
  2. sudo apt-get install ufw

На большинстве серверов с Ubuntu утилита UFW уже предустановлена. Проверить ее наличие можно с помощью команды: 

ufw --version

Если её нет, установите ее с помощью команды:

sudo apt-get install ufw

Разрешение SSH-соединений

Перед включением UFW убедитесь, что у вас есть SSH- доступ, иначе вы потеряете подключение к серверу. Если сомневаетесь — разрешите SSH заранее.

sudo ufw allow ssh

UFW понимает названия стандартных сервисов (ssh, sftp, http, https). Если SSH использует другой порт, замените ssh на номер порта:

sudo ufw allow 2222

Как включить UFW

Выполните команду:

sudo ufw enable

Вы увидите предупреждение:

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

Так как SSH уже разрешен, нажмите y

Разрешение других подключений

HTTP (порт 80)

sudo ufw allow http

или

sudo ufw allow 80

Если вы запускаете веб-сервер, без этого правила браузеры не смогут подключаться.

HTTPS (порт 443)

sudo ufw allow https

или

sudo ufw allow 443

Для безопасного соединения через SSL/TLS добавьте это правило.

FTP (порт 21)

sudo ufw allow ftp

или

sudo ufw allow 21/tcp

Если сервер использует FTP для передачи файлов, разрешите этот порт. Для SFTP отдельные правила не нужны, так как он использует SSH.

Как работать с диапазонами портов

Если приложение использует несколько портов (например, 3000–3100):

sudo ufw allow 3000:3100

sudo ufw allow 3000:3100/tcp

sudo ufw allow 3000:3100/udp

Указывайте протокол, если это важно для работы сервиса (TCP для веб, UDP для игр или VoIP).

Как разрешить доступ для конкретных IP

Разрешить доступ конкретному IP:

sudo ufw allow from 123.45.67.89

Разрешение работает ко всем портам сервера. Если нужен доступ только к определенному порту:

sudo ufw allow from 123.45.67.89 to any port 22

Также можно разрешить целую подсеть:

sudo ufw allow from 123.45.67.89/24

sudo ufw allow from 123.45.67.89/24 to any port 22

Как запретить соединения

Запретить HTTP:

sudo ufw deny http

Запретить соединения с конкретного IP:

sudo ufw deny from 123.45.67.89

Используйте эти команды, если хотите ограничить доступ к серверу для определенных сервисов или IP.

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

По номеру

sudo ufw status numbered

sudo ufw delete 2

По фактическому правилу

sudo ufw delete allow http

sudo ufw delete allow 80

Для начала проверьте список правил, чтобы случайно не удалить нужное подключение.

Как отключить и сбросить UFW

Для этого необходимо отключить файрвол:

sudo ufw disable

Сбросить все правила:

sudo ufw reset

После сброса все подключения будут разрешены только по умолчанию. Используйте осторожно.

Логи UFW

Включить логирование:

sudo ufw logging on

Уровни логов:

  • off — это все, что выключено
  • low — обозначает заблокированные пакеты и разрешенные по правилам
  • medium — все новые соединения и недопустимые пакеты
  • high — как medium, плюс ограничение скорости
  • full — полный лог без ограничений

Пример:

sudo ufw logging high

Посмотреть файлы логов:

ls /var/log/ufw*

Логи помогают отслеживать попытки подключения и выявлять подозрительный трафик.

Заключение

После настройки UFW сервер защищен базовыми правилами.

  • Проверьте, что все нужные приложения имеют доступ к своим портам
  • Заблокируйте ненужные подключения
  • Введите логи, чтобы отслеживать подозрительные действия

Даже минимальная настройка значительно снижает риски проникновения и помогает вашему серверу работать безопасно на UFO.Hosting.