Pterohost docs

Фаервол UFW для игрового сервера: порты и защита

Настройка UFW на игровом сервере: открытие портов TCP/UDP, защита SSH, блокировка сканов и проверка правил. Пошаговый гайд 2026.

Кратко: UFW (Uncomplicated Firewall) - это стандартный инструмент для настройки фаервола на Ubuntu и Debian. Для игрового сервера достаточно 10-15 минут: открыть игровой порт, ограничить SSH, включить UFW - и базовая защита готова.

Фаервол UFW для игрового сервера: порты и защита

Игровой сервер без фаервола - это открытые двери для сканеров, брутфорсеров и DDoS-амплификации. Большинство взломов и перегрузок VPS происходят именно через незащищённые порты, а не через уязвимости в самой игре. UFW (Uncomplicated Firewall) встроен в Ubuntu и Debian, не требует изучения синтаксиса iptables и закрывает 90% рисков за несколько команд. В этой статье разберём полную настройку UFW под игровой сервер: от установки до продвинутой защиты SSH и блокировки портсканеров, с конкретными командами для Minecraft, CS2, Rust, Palworld и других популярных игр.

Pterohost - игровой хостинг с аппаратной DDoS-защитой, NVMe-дисками и поддержкой 24/7 - отличный вариант, если не хочется тратить время на ручную настройку Linux. Промокод 4START даёт -20% на первый заказ. Заказать Minecraft хостинг

Что такое UFW и почему он нужен

UFW расшифровывается как Uncomplicated Firewall - буквально “простой фаервол”. Под капотом он управляет iptables (или nftables в новых системах), но предоставляет человекочитаемый синтаксис. Разработан командой Ubuntu, входит в стандартную поставку Ubuntu 18.04+ и Debian 10+.

Зачем фаервол игровому серверу:

  • Закрыть все порты по умолчанию и открыть только нужные
  • Защитить SSH от брутфорса (автоматических переборщиков паролей)
  • Предотвратить использование сервера как усилителя UDP-флуда
  • Скрыть вспомогательные сервисы (MySQL, RCON, панели управления) от интернета
  • Базовая защита от портсканеров (nmap-сканирование сервера не должно показывать лишнего)

На хостинге с панелью управления (Pterodactyl и аналоги) фаервол может быть уже настроен на уровне гипервизора. Но если у вас VPS или выделенный сервер - UFW нужно настраивать самому.

Установка и первичная проверка

На Ubuntu 20.04/22.04/24.04 и Debian 11/12 UFW уже установлен. Проверка:

ufw --version

Если команда не найдена - установите:

apt update && apt install ufw -y

Текущий статус фаервола:

ufw status

Если выводит Status: inactive - UFW установлен, но выключен. Это нормальное состояние после установки.

Правильный порядок настройки (не заблокируйте себя)

Самая частая ошибка - включить UFW до того, как открыли SSH. Результат: вы отключаетесь от сервера и теряете доступ. Порядок действий строго такой:

Шаг 1. Сначала разрешите SSH:

ufw allow ssh

Или через явный номер порта (если SSH работает не на 22):

ufw allow 2222/tcp

Шаг 2. Откройте игровые порты (до включения UFW):

Не включайте UFW, пока не добавили все нужные правила. После ufw enable всё незарезервированное будет закрыто.

Шаг 3. Включите UFW:

ufw enable

Система спросит подтверждение - введите y. После этого UFW активен и автоматически запускается при перезагрузке.

Политика по умолчанию

Грамотный подход - запретить всё входящее, разрешить всё исходящее, а потом точечно открывать нужные порты:

ufw default deny incoming
ufw default allow outgoing

Это уже установлено по умолчанию при первой установке UFW. Проверить:

ufw status verbose

Вывод должен содержать строки:

Default: deny (incoming), allow (outgoing), disabled (routed)

Открытие портов для популярных игр

Ниже - таблица с портами основных игр. Команды открывают сразу TCP и UDP на указанном порту.

