安全的SSH連線 - Ming Chang

安全的SSH連線

其實我認為有設IP白名單就差不多了啦,但是我們親愛的臺南市政府智慧發展中心似乎非常重視這塊,那就順便記錄下修改SSH設定檔的方法囉

先用自己習慣的文字編輯器打開SSH Daemon的設定檔:sudo nano /etc/ssh/sshd_config

KexAlgorithms

加密演算法diffie-hellman-group1-sha1由於長度只有1024位元,被認為是弱加密,所以我們必須把這個演算法禁用掉

好笑的是,我第一次在看SSH的設定檔時找都找不到設定的地方,後來才發現sshd的設定檔如果沒有設定預設是全開放的

設定下面這行即可

kexalgorithms curve25519-sha256,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1

Cipher

傳統的分區加密法(Legacy block ciphers)會有被生日攻擊(Birthday Attack)的可能

不要問我生日攻擊是啥,反正就是某種運用數學的生日問題去破解密碼的方式

一樣,沒有設定在設定檔中預設是全開的,我的天((

設定下面這行即可

ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc

HMAC algorithms

雜湊訊息鑑別碼(Hash-based message authentication code)的演算法如果是弱加密也是會被掃出來的,所以也得禁用掉才行

設定下面這行即可

macs [email protected],hmac-sha2-256,hmac-sha2-512

上面那些設定完後,存檔離開

先用sshd -T確認,再用systemctl restart sshd重新啓動SSH Daemon就可以了。