1.不要使用默認端口: Port 2022 前面的注釋符"#"去掉,并將端口修改為自己認為合適的端口號,假設是2022
2.不要使用 protocol1 : 修改為protocol 2
3.限制可登錄的用戶
#白名單 AllowUsers user1 user2 user3 ... 設置允許登錄ssh服務器的用戶,添加如下內容 #黑名單 可以添加用戶或者租
4.設定空閑會話超時時長:
CllientAliveInerval 60s 指定服務器端向客戶端請求消息的時間間隔, 默認是0, 不發送.而ClientAliveInterval 60表示每60秒發送一次, 然后客戶端響應, 這樣就保持長連接了
ClientAliveCountMax 3 表示服務器發出請求后客戶端沒有響應的次數達到一定值, 就自動斷開. 正常情況下, 客戶端不會不響應.
5.利用防火墻設置ssh訪問策略 只允許指定的IP范圍訪問登錄 iptables 只允許指定IP
6.讓ssh監聽到可靠的安全的IP地址上,而非本機所有IP地址 #ListenAddress 192.168.1.1 并把前面的# 去掉
7.使用強密碼策略(禁止空密碼)
如生成隨機密碼: tr -dc A-Za-z0-9_ </dev/urandom | head -c 30 | xargs
8.使用基于密鑰的認證, 禁用密碼登錄 /etc/ssh/sshd_config 中PasswordAuthentication no
基于密鑰的認證
方法一: #在客戶端ssh-keygen -t rsa 生成密鑰對:默認默認密鑰為id_rsa, id_rsa.pubman ssh-keygen# ssh-copy-id -i /root/.ssh/id_rsa.pub root@server_host操作完成即可不需要密碼登錄server
方法二:在客戶端ssh-keygen -t rsa 生成密鑰對:默認默認密鑰為id_rsa, id_rsa.pub
用scp命令復制id_rsa.pub 復制到server上,并cat id_rsa.pub >>.ssh/authorized..文件中
注意該文件權限應為600
9.禁止管理員root直接登錄 PermitRootLogin no 禁止root登錄 可以使用普通戶然后sudo
10.顯示ssh的訪問頻度 MaxAuthTries 3 還可以將最大登錄嘗試次數修改一下,例如我們修改為3次
11.做好日志記錄周期性分析:可以分析/var/log/secure ,寫腳本當連續嘗試失敗后,將源IP用iptables阻斷一段時間 暫時留空,,,后續補上#####################**********###########
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。