ИграПорт(ы)ПротоколКоманда UFW
Minecraft Java25565TCP+UDPufw allow 25565
Minecraft Bedrock19132UDPufw allow 19132/udp
CS2 / CS:GO27015TCP+UDPufw allow 27015
Rust28015UDPufw allow 28015/udp
Rust RCON28016TCPufw allow 28016/tcp
Palworld8211UDPufw allow 8211/udp
Project Zomboid16261UDPufw allow 16261/udp
V Rising9876-9877UDPufw allow 9876:9877/udp
7 Days to Die26900TCP+UDPufw allow 26900
Garry’s Mod27015UDPufw allow 27015/udp
Arma 32302-2305UDPufw allow 2302:2305/udp
Valheim2456-2458UDPufw allow 2456:2458/udp
DayZ2302UDPufw allow 2302/udp

Открытие диапазона портов:

ufw allow 2456:2458/udp

Открытие порта только с конкретного IP (например, для RCON из офиса):

ufw allow from 203.0.113.10 to any port 25575

Защита SSH от брутфорса

SSH на стандартном порту 22 постоянно атакуется автоматическими сканерами. UFW имеет встроенный rate-limiting:

ufw limit ssh

Это правило автоматически блокирует IP, который сделал больше 6 попыток подключения за 30 секунд. После блокировки IP не может подключиться в течение 30 секунд - достаточно, чтобы отпугнуть большинство ботов.

Дополнительная защита - сменить порт SSH:

В /etc/ssh/sshd_config измените строку:

Port 2222

Затем в UFW:

ufw allow 2222/tcp
ufw delete allow ssh
ufw limit 2222/tcp

И перезапустите SSH:

systemctl restart sshd

Не забудьте сначала проверить подключение на новом порту в отдельной сессии - только потом закрывайте старый.

Управление RCON и админ-панелями

RCON (Remote Console) для игровых серверов - это отдельный порт для управления сервером. Он должен быть доступен ТОЛЬКО с вашего IP, не из интернета:

Minecraft RCON (порт 25575 по умолчанию):

ufw allow from ВАШ_IP to any port 25575

Pterodactyl Wings API (порт 8080):

ufw allow from IP_ПАНЕЛИ to any port 8080

Никогда не открывайте RCON для всех - через него можно выполнять команды на сервере. Если нужен доступ к RCON с нескольких мест - используйте SSH-туннель вместо открытого порта.

MySQL / MariaDB (порт 3306):

# Только с localhost - правильно для большинства установок
# Не добавляйте ufw allow 3306 если база на том же сервере, что и игра

Если база данных и игровой сервер на разных машинах:

ufw allow from IP_ИГРОВОГО_СЕРВЕРА to any port 3306

Блокировка портсканеров и базовая защита

UFW по умолчанию просто молча отбрасывает (DROP) пакеты на закрытые порты. Это лучше, чем REJECT (который отправляет ответ “порт закрыт” - и тем самым подтверждает существование сервера).

Проверить текущую политику:

ufw status verbose | grep "Default"

Строка deny (incoming) означает DROP - пакеты отбрасываются без ответа. Это правильно.

Логирование попыток подключения:

ufw logging on
ufw logging medium

Логи появятся в /var/log/ufw.log. Уровни: low (только заблокированные), medium (заблокированные + разрешённые новые соединения), high (всё). Для игрового сервера достаточно low или medium - иначе лог быстро разрастётся из-за игрового UDP-трафика.

Просмотр логов:

tail -f /var/log/ufw.log

Или через journald:

journalctl -k | grep UFW

Работа с правилами: просмотр, изменение, удаление

Просмотр всех правил:

ufw status verbose

Нумерованный список (удобно для удаления):

ufw status numbered

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

     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 25565                      ALLOW IN    Anywhere
[ 3] 25575                      ALLOW IN    203.0.113.10

Удаление правила по номеру:

ufw delete 3

Удаление правила по описанию:

ufw delete allow 25565

Сброс всех правил (осторожно - закроет SSH!):

ufw reset

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

Пример полной настройки для сервера Minecraft

Последовательность команд для чистого сервера:

# 1. Устанавливаем политику по умолчанию
ufw default deny incoming
ufw default allow outgoing

# 2. SSH с защитой от брутфорса
ufw limit ssh

