Linux系統(tǒng)下ssh安全設置指南

字號:

如果您仍然使用 telnet, 而不是 ssh, 則需要改變對本手冊的閱讀方式. 應當用 ssh 來取代所有的 telnet 遠程登錄。任何時候通過嗅探互聯(lián)網(wǎng)通訊來獲取明文密碼都是相當簡單的, 您應該采用使用加密算法的協(xié)議. 那么, 現(xiàn)在在你的系統(tǒng)上執(zhí)行 apt-get install ssh。
    鼓勵您系統(tǒng)上的所有用戶使用 ssh 取代 telnet, 或者更進一步, 卸載 telnet/telnetd. 另外您應該避免使用 ssh 以 root 身份登錄, 其替代的方法是使用 su 或 sudo 轉(zhuǎn)換成 root 用戶。最后, /etc/ssh 目錄下的 sshd_config 文件, 應當作如下修改, 以增強安全性:
    ListenAddress 192.168.0.1
    使得 ssh 只監(jiān)聽一個指定的接口, 如果你有多個(并不想在其上邊獲得 ssh 服務)接口, 或者將來會增加一塊新網(wǎng)卡(但并不想通過它連接ssh服務).
    PermitRootLogin no
    嘗試任何情況先都不允許 Root 登錄. 如果有人想通過 ssh 成為 root, 需要兩次登錄, 并且root的密碼現(xiàn)在仍不可能通過SSH暴力*.
    Listen 666
    改變監(jiān)聽端口, 這樣入侵者不能完全確定是否運行了sshd守護進程(事先警告,這是模糊安全的).
    PermitEmptyPasswords no
    空密碼是對系統(tǒng)安全的嘲弄.
    AllowUsers alex ref me@somewhere
    只允許某些用戶通過 ssh 訪問主機. user@host 也可用于限制指定用戶通過指定主機訪問.
    AllowGroups wheel admin
    僅允許某個組的成員通過 ssh 訪問主機. AllowGroups 和 AllowUsers 對于拒絕訪問主機有同樣的效果. 當稱它們?yōu)?"DenyUsers" 和 "DenyGroups" 時不要覺得奇怪.
    PasswordAuthentication yes
    這完全取決于您的選擇. 僅僅允許用戶使用置于 ~/.ssh/authorized_keys 文件中的 ssh-keys 登錄主機將更加安全. 如果要達到這種效果,將其設為 "no".
    禁用所有的您不需要的認證方式, 如果您用不到, 例如 RhostsRSAAuthentication, HostbasedAuthentication, KerberosAuthentication 或 RhostsAuthentication(例如), 您應該將其禁用, 即使它們是缺省設置(參閱聯(lián)機幫助 sshd_config(5)).
    Protocol 2
    禁用版本1協(xié)議, 因為其設計缺陷, 很容易使密碼被黑掉. 更多信息, 參閱 ssh協(xié)議問題報告 或 Xforce 通告.
    Banner /etc/some_file
    為用戶連接到 ssh 服務器增加一個標題(它將從文件讀取), 在一些國家, 登入給定系統(tǒng)前, 給出未經(jīng)授權(quán)或者用戶監(jiān)視警告信息, 將會受到法律的保護.