# SSH 安全加固實戰:由零開始保護你嘅 Linux 伺服器
作為 IT 管理員,你嘅 Linux 伺服器每日都面對住海量嘅自動化攻擊。特別係開咗 SSH port 嘅機器,基本上幾分鐘就會俾人掃一次。今日呢篇 SSH 安全加固教學,會帶大家逐步實戰,由基本到進階,全面強化你嘅 SSH 連線安全。
## SSH 安全加固嘅基本概念
SSH(Secure Shell)係 Linux 系統管理嘅命脈,但同時亦係黑客最常攻擊嘅入口。好多初學者裝完 Ubuntu 或者 CentOS 之後就直接用 default setting,root login 開住、密碼認證冇關、port 22 照舊——呢啲全部都係安全漏洞。要做好 SSH 安全加固,就要由最基本嘅設定開始改起。
## 第一步:更改預設 SSH Port
最簡單但有效嘅 SSH 安全加固措施,就係改咗個 default port 22。雖然唔算係真正嘅安全防護,但至少可以擋走大量自動化掃描。
# 備份原有設定檔
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
# 編輯 SSH 設定
sudo nano /etc/ssh/sshd_config
# 將 Port 22 改為其他 port,例如 2222
Port 2222
修改完之後記得 restart SSH service:
sudo systemctl restart sshd
⚠️ 記得喺 firewall 度開放新 port 先!如果唔係 lockout 自己就大鑊。
sudo ufw allow 2222/tcp
## 第二步:禁用 Root 登入
Root 直接 login 係極度危險嘅行為。任何 SSH 安全加固 checklist 入面,呢項都係必做。黑客只要撞中 root password,就等於拎到成部機嘅控制權。
# 喺 sshd_config 入面修改
PermitRootLogin no
記住要預先 create 一個普通 user 並且加到 sudo group:
sudo adduser adminuser
sudo usermod -aG sudo adminuser
之後所有 root 操作都經 `sudo` 執行,咁就安全好多。
## 第三步:啟用 SSH 金鑰認證 + 關閉密碼登入
呢個係 SSH 安全加固最關鍵嘅一步。Password authentication 係暴力破解嘅主要目標,改用 SSH key 之後,就算 attacker 有幾百萬個 password dictionary 都冇用。
首先喺你嘅 local 機 generate SSH key pair:
ssh-keygen -t ed25519 -C "your_email@example.com"
然後將 public key copy 去 server:
ssh-copy-id -p 2222 adminuser@your-server-ip
最後喺 server 嘅 sshd_config 關閉密碼認證:
PasswordAuthentication no
ChallengeResponseAuthentication no
## 第四步:安裝 Fail2Ban 防暴力破解
Fail2Ban 係 SSH 安全加固嘅好拍檔。佢會 monitor SSH login attempt,如果有 IP 連續 fail 太多次,就會自動 ban 佢一段時間。
sudo apt install fail2ban -y
sudo systemctl enable fail2ban --now
建立 local config:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
喺 `jail.local` 入面設定 SSH jail:
[sshd]
enabled = true
port = 2222
maxretry = 3
bantime = 3600
findtime = 600
呢個設定意思係:600 秒內 fail 3 次就 ban 1 個鐘。
## 第五步:限制 SSH 使用者同 IP 範圍
進一步嘅 SSH 安全加固可以用 AllowUsers 限制邊個 user 可以 SSH login:
AllowUsers adminuser@192.168.1.0/24
呢行設定只允許 `adminuser` 由內網 `192.168.1.x` 嘅 IP 範圍連入。如果你需要由外面 access,可以用 VPN 或者跳板機。
## 總結
SSH 安全加固唔係一次性嘅工作,而係持續嘅保安習慣。以上五步由更改 port、禁用 root、改用 key 認證、到 Fail2Ban 同 IP 限制,已經涵蓋咗大部份常見嘅攻擊面。建議各位 IT 管理員定期 audit 自己嘅 SSH config,確保冇 security drift。
🔗 參考資料:NVD NIST 漏洞資料庫
記住:安全永遠都係 layers,唔好淨係靠一招。每一層 SSH 安全加固措施加埋一齊,先至可以砌出一道穩固嘅防線。
#IT教學 #技術分享 #SSH #安全 #自動化




