<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DevOps技术分享 &#187; Fail2ban</title>
	<atom:link href="http://www.showerlee.com/archives/tag/fail2ban/feed" rel="self" type="application/rss+xml" />
	<link>http://www.showerlee.com</link>
	<description>与你共同学习运维开发</description>
	<lastBuildDate>Mon, 19 Oct 2020 05:51:41 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.6</generator>
		<item>
		<title>CentOS6.3下安装fail2ban防暴力破解工具</title>
		<link>http://www.showerlee.com/archives/844</link>
		<comments>http://www.showerlee.com/archives/844#comments</comments>
		<pubDate>Sun, 01 Sep 2013 02:08:50 +0000</pubDate>
		<dc:creator>showerlee</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[Fail2ban]]></category>

		<guid isPermaLink="false">http://www.showerlee.com/?p=844</guid>
		<description><![CDATA[fail2ban可以监视你的系统日志，然后匹配日志的错误信息（正则式匹配）执行相应的屏蔽动作（一般情况下是调用 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">fail2ban可以监视你的系统日志，然后匹配日志的错误信息（正则式匹配）执行相应的屏蔽动作（一般情况下是调用防火墙屏蔽），如:当有人在试探你的SSH、SMTP、FTP密码，只要达到你预设的次数，fail2ban就会调用防火墙屏蔽这个IP，而且可以发送e-mail通知系统管理员，是一款很实用、很强大的软件！</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">功能和特性：</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">1、支持大量服务。如sshd,apache,qmail,proftpd,sasl等等</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">2、支持多种动作。如iptables,tcp-wrapper,shorewall(iptables第三方工具),mail notifications(邮件通知)等等。</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">3、在logpath选项中支持通配符</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">4、需要Gamin支持(注：Gamin是用于监视文件和目录是否更改的服务工具)</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">5、需要安装python,iptables,tcp-wrapper,shorewall,Gamin。如果想要发邮件，那必需安装postfix或sendmail</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">核心原理：</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">其实fail2ban就是用来监控，具体是调用iptables来实现动作！</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">好了，那下面来说说具体怎么安装、部署吧。</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">一、首先是服务安装</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">首先配置yum源，这里采用的是yum直接装（也可源码安装）</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">vim /etc/yum.repos.d/CentOS-Base.repo</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">在最后新增：</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">[atrpms]&nbsp;</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">name=Red Hat Enterprise Linux $releasever - $basearch - ATrpms&nbsp;</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/stable&nbsp;</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms&nbsp;</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">gpgcheck=1&nbsp;</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">enabled=1&nbsp;</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">然后直接就yum装：yum -y install fail2ban</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">安装完成后，服务配置目录为：/etc/fail2ban</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">/etc/fail2ban/action.d #动作文件夹，内含默认文件。iptables以及mail等动作配置</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">/etc/fail2ban/fail2ban.conf #定义了fai2ban日志级别、日志位置及sock文件位置</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">/etc/fail2ban/filter.d #条件文件夹，内含默认文件。过滤日志关键内容设置</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">/etc/fail2ban/jail.conf #主要配置文件，模块化。主要设置启用ban动作的服务及动作阀值</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">/etc/rc.d/init.d/fail2ban #启动脚本文件</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">二、安装后配置</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">首先来看看日志文件的默认定义：</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">cat /etc/fail2ban/fail2ban.conf |grep -v ^#</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">[Definition]&nbsp;</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">loglevel = 3&nbsp;</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">logtarget = SYSLOG &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#我们需要做的就是把这行改成/var/log/fail2ban.log，方便用来记录日志信息&nbsp;</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">socket = /var/run/fail2ban/fail2ban.sock&nbsp;</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">再来看看主配置默认生效的配置：</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">cat /etc/fail2ban/jail.conf |grep -v ^# |less</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">[DEFAULT] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #全局设置&nbsp;</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">ignoreip = 127.0.0.1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#忽略的IP列表,不受设置限制（白名单）&nbsp;</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">bantime &nbsp;= 600 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#屏蔽时间，单位：秒&nbsp;</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">findtime &nbsp;= 600 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #这个时间段内超过规定次数会被ban掉&nbsp;</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">maxretry = 3 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#最大尝试次数&nbsp;</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">backend = auto &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#日志修改检测机制（gamin、polling和auto这三种）&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">[ssh-iptables] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#针对各服务的检查配置，如设置bantime、findtime、maxretry和全局冲突，服务优先级大于全局设置&nbsp;</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">enabled &nbsp;= true &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #是否激活此项（true/false）&nbsp;</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">filter &nbsp; = sshd &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #过滤规则filter的名字，对应filter.d目录下的sshd.conf&nbsp;</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">action &nbsp; = iptables[name=SSH, port=ssh, protocol=tcp] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#动作的相关参数&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sendmail-whois[name=SSH, dest=root, sender=fail2ban@example.com] &nbsp; #触发报警的收件人&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">logpath &nbsp;= /var/log/secure &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#检测的系统的登陆日志文件&nbsp;</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">maxretry = 5 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#最大尝试次数&nbsp;</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">PS：logpath(Centos5和Rhel5中)要写成/var/log/secure，这个是系统登陆日志，不能随意设置</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">service fail2ban start #启动服务即可（就用默认的主配置文件里定义的）</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">service iptables start #fail2ban依赖预iptables #之前改过日志路径，不行的话就再重启fail2ban</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">三、测试功能</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">测试机：192.168.30.251</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">fail2ban：192.168.29.253</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">在测试机上ssh 192.168.29.253，并且连续输入超过5次密码不对（经测试有延迟，多试几次），就会出现下图，连接不上</span>
</p>
<div style="padding:0px;margin:0px;color:#555555;font-family:宋体, 'Arial Narrow', arial, serif;font-size:14px;background-color:#FFFFFF;">
	<a href="http://www.showerlee.com/wp-content/uploads/2013/09/3.jpg"><img onerror="javascript:this.src='http://www.showerlee.com/wp-content/themes/BYMT/images/images_error.jpg'" src="http://www.showerlee.com/wp-content/uploads/2013/09/3.jpg" alt="3" width="664" height="316" class="alignnone size-full wp-image-853" /></a>
</div>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">fail2ban上会产生日志记录：阻挡了此ip的续连</span>
</p>
<div style="padding:0px;margin:0px;color:#555555;font-family:宋体, 'Arial Narrow', arial, serif;font-size:14px;background-color:#FFFFFF;">
	<span style="color:#666666;font-size:14px;font-family:SimSun;"><a href="http://www.showerlee.com/wp-content/uploads/2013/09/4.jpg"><img onerror="javascript:this.src='http://www.showerlee.com/wp-content/themes/BYMT/images/images_error.jpg'" src="http://www.showerlee.com/wp-content/uploads/2013/09/4-1024x173.jpg" alt="4" width="1024" height="173" class="alignnone size-large wp-image-854" /></a>&nbsp;</span>
</div>
<div style="padding:0px;margin:0px;color:#555555;font-family:宋体, 'Arial Narrow', arial, serif;font-size:14px;background-color:#FFFFFF;">
	
</div>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">四、扩展说明</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">其实fail2ban的功能还是很丰富的，刚刚只是测试了它默认开启的防ssh暴力破解功能。</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">这里介绍防止vsftpd被暴力破解功能.</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">1.YUM安装vsftpd(yum配置略)</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">#yum install vsftpd -y</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">2.配置vsftpd,开启访问日志和传输日志支持</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">#vi /etc/vsftpd/conf/vsftpd.conf</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">添加:</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">xferlog_enable=YES</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">dual_log_enable=YES</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">vsftpd_log_file=/var/log/vsftpd.log</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">3.配置fail2ban的jail.conf文件,添加如下内容</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">#vi /etc/fail2ban/jail.conf</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">添加:</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">[vsftpd-iptables]</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">enabled &nbsp;= true</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">filter &nbsp; = vsftpd</span>
</p>
<p>
	<span style="background-color:#FFFFFF;color:#666666;font-family:SimSun;font-size:14px;">action &nbsp; = iptables[name=VSFTPD, port=21, protocol=tcp]</span>
</p>
<p>
	
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sendmail-whois[name=VSFTPD, dest=you@example.com]</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">logpath &nbsp;= /var/log/secure</span>
</p>
<div style="padding:0px;margin:0px;">
	<span style="color:#666666;font-size:14px;font-family:SimSun;">maxretry = 5</span>
</div>
<div style="padding:0px;margin:0px;">
	<span style="color:#666666;font-size:14px;font-family:SimSun;">bantime &nbsp;= 68400</span>
</div>
<div style="padding:0px;margin:0px;">
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</div>
<div style="padding:0px;margin:0px;">
	<span style="color:#666666;font-size:14px;font-family:SimSun;">4.重启iptables和fail2ban服务.</span>
</div>
<div style="padding:0px;margin:0px;">
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</div>
<div style="padding:0px;margin:0px;">
	<span style="color:#666666;font-size:14px;font-family:SimSun;">service iptables restart</span>
</div>
<div style="padding:0px;margin:0px;">
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</div>
<div style="padding:0px;margin:0px;">
	<span style="color:#666666;font-size:14px;font-family:SimSun;">service fail2ban restart</span>
</div>
<div style="padding:0px;margin:0px;">
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</div>
<p>
	
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">------------------补 充----------------------</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">一 安装 <a href="http://www.showerlee.com/archives/tag/fail2ban" title="查看Fail2ban中的全部文章" class="tag_link">Fail2ban</a> 服务</span>
</p>
<p>
	
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">下载rpmforge , 里面有大量最新的rpm包.</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">wget <a href="http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm" rel="nofollow">http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm</a></span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">rpm -ivh rpmforge-release-0.3.6-1.el5.rf.i386.rpm</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">开始yum吧～～！</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">yum install fail2ban</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">fail2ban noarch 0.8.2-3.el5.rf rpmforge 125 k</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">Installing for dependencies:</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">gamin</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">gamin-python</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">安装是十分简单的拉.</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">fail2ban 原理</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">fail2ban 调用 iptables 实时阻挡外界的攻击，按照你的要求在一段时间内找出符合条件的日志，然后动作。</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">二 设定fail2ban服务</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">fail2ban 的设定档在这里</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">/etc/fail2ban</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">fail2ban.conf &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;日志设定文档</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">jail.conf &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 阻挡设定文档</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">/etc/fail2ban/filter.d 具体阻挡内容设定目录</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">三 为何需要安装fail2ban呢？</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">Extmail 本身是没有邮件系统被攻击的解决方案，黑客是会不断user unknow地试探pop3 smtp 认证得到密码或电邮地址，大家可能问得到邮地址有何作用呢？电邮地址是可以贩卖的哦</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">而且十分值钱的，如果垃圾邮件者购买了这些地址，你的邮件服务器就有排忙了。</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">你话需不需要安装个fail2ban保护呢？</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">四 实施保护</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">1. 保护 SSH 拦截</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">先看看fail2ban是如何拦截的？</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">cat /etc/fail2ban/filter.d/sshd.conf</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">failregex = ^%(__prefix_line)s(?:error: PAM: )?Authentication failure for .* from &lt;HOST&gt;\s*$</span>
</p>
<div style="padding:0px;margin:0px;">
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^%(__prefix_line)sFailed [-/\w]+ for .* from &lt;HOST&gt;(?: port \d*)?(?: ssh\d*)?$</span>
</div>
<div style="padding:0px;margin:0px;">
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^%(__prefix_line)sROOT LOGIN REFUSED.* FROM &lt;HOST&gt;\s*$</span>
</div>
<div style="padding:0px;margin:0px;">
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^%(__prefix_line)s[iI](?:llegal|nvalid) user .* from &lt;HOST&gt;\s*$</span>
</div>
<div style="padding:0px;margin:0px;">
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^%(__prefix_line)sUser \S+ from &lt;HOST&gt; not allowed because not listed in AllowUsers$</span>
</div>
<div style="padding:0px;margin:0px;">
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^%(__prefix_line)sauthentication failure; logname=\S* uid=\S* euid=\S* tty=\S* ruser=\S* rhost=&lt;HOST&gt;(?:\s+user=.*)?\s*$</span>
</div>
<div style="padding:0px;margin:0px;">
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^%(__prefix_line)srefused connect from \S+ \(&lt;HOST&gt;\)\s*$</span>
</div>
<div style="padding:0px;margin:0px;">
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^%(__prefix_line)sAddress &lt;HOST&gt; .* POSSIBLE BREAK-IN ATTEMPT\s*$</span>
</div>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">fail2ban 使用了正则表达式找出:</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">Authentication failure/authentication failure</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">ROOT LOGIN REFUSED</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">refused connect from</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">POSSIBLE BREAK-IN ATTEMPT</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">not allowed because not listed in AllowUsers</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">以上的状况，可以根据你实际要求删减. 其中&lt;HOST&gt; 为建立连接的IP&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">开启 SSH 拦截</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">vi /etc/fail2ban/jail.conf</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">[ssh-iptables]</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">enabled = true</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">filter &nbsp; = sshd</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">action &nbsp; = iptables[name=SSH, port=ssh, protocol=tcp]</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sendmail-whois[name=SSH, dest=收件者电邮地址, sender=寄件者电邮地址]</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">logpath = /var/log/secure</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">maxretry = 3</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">findtime = 300</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">bantime = 86400</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">fail2ban 会按照你的要求去查看/var/log/secure日志文件,然后在findtime = 300 "5分钟" 之内符合条件</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">的记录下来，如果到达了maxretry = 3 "3次符合条件" 就阻挡这个IP连接22端口 bantime = 86400 "一天的时间".</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">2. POP3 保护拦截</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">cat /etc/fail2ban/filter.d/courierlogin.conf</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">failregex = LOGIN FAILED, .*, ip=\[&lt;HOST&gt;\]$</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">这里表示错误地输入用户名／密码的pop3连接.</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">开启 pop3 保护</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">vi /etc/fail2ban/jail.conf</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">[POP3]</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">enabled = true</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">filter &nbsp; = courierlogin</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">action &nbsp; = iptables[name=pop3, port=110, protocol=tcp]</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">logpath = /var/log/maillog</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">bantime = 1800</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">findtime = 300</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">maxretry = 15</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">大家应该懂得如何看了吧？ 我不写拉！好累。参数可以按照你实际要求修改噢～！</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">3. POP3-SSL 保护拦截</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">cat /etc/fail2ban/filter.d/courierlogin-ssl.conf</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">failregex = LOGIN FAILED, .*, ip=\[&lt;HOST&gt;\]$</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">这里表示错误地输入用户名／密码的pop3-ssl连接.</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">vi /etc/fail2ban/jail.conf</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">[POP3-SSL]</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">enabled = true</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">filter &nbsp; = courierlogin-ssl</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">action &nbsp; = iptables[name=pop3-ssl, port=995, protocol=tcp]</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">logpath = /var/log/maillog</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">bantime = 1800</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">findtime = 300</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">maxretry = 15</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">4 SMTP 保护拦截</span>
</p>
<div style="padding:0px;margin:0px;">
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</div>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">cat /etc/fail2ban/filter.d/couriersmtp.conf</span>
</p>
<div style="padding:0px;margin:0px;">
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</div>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">failregex = postfix/smtpd.* warning: unknown\[&lt;HOST&gt;\]: SASL LOGIN authentication failed: authentication failure</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">这里表示错误地输入用户名／密码的smtp连接.</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">vi /etc/fail2ban/jail.conf</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">[SMTP]</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">enabled = true</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">filter &nbsp; = couriersmtp</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">action &nbsp; = iptables[name=smtp, port=25:366, protocol=tcp]</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">logpath = /var/log/maillog</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">bantime = 1800</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">findtime = 300</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">maxretry = 15</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">参数可以按照你实际要求修改.</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">5. Extmail 登录保护</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">由于Extmail 的web mail 登入没有做到保护，现在加固吧！</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">vi /etc/fail2ban/filter.d/extmail.conf</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">failregex = extmail.*: user=.*, client=&lt;HOST&gt;, module=login, status=badlogin</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">这里表示错误地输入用户名／密码的web mail 登入.</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">vi /etc/fail2ban/jail.conf</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">[extmail]</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">enabled = true</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">filter &nbsp; = extmail</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">action &nbsp; = iptables[name=httpd, port=http, protocol=tcp]</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">logpath = /var/log/maillog</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">bantime = 300</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">findtime = 300</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">maxretry = 6</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">6. POSTFIX 保护User unknow 的试探.</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">不知道这个动作的意思先看看这篇文章。</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;"><a href="http://hi.baidu.com/enjoyunix/blog/item/e8506058fd3c3189810a183a.html" rel="nofollow">http://hi.baidu.com/enjoyunix/blog/item/e8506058fd3c3189810a183a.html</a></span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">vi /etc/fail2ban/filter.d/postfix.conf</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">failregex = reject: RCPT from (.*)\[&lt;HOST&gt;\]: 450</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">vi /etc/fail2ban/jail.conf</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">[POSTFIX]</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">enabled = true</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">filter &nbsp; = postfix</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">action &nbsp; = iptables[name=postfix, port=25, protocol=tcp]</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">logpath = /var/log/maillog</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">bantime = 43200</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">findtime = 1200</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">maxretry = 5</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">这里保护了User unknow 的试探以及垃圾邮件跳信攻击。</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">五 看看iptables</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">iptables -L -nv</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">pkts bytes target &nbsp; &nbsp; prot opt in &nbsp; &nbsp; out &nbsp; &nbsp; source &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; destination &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">&nbsp; &nbsp;0 &nbsp; &nbsp; 0 fail2ban-pop3-ssl tcp -- * &nbsp; &nbsp; &nbsp;* &nbsp; &nbsp; &nbsp; 0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tcp dpt:995&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">773 83329 fail2ban-postfix tcp -- * &nbsp; &nbsp; &nbsp;* &nbsp; &nbsp; &nbsp; 0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tcp dpt:25&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">299 12660 fail2ban-pop3 tcp -- * &nbsp; &nbsp; &nbsp;* &nbsp; &nbsp; &nbsp; 0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tcp dpt:110&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">301 12740 fail2ban-ftp tcp -- * &nbsp; &nbsp; &nbsp;* &nbsp; &nbsp; &nbsp; 0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tcp dpt:21&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">3354 253K fail2ban-SSH tcp -- * &nbsp; &nbsp; &nbsp;* &nbsp; &nbsp; &nbsp; 0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tcp dpt:22&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">438 33979 fail2ban-httpd tcp -- * &nbsp; &nbsp; &nbsp;* &nbsp; &nbsp; &nbsp; 0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tcp dpt:80&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">pkts bytes target &nbsp; &nbsp; prot opt in &nbsp; &nbsp; out &nbsp; &nbsp; source &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; destination &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">Chain OUTPUT (policy ACCEPT 5703 packets, 829K bytes)</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">pkts bytes target &nbsp; &nbsp; prot opt in &nbsp; &nbsp; out &nbsp; &nbsp; source &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; destination &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">Chain fail2ban-SSH (1 references)</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">pkts bytes target &nbsp; &nbsp; prot opt in &nbsp; &nbsp; out &nbsp; &nbsp; source &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; destination &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">3354 253K RETURN &nbsp; &nbsp; all -- * &nbsp; &nbsp; &nbsp;* &nbsp; &nbsp; &nbsp; 0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">Chain fail2ban-ftp (1 references)</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">pkts bytes target &nbsp; &nbsp; prot opt in &nbsp; &nbsp; out &nbsp; &nbsp; source &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; destination &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">301 12740 RETURN &nbsp; &nbsp; all -- * &nbsp; &nbsp; &nbsp;* &nbsp; &nbsp; &nbsp; 0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">Chain fail2ban-httpd (1 references)</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">pkts bytes target &nbsp; &nbsp; prot opt in &nbsp; &nbsp; out &nbsp; &nbsp; source &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; destination &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">438 33979 RETURN &nbsp; &nbsp; all -- * &nbsp; &nbsp; &nbsp;* &nbsp; &nbsp; &nbsp; 0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">Chain fail2ban-pop3 (1 references)</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">pkts bytes target &nbsp; &nbsp; prot opt in &nbsp; &nbsp; out &nbsp; &nbsp; source &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; destination &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">299 12660 RETURN &nbsp; &nbsp; all -- * &nbsp; &nbsp; &nbsp;* &nbsp; &nbsp; &nbsp; 0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">Chain fail2ban-pop3-ssl (1 references)</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">pkts bytes target &nbsp; &nbsp; prot opt in &nbsp; &nbsp; out &nbsp; &nbsp; source &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; destination &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>
</p>
<div style="padding:0px;margin:0px;">
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp; &nbsp; 0 &nbsp; &nbsp; 0 RETURN &nbsp; &nbsp; all -- * &nbsp; &nbsp; &nbsp;* &nbsp; &nbsp; &nbsp; 0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>
</div>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">Chain fail2ban-postfix (1 references)</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">pkts bytes target &nbsp; &nbsp; prot opt in &nbsp; &nbsp; out &nbsp; &nbsp; source &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; destination &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">773 83329 RETURN &nbsp; &nbsp; all -- * &nbsp; &nbsp; &nbsp;* &nbsp; &nbsp; &nbsp; 0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">Chain fail2ban-smtp (0 references)</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">pkts bytes target &nbsp; &nbsp; prot opt in &nbsp; &nbsp; out &nbsp; &nbsp; source &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; destination &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">&nbsp; &nbsp; 0 &nbsp; &nbsp; 0 RETURN &nbsp; &nbsp; all -- * &nbsp; &nbsp; &nbsp;* &nbsp; &nbsp; &nbsp; 0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">如何监察呢？</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">#watch -n 1 fail2ban-client status POSTFIX</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">Status for the jail: POSTFIX</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">|- filter</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">| |- File list: &nbsp; &nbsp;/var/log/maillog&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">| |- Currently failed: &nbsp; &nbsp;2</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">| `- Total failed: &nbsp; &nbsp;22</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">`- action</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">&nbsp; &nbsp;|- Currently banned: &nbsp; &nbsp;0</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">&nbsp; &nbsp;| `- IP list: &nbsp; &nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">&nbsp; &nbsp;`- Total banned: &nbsp; &nbsp;0</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">看看那些垃圾邮件者真是好无聊！不断地试探我的邮件服务器呢。</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">六 看看fail2ban的日志</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;"># cat fail2ban.log | grep '] Ban '</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">2009-04-07 20:22:44,575 fail2ban.actions: WARNING [POSTFIX] Ban ip地址</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">就以看到过去有那些IP拦截了，以及是那个服务。</span>
</p>
<p>
	<span style="color:#666666;font-size:14px;font-family:SimSun;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;"># cat fail2ban.log | grep '] Unban '</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">&nbsp;</span>
</p>
<p>
	<span style="color:#666666;font-family:SimSun;font-size:14px;">可以查看什么时候解的。</span>
</p>
<p>
	
</p>
<p></p>
<div>声明: 本文采用 <a rel="external" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh" title="署名-非商业性使用-相同方式共享 3.0 Unported">CC BY-NC-SA 3.0</a> 协议进行授权</div><div>转载请注明来源：<a rel="external" title="DevOps技术分享" href="http://www.showerlee.com/archives/844">DevOps技术分享</a></div><div>本文链接地址：<a rel="external" title="CentOS6.3下安装fail2ban防暴力破解工具" href="http://www.showerlee.com/archives/844">http://www.showerlee.com/archives/844</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.showerlee.com/archives/844/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
