Фаервол 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 Java | 25565 | TCP+UDP | ufw allow 25565 |
| Minecraft Bedrock | 19132 | UDP | ufw allow 19132/udp |
| CS2 / CS:GO | 27015 | TCP+UDP | ufw allow 27015 |
| Rust | 28015 | UDP | ufw allow 28015/udp |
| Rust RCON | 28016 | TCP | ufw allow 28016/tcp |
| Palworld | 8211 | UDP | ufw allow 8211/udp |
| Project Zomboid | 16261 | UDP | ufw allow 16261/udp |
| V Rising | 9876-9877 | UDP | ufw allow 9876:9877/udp |
| 7 Days to Die | 26900 | TCP+UDP | ufw allow 26900 |
| Garry’s Mod | 27015 | UDP | ufw allow 27015/udp |
| Arma 3 | 2302-2305 | UDP | ufw allow 2302:2305/udp |
| Valheim | 2456-2458 | UDP | ufw allow 2456:2458/udp |
| DayZ | 2302 | UDP | ufw 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 хостинг