## SSH 安全加固實戰:5 分鐘鎖死駭客入侵路線
**SSH安全**係每個 IT 管理員嘅基本功,做好 SSH安全 配置可以抵擋 99% 嘅自動化攻擊。以下實戰教學教你一步步鎖死 SSH。
做 IT 嘅你一定聽過 SSH,但你知唔知每日有幾萬個 bot 喺度 brute-force 你部 server 嘅 port 22?今日同大家實戰講下點樣 5 分鐘內鎖死 SSH,等啲黑客見到都頭痛。
👉 延伸閱讀:Linux Server 安全加固 6 步搞掂 — Defense in Depth 實戰指南
### 1. SSH安全第一步:改 Port?其實冇用㗎
好多人第一反應係改 SSH port,由 22 改去 2222 或者其他。但講真,nmap 一 scan 就搵到,只係延遲你被 hack 嘅時間由 5 分鐘變 10 分鐘。唔好嘥時間,我哋直接做真正有效嘅嘢。
### 2. SSH安全核心:禁用密碼登入,只用 SSH Key
呢個係最重要一步。Password authentication 係最大漏洞來源,呢個亦係 SSH安全 嘅第一道防線。
sudo nano /etc/ssh/sshd_config
搵到以下幾行,改成:
PasswordAuthentication no
ChallengeResponseAuthentication no
PermitRootLogin prohibit-password
PubkeyAuthentication yes
然後 restart,SSH安全設定就會生效:
sudo systemctl restart sshd
⚠️ **事前必須確認你已經加咗自己嘅 public key 入 `~/.ssh/authorized_keys`**,唔係 lock 埋自己就搞笑。
### 3. SSH安全防線:fail2ban — 自動 Ban IP
fail2ban 會 monitor SSH log,係 SSH安全 自動化防守利器,連續 fail 幾次就自動 ban 佢 IP:
sudo apt install fail2ban -y
sudo systemctl enable fail2ban --now
預設 config 已經有 SSH jail,5 次 fail = ban 10 分鐘。你想改 setting 嘅話:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
我通常 set bantime 去 3600(1 個鐘),maxretry 改 3:
[sshd]
enabled = true
maxretry = 3
bantime = 3600
### 4. SSH安全進階:Port Knocking(進階玩法)
呢個係終極玩法 — 你要用特定 sequence 敲門先開到 SSH port。裝 knockd:
sudo apt install knockd -y
sudo nano /etc/knockd.conf
基本 config 例子:
[openSSH]
sequence = 7000,8000,9000
seq_timeout = 5
command = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
tcpflags = syn
[closeSSH]
sequence = 9000,8000,7000
seq_timeout = 5
command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
tcpflags = syn
咁你 connect 之前要 knock,終極 SSH安全 隱身術:
# 敲門開門
for port in 7000 8000 9000; do nc -z your-server.com $port; done
# 然後正常 SSH
ssh user@your-server.com
# 用完鎖返
for port in 9000 8000 7000; do nc -z your-server.com $port; done
### 5. SSH安全審計:Check Log 睇下有冇人中招
# 睇 fail2ban status
sudo fail2ban-client status sshd
# 睇 SSH log 異常登入嘗試
sudo grep "Failed password" /var/log/auth.log | tail -20
# 統計最多攻擊嘅 IP
sudo grep "Failed password" /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c | sort -nr | head -10
### SSH安全總結:三步鎖死
三步曲鎖死 SSH:
1. ✅ 只用 Key 登入,停用 password
2. ✅ fail2ban 自動封鎖可疑 IP
3. ✅ (Optional)Port knocking 終極隱身
🔗 參考資料:NVD NIST 漏洞資料庫
做齊呢三樣,你部 server 嘅 SSH 安全級別已經超越 95% 嘅 internet server。成個過程唔使 5 分鐘,但效果係永久性。仲等咩?而家就去搞!SSH安全唔等人。
記住:Security is not a product, it’s a process. 定期 update、定期 check log,保持良好習慣。
#安全 #IT教學 #技術分享 #SSH #server
> 📌 **延伸閱讀:** [Linux Server 安全加固 6 大招](https://molious.com/?p=380)|[2026 年 5 月 IT 安全大事回顧](https://molious.com/?p=464)



