当前位置: 代码迷 >> 综合 >> Linux防止暴力破解密码脚本
  详细解决方案

Linux防止暴力破解密码脚本

热度:26   发布时间:2024-03-06 13:09:37.0
 1.认识记录linux记录安全的日志[root@testpm ~]# cd /var/log/[root@testpm log]# ls | grep securesecure2.该日志的内容查看[root@testpm log]# tail -f secure#表示ssh身份验证失败Aug 29 23:35:03 testpm sshd[111245]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.43.199  user=rootAug 29 23:35:03 testpm sshd[111245]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"#表示root用户密码输出失败Aug 29 23:35:04 testpm sshd[111245]: Failed password for root from 192.168.43.199 port 50602 ssh2#表示root用户密码输入正确Aug 29 23:35:44 testpm sshd[111245]: Accepted password for root from 192.168.43.199 port 50602 ssh2#表示给root用户打开了一个终端Aug 29 23:35:44 testpm sshd[111245]: pam_unix(sshd:session): session opened for user root by (uid=0)#从192.168.43.199端口50602:11接收到断开连接:用户已断开连接Aug 29 23:36:26 testpm sshd[111245]: Received disconnect from 192.168.43.199 port 50602:11: disconnected by user#表示断开连接Aug 29 23:36:26 testpm sshd[111245]: Disconnected from 192.168.43.199 port 50602#表示root用户关闭了会话也就是退出了终端Aug 29 23:36:26 testpm sshd[111245]: pam_unix(sshd:session): session closed for user root?如果传了公钥通过密钥登陆提示如下:#表示接受root用户的密钥Aug 29 23:50:31 testpm sshd[13123]: Accepted publickey for root from 192.168.43.199 port 50610 ssh2: RSA SHA256:HiUg8OQ5Zydu7e2vEPHAdM3TiLiQMCXX8m0mLdFgpqA#表示为root用户打开会话Aug 29 23:50:31 testpm sshd[13123]: pam_unix(sshd:session): session opened for user root by (uid=0)2.编写密码输入错误三次将该ip禁止连接的脚本[root@testpm script]# vim ssh.sh#!/usr/bin/bash#这是一个防止破解密码的脚本,当用户输入密码错误次数大于3次时,将禁止连接服务器ip=`cat /var/log/secure | awk '/Failed password/ {print $11}' | sort | uniq`num=`awk '/Failed password/ {print $11}' /var/log/secure | awk '{ips[i]++} END{print $i, ips[i]}' | awk '{print $2}'`if [ $num -ge 3 ];thenecho "sshd:$ip" >> /etc/hosts.denyfi添加到计划任务中[root@testpm script]# crontab -l* * * * * /usr/bin/bash /opt/script/ssh.sh

Linux禁止root用户远程登陆

认识sshd_congfig配置文件

 [root@testpm ~]# vim /etc/ssh/sshd_config?#Port 22  #监听端口,默认监听22端口   【默认可修改】#AddressFamily any  #IPV4和IPV6协议家族用哪个,any表示二者均有#ListenAddress 0.0.0.0 #指明监控的地址,0.0.0.0表示本机的所有地址  【默认可修改】#ListenAddress ::  #指明监听的IPV6的所有地址格式?#Protocol 2        #使用SSH第二版本,centos7默认第一版本已拒绝?# HostKeys for protocol version 2  #使用第二版本发送秘钥,支持以下四种秘钥认证的存放位置HostKey /etc/ssh/ssh_host_rsa_key  #rsa私钥认证 【默认】?#LogLevel INFO    #日志记录级别,默认为info#LoginGraceTime 2m   #登录的宽限时间,默认2分钟没有输入密码,则自动断开连接#PermitRootLogin yes #是否允许管理员直接登录,'yes'表示允许,实际生产中建议修改为no#StrictModes yes  #是否让sshd去检查用户主目录或相关文件的权限数据#MaxAuthTries 6  #最大认证尝试次数,最多可以尝试6次输入密码超过之后断开连接#MaxSessions 10  #最大允许保持多少个连接。默认值是 10?#PubkeyAuthentication yes  #是否开启公钥验证?AuthorizedKeysFile      .ssh/authorized_keys    #公钥验证文件路径

禁止root用户远程登录

 [root@testpm ~]# vim /etc/ssh/sshd_config37 #LoginGraceTime 2m38 #PermitRootLogin yes  #默认为允许root用户远程登陆39 #StrictModes yes进行修改如下[root@testpm ~]# vim /etc/ssh/sshd_config37 #LoginGraceTime 2m38 PermitRootLogin no #将注释打开并将yes修改为no39 #StrictModes yes保存退出并重启sshd服务[root@testpm ~]# systemctl restart sshd