Linux 伺服器在安裝完成後,如果沒有做好安全設定,很容易遭受 SSH 暴力破解、惡意掃描與漏洞攻擊。本篇 Linux 安全設定教學將從基礎開始,說明 SSH Key 登入、防火牆(UFW / iptables)、Fail2ban 防護以及系統加固等重要設定。透過完整步驟與實務指令,即使是新手也能快速理解,建立穩定且安全的 Linux 伺服器環境,降低被入侵風險。
Linux 初始安全設定
Linux 初始安全設定是整體防護的基礎,若沒有做好,伺服器很容易在短時間內遭到攻擊。首先應停用 root 直接登入,並建立一般使用者透過 sudo 進行管理,這樣即使帳號被入侵,也能降低影響範圍。接著建議使用 SSH Key 登入,取代密碼驗證,因為金鑰方式更安全且難以被破解,可參考 SSH Key Login 設定教學。此外,修改 SSH 預設 Port 也能減少被掃描機器人攻擊的機率。防火牆方面,建議使用 UFW 或 iptables,只開放必要服務埠,例如 80、443 以及自訂 SSH Port,詳細可參考 Linux 防火牆 iptables / ufw 教學。這些設定能有效建立第一層防護。
| 項目 | 說明 |
|---|---|
| SSH Port | 修改預設 22,降低掃描攻擊 |
| Root 登入 | 停用 root,改用 sudo 管理 |
| SSH Key | 使用金鑰登入提升安全 |
| 防火牆 | 僅允許必要服務連線 |
# 更新系統(修補漏洞)
sudo apt update && sudo apt upgrade -y
# 建立新使用者並加入 sudo
sudo adduser admin
sudo usermod -aG sudo admin
# 建立 SSH Key 並上傳
ssh-keygen -t rsa -b 4096
ssh-copy-id admin@192.168.1.10
# 修改 SSH Port
sudo nano /etc/ssh/sshd_config
sudo systemctl restart ssh
進階安全與防護措施
# 架構
security:
firewall: ufw
intrusion_prevention: fail2ban
monitoring: logs
在完成基本設定後,進階安全措施能進一步強化系統防護。建議安裝 Fail2ban,自動偵測多次登入失敗的 IP 並進行封鎖,有效防止暴力破解攻擊,可參考 Fail2ban 防止 SSH 暴力破解。同時防火牆應設定為預設拒絕所有連線,再逐一開放必要服務。系統中不使用的服務應關閉,以減少潛在漏洞。除此之外,建議定期檢查系統日誌,例如 SSH 登入紀錄,確保沒有異常行為。如果需要更高安全性,可以啟用 AppArmor 或 SELinux,提供額外的存取控制。這些多層防護能有效提升 Linux 伺服器的整體安全性。
# 安裝 Fail2ban
sudo apt install fail2ban -y
sudo systemctl enable fail2ban
# 設定防火牆
sudo ufw default deny incoming
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# 開放 SSH Port
sudo ufw allow 2222/tcp
# 停用不必要服務
sudo systemctl disable apache2
sudo systemctl disable postfix
# 檢查登入紀錄
sudo journalctl -u ssh
FAQ 常見問題
Linux 伺服器安全設定最重要的是什麼?
最重要的是 SSH 安全與防火牆設定,這兩者直接決定是否容易被外部攻擊。建議關閉 root 登入、使用 SSH Key 並搭配防火牆限制連線,建立完整的基礎防護。
是否一定要修改 SSH Port?
雖然不是強制,但修改 SSH Port 可以有效降低被掃描攻擊的機率。搭配 SSH Key 使用,可以顯著提升 Linux 伺服器安全性,是常見實務做法。
Fail2ban 有什麼作用?
Fail2ban 主要用於防止暴力破解攻擊,當系統偵測到多次登入失敗時,會自動封鎖來源 IP,有效減少攻擊風險。
防火牆應該如何設定?
建議設定預設拒絕所有連線,再逐一開放必要服務,例如 80、443 與 SSH。這樣可以降低攻擊面並提升整體安全性。
為什麼不要使用 root 登入?
root 權限過高,一旦被入侵後果嚴重。改用一般帳號搭配 sudo,可以降低風險並讓系統操作更安全。
系統多久需要更新一次?
建議定期更新,例如每週或每月進行一次更新,確保系統漏洞能及時修補,避免成為攻擊目標。
