SSH 安全加固實戰:5 分鐘鎖死駭客入侵路線

## SSH 安全加固實戰:5 分鐘鎖死駭客入侵路線 做 IT 嘅你一定聽過 SSH,但你知唔知每日有幾萬個 bot 喺度 brute-force 你部 server 嘅 port 22?今日同大家實戰講下點樣 5 分鐘內鎖死 SSH,等啲黑客見到都頭痛。 ### 1. 改 Port?其實冇用㗎 好多人第一反應係改 SSH port,由 22 改去 2222 或者其他。但講真,nmap 一 sca...

## 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)