VmShell提供Centos 7 64 Bit 防攻击全教程版本(建议大家都给自己的机器上安装),另外一篇文章是在 Debian/Ubuntu 系列版本上安装启用fail2ban的教程,有助于防止扫段攻击以及保护自己的子网络!闲话不多说,先介绍什么叫做 fail2ban组件插件:Fail2ban是入侵防御框架,与服务器上防火墙iptables配合使用,通常用于在尝试失败后阻止连接尝试。它通过监视特定类型条目的日志文件来运行,并根据其结果运行预定的操作。使用 fail2ban 防范暴力破解ssh vsftp 与CC攻击
第一步:安装必要组件环境(epel-release非常有必要,因为软件包在里面): yum -y install epel-release screen bind-utils wget curl zip unzip && yum -y update
第二步:创建 screen 窗口,并进入到新窗口进行安装: screen -S fail2bansetup (退出窗口按键 Ctrl+ad 三个键), 恢复进入窗口的命令是:screen -r fail2bansetup
第三步:启用 bbr+fq算法协议:
wget -N --no-check-certificate -q -O install.sh "https://raw.githubusercontent.com/wulabing/V2Ray_ws-tls_bash_onekey/master/install.sh" && chmod +x install.sh && bash install.sh
11-----------1-----------------reboot (安装bbr)
第四步: 我们先安装一个测速的docer ,这样我们可以测试正常的端口号访问,我们如何放行(端口号7788),安装后能正常打开:
curl -sSL https://get.docker.com/ | sh && systemctl start docker && systemctl enable docker && docker run -d -p 7788:80 ilemonrain/html5-speedtest:alpine
第五步: 检查Firewalld是否启用,CentOS7 的防火墙配置跟以前版本有很大区别,CentOS7这个版本的防火墙默认使用的是firewall,与之前的版本Centos 6.x使用iptables不一样,所以在CentOS7 64bit下面VMSHELL建议大家只需要关注 firewall就行了,不要被干扰了!
查看Firewalld是否启用 : firewall-cmd --state
启用Firewalld后会禁止所有端口连接,因此请务必放行常用的端口,以免被阻挡在外,以下是放行我们测试docer端口(7788)示例,供参考:
#放行测速的7788端口 UDP+TCP
firewall-cmd --zone=public --add-port=7788/tcp --permanent
firewall-cmd --zone=public --add-port=7788/udp --permanent
#重载配置
firewall-cmd --reload
#查看已放行端口
firewall-cmd --zone=public --list-ports
第六步:现在开始正式安装fail2ban ,介绍:fail2ban可以监控系统日志,并且根据一定规则匹配异常IP后使用Firewalld将其屏蔽,尤其是针对一些爆破/扫描等非常有效。
#CentOS内置源并未包含fail2ban,需要先安装epel源 后面才是fail2ban!
yum -y install epel-release fail2ban
安装成功后fail2ban配置文件位于/etc/fail2ban,其中jail.conf为主配置文件,相关的匹配规则位于filter.d目录,其它目录/文件一般很少用到,如果需要详细了解可自行搜索。
第七步:下面就是如何配置 jail.conf 文件,搞不懂的同学建议可以下载到本地,用UE打开,修改好参数后,重新上传到服务器(办法很笨,但是特别有效)
然后打开jail.local 里面只需要改几个数值就行
ignoreip = (可以填本机ip地址作为白名单)也可以不用设置 基本用不到
bantime = -1m (这里最好设置负数 永久禁止强行连接的ip 正数为禁止连接的时间)
findtime = 20m (连续错误的时间 这里是20秒内输错3次 永久禁止)
maxretry = 3 (错误次数 这几条合起来意思是20秒内输错3次 永久禁止)
把文档前面的#去掉 就可以保存重新上传服务器,后输入如下命令:
systemctl enable fail2ban (自动启动)
systemctl start fail2ban (启动服务)
systemctl restart fail2ban (重启服务)
systemctl status fail2ban.service(检查状态)
然后就可以输入fail2ban-client status sshd
查询被禁止的IP列表
所有禁止的记录都在/var/log/fail2ban.log 可以通过命令:
cat /var/log/fail2ban.log 进行读取查看
第八步: 验证端口是否放行,reboot服务器后,输入: docker run -d -p 7788:80 ilemonrain/html5-speedtest:alpine 启用测速docker,查看端口是否启用,下图已成功
查看服务器的扫段情况如何>???输入命令: cat /var/log/fail2ban.log 可见如图
后面我们将继续给出 如何防CC攻击等配置继续更新文章!谢谢大家,VMSHELL说可以转发