<?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>深度VPS &#187; fail2ban</title>
	<atom:link href="http://www.deepvps.com/tag/fail2ban/feed" rel="self" type="application/rss+xml" />
	<link>http://www.deepvps.com</link>
	<description>专注VPS技术，关注前端技术</description>
	<lastBuildDate>Sat, 04 Feb 2023 14:00:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>用fail2ban阻止SSH和VSFTP暴力破解密码</title>
		<link>http://www.deepvps.com/fail2ban-protection-ssh-vsftp.html</link>
		<comments>http://www.deepvps.com/fail2ban-protection-ssh-vsftp.html#comments</comments>
		<pubDate>Sat, 19 Jun 2010 02:03:56 +0000</pubDate>
		<dc:creator>deepvps</dc:creator>
				<category><![CDATA[VPS安全]]></category>
		<category><![CDATA[fail2ban]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[VSFTP]]></category>
		<category><![CDATA[密码]]></category>
		<category><![CDATA[暴力破解]]></category>

		<guid isPermaLink="false">http://www.deepvps.com/?p=468</guid>
		<description><![CDATA[ 
最近deepvps发现自己的VPS每天都被不停的探测SSH和VSFTP的密码。虽然已经做了一些简单的防护，但是总觉的不保险。为了彻底解决这个问题。deepvps发现了fail2ban这款软件不错，可以有效阻止这样的攻击，下面是基本的安装配置方法：
一、下载安装
#wget http://cdnetworks-kr-2.dl.sourceforge.net/project/fail2ban/fail2ban-stable/fail2ban-0.8.4/fail2ban-0.8.4.tar.bz2

#tar xvfj fail2ban-0.8.4.tar.bz2
#cd fail2ban-0.8.4
#python setup.py install
#cd files
# cp ./redhat-initd /etc/init.d/fail2ban
# chkconfig &#8211;add fail2ban
#service fail2ban start
注意：如果重起iptables 记的一定还要重起fail2ban，不然他就不能生效，fail2ban的过滤表是在iptables 启动后在加入的。
二、配置
1、fail2ban本身配置
默认fail2ban.conf里面就三个参数，而且都有注释。
#默认日志的级别
loglevel = 3
#日志的存放路径
logtarget = /var/log/fail2ban.log
#socket的位置
socket = /tmp/fail2ban.sock
2、fail2ban防护配置
全局设置
# vi /etc/fail2ban/jail.conf
# 忽悠 IP范围 如果有二组以上用空白做为间隔
ignoreip = 127.0.0.1
# 设定 IP 被封锁的时间(秒)，如果值为 -1，代表永远封锁
bantime = 86400
# 设定在多少时间内达到 maxretry 的次数就封锁
findtime = 600
# 设定在多少时间内达到 maxretry 的次数就封锁
maxretry = 3
# 允许尝试的次数
分类设置
#针对sshd暴力入侵防护
[ssh-iptables]
enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://http://www.fail2ban.org" target="_blank"><img title="fail2ban" src="http://www.deepvps.com/wp-content/uploads/post/fail2ban_logo.png" alt="fail2ban" /></a> </p>
<p>最近deepvps发现自己的VPS每天都被不停的探测SSH和VSFTP的密码。虽然已经做了一些简单的防护，但是总觉的不保险。为了彻底解决这个问题。deepvps发现了fail2ban这款软件不错，可以有效阻止这样的攻击，下面是基本的安装配置方法：</p>
<p><strong>一、下载安装</strong><br />
#wget http://cdnetworks-kr-2.dl.sourceforge.net/project/fail2ban/fail2ban-stable/fail2ban-0.8.4/fail2ban-0.8.4.tar.bz2<br />
<span id="more-468"></span><br />
#tar xvfj fail2ban-0.8.4.tar.bz2<br />
#cd fail2ban-0.8.4<br />
#python setup.py install<br />
#cd files<br />
# cp ./redhat-initd /etc/init.d/fail2ban<br />
# chkconfig &#8211;add fail2ban<br />
#service fail2ban start</p>
<p>注意：如果重起iptables 记的一定还要重起fail2ban，不然他就不能生效，fail2ban的过滤表是在iptables 启动后在加入的。</p>
<p><strong>二、配置</strong><br />
1、fail2ban本身配置<br />
默认fail2ban.conf里面就三个参数，而且都有注释。<br />
#默认日志的级别<br />
loglevel = 3<br />
#日志的存放路径<br />
logtarget = /var/log/fail2ban.log<br />
#socket的位置<br />
socket = /tmp/fail2ban.sock</p>
<p>2、fail2ban防护配置<br />
全局设置<br />
# vi /etc/fail2ban/jail.conf<br />
# 忽悠 IP范围 如果有二组以上用空白做为间隔<br />
ignoreip = 127.0.0.1<br />
# 设定 IP 被封锁的时间(秒)，如果值为 -1，代表永远封锁<br />
bantime = 86400<br />
# 设定在多少时间内达到 maxretry 的次数就封锁<br />
findtime = 600<br />
# 设定在多少时间内达到 maxretry 的次数就封锁<br />
maxretry = 3<br />
# 允许尝试的次数</p>
<p>分类设置<br />
#针对sshd暴力入侵防护</p>
<p>[ssh-iptables]</p>
<p>enabled = true<br />
filter = sshd<br />
action = iptables[name=SSH, port=ssh, protocol=tcp]<br />
sendmail-whois[name=SSH, dest=you@mail.com, sender=fail2ban@mail.com]<br />
logpath = /var/log/secure<br />
# 如果有个别的次数设定就设在这里<br />
maxretry = 3</p>
<p>#针对vsftpd暴力入侵防护</p>
<p>[vsftpd-iptables]</p>
<p>enabled = true<br />
filter = vsftpd<br />
action = iptables[name=VSFTPD, port=ftp, protocol=tcp]<br />
sendmail-whois[name=VSFTPD, dest=you@mail.com]<br />
logpath = /var/log/secure<br />
maxretry = 3</p>
<p>建议设置成maxretry为 3 表示3次错误就封锁，另外logpath(Centos5和Rhel5中)要改成/var/log/secure。</p>
<p>然后我们设置启动服务：<br />
#chkconfig &#8211;level 345 fail2ban on<br />
#service fail2ban start</p>
<p><strong>三、测试</strong>：<br />
查看iptables 的规则多出了 iptables-ssh的规则</p>
<p>iptables -L<br />
Chain INPUT (policy ACCEPT)<br />
target prot opt source destination<br />
fail2ban-SSH tcp &#8212; anywhere anywhere tcp dpt:ssh<br />
fail2ban-SSH tcp &#8212; anywhere anywhere tcp dpt:ssh</p>
<p>Chain fail2ban-SSH (2 references)<br />
target prot opt source destination<br />
DROP all &#8212; 122.102.64.54 anywhere</p>
<p># 这有一个被阻止的IP 拒绝时间根据在你的配置文件设置时间有关 我设置的是一天<br />
RETURN all &#8212; anywhere anywhere</p>
<p>++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br />
在其他的机器上ssh 192.168.1.2<br />
连续三次输错密码</p>
<p>使用命令fail2ban-client status ssh-iptables<br />
查看阻止状态</p>
<p>或者</p>
<p>fail2ban-client status<br />
Status<br />
|- Number of jail: 1<br />
`- Jail list: ssh-iptables</p>
<p>测试结果：<br />
#fail2ban-client status ssh-iptables<br />
Status for the jail: ssh-iptables<br />
|- filter<br />
| |- File list: /var/log/secure<br />
| |- Currently failed: 0<br />
| `- Total failed: 3<br />
`- action<br />
|- Currently banned: 1<br />
| `- IP list: 192.168.1.1<br />
`- Total banned: 1</p>
<p>++++++++++++++++++++++++++++++++++++++++++++++++++++++++</p>
<p>我们在来看看fail2ban的日志记录</p>
<p>2010-05-17 16:57:23,964 fail2ban.actions: WARNING [ssh-iptables] Ban 192.168.1.1<br />
2010-05-17 21:35:00,449 fail2ban.actions: WARNING [ssh-iptables] Ban 218.108.85.244<br />
2010-05-18 03:56:34,986 fail2ban.actions: WARNING [ssh-iptables] Ban 59.39.66.30</p>
<p>记录了被阻止的IP，成功阻止了ssh 密码猜测</p>
<p>这里只是只介绍了保护SSH和VPSFTP方法，配置文件中还有其他的服务配置，有时间了大家可以自己研究一下。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.deepvps.com/fail2ban-protection-ssh-vsftp.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
