SSH 安全加固實戰:10 招保護你嘅 Linux Server 唔俾人 Hack

# SSH 安全加固實戰:10 招保護你嘅 Linux Server 唔俾人 Hack 喺 IT 世界入面,SSH(Secure Shell)絕對係每個 System Admin 日日都用嘅工具。但係你知唔知,默认配置嘅 SSH 其實有好多安全漏洞,隨時俾黑客暴力破解搞到你成個 Server 淪陷?今日我就同大家分享 SSH 安全加固嘅 10 招實用技巧,跟住做包你部機穩陣過鐵桶! ## SSH ...

# SSH 安全加固實戰:10 招保護你嘅 Linux Server 唔俾人 Hack

喺 IT 世界入面,SSH(Secure Shell)絕對係每個 System Admin 日日都用嘅工具。但係你知唔知,默认配置嘅 SSH 其實有好多安全漏洞,隨時俾黑客暴力破解搞到你成個 Server 淪陷?今日我就同大家分享 SSH 安全加固嘅 10 招實用技巧,跟住做包你部機穩陣過鐵桶!

## SSH 基本安全:改 Port + 停 Root Login

第一招,最基本亦都係最多人忽略嘅:改預設 Port。全世界嘅 hacker 都會掃 Port 22,你改咗個 Port 就已經擋走咗 90% 嘅自動化攻擊。

“`bash
sudo vim /etc/ssh/sshd_config
# 將 Port 22 改成一個唔常用嘅 port,例如 2222
Port 2222
“`

改完 Port 之後,第二招就係停用 Root 直接 Login。Root 係超級管理員帳號,俾人 brute force 到就直接玩完。

“`bash
# 喺 sshd_config 入面改:
PermitRootLogin no
“`

做完以上兩個設定之後,記得 restart service:

“`bash
sudo systemctl restart sshd
“`

## SSH Key 認證:徹底放棄 Password Login

第三招係安全配置入面最重要嘅一步:改用 Key 認證,完全停用密碼登入。密碼點複雜都好,都有機會俾人 crack,但 Key pair(RSA 4096-bit 或 Ed25519)基本上係冇可能暴力破解到。

首先喺你嘅 local 機 generate Key:

“`bash
ssh-keygen -t ed25519 -C “your_email@example.com”
“`

然後將 public key copy 去 Server:

“`bash
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@your-server
“`

最後,喺 Server 上面停用密碼認證:

“`bash
# 喺 sshd_config 入面改:
PasswordAuthentication no
ChallengeResponseAuthentication no
“`

## SSH 防暴力破解:Fail2Ban + Rate Limiting

就算改咗 Port,黑客都仲有機會 scan 到。第四招就係用 Fail2Ban 自動封鎖可疑 IP。

“`bash
sudo apt install fail2ban -y
sudo systemctl enable fail2ban –now
“`

配置 jail:

“`bash
sudo vim /etc/fail2ban/jail.local
“`

“`ini
[sshd]
enabled = true
port = 2222
maxretry = 3
bantime = 3600
findtime = 600
“`

呢個配置意思係:10 分鐘內登入失敗 3 次,就 ban 佢 IP 一個鐘。你仲可以配合內置嘅 rate limiting:

“`bash
# sshd_config:
MaxAuthTries 3
MaxSessions 2
“`

## SSH 進階安全:AllowUsers + 2FA

第五招係更加精細嘅存取控制:用 AllowUsers 限制邊個用戶可以 Login。

“`bash
# sshd_config:
AllowUsers alice bob
“`

咁就只得 alice 同 bob 可以入嚟,其他 account 全部 reject。

第六招,如果你嘅 Server 係對外開放嘅,強烈建議加埋雙因素認證(2FA):

“`bash
sudo apt install libpam-google-authenticator -y
google-authenticator # 跟住指示做
“`

然後 configure PAM:

“`bash
sudo vim /etc/pam.d/sshd
# 加呢行:
auth required pam_google_authenticator.so
“`

最後喺 sshd_config 啟用:

“`bash
ChallengeResponseAuthentication yes
“`

## SSH 審計同監控:Logging + Port Knocking

第七招係啟用詳細 Logging,出事嗰陣起碼有得 trace:

“`bash
# sshd_config:
LogLevel VERBOSE
“`

第八招,玩大啲嘅可以用 Port Knocking — Port 平時係收埋嘅,你要先用特定 sequence 敲門先開到:

“`bash
sudo apt install knockd -y
sudo vim /etc/knockd.conf
“`

## SSH 安全 Checklist 總結

| 步驟 | 安全措施 | 難度 |
|——|————-|——|
| 1 | 改 Port | ⭐ |
| 2 | 停 Root Login | ⭐ |
| 3 | 用 Key 認證 | ⭐⭐ |
| 4 | 停 Password Login | ⭐ |
| 5 | Fail2Ban 防爆破 | ⭐⭐ |
| 6 | AllowUsers 限制 | ⭐ |
| 7 | 2FA 雙因素 | ⭐⭐⭐ |
| 8 | 詳細 Logging | ⭐ |
| 9 | Rate Limiting | ⭐ |
| 10 | Port Knocking | ⭐⭐⭐ |

記住,安全唔係做一次就完,而係要定期 audit,check 下有冇異常 login。你可以用呢個簡單 command check login history:

“`bash
sudo grep “Failed password” /var/log/auth.log | awk ‘{print $11}’ | sort | uniq -c | sort -nr | head -20
“`

## SSH 實戰經驗分享:真實伺服器被入侵案例

講咗咁多理論,不如分享一個真實案例。早兩年前我有個客嘅 Web Server 俾人入侵,原因就係開住 Port 22 同埋用緊 root + 簡單密碼組合。黑客用咗一部 VPS 喺東歐,24 小時不停 brute force,最終喺第三日撞中咗密碼。

入到 Server 之後,黑客做咗幾樣嘢:
– 裝咗一個 crypto miner 偷偷掘礦
– 改咗 crontab 定時執行 malicious script
– 喺 /tmp 放咗後門程式

好彩嗰次只係掘礦,如果係 ransomware 就大鑊。最後要全機 wipe 重裝,前後搞咗成個禮拜先回復正常。就係因為呢單嘢,我先至決心整理呢套完整嘅安全配置流程。

與其出事之後先補救,不如一開始就做好防守。花一個鐘頭 set 好以上配置,往後幾年都高枕無憂。另外記得定期做系統更新:

“`bash
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure –priority=low unattended-upgrades
“`

## SSH 常見問題 FAQ

問:改咗 Port 之後點樣 connect?
答:用 `-p` flag 指定 port 就得:
“`bash
ssh -p 2222 user@your-server
“`

問:Fail2Ban ban 咗我自己個 IP 點算?
答:你可以等 bantime 過咗自動解封,或者手動解除:
“`bash
sudo fail2ban-client set sshd unbanip 你的IP地址
“`

問:Key 唔見咗點處理?
答:如果你仲有 server access 可以用 serial console 或者雲端控制台入去加返新嘅 public key。所以建議起碼 create 兩個 Key pair 俾唔同裝置做 backup。

做好基本功,再加持續 monitoring 同定期 audit,你部 Server 就可以安心長開。有咩問題歡迎留言討論!

> 📌 **延伸閱讀:**
> – [Linux Server 安全加固 6 大重點](https://molious.com/?p=380)
> – [2026年5月重大資安漏洞速報](https://molious.com/?p=388)

#SSH #Linux安全 #伺服器加固 #Fail2Ban #CyberSecurity #IT教學

🔗 參考資料:NVD NIST 漏洞資料庫