這裡敘述如何將 SSH 伺服器的 arcfour cipher 停用,提升系統安全性。

根據 RFC4345 的說明,arcfour(又稱為 RC4)這個 cipher 的安全性比較弱,所以比較講究的 SSH 伺服器會將 arcfour 停用,以下是設定步驟。


Step 1
修改 /etc/ssh/sshd_config,設定 Ciphers

# 排除 arcfour
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc

Step 2
設定好之後,先測試一下 SSH 伺服器的設定檔有沒有寫錯,萬一不小心把 SSH 設定檔寫錯,可能會造成伺服器藍不上去的麻煩。

sudo sshd -t

若沒有錯誤訊息,就代表設定檔沒有什麼問題。
Step 3
接著重新啟動 SSH 伺服器:

sudo service ssh restart

Step 4
然後測試是否可以使用 arcfour 這個 cipher:

ssh -c arcfour seal@blog.gtwang.org

正常的話,應該會出現這樣的錯誤:

Unable to negotiate with 45.118.135.69 port 22: no matching cipher found. Their offer: aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc

關於 Ciphers 的詳細設定說明,可以參考 sshd_config 的線上手冊:

man 5 sshd_config

參考資料:StackExchange