设为首页 收藏本站
查看: 1331|回复: 0

[经验分享] fail2ban安装及使用(debian)

[复制链接]

尚未签到

发表于 2018-5-14 13:42:13 | 显示全部楼层 |阅读模式
我的博客已迁移到xdoujiang.com请去那边和我交流
一、基础环境
1、fail2ban可以监视你的系统日志,然后匹配日志的错误信息(正则式匹配)执行相应的屏蔽动作
(一般情况下是调用防火墙屏蔽),如:当有人在试探你的SSH、SMTP、FTP密码,只要达到你预设的次数,
fail2ban就会调用防火墙屏蔽这个IP,而且可以发送e-mail通知系统管理员,是一款很实用、很强大的软件!
2、版本
cat /etc/debian_version
7.4
3、ip
10.131.172.202
二、安装fail2ban
1、apt或dpkg安装
apt-get -y install fail2ban

dpkg -i fail2ban_0.8.6-3wheezy3_all.deb
PS:下载地址
http://ftp.cn.debian.org/debian/pool/main/f/fail2ban/fail2ban_0.8.6-3wheezy3_all.deb
2、查看配置
ll /etc/fail2ban/
drwxr-xr-x 2 root root 4096 Jun 19 14:15 action.d
-rw-r--r-- 1 root root  853 Nov 29  2011 fail2ban.conf
drwxr-xr-x 2 root root 4096 Jun 19 15:43 filter.d
-rw-r--r-- 1 root root 7347 Jun 19 15:51 jail.conf
3、修改配置支持ssh和apache
cat /etc/fail2ban/jail.local(PS:这个配置文件一定是以.local结尾的)
[DEFAULT]
ignoreip = 127.0.0.1/8 172.31.0.0/24 10.0.0.0/8 192.168.0.0/24
bantime = 86400
maxretry = 10
findtime = 600
[ssh-iptables]
enabled = true
port = 55000
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
[apache]
enabled  = true
port     = 80,443
filter   = apache-auth
logpath  = /var/log/apache*/*error.log
maxretry = 6
[apache-noscript]
enabled  = true
port     = 80,443
filter   = apache-noscript
logpath  = /var/log/apache*/*error.log
maxretry = 6
[apache-overflows]
enabled  = true
port     = 80,443
filter   = apache-overflows
logpath  = /var/log/apache*/*error.log
maxretry = 2
[apache-nohome]
enabled  = true
port     = 80,443
filter   = apache-nohome
logpath  = /var/log/apache*/*error.log
maxretry = 2
PS:我这里ssh端口是55000 apache是80
netstat -tupnl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:55000           0.0.0.0:*               LISTEN      29921/sshd      
tcp        0      0 127.0.0.1:9898          0.0.0.0:*               LISTEN      30949/barad_agent
tcp6       0      0 :::80                   :::*                    LISTEN      3964/apache2   
tcp6       0      0 :::55000                :::*                    LISTEN      29921/sshd  
4、重启服务
/etc/init.d/fail2ban restart
[ ok ] Restarting authentication failure monitor: fail2ban.
5、查看日志
2015-06-19 22:06:37,139 fail2ban.server : INFO   Changed logging target to /var/log/fail2ban.log for Fail2ban v0.8.6
2015-06-19 22:06:37,140 fail2ban.jail   : INFO   Creating new jail 'apache'
2015-06-19 22:06:37,140 fail2ban.jail   : INFO   Jail 'apache' uses Gamin
2015-06-19 22:06:37,149 fail2ban.filter : INFO   Added logfile = /var/log/apache2/svn_error.log
2015-06-19 22:06:37,150 fail2ban.filter : INFO   Set maxRetry = 6
2015-06-19 22:06:37,151 fail2ban.filter : INFO   Set findtime = 600
2015-06-19 22:06:37,151 fail2ban.actions: INFO   Set banTime = 86400
2015-06-19 22:06:37,154 fail2ban.jail   : INFO   Creating new jail 'apache-noscript'
2015-06-19 22:06:37,154 fail2ban.jail   : INFO   Jail 'apache-noscript' uses Gamin
2015-06-19 22:06:37,155 fail2ban.filter : INFO   Added logfile = /var/log/apache2/svn_error.log
2015-06-19 22:06:37,155 fail2ban.filter : INFO   Set maxRetry = 6
2015-06-19 22:06:37,156 fail2ban.filter : INFO   Set findtime = 600
2015-06-19 22:06:37,157 fail2ban.actions: INFO   Set banTime = 86400
2015-06-19 22:06:37,161 fail2ban.jail   : INFO   Creating new jail 'apache-overflows'
2015-06-19 22:06:37,161 fail2ban.jail   : INFO   Jail 'apache-overflows' uses Gamin
2015-06-19 22:06:37,161 fail2ban.filter : INFO   Added logfile = /var/log/apache2/svn_error.log
2015-06-19 22:06:37,162 fail2ban.filter : INFO   Set maxRetry = 2
2015-06-19 22:06:37,163 fail2ban.filter : INFO   Set findtime = 600
2015-06-19 22:06:37,163 fail2ban.actions: INFO   Set banTime = 86400
2015-06-19 22:06:37,166 fail2ban.jail   : INFO   Creating new jail 'ssh-iptables'
2015-06-19 22:06:37,167 fail2ban.jail   : INFO   Jail 'ssh-iptables' uses Gamin
2015-06-19 22:06:37,167 fail2ban.filter : INFO   Added logfile = /var/log/auth.log
2015-06-19 22:06:37,167 fail2ban.filter : INFO   Set maxRetry = 5
2015-06-19 22:06:37,169 fail2ban.filter : INFO   Set findtime = 600
2015-06-19 22:06:37,169 fail2ban.actions: INFO   Set banTime = 86400
2015-06-19 22:06:37,188 fail2ban.jail   : INFO   Creating new jail 'apache-nohome'
2015-06-19 22:06:37,188 fail2ban.jail   : INFO   Jail 'apache-nohome' uses Gamin
2015-06-19 22:06:37,189 fail2ban.filter : INFO   Added logfile = /var/log/apache2/svn_error.log
2015-06-19 22:06:37,189 fail2ban.filter : INFO   Set maxRetry = 2
2015-06-19 22:06:37,190 fail2ban.filter : INFO   Set findtime = 600
2015-06-19 22:06:37,191 fail2ban.actions: INFO   Set banTime = 86400
2015-06-19 22:06:37,194 fail2ban.jail   : INFO   Jail 'apache' started
2015-06-19 22:06:37,196 fail2ban.jail   : INFO   Jail 'apache-noscript' started
2015-06-19 22:06:37,197 fail2ban.jail   : INFO   Jail 'apache-overflows' started
2015-06-19 22:06:37,198 fail2ban.jail   : INFO   Jail 'ssh-iptables' started
2015-06-19 22:06:37,200 fail2ban.jail   : INFO   Jail 'apache-nohome' started
6、查看iptables已经生效了
iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
fail2ban-apache-nohome  tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 80,443
fail2ban-ssh-iptables  tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 55000
fail2ban-apache-overflows  tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 80,443
fail2ban-apache-noscript  tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 80,443
fail2ban-apache  tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 80,443
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
Chain fail2ban-apache (1 references)
target     prot opt source               destination         
RETURN     all  --  0.0.0.0/0            0.0.0.0/0           
Chain fail2ban-apache-nohome (1 references)
target     prot opt source               destination         
RETURN     all  --  0.0.0.0/0            0.0.0.0/0           
Chain fail2ban-apache-noscript (1 references)
target     prot opt source               destination         
RETURN     all  --  0.0.0.0/0            0.0.0.0/0           
Chain fail2ban-apache-overflows (1 references)
target     prot opt source               destination         
RETURN     all  --  0.0.0.0/0            0.0.0.0/0           
Chain fail2ban-ssh-iptables (1 references)
target     prot opt source               destination         
RETURN     all  --  0.0.0.0/0            0.0.0.0/0           
7、使用fail2ban-client命令查看状态
fail2ban-client status
Status
|- Number of jail:    5
- Jail list:        apache, apache-overflows, apache-nohome, apache-noscript, ssh-iptables
8、更细致的查看某个项
fail2ban-client status ssh-iptables
Status for the jail: ssh-iptables
|- filter
|  |- File list:    /var/log/auth.log
|  |- Currently failed:    0
|  `- Total failed:    0
`- action
   |- Currently banned:    0
   |  `- IP list:   
   `- Total banned:    0
9、将服务加入到开机启动
update-rc.d fail2ban defaults
update-rc.d: using dependency based boot sequencing
10、查看下日志轮询信息
cat /etc/logrotate.d/fail2ban
/var/log/fail2ban.log {
    weekly
    rotate 4
    compress
    delaycompress
    missingok
    postrotate
    fail2ban-client set logtarget /var/log/fail2ban.log >/dev/null
    endscript
    # If fail2ban runs as non-root it still needs to have write access
    # to logfiles.
    # create 640 fail2ban adm
    create 640 root adm
}
三、参考文章
http://xmodulo.com/how-to-protect-ssh-server-from-brute-force-attacks-using-fail2ban.html
https://linux.cn/article-5068-qqmail.html  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-460089-1-1.html 上篇帖子: 如何初始化centos或debian系统(公司) 下篇帖子: Debian修改IP、DNS
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表