Безопасность
Усиление защиты 3x-ui — аутентификация панели и 2FA, ограничение IP через Fail2ban, правила брандмауэра, BBR и поддержание актуальности.
Прокси-панель — ценная цель для атак. Несколько уровней защиты дают большой эффект.
Усиление защиты панели
- Надёжные, уникальные учётные данные и двухфакторная аутентификация (TOTP).
- Нестандартный порт панели и длинный случайный базовый веб-путь.
- TLS на панели (напрямую или через обратный прокси).
- Встроенный ограничитель входа блокирует IP/имя пользователя после 5 неудачных попыток за 5 минут (на 15 минут), а панель может направлять собственный исходящий трафик через outbound.
Полный чек-лист см. в разделе Первый вход.
Fail2ban и ограничения IP
Задайте ограничение IP для каждого клиента (см. Клиенты), чтобы
ограничить число одновременных исходных IP. Применением правил занимается Fail2ban, который
3x-ui устанавливает и настраивает за вас (включён по умолчанию при установке через скрипт, а
в Docker — через XUI_ENABLE_FAIL2BAN=true).
Управляйте им из меню x-ui (22 — IP Limit Management): установка/настройка,
изменение длительности блокировки (по умолчанию 30 минут), блокировка/разблокировка IP, просмотр журналов блокировок
и проверка статуса. Под капотом:
- Jail называется
3x-ipl; журналы блокировок находятся в/var/log/x-ui/3xipl.logи/var/log/x-ui/3xipl-banned.log(также доступны черезx-ui banlog). - Блокировки охватывают весь TCP/UDP, кроме ваших портов SSH и панели, поэтому блокировка не сможет закрыть вам доступ к серверу или панели.
В Docker Fail2ban блокирует через iptables, которому нужна привилегия NET_ADMIN (и
NET_RAW) — docker-compose.yml предоставляет их. При использовании простого
docker run добавьте --cap-add=NET_ADMIN --cap-add=NET_RAW, иначе блокировки будут записываться в журнал,
но никогда не применяться.
Брандмауэр
Открывайте только те порты, которые действительно используете: SSH, порт панели, порт
подписки и ваши входящие порты. Меню x-ui (23 — Firewall Management) служит обёрткой над
ufw, либо сгенерируйте правила здесь:
Firewall rules generator
Pick the ports to open and copy ready-made ufw and nftables rules.
ufw allow 22/tcp # SSH
ufw allow 2053/tcp # panel
ufw allow 443/tcp # inbound (HTTPS)
ufw enable#!/usr/sbin/nft -f
flush ruleset
table inet filter {
chain input {
type filter hook input priority 0; policy drop;
iif "lo" accept
ct state established,related accept
icmp type echo-request accept
tcp dport 22 accept # SSH
tcp dport 2053 accept # panel
tcp dport 443 accept # inbound (HTTPS)
}
chain forward {
type filter hook forward priority 0; policy drop;
}
chain output {
type filter hook output priority 0; policy accept;
}
}Убедитесь, что SSH остаётся разрешён, прежде чем включать брандмауэр с политикой запрета по умолчанию, иначе вы можете заблокировать себе доступ. Проверяйте, держа открытой вторую сессию.
Настройка сети (BBR)
Меню x-ui (26 — Enable BBR) переключает алгоритм управления перегрузкой BBR от Google
(net.ipv4.tcp_congestion_control = bbr, net.core.default_qdisc = fq), который
часто повышает пропускную способность на перегруженных каналах.
Поддерживайте актуальность
Регулярно обновляйте 3x-ui и Xray-core — исправления безопасности появляются в новых выпусках. Следите за страницей выпусков и см. Обновление и удаление.
Telegram-бот
Подключите Telegram-бота к 3x-ui для выполнения команд, периодических отчётов, оповещений о событиях (вход, CPU, доступность узлов), резервных копий и самообслуживания клиентов.
Переменные окружения
Полный справочник по переменным окружения XUI_* в 3x-ui — база данных, панель, логирование, память и монитор работоспособности туннеля.

3x-ui