centos 非法请求拦截工具 fail2ban 如何安装?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
centos
一般作为服务器的操作系统,而服务器又非常容易遭到各种cc
、dd
,或者非法尝试ssh
密码 等等操作。这些事情是非常的常见。比如,你新买了一个主机,然后安装了宝塔面板,就会发现:宝塔面板提示:已经被非法登陆尝试ssh
密码几万次了。
本文中,苏南大叔要介绍的fail2ban
,就是其中一个非常好的解决方案。简单地来说:就是,当某项操作在一定时间内,发生了一定的次数后,就把这个ip加入黑名单。fail2ban
非常的好用,可以缓解很多网络非法请求。
基本环境
本文测试环境:centos 7.5.1804
,fail2ban 0.9.7
,firewalld 0.4.4.4
。centos
服务器下面,centos
7系列中流行的是firewalld
,而不是iptables
。所以,苏南大叔这里也要紧追时代潮流,fail2ban
来搭配firewalld
,当然,fail2ban
其实也是可以搭配iptables
的。这里不做过多套路说明,总体的原则就是:禁用iptables
,启用firewalld
。
禁用iptables
查看iptables
状态:
service iptables status
systemctl status iptables.service
如果显示正在运行的话,可以:
systemctl stop iptables.service
systemctl disable iptables.service
启用firewalld
如果firewalld
命令不存在的话,请执行yum update
即可。比如如下错误:
firewall-cmd
-bash: firewall-cmd: command not found
开启启动firewalld
:
systemctl enable firewalld.service
systemctl start firewalld
配置firewall
,允许常见端口号通过防火墙。
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload
列出已经允许通过防火墙的端口号:
firewall-cmd --zone=public --list-ports
在本段步骤中,苏南大叔允许了22
、80
、443
通过防火墙。如果你的ssh 22
端口进行了更改,那么请注意调整对应端口号。
- 《如何修改centos服务器的默认ssh端口号22》 https://newsn.net/say/centos-ssh-port.html
查看firewall
的状态:
firewall-cmd --state
安装fail2ban
yum -y install epel-release
yum -y install fail2ban
开机启动fail2ban
systemctl enable fail2ban.service
systemctl start fail2ban.service
查看fail2ban
的状态
fail2ban-client status
查看fail2ban
版本号
yum list installed | grep fail2ban
总结
判断准备就是:重启centos
服务器后,执行fail2ban-client status
的时候,能有正常返回值,就可以使用了。至于具体的使用方式方法,请参见苏南大叔的后续文章。
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。