<?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; 暴力破解</title>
	<atom:link href="http://www.deepvps.com/tag/%E6%9A%B4%E5%8A%9B%E7%A0%B4%E8%A7%A3/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>使用DenyHosts阻止ssh暴力攻击</title>
		<link>http://www.deepvps.com/install-denyhosts.html</link>
		<comments>http://www.deepvps.com/install-denyhosts.html#comments</comments>
		<pubDate>Tue, 29 Mar 2011 05:34:12 +0000</pubDate>
		<dc:creator>deepvps</dc:creator>
				<category><![CDATA[VPS管理维护]]></category>
		<category><![CDATA[DenyHosts]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[攻击]]></category>
		<category><![CDATA[暴力]]></category>
		<category><![CDATA[暴力破解]]></category>

		<guid isPermaLink="false">http://www.deepvps.com/?p=756</guid>
		<description><![CDATA[现在的互联网非常不安全，很多人没事就拿一些扫描机扫描ssh端口，然后试图连接ssh端口进行暴力破解（穷举扫描），所以建议大家VPS尽量设置复杂的ssh登录密码。那么有什么办法阻止这些暴力破解者呢，我们可以使用DenyHosts这款软件。
DenyHosts介绍
DenyHosts是Python语言写的一个程序，它会分析sshd的日志文件（/var/log/secure），当发现重 复的攻击时就会记录IP到/etc/hosts.deny文件，从而达到自动屏IP的功能。
DenyHosts安装和配置
1、下载和安装EPEL RPM
cd /tmp
wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
rpm -Uhv epel-release-5-3.noarch.rpm
2、使用yum命令安装denyhosts
yum install -y denyhosts

3、添加系统启动自动运行
chkconfig --add denyhosts
chkconfig denyhosts on
如何你想把某个ip或者ip段放入白名单，可以使用下列命令，这样就可以避免把自己的ip阻止了；
echo '173.252.193.*' &#62;&#62; /var/lib/denyhosts/allowed-hosts
这样 173.252.193.* 这个IP就可以不受到此程序的约束，请根据自己的环境进行设置；
4、最后启动服务
service denyhosts start
设置完以上4步，DenyHosts就可以正常工作了。
附上：DenyHosts配置文件denyhosts.cfg说明
SECURE_LOG = /var/log/secure
 
#sshd日志文件，它是根据这个文件来判断的，不同的操作系统，文件名稍有不同。
 
HOSTS_DENY = /etc/hosts.deny
 
#控制用户登陆的文件
 
PURGE_DENY = 5m
 
#过多久后清除已经禁止的
 
BLOCK_SERVICE  = sshd
 
#禁止的服务名
 
DENY_THRESHOLD_INVALID = 1
 
#允许无效用户失败的次数
 
DENY_THRESHOLD_VALID = 10
 
#允许普通用户登陆失败的次数
 
DENY_THRESHOLD_ROOT = 5
 
#允许root登陆失败的次数
 
HOSTNAME_LOOKUP=NO
 
#是否做域名反解
 
DAEMON_LOG = /var/log/denyhosts
 
#DenyHosts的日志文件
]]></description>
			<content:encoded><![CDATA[<p>现在的互联网非常不安全，很多人没事就拿一些扫描机扫描ssh端口，然后试图连接ssh端口进行暴力破解（穷举扫描），所以建议大家VPS尽量设置复杂的ssh登录密码。那么有什么办法阻止这些暴力破解者呢，我们可以使用DenyHosts这款软件。</p>
<h3>DenyHosts介绍</h3>
<p>DenyHosts是Python语言写的一个程序，它会分析sshd的日志文件（/var/log/secure），当发现重 复的攻击时就会记录IP到/etc/hosts.deny文件，从而达到自动屏IP的功能。</p>
<h3>DenyHosts安装和配置</h3>
<p>1、下载和安装EPEL RPM</p>
<pre>cd /tmp
wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
rpm -Uhv epel-release-5-3.noarch.rpm</pre>
<p>2、使用yum命令安装denyhosts</p>
<pre>yum install -y denyhosts</pre>
<p><span id="more-756"></span><br />
3、添加系统启动自动运行</p>
<pre>chkconfig --add denyhosts
chkconfig denyhosts on</pre>
<p>如何你想把某个ip或者ip段放入白名单，可以使用下列命令，这样就可以避免把自己的ip阻止了；</p>
<pre>echo '173.252.193.*' &gt;&gt; /var/lib/denyhosts/allowed-hosts</pre>
<p>这样 173.252.193.* 这个IP就可以不受到此程序的约束，请根据自己的环境进行设置；<br />
4、最后启动服务</p>
<pre>service denyhosts start</pre>
<p>设置完以上4步，DenyHosts就可以正常工作了。</p>
<p>附上：DenyHosts配置文件denyhosts.cfg说明</p>
<blockquote><p>SECURE_LOG = /var/log/secure<br />
 <br />
#sshd日志文件，它是根据这个文件来判断的，不同的操作系统，文件名稍有不同。<br />
 <br />
HOSTS_DENY = /etc/hosts.deny<br />
 <br />
#控制用户登陆的文件<br />
 <br />
PURGE_DENY = 5m<br />
 <br />
#过多久后清除已经禁止的<br />
 <br />
BLOCK_SERVICE  = sshd<br />
 <br />
#禁止的服务名<br />
 <br />
DENY_THRESHOLD_INVALID = 1<br />
 <br />
#允许无效用户失败的次数<br />
 <br />
DENY_THRESHOLD_VALID = 10<br />
 <br />
#允许普通用户登陆失败的次数<br />
 <br />
DENY_THRESHOLD_ROOT = 5<br />
 <br />
#允许root登陆失败的次数<br />
 <br />
HOSTNAME_LOOKUP=NO<br />
 <br />
#是否做域名反解<br />
 <br />
DAEMON_LOG = /var/log/denyhosts<br />
 <br />
#DenyHosts的日志文件</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.deepvps.com/install-denyhosts.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<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>
