修改bfd的proftpd配置文件

无意间查看bfd的日志,没想竟然对proftpd的日志抓取有问题,没有更改的话 日志是这样的:

  1. # 日志路径 /var/log/bfd_log
  2. Apr  3 04:15:02 servername bfd(8813): {proftpd} ffffxx.xx.xx.xx exceeded login failures; executed ban command '/etc/apf/apf -d ffffxx.xx.xx.xx  {bfd.proftpd}'.
  3. # 实际上,apf屏蔽的命令是 apf -d ffffxx.xx.xx.xx

可能作者笔误吧,sed没有加上g,g的意思为全局替换,修改如下:

  1. # bfd的规则 /usr/local/bfd/rules/proftpd
  2. # failed logins from a single address before ban
  3. # uncomment to override conf.bfd trig value
  4. # TRIG="10"
  5.  
  6. # file must exist for rule to be active
  7. REQ="/usr/sbin/proftpd"
  8.  
  9. if [ -f "$REQ" ]; then
  10.  LP="$AUTH_LOG_PATH"
  11.  TLOG_TF="proftpd"
  12.  
  13.  ## PROFTPD
  14.  ## 修改这行 ARG_VAL=`$TLOG_PATH $LP $TLOG_TF | sed -e 's/::ffff://' | grep -E '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | tr -d ':' | sed -n -e '/proft
  15. pd/s/.*USER \(.*\) no such user found from \([^ ]*\).*/\2:\1/p'`
  16. fi
  17.  
  18. ARG_VAL=`$TLOG_PATH $LP $TLOG_TF | sed -e 's/::ffff://g' | grep -E '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | tr -d ':' | sed -n -e '/proft
  19. pd/s/.*USER \(.*\) no such user found from \([^ ]*\).*/\2:\1/p'`
  20. fi
  21. # 新版本的bfd不知道是否有修正这个BUG,否则bfd无法调用apf 自动对proftpd恶意连接进行屏蔽!
  22. # 重启BFD, bfd -s

加固Linux_apf防火墙+bfd+ddos+chkrootkit

对于虚拟主机提供商,面临的情况都比较复杂,来租用的客户有不懂的,也有故意来搞破坏的
所以加固linux,是必不可少的一个步骤

lamp应该就已经是比较安全的,类似ssh proftpd wu-ftpd软件都能限制登陆的错误次数,也可以用iptables加以限制数据包的进出
但是更简单的办法,就是安装apf+bfd了
简单的安装方式,可以控制复杂的数据进出流,端口的限制,减轻自己的工作量,当然如果你是脚本高手又有很多的时间,则不在讨论范围之内。
Read more »

1 1