CentOS下使用Fail2ban来禁止指定IP访问的方法

哇,这个 Fail2 ban 工具真是个好东西。
它可以自动禁止那些麻烦的IP,保护服务器。
我第一次接触到这个是在2 01 6 年,当时我还是个菜鸟,花了很长时间才搞明白。

首先你要到官网下载rpm包。
地址在这里:http://fail2 ban.sourceforge.net/rpms/。
然后使用命令行来安装它。
具体操作如下:
百胜安装失败2 ban
安装后,需要更改配置文件。
路径是/etc/fail2 ban.conf。
这里有几个关键点:

background=true:让Fail2 ban作为守护进程运行。

maxfailures=3 :设置最大尝试次数。
例如,如果您尝试 3 次后失败,您将被禁止。

bantime=3 6 00:设置禁止时间,3 6 00秒为1 小时,-1 表示永久禁止。

findtime=6 00:设置搜索时间,如6 00秒内的错误日志。

ignoreip:这里可以写一些不需要禁止的IP地址,比如你本地的IP。

然后必须为不同的服务设置日志文件和匹配规则,例如VSFTPD、PROFTPD和SSH。
例如:SSH:
[SSH] 启用=真 日志文件=/var/log/secureservice failedregex=nosuchuser|密码错误
设置完成后,启动Fail2 ban服务:
服务 failed2 ban 已启动
这样你每天就可以在/var/log/fail2 ban.log中看到被禁止的IP。
例如:
2 01 5 -08 -01 09 :1 3 :3 3 ,5 3 2 警告:SSH:禁止(3 6 00s)2 05 .1 8 9 .1 9 7 .6 6 2 01 5 -08 -01 1 2 :2 4 :4 1 ,9 4 3 警告:SSH:禁止(3 6 00s)1 2 1 .5 2 .2 09 .5
如果要查看或删除被禁止的IP,可以使用iptables命令。
例如,请参阅:
iptables -L 输入字符串
要删除IP,首先找到相应的字符串,然后使用:
iptables -D 字符串名称 -s 禁止 IP -j DENY
说实话,当时我不太明白这些命令怎么用,但是渐渐地我就习惯了。
现在我基本上可以轻松做到这一点。

CentOSRedhat中锁定解锁软件包版本的方法yumversionlock使用详解

哦,你问这个?我去年在深圳做系统维护的时候就经历过这种情况。

当时,有一个客户端服务器使用旧版本的 Perl。
突然,当 Yum 更新时,Perl 版本跳到了最新。
导致下游依赖的某个模块出现故障。
这太令人沮丧了,我不得不多次重新启动服务才能修复它。
因此,锁定版本非常重要。

你提到的 yum-plugin-versionlock 确实是个好主意。
我之前在2 02 3 年7 月测试Linux环境的时候用过,你把步骤写的很清楚:
1 .首先安装插件 yum install yum-plugin-versionlock.noarch。
请记住检查您的系统。
CentOS 6 /7 上的路径可能有所不同。
2 . 使用 yum versionlock perl 进行锁定,如您的示例 yum versionlock perl 所示。
执行后会看到请求版本锁:4 :perl-5 .1 0.1 -1 2 7 .el6 ,表示Perl版本4 被锁定。
3 . 想查看锁定的内容吗?将出现 yum 版本锁定列表。
4 . 您想取消吗?删除 yum 版本锁“4 :perl-5 .1 0.1 -1 2 7 .el6 ”。
请记住添加适当的引用。
5 .全部打开? yum 版本锁定清除。

最重要的是用 yum check-update 检查。
在锁定之前,perl demo是5 .1 0.1 -1 2 7 .el6 锁定后还是这个版本,没问题。
如果以后用 yum update -y perl 更新 perl 的话,版本不变,完美。
重新打开更新后,版本就变了,保证了可以正常使用。

但是请注意,该插件主要针对RPM包。
如果使用其他包管理工具,例如Python的pip或Node的npm,则必须依赖其他方法,例如pip freeze>requirements.txt。
而且,版本被锁定,有时更新其他系统依赖时可能会出现问题,所以应该考虑这一点。

无论如何,这取决于你。
在生产环境中使用非常安全。