這裡敘述如何將 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