Linux防止暴力破解密码脚本

左手的ㄟ右手 2023-10-06 15:08 78阅读 0赞
  1. 1.认识记录linux记录安全的日志
  2. [root@testpm ~]# cd /var/log/
  3. [root@testpm log]# ls | grep secure
  4. secure
  5. 2.该日志的内容查看
  6. [root@testpm log]# tail -f secure
  7. #表示ssh身份验证失败
  8. 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=root
  9. Aug 29 23:35:03 testpm sshd[111245]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
  10. #表示root用户密码输出失败
  11. Aug 29 23:35:04 testpm sshd[111245]: Failed password for root from 192.168.43.199 port 50602 ssh2
  12. #表示root用户密码输入正确
  13. Aug 29 23:35:44 testpm sshd[111245]: Accepted password for root from 192.168.43.199 port 50602 ssh2
  14. #表示给root用户打开了一个终端
  15. Aug 29 23:35:44 testpm sshd[111245]: pam_unix(sshd:session): session opened for user root by (uid=0)
  16. #从192.168.43.199端口50602:11接收到断开连接:用户已断开连接
  17. Aug 29 23:36:26 testpm sshd[111245]: Received disconnect from 192.168.43.199 port 50602:11: disconnected by user
  18. #表示断开连接
  19. Aug 29 23:36:26 testpm sshd[111245]: Disconnected from 192.168.43.199 port 50602
  20. #表示root用户关闭了会话也就是退出了终端
  21. Aug 29 23:36:26 testpm sshd[111245]: pam_unix(sshd:session): session closed for user root
  22. 如果传了公钥通过密钥登陆提示如下:
  23. #表示接受root用户的密钥
  24. Aug 29 23:50:31 testpm sshd[13123]: Accepted publickey for root from 192.168.43.199 port 50610 ssh2: RSA SHA256:HiUg8OQ5Zydu7e2vEPHAdM3TiLiQMCXX8m0mLdFgpqA
  25. #表示为root用户打开会话
  26. Aug 29 23:50:31 testpm sshd[13123]: pam_unix(sshd:session): session opened for user root by (uid=0)
  27. 2.编写密码输入错误三次将该ip禁止连接的脚本
  28. [root@testpm script]# vim ssh.sh
  29. #!/usr/bin/bash
  30. #这是一个防止破解密码的脚本,当用户输入密码错误次数大于3次时,将禁止连接服务器
  31. ip=`cat /var/log/secure | awk '/Failed password/ {print $11}' | sort | uniq`
  32. num=`awk '/Failed password/ {print $11}' /var/log/secure | awk '{ips[i]++} END{print $i, ips[i]}' | awk '{print $2}'`
  33. if [ $num -ge 3 ];then
  34. echo "sshd:$ip" >> /etc/hosts.deny
  35. fi
  36. 添加到计划任务中
  37. [root@testpm script]# crontab -l
  38. * * * * * /usr/bin/bash /opt/script/ssh.sh

Linux禁止root用户远程登陆

认识sshd_congfig配置文件

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

禁止root用户远程登录

  1. [root@testpm ~]# vim /etc/ssh/sshd_config
  2. 37 #LoginGraceTime 2m
  3. 38 #PermitRootLogin yes #默认为允许root用户远程登陆
  4. 39 #StrictModes yes
  5. 进行修改如下
  6. [root@testpm ~]# vim /etc/ssh/sshd_config
  7. 37 #LoginGraceTime 2m
  8. 38 PermitRootLogin no #将注释打开并将yes修改为no
  9. 39 #StrictModes yes
  10. 保存退出并重启sshd服务
  11. [root@testpm ~]# systemctl restart sshd

发表评论

表情:
评论列表 (有 0 条评论,78人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JMeter暴力破解账户密码

    小编软件测试刚入行二个月 为了前途 前几天看了下有关验证码找回密码的安全漏洞的文章,于是做了以下有关暴力破解验证码的总结 周所周知,所谓暴力破解,也就是我们所说的穷举法