3x‐ui - PANDA-1703/Wiki GitHub Wiki

Для начала сделаем манипуляции по защите ssh.

Защита SSH

Configuring SSH

ssh localhost
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.old
sudo nano /etc/ssh/sshd_config
sshd_config
Port 63555
Protocol 2
# Разрешённые пользователи
AllowUsers myuser
# Запрет входа в систему с правами root
PermitRootLogin no
# Отклонение пустых паролей
PermitEmptyPasswords no
# Установка тайм-аута сеанса
ClientAliveInterval 600
# Ограничение количества попыток аутентификации
MaxAuthTries 3
sudo systemctl restart sshd
reboot

Перезайти по ssh с новым портом.

Fail2ban. Защита SSH от подбора пароля

Guid

sudo apt install fail2ban
sudo systemctl enable fail2ban

Настройки Fail2ban хранятся в конфигурационном файле /etc/fail2ban/jail.conf.

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local

Пример настроек:

[DEFAULT]
ignoreip = 95.111.123.21
[sshd]  
enabled  = true  
findtime = 120  
maxretry = 3  
bantime = 43200
sudo systemctl restart fail2ban.service

Установка 3x-ui

Guid

Install & Upgrade

bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)

Docker

Install Docker:

bash <(curl -sSL https://get.docker.com)

Clone repository:

git clone https://github.com/MHSanaei/3x-ui.git
cd 3x-ui

Start service:

docker compose up -d

Add --pull always flag to make docker automatically recreate container if a newer image is pulled. See https://docs.docker.com/reference/cli/docker/container/run/#pull for more info.

OR

docker run -itd \
   -e XRAY_VMESS_AEAD_FORCED=false \
   -v $PWD/db/:/etc/x-ui/ \
   -v $PWD/cert/:/root/cert/ \
   --network=host \
   --restart=unless-stopped \
   --name 3x-ui \
   ghcr.io/mhsanaei/3x-ui:latest

Update to the Latest Version:

cd 3x-ui
docker compose down
docker compose pull 3x-ui
docker compose up -d

Remove 3x-ui from Docker:

docker stop 3x-ui
docker rm 3x-ui
cd --
rm -r 3x-ui

Установка сертификатов SSL

Guid

Для этого нам понадобится купленный домен.

Откроем порты:

ufw allow 80
ufw allow 443
apt install python3-certbot-nginx

Команда для nginx:

sudo certbot --nginx --agree-tos --preferred-challenges http -d mydomain.ru

Смотрим, куда установились сертификаты.

Далее в GUI 3x-ui в панели настроек вставляем пути до сертификатов.

Public: /etc/letsencrypt/live/mydomain.ru/fullchain.pem
Private: /etc/letsencrypt/live/mydomain.ru/privkey.pem

Также, в консоли через main menu устанавливаем сертификаты: 18. SSL Certificates Management.

⚠️ **GitHub.com Fallback** ⚠️