云服务器防止暴力密码破解

云服务器暴露在公网上,每天都有大量的暴力密码破解,更换端口,无济于事,该脚本监控安全日志,获取暴力破解的对方ip,加入hosts黑名单

路径说明

描述 路径
登录安全日志 /var/log/secure
hosts黑名单 /etc/hosts.deny
hosts白名单 /etc/hosts.allow

逻辑介绍

  1. 通过 subprocess.Popen('tail -f XXXXX') 打开登录安全日志
  2. while True 循环通过 readline 的形式,达到实时监控日志文件的目的
  3. 解析每一行日志,出现Invalid user \w+ from (\d+\.\d+\.\d+\.\d+) 说明是在尝试登录不存在的用户名,那么直接拉黑当前ip
  4. 出现Failed password for \w+ from (\d+\.\d+\.\d+\.\d+) 说明是在尝试已有用户的密码,然后判断当前ip的尝试次数,达到阈值的时候,拉黑当前ip

使用方法

  1. 前提,准备python环境
  2. 执行命令 nohup python3 -u deny_login_ip.py >> your_log_name.log 2>&1 &
  3. 当前文件夹下会生成一个日志文件 your_log_name.log

注意事项

  1. 为了防止误封自己ip的情况,请提前把自己的ip加入白名单
  2. 黑白名单书写格式sshd:172.168.0.1, 一行一个

详细逻辑,见详细的代码注释

github地址:https://github.com/luocfa/deny_login_ip

最新文章

  1. VS2012常用快捷键
  2. MVC中Action 过滤
  3. 20145208 《Java程序设计》第7周学习总结
  4. JS跨域方法及原理
  5. 系统集成之用户统一登录( LDAP + wso2 Identity Server)
  6. Oracle ->> Oracle下实现SQL Server的TOP + APPLY
  7. BitBlt介绍
  8. python 文本编辑基础记录
  9. MySQL 同步状态
  10. APIO2018 被屠记
  11. AI matplotlib
  12. 谷歌浏览器内核Cef js代码整理(一)
  13. C++学习(十六)(C语言部分)之 数组三
  14. Linux玩转redis从入门到放肆--1.缓存击穿
  15. CentOS7下安装Scrapy
  16. Hopfield神经网络和TSP问题
  17. CSS3动画库——animate.css
  18. Bayes' theorem (贝叶斯定理)
  19. python全栈开发-前方高能-生成器和生成器表达式
  20. Swing:LookAndFeel 教程第一篇——手把手教你写出自己的 LookAndFeel

热门文章

  1. ECMAScript基本语法——⑤运算符 一元运算符
  2. [codeigniter4]Upgrading from 3.x to 4.x
  3. shell编程基础知识
  4. 复制文件或目录命令 - cp
  5. [CF]Round511
  6. ubuntu19.04 配置远程连接ssh
  7. Android 开发 微信分享,登陆,获取信息
  8. jsp中 EL表达式 ${}
  9. spring_boot 加入 mybatis
  10. win10显示“没有有效的IP地址”