امنیت
سختسازی 3x-ui — احراز هویت پنل و 2FA، محدودیت IP با Fail2ban، قوانین فایروال، BBR و بهروز ماندن.
یک پنل پروکسی هدفی پرارزش است. چند لایه سختسازی تأثیر زیادی دارد.
سختسازی پنل
- اعتبارنامههای قوی و یکتا و احراز هویت دومرحلهای (TOTP).
- یک پورت غیرپیشفرض برای پنل و یک مسیر پایه وب طولانی و تصادفی.
- TLS روی پنل (مستقیماً یا از طریق یک پروکسی معکوس).
- محدودکننده ورود داخلی، یک IP/نام کاربری را پس از ۵ تلاش ناموفق در بازه ۵ دقیقه (به مدت ۱۵ دقیقه) مسدود میکند، و پنل میتواند ترافیک خروجی خود را از طریق یک outbound مسیریابی کند.
برای فهرست کامل به نخستین ورود مراجعه کنید.
Fail2ban و محدودیتهای IP
برای هر کلاینت یک محدودیت IP تنظیم کنید (به کلاینتها مراجعه کنید) تا تعداد IPهای مبدأ همزمان محدود شود. اعمال این محدودیت توسط Fail2ban انجام میشود که 3x-ui آن را برای شما نصب و پیکربندی میکند (در نصبهای اسکریپتی بهطور پیشفرض فعال است و در Docker از طریق XUI_ENABLE_FAIL2BAN=true).
آن را از منوی x-ui مدیریت کنید (۲۲ — IP Limit Management): نصب/پیکربندی، تغییر مدت مسدودسازی (پیشفرض ۳۰ دقیقه)، مسدودسازی/رفع مسدودی یک 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، پورت پنل، پورت اشتراک و پورتهای inbound خود. منوی x-ui (۲۳ — 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 (۲۶ — Enable BBR) کنترل ازدحام BBR گوگل را فعال/غیرفعال میکند
(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