fail2ban
Jimmy来教会访问,中午吃饭的时候随口聊了几句技术问题。Fiona在边上说,不准说听不懂的黑话……于是我们一起怼她说,如果我们不说黑话,你怎么可以在国内自由地发facebook呢? Jimmy加上一句,你怎么能在国内上instgram呢? 所以,有的时候后端技术还是需要的,虽然在前端的那位,看起来特别风光靓丽。 一旦自己开始管理网站,就发现需要处理的问题太多。我的朋友Water的网站被人黑的已经比春晚的猴子还要黑了,各种bot在上面肆意妄为,还有用字典攻击phpadmin数据库密码的项目,有一个名叫auth-ready.php的文件负责把输入的所有用户名和密码发给一个google邮箱和一个俄罗斯的邮箱(幸好我懒,没有配mail服务,所以应该什么也发不出去)。 只有使用fail2ban,开始认真地防范。 fail2ban基本上有三个部分组成: jail:配置对某个日志文件的监控,命中条件,定义要应用的正则表达式过滤器,以及要采取的行动,封锁ip的时间等等。 filter: 一个正则表达式,用来提取日志中符合条件的ip地址。比如,failregex = ^<HOST> -.*”(GET|POST|HEAD).*HTTP.*” 404 ,据提取nginx访问日志中一切 get|post|head 返回404的ip。 举例如下: 68.180.228.151 - - [18/Feb/2018:21:30:35 -0600] "GET /xiaoshuo/6203/du1968347.html HTTP/1.1" 404 169 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)" 68.180.228.151 - - [18/Feb/2018:21:30:37 -0600] "GET /xiaoshuo/5749/ HTTP/1.1" 404 169 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)" 68.180.228.151 - - [18/Feb/2018:21:30:37 -0600] "GET /xiaoshuo/20580/ HTTP/1.1" 404 169 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)" 68.180.228.151 - - [18/Feb/2018:21:30:38 -0600] "GET /xiaoshuo/4552/du1192650....