fail2ban 是 Linux 上的一个著名的入侵保护的开源框架,它会监控多个系统的日志文件(例如:/var/log/auth.log 或者 /var/log/secure)并根据检测到的任何可疑的行为自动触发不同的防御动作。在基本的安全方面,fail2ban 在防御对SSH服务器的暴力密码破解上非常有用。 接下来就说一下基本的配置: 1.下载源 下载合适的安装包 2.yum 安装 yum install -y fail2ban 3.启动 service fail2ban start 4.fail2ban 的设定档在这里 服务配置目录 :/etc/fail2ban/ /etc/fail2ban/action.d #动作文件夹,内含默认文件。iptables以及mail等动作配置 /etc/fail2ban/fail2ban.conf #定义了fai2ban日志级别、日志位置及sock文件位置 /etc/fail2ban/filter.d #条件文件夹,内含默认文件。过滤日志关键内容设置 /etc/fail2ban/jail.conf #主要配置文件,模块化。主要设置启用ban动作的服务及动作阀值 /etc/rc.d/init.d/fail2ban #启动脚本文件 5.配置 vim /etc/fail2ban/jail.conf [DEFAULT] # "ignoreip" 可以是个 IP 地址, 无类别域间路由(Classless Inter-Domain Routing、CIDR)或者 DNS 地址。 # Fail2ban 不会禁用匹配到的 IP。 # 多个地址可以用空格来分割。 ignoreip = 127.0.0.1 # "bantime" 就是拉黑时间,按秒算。 bantime = 3600 # "findtime" 就是一个 IP 在此间隔内会被算入重试次数。如 600 时则是 10 分钟内再登陆将把重试次数 +1,超过 10 分钟后则从头开始算。 # 按秒算。 findtime = 600 # "maxretry" 就是最大重试次数。如 3 则失败 3 次就禁止登陆。 maxretry = 3 #日志检测机器,有"gamin", "polling" and "auto"三种模式。 backend = auto enabled = true [ssh-iptables] #启用 filter = sshd # 这里的 port=ssh 是默认的 SSH 端口,如果你修改了的话这里也要改,比如 port=213 action = iptables[name=SSH, port=ssh, protocol=tcp] sendmail-whois[name=SSH, dest=root, sender=fail2ban@example.com] logpath = /var/log/secure maxretry = 5 6.查看iptbales [iyunv@ fail2ban]# iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination f2b-SSH tcp -- anywhere anywhere tcp dpt:ssh 7.查看日志 tail/var/log/fail2ban.log
|