開始輸入,可搜尋發票、服務、域名、工單,以及 更多...
寶塔面板讓伺服器管理變得簡單,但面板本身也是攻擊者最喜歡的目標之一:預設埠、弱密碼、過期版本都可能導致伺服器被入侵。本文整理了一套實用的寶塔面板安全設定方法,包括修改面板埠與安全入口、設定授權 IP、加固 SSH、及時更新以及關閉不需要的埠,適用於執行寶塔面板 / aaPanel 的 Debian/Ubuntu 與 CentOS/Rocky/AlmaLinux 伺服器。
先選一個未被佔用的高位埠(例如 23456),並在系統防火牆中提前放行。在 SSH 中檢查埠是否空閒:
ss -tlnp | grep 23456
Debian / Ubuntu 放行新埠:
ufw allow 23456/tcp
CentOS / Rocky / AlmaLinux 放行新埠:
firewall-cmd --permanent --add-port=23456/tcp && firewall-cmd --reload
然後在寶塔面板“面板設定”中修改“面板埠”並儲存;也可以在 SSH 中輸入 bt,在選單中選擇“修改面板埠”對應的編號(各版本編號可能不同,以選單顯示為準)。修改完成後用新埠訪問面板,確認可以登入。
安全入口是面板地址後面的一段路徑,只有輸入完整入口的人才能看到登入頁。請在“面板設定”中把安全入口改成足夠長的隨機字串(建議 12 位以上,字母數字混合),同時修改面板使用者名稱,並設定 16 位以上的強密碼。有條件的話,開啟面板自帶的“動態口令認證”(Google Authenticator 二次驗證)和麵板 SSL(HTTPS 訪問面板),防止密碼在傳輸中被竊聽。修改後可以隨時檢視當前入口資訊:
bt default
如果你的辦公網路或家庭寬頻是固定 IP,強烈建議在“面板設定”中填寫“授權 IP”,只允許這些 IP 訪問面板,其他來源一律拒絕。這是防止面板被暴力破解最有效的方式之一。
bt,選擇“取消 IP 訪問限制”對應的選單項解除限制,然後重新設定。先在本地電腦生成金鑰並上傳到伺服器(Windows 10/11 的 PowerShell 也自帶 ssh-keygen):
ssh-keygen -t ed25519
ssh-copy-id [email protected]
確認可以用金鑰免密登入後,編輯 /etc/ssh/sshd_config,修改或新增以下配置(埠以 22022 為例,修改前先在防火牆放行該埠):
Port 22022
PermitRootLogin prohibit-password
PasswordAuthentication no
MaxAuthTries 3
檢查配置語法並重啟 SSH(Debian / Ubuntu 服務名為 ssh,CentOS / Rocky / AlmaLinux 為 sshd):
sshd -t && systemctl restart ssh
sshd -t && systemctl restart sshd
Rocky / AlmaLinux 開啟了 SELinux 時,需要先允許新埠:semanage port -a -t ssh_port_t -p tcp 22022。Ubuntu 22.10 及以上若使用 socket 啟用,修改埠後還需執行 systemctl daemon-reload && systemctl restart ssh.socket。
最後安裝 Fail2ban,自動封禁反覆嘗試登入的 IP:
apt install -y fail2ban
dnf install -y epel-release && dnf install -y fail2ban
建立 /etc/fail2ban/jail.local,寫入以下內容後執行 systemctl enable --now fail2ban:
[sshd]
enabled = true
port = 22022
maxretry = 5
bantime = 3600
寶塔面板“安全”選單中也可以直接修改 SSH 埠並關閉密碼登入,效果相同。
寶塔面板和系統元件的漏洞會定期被修復,請養成定期更新的習慣。面板首頁出現更新提示時及時點選更新;系統層面執行:
apt update && apt upgrade -y
dnf update -y
同時只安裝確實需要的外掛與軟體,不再使用的外掛(如 phpMyAdmin、FTP)建議停用或解除安裝,減少攻擊面。
檢視伺服器當前對外監聽的埠,逐一確認是否必須:
ss -tlnp
通常只需對外開放 80、443、SSH 埠和麵板埠。MySQL 的 3306、Redis 的 6379 等資料庫埠不應對公網開放。修改面板與 SSH 埠後,記得刪除舊埠的放行規則:
ufw delete allow 8888/tcp
ufw delete allow 22/tcp
firewall-cmd --permanent --remove-port=8888/tcp && firewall-cmd --reload
也可以在寶塔面板“安全”選單中統一管理放行埠,刪除不需要的規則。
多半是新埠沒有在系統防火牆中放行。通過 SSH 或 VNC 控制臺放行新埠,或在 bt 選單中把埠改回原值。
說明金鑰沒有正確配置。請通過 VNC 控制臺登入,把 PasswordAuthentication 臨時改回 yes 並重啟 SSH,重新上傳公鑰後再關閉。
如果平時很少使用面板,可以在不使用時用 /etc/init.d/bt stop 停止面板,需要時再啟動,進一步降低風險(網站不受影響)。
如在安全設定過程中遇到問題或懷疑伺服器已被入侵,請提交工單聯絡 IMIDC 7×24 技術支援,我們會協助排查。