SSH密碼暴力破解及防御實戰----防


1. useradd shell【推薦】(防止利用普通用戶登錄) 
創建用戶,但是該用戶不可登錄
[root@yjssjm ~]# useradd yjssjm -s /sbin/nologin 
注意:
應用服務用戶一般都是不可登錄的,只提供服務就可以了。
當我們編譯安裝的時候有的時候需要創建用戶,我們就可以用-s指定該用戶不可登錄

2.密碼的復雜性【推薦】 
字母大小寫+數字+特殊字符+20位以上+定期更換 
這種要是用ssh進行暴力破解的話需要很長時間的

3.修改默認端口【推薦】 
[root@yjssjm ~]# vim /etc/ssh/sshd_config #進入ssh的配置文件
找到port並修改,如:
Port 22222 
[root@yjssjm ~]# systemctl restart sshd   #重啟服務

4.限止登錄的用戶或組【推薦】
[root@yjssjm ~]# vim /etc/ssh/sshd_config #進入ssh的配置文件 
找到PermitRootLogin 將yes改為no ,禁止root遠程登錄
PermitRootLogin no 
[root@yjssjm ~]# systemctl restart sshd 
這個時候你就不能用root用戶登錄了,如果你想遠程登錄的戶可以設置一個管理員
[root@yjssjm ~]# vim /etc/ssh/sshd_config #添加下面的內容
AllowUser yjssjm   
 
---------------------------------------
AllowUsers  允許用戶
AllowGroups 允許組
DenyUsers   禁止用戶
DenyGroups  禁止組
---------------------------------------

5.使用sudo【推薦】
所有賬戶都要使用sudo來提權(一般安全性高的公司都是這樣用的)
[root@yjssjm ~]# su -yjssjm   #使用yjssjm用戶
[yjssjm@yjssjm ~]# sudo 命令  #每次執行命令時前面都要加sudo

6. 設置允許的IP訪問【可選】 
白名單
[root@yjssjm ~]# vim/etc/hosts.allow   #允許某個IP訪問
添加指定的ip
sshd:X.X.X.X:allow 
一般是公司里面有堡壘機的情況下會使用, 
只能允許從堡壘機訪問

7.使用DenyHosts自動統計(黑名單)
統計到一些非法的ip將其加入到/etc/hosts.deny 

8.基於PAM實現登錄限制【推薦】 
模塊:pam_tally2.so 
功能:登錄統計 
示例:實現防止對sshd暴力破解 
[root@yjssjm ~]# grep tally2 /etc/pam.d/sshd #過濾有沒有該模塊
[root@yjssjm ~]# vim /etc/pam.d/sshd
添加以下內容
auth required pam_tally2.so deny=2 even_deny_root root_unlock_time=60 unlock_time=6 
#當你登錄兩次失敗之后會讓你等60s后才能再次嘗試

9.禁用密碼改用公鑰方式認證 
首先我們需要生成秘鑰對並實現免密登錄
[root@yjssjm ~]# ssh-keygen
[root@yjssjm ~]# ssh-copy-id -i X.X.X.X 
#X.X.X.X不想要別人登錄的機器的ip地址
[root@yjssjm ~]# vim /etc/ssh/sshd_config 
找到PasswordAuthentication 將yes改為no
PasswordAuthentication no 
[root@yjssjm ~]# systemctl restart sshd 

10.保護xshell導出會話文件【小心】 

11.GRUB加密【針對本地暴力破解】
默認情況下,Linux系統GRUB菜單不需要任何密碼就可以進行編輯並修改root密碼,如若需要加強
系統安全,可將GRUB加密!
給grub菜單加密,就是為了不讓不法分子利用單用戶模式修改root密碼即本地暴力破解
[root@yjssjm ~]# /etc/grub.d/00_header 文件末尾,添加以下內容
cat <<EOF
set superusers='admin'  #設置一個超級用戶
set password admin yjssjm123  #給該超級用戶設置密碼
E0F
[root@yjssjm ~]# grub2-mkconfig  -o  /boot/grub2/grub.cfg  #重新編譯生成grub.cfg文件
重啟電腦可以驗證

你們的評論和點贊是我寫文章的最大動力,蟹蟹。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM