快捷搜索:   nginx

CentOS 安装fail2ban防范ssh ftp 暴力破解 针对DirectAdmin 调整

什么是 fail2ban


见 官网 介绍:


Fail2ban scans log files like /var/log/pwdfail or /var/log/apache/error_log and bans IP that makes too many password failures. It updates firewall rules to reject the IP address.


就是一个监视系统日志文件的服务,发现有可疑并符合设定值的 IP 访问,就更新防火墙(iptables)来阻止该 IP 的访问,常见的应用场合如 ssh、ftp 登陆日志监控等。

根据原理,应该还可以自定义很多监控出来。另外支持发送警告信息到管理员邮箱(需要 sendmail 支持)。


如何下载和安装


在终端输入如下命令:


wget http://cdnetworks-kr-2.dl.sourceforge.net/project/fail2ban/fail2ban-stable/fail2ban-0.8.4/fail2ban-0.8.4.tar.bz2


tar xvfj fail2ban-0.8.4.tar.bz2

cd fail2ban-0.8.4

python setup.py install

cd files

cp ./redhat-initd /etc/init.d/fail2ban

chkconfig --add fail2ban

service fail2ban start


完成 fail2ban 0.8.4 的安装。


配置 ssh 和 proftpd 日志监控


备份并打开 fail2ban 配置文件:


cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.bak

vi /etc/fail2ban/jail.conf


ssh 配置比较简单,将下面的配置贴到最下面(注意,如果你的 SSH 不是默认的 22 端口,请修改 port=ssh 为 port=端口号,如 port=222)


[ssh-iptables]


enabled  = true

filter   = sshd

action   = iptables[name=SSH, port=ssh, protocol=tcp]

logpath  = /var/log/secure

maxretry = 3


ProFTPD 的配置(注意,已经针对 DirectAdmin(DA)控制面板 下的情况作了特殊配置):


[proftpd-iptables]


enabled  = true

filter   = proftpd

action   = iptables[name=ProFTPD, port=ftp, protocol=tcp]

logpath  = /var/log/proftpd/auth.log

maxretry = 4


由于 DA 对 ProFTPD 的配置做了特殊设定,我们需要修改 ProFTPD 的日志的正则匹配规则。


vi /etc/fail2ban/filter.d/proftpd.conf


修改如下内容:


failregex = (.*) (.*) <HOST> (.*) (.*) 530


开启服务


service fail2ban start


使用方法


# 检查状态

# 类似如下的状态说明已启用,如下方多了 IP 列表,说明该 IP 已经被 ban 掉


# Status

# |- Number of jail:      2

# `- Jail list:           proftpd-iptables, ssh-iptables


fail2ban-client status


# 查看可用的服务过滤规则

ls /etc/fail2ban/filter.d -lh


# 检查某个服务的过滤规则是否可以匹配某个日志文件

fail2ban-regex /var/log/secure /etc/fail2ban/filter.d/sshd.conf


顶(1)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论