加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

Linux 上Fail2ban阻止SSH暴力攻击 保护你的服务器不被暴力破解

发布时间:2020-05-24 03:50:01 所属栏目:Linux 来源:互联网
导读:Linux 上Fail2ban阻止SSH暴力攻击 保护你的服务器不被暴力破解

查看尝试登录的IP和次数:

#ubuntu
cat/var/log/auth.log|awk'/Failed/{print$(NF-3)}'|sort|uniq-c|awk'{print$2"="$1;}'

#centos
cat/var/log/secure|awk'/Failed/{print$(NF-3)}'|sort|uniq-c|awk'{print$2"="$1;}'

结果如下

95.99.151.150=2
96.116.62.121=2
96.126.108.130=1
96.234.157.43=1
96.239.137.66=2
96.242.27.57=1
96.255.29.134=1
96.30.68.34=6
96.45.70.192=21
96.53.113.134=1946
96.57.104.194=2
96.57.82.166=3
96.64.177.108=2
96.66.198.178=10
96.67.205.235=7
96.68.174.209=8
96.68.99.234=2
96.70.240.38=1
96.70.80.177=4
96.70.94.73=2

介绍:

fail2ban是一款实用软件,可以监视你的系统日志,然后匹配日志的错误信息(正则式匹配)执行相应的屏蔽动作。

功能和特性编辑

1、支持大量服务。如sshd,apache,qmail,proftpd,sasl等等

2、支持多种动作。如iptables,tcp-wrapper,shorewall(iptables第三方工具),mail notifications(邮件通知)等等。

3、在logpath选项中支持通配符

4、需要Gamin支持(注:Gamin是用于监视文件和目录是否更改的服务工具)

5、需要安装python,iptables,shorewall,Gamin。如果想要发邮件,那必需安装postfix或sendmail

官网:

http://www.fail2ban.org/

安装:

ubuntu

sudoapt-getupdate
sudoapt-getupgrade
sudoapt-getinstallfail2ban

centos

yum-yinstallepel-release
yum-yinstallfail2ban

文件结构

/etc/fail2ban ## fail2ban 服务配置目录

/etc/fail2ban/action.d ## iptables 、mail 等动作文件目录

/etc/fail2ban/filter.d ## 条件匹配文件目录,过滤日志关键内容

/etc/fail2ban/jail.conf ## fail2ban 防护配置文件

/etc/fail2ban/fail2ban.conf ## fail2ban 配置文件,定义日志级别、日志、sock 文件位置等

配置

1.打开配置文件

vim/etc/fail2ban/jail.conf

配置信息

[DEFAULT]
#忽略的IP列表,不受设置限制
ignoreip=127.0.0.1/8

#被封IP禁止访问的时间,单位是秒
bantime=86400

#检测时间,在此时间内超过规定的次数会激活fail2ban,单位是秒
findtime=300

#允许错误登录的最大次数
maxretry=3

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

#定义日志级别,默认
loglevel=3

#定义fail2ban日志文件
logtarget=/var/log/fail2ban.log

#sock文件存放位置,默认
socket=/var/run/fail2ban/fail2ban.sock

#pid文件存放位置,默认
pidfile=/var/run/fail2ban/fail2ban.pid

#邮件通知参数
sendmail-whois[name=SSH,dest=you@example.com,sender=fail2ban@example.com,sendername="Fail2Ban"]
##收件人地址##发件人地址

[sshd]
#激活
enabled=true
#规律规则名,对应filter.d目录下的sshd.conf
filter=sshd
banaction=firewallcmd-new
#检测的系统的登陆日志文件。这里要写sshd服务日志文件
logpath=/var/log/secure
#禁止用户IP访问主机1小时
bantime=3600
#在5分钟内内出现规定次数就开始工作
findtime=300
#3次密码验证失败
maxretry=3

[sshd-ddos]
enabled=true
port=8888

fail2ban启动

>>servicefail2banstart#启动fail2ban服务
*Startingauthenticationfailuremonitorfail2ban[OK]
>>fail2ban-clientstatus#查看fail2ban服务
Status
|-Numberofjail:	1
`-Jaillist:		ssh
>>servicefail2banrestart#重启

启动fail2ban并设置开机启动:

centos

systemctlenablefail2ban
systemctlstartfail2ban

ubuntu


查看日志

tail-100/var/log/fail2ban.log#查看最近100条记录

查看SSH服务监护状态,能看到当前被禁IP。

>>fail2ban-clientstatusssh

|-filter
||-Filelist:	/var/log/auth.log
||-Currentlyfailed:	56
|`-Totalfailed:	6307
`-action
|-Currentlybanned:	0
|`-IPlist:	
`-Totalbanned:	0

在SSH监护服务白名单中添加/删除IP:

fail2ban-clientsetsshdaddignoreip1.2.3.4
fail2ban-clientsetsshddelignoreip1.2.3.4


(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读