fail2ban iptables ipset 对比 centos 防御 SSH 服务器的暴力破解攻击

声明: 文中提到的链接。请网友自动识别。 关于本文首页都是一字一句敲出的。如有错别字,不要见怪。程序员都没有几个会写的,能看都行。 文中提到的 3Q影院  www.3qmv.com 域名。目前为电影。本电影站,作为学习安防 参考。如遇版权问题 请转告站长。我们立即删除处理。如需要看电影请购买有版权的地方观看。

更多的学习 你会或得更多。也是为了记录面得以后忘记了。 都知道搜索引擎都TM铺天盖地的转载。都找不到解决方案。找到都需要半天。

转载请说明:来源为不让有需要的人走弯路。 https://blog.csdn.net/parick_     贡献比索取更好

我不是一个专业的网站安全人员。都是业余的。只是记录自己遇到过的坑。如有专业人士绕道。

在网站运行的这段时间。学习了很多。尤其是安全方面。

观看本文章的问题:屏蔽暴力IP 自动屏蔽和手动屏蔽

1.fail2ban  官网 http://www.fail2ban.org 英语好的可以去官网看。反正我是渣渣。就不去了。

下载地址-> https://github.com/fail2ban/fail2ban/archive/0.9.3.tar.gz

下载位置 -> http://www.fail2ban.org/wiki/index.php/Downloads

最新版 自己去官网看了后再更改 0.9.3. 就好了

如何安装 这是最新的

wget https://github.com/fail2ban/fail2ban/archive/0.9.3.tar.gz 
tar -xzvf fail2ban-0.9.3.tar.gz
cd fail2ban-0.9.3
python setup.py install

但是centos默认自带fail2ban

yum -y fail2ban

fail2ban 运行的原理。(我不是学者,不是教授没那么多J8调调)为了通俗的讲。

比如 www.3qmv.com  请求一个ip或者一个人来访问这个网站的时候就会在后台记录当前访问的。ip地址。请求的那个文件。什么时候请求的。格式如下


这是就是日志。

fail2ban 就是通过扫描日志 抓取设定的日志。加入黑名单。就这么简单。其他原理我们也不需要晓得。我又不开发fail2ban。只要会用都行。

里面目录多得一逼。我都不详细讲解了。自己慢慢去看,主要是如何用fail2ban 阻挡IP

/etc/fail2ban/fail2ban.conf 日志设定文档 
/etc/fail2ban/jail.conf 阻挡设定文档 
/etc/fail2ban/filter.d 具体阻挡内容设定目录

/etc/fail2ban/fail2ban.conf

 

/etc/fail2ban/fail2ban.conf 


logtarget = /var/log/fail2ban.log 记录文件的位置。有需要改没需要不改。主要晓得位置在哪里都行了。


cat /etc/fail2ban/jail.conf  简称 监狱


一个一个讲 [DEFAULT] 默认配置。还有很多 也可以自己加。(DEFAULT是系统默认的)

ignoreip = 127.0.0.1/8  那些不过滤  比如 127.0.0.1 是本地局域网 你过滤干嘛.

bantime  = 36000000 #屏蔽时间,单位:秒 你想写好久就好久。

maxretry = 2 #这个时间段内超过规定次数会被ban掉  就是比如登录2删除ssh密码错误加入黑名单。

backend = polling  #日志修改检测机制(gamin、polling和auto这三种)

usedns = warn

action = iptables[name=SSH, port=ssh, protocol=tcp]  如果被禁止的ip  port=ssh  是只禁止tcp 还是禁止all 

是不是简单得一逼。



刚才不是讲了 可以自己配置

其实 fail2ban 有很多默认规则。

/etc/fail2ban/filter.d



上面是默认规则。

这个是一个已经配置好的规则

[ssh-iptables]  这个规则的名字  

enabled  = true 等于 true 才会启动,不然不会加载这个规则。

filter   = sshd   这个尼玛都关键。 在上面filter.d中不是看到有很多规则吗?自己复制上面的名字。上面标红位置。

action   = iptables[name=SSH, port=ssh, protocol=tcp]  上面有讲 都是违反后请求的动作。

logpath  = /var/log/secure   #检测的系统的登陆日志文件 不是说了嘛?   fail2ban 是烧苗日志的。不给日志烧苗啥子。。

maxretry = 3 #最大尝试次数 最大尝试次数、 好了 这有爽歪歪了。

service fail2ban restart #重启
chkconfig fail2ban on   #设置为开机自动启动
fail2ban-client status  #验证Fail2Ban是否正常运行
iptables -L #列出数据

部分违反请求的IP 不都需要手动解禁。


提示: 遇到一个小情况。就是当在测试是否成功的时候。用自己的ip 测试。后会被加入黑名单。重启路由。或者把禁止时间改短。 因为我遇到过。自己被挡在外面了。重启家里面的外网路由重新获取ip。


iptables  手动加入被禁止的ip

 iptables -I INPUT -s 58.218.200.2  -j DROP  红色部分替换。你想禁止的ip 

 iptables -I INPUT -s 58.218.200.2  -j DROP

提示 不建议使用  iptables   这样 禁止 ip 因为量大后每一个请求都会检查 是否被禁止导致正常用户访问慢。

ipset 手动加入 

ipset add openapi  58.218.200.2   ipset的一个优势是集合可以动态的修改,即使iptables的规则正在使用这个集合

iptables   ipset  我都不推荐使用。推荐使用  fail2ban  自动自动自动啊。手动 哪来那么多时间。具体想知道怎么用的,去百度。多得很。我都不讲了。

使用优先级   fail2ban >ipset>iptables 









阅读更多
想对作者说点什么? 我来说一句
相关热词

没有更多推荐了,返回首页