CentOS7防止暴力ssh破解
记得以前有个开源软件,全面防护linux,功能挺全的,什么waf、防暴力等等,而且有网页的管理视图,做的非常不错,可惜忘记叫什么名字了。
今天暂时先使用一款大家普遍使用的防暴力破解ssh工具fail2ban。以下内容转载于https://apad.pro/centos7-fail2ban/
安装fail2ban
yum -y install epel-release yum -y install fail2ban
创建/编辑配置文件jail.local
vi /etc/fail2ban/jail.local
输入以下内容:
Iptables配置
[DEFAULT] ignoreip = 127.0.0.1/8 bantime = 3600 maxretry = 5 findtime = 300 [ssh-iptables] enabled = true filter = sshd action = iptables[name=SSH, port=ssh, protocol=tcp] logpath = /var/log/secure
Firewalld配置
[DEFAULT] ignoreip = 127.0.0.1/8 bantime = 3600 maxretry = 5 findtime = 300 banaction = firewallcmd-ipset action = %(action_mwl)s [ssh-iptables] enabled = true filter = sshd port = 22 action = %(action_mwl)s logpath = /var/log/secure
配置文件说明:
# /etc/fail2ban/jail.conf 为主配置文件,一般不做修改 # /etc/fail2ban/jail.local 为自定义配置文件,会覆盖jail.conf里相同的值 # DEFAULT这里是设定全局设置,若下面的监控没有设置就以全局设置的值设置 [DEFAULT] # 以空格分隔的列表,可以是IP地址、CIDR前缀或者DNS主机名 # 用于指定哪些地址可以忽略fail2ban防御 ignoreip = 127.0.0.1 192.168.1.0/24 # 客户端主机被禁止的时长(秒) bantime = 86400 # 客户端主机被禁止前允许失败的次数 maxretry = 5 # 查找失败次数的时长(秒) findtime = 600 [ssh-iptables] # 是否开启 enabled = true # 采用的过滤器 filter = sshd # 采取的动作 action = iptables[name=SSH, port=ssh, protocol=tcp] # 针对的日志文件的路径 logpath = /var/log/secure # ssh 服务的最大尝试次数 maxretry = 3
启动服务
systemctl enable fail2ban
systemctl start fail2ban
常用命令
# 重新读取配置文件 fail2ban-client reload # 查看被ban IP,其中sshd为名称,比如上面的[ssh-iptables] fail2ban-client status sshd # 删除被ban IP fail2ban-client set sshd unbanip 192.168.111.111 # 查看日志 tail -f /var/log/fail2ban.log # 查看fail2ban过滤器是否适用于特定日志文件 fail2ban-regex /var/log/example.error.log
----------------
不可能只是一种态度 并不是客观事实
---------------
浙公网安备 33010602011771号