不想你的ssh被暴力攻破?来个狠的!

原文出处:http://yaksayoo.blog.51cto.com/510938/229151

不想你的ssh被暴力攻破?来个狠的!

最近一段时间经常接到老大们的投诉~
网站访问很慢啊~~怎么搞的!!!

当然不能告诉他们偶是怎么搞的.....

自己访问了一下,虽然服务器是老机器,但慢到这种程度也是该打屁股了...

只能用ssh登录到服务器后台看看机器性能了~

咦?有新发现!!!

#tail -n 500 /var/log/message
通过浏览系统日志发现竟然有不少来者不善的ip在袭击我...

不想你的ssh被暴力攻破?来个狠的!_第1张图片

如图所示这些ip均是希望通过穷举行为破解服务器的ssh密码来达到控制服务器的目的...

险恶啊!这个世界~

虽然服务器未被攻下,但这一来二往的消耗了服务器不少系统和网络资源!唉,何必捏,和气生财~

在防火墙一条条ip去封显然不是办法,于是偶找了个软件来代理,那就是非常著名的砍杀工具DenyHosts。
顾名思义,DenyHosts就是用来干封ip的活,DenyHosts通过分析sshd的日志文件(/var/log/secure),如果发现同一个ip连续多次试图暴力破解(连接次数可以自行设置),便会自动将该ip写入/etc/hosts.deny文件,达到屏蔽该ip地址的效果。

帝国反击战现在开始!


1.获得DenyHosts
软件免费,可直接从官方网站获得。
不过下载版本时要注意一下:
DenyHosts安装和运行要依赖python,如果机器安装了python,那需要检查一下python的版本,由此去下载对应版本的rpm包。

如图我机器安装了python,版本是2.3


如果机器没有安装python,直接下载个带python程序的tar.gz来安装就行了。


2.安装和启动DenyHosts
#tar xzvf DenyHosts-2.6.tar.gz
将安装包解压到任意位置

#cd DenyHosts-2.6
进入解压目录

#python setup.py install
执行安装程序,将DenyHosts安装到默认位置

如图所示:


DenyHosts默认安装到/usr/share/denyhosts目录
需要修改一下DenyHosts的配置文件才能正常启动程序,继续~

#cd /usr/share/denyhosts
进入denyhosts的主配置目录

#cp denyhosts.cfg-dist denyhosts.cfg
#cp daemon-control-dist daemon-control
复制出默认配置文件和程序执行文件

#chmod 770 daemon-control
修改一下程序执行文件的操作权限

#./daemon-control start
启动denyhosts

如图所示denyhosts已正常启动


如果想让denyhosts每次随系统自动启动,可以执行以下操作~

#cd /etc/init.d

#ln -s /usr/share/denyhosts/daemon-control denyhosts
在/etc/init.d/目录新建一个链接符号到daemon-control的启动执行文件,链接名随便起

#chkconfig --add denyhosts
#chkconfig --level 2345 denyhosts on

Ok!


3.配置DenyHosts

denyhosts.cfg就是denyhosts的配置文件!
下面介绍一些常用的配置项

SECURE_LOG = /var/log/secure                   //sshd日志文件,denyhosts正是通过分析这个文件来屏蔽ip的,不同系统sshd的日志文件和位置有些差别,配置文件里都给列出来了,可以按实际情况修改

HOSTS_DENY = /etc/hosts.deny                 //控制用户登录文件,被屏蔽的ip都会写入这个文件

PURGE_DENY = 20m                                 //这里可以设置经过多长时间解除已经屏蔽的ip的限制,单位是分钟,偶这里是留空的,表示不解禁~嘿嘿!

PURGE_DENY参数还有以下单位可参考

#            'm' = minutes
#            'h' = hours
#            'd' = days
#            'w' = weeks
#            'y' = years

BLOCK_SERVICE  = sshd                          //禁止的服务名,除了sshd,denyhosts还可以用于其他服务,如smtp等

DENY_THRESHOLD_INVALID = 5               //允许无效用户的登录失败次数,超过设置的一律cut~~

DENY_THRESHOLD_VALID = 3                 //允许普通用户的登录失败次数,超过设置的一律cut~~

DENY_THRESHOLD_ROOT = 1                 //允许root用户的登录失败次数,超过设置的一律cut~~

DENY_THRESHOLD_RESTRICTED = 1      //允许受限用户的登录失败次数,超过设置的一律cut~~

HOSTNAME_LOOKUP=YES                     //是否做域名反解析,留空表示不做

DAEMON_LOG = /var/log/denyhosts     //denyhosts日志文件位置
 


其他设置一般默认即可~


4.确认DenyHosts运作正常

确认denyhosts是否在运作非常简单,看看hosts.deny文件是否有写入被屏蔽的ip地址即可。

#vi /etc/hosts.deny



如图所示开始抓乌龟了~~哈哈~心里爽极了!



大功告成!!!


 

你可能感兴趣的:(职场,ssh,休闲,攻破)