# 3. Minecraft Java Edition
ufw allow 25565

# 4. Если используется Dynmap (веб-карта)
ufw allow 8123/tcp

# 5. RCON только с вашего IP
ufw allow from ВАШ_IP to any port 25575

# 6. Включаем UFW
ufw enable

# 7. Проверяем
ufw status verbose

Пример настройки для сервера CS2 / Garry’s Mod

ufw default deny incoming
ufw default allow outgoing

# SSH
ufw limit ssh

# Игровой порт
ufw allow 27015

# RCON только со своего IP
ufw allow from ВАШ_IP to any port 27015/tcp

# SRCDS TV (трансляция матчей, если нужна)
ufw allow 27020/udp

ufw enable
ufw status verbose

Частые ошибки при настройке UFW

Ошибка 1: Включили UFW без открытого SSH

Решение: подключиться через VNC/KVM-консоль у провайдера, выполнить ufw allow ssh и убедиться, что правило добавилось.

Ошибка 2: Открыли только TCP, а игра требует UDP

Многие игры (особенно на движке Source) используют UDP для игрового трафика. Команда ufw allow 27015 открывает оба протокола. Если написали ufw allow 27015/tcp - UDP остаётся закрытым, игроки не могут подключиться.

Ошибка 3: Перепутали входящий и исходящий трафик

ufw allow 25565 - это разрешение входящего трафика. Исходящий по умолчанию разрешён полностью, дополнительных правил для него не нужно.

Ошибка 4: Удалили нужное правило через ufw reset

После ufw reset UFW сбрасывает все правила и выключается. Если сделали это на работающем сервере - SSH не потеряется сразу (UFW выключен), но при следующем ufw enable без добавления правила SSH закроется. Всегда держите список своих правил в текстовом файле.

Ошибка 5: Забыли открыть порт после смены в конфиге игры

Изменили порт в server.properties или server.cfg - не забудьте обновить UFW. Закройте старый порт и откройте новый:

ufw delete allow 25565
ufw allow 25580

Ошибка 6: Конфликт с Docker

Если на сервере установлен Docker, он управляет своими iptables-правилами в обход UFW. Контейнеры могут оказаться доступны снаружи, даже если UFW их блокирует. Это отдельная тема - Docker и UFW требуют специальной настройки (/etc/ufw/after.rules или переменная DOCKER_OPTS).

Дополнительные возможности UFW

Разрешить доступ только из определённой страны (через ipset):

UFW сам по себе не поддерживает geo-блокировку, но можно комбинировать с ipset и iptables для блокировки целых подсетей. Это уже продвинутая настройка, выходящая за рамки UFW.

Временное отключение UFW для диагностики:

ufw disable
# проверяете подключение, диагностируете
ufw enable

Перезагрузка правил без отключения:

ufw reload

Автозапуск UFW после перезагрузки сервера:

UFW автоматически добавляется в автозапуск при ufw enable. Проверить:

systemctl is-enabled ufw

Должно быть enabled.

Связанные материалы

Если вы переносите игровой сервер на новый хостинг - читайте гайд по переносу сервера на хостинг: там описаны все шаги миграции, включая настройку сети. Для серверов с базами данных пригодятся статьи о подключении к MySQL и работе с базами данных MySQL - в них есть примеры настройки прав доступа с учётом фаервола.

Заключение

UFW - минимально необходимый инструмент для любого публичного игрового сервера. Правильная настройка занимает 10-15 минут и защищает от большинства автоматических атак. Ключевые принципы: открывайте только те порты, которые реально нужны; ограничивайте SSH через ufw limit; RCON и базы данных закрывайте для всех, кроме своего IP; проверяйте правила через ufw status verbose после каждого изменения. Фаервол не защищает от всех угроз - для серьёзной DDoS-защиты нужно решение на уровне провайдера. Но базовую поверхность атаки UFW закрывает полностью.

Pterohost - игровые серверы с встроенной DDoS-защитой, быстрыми NVMe-дисками и живой поддержкой в чате - если хочется сразу получить защищённый сервер без ручной настройки Linux. Промокод 4START даёт -20% на первый заказ. Заказать Minecraft хостинг