你VPS的SSH是否被人暴力破解??

2012年9月15日 | 分类: 乱七八糟 | 标签: , ,

说起来惭愧,一直以来只去注意什么VPS安装与优化,都没有关注过VPS/服务器方面的安全问题。在老谢博客上面学看了很多文

章。上面很多文章都是通过这位“折腾帝”自己测试后发布的。其中有一篇“谁偷走了我的密码?”看完以后,让我不得不精神一下。

该文章大体内容为:查看是否有人破解你的ssh密码

Redhat/Fedora系:

cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}'

Debian/Ubuntu系、其他系:

cat /var/log/auth.log|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}'

不看不知道,一看吓一跳:

210.51.48.94=18
61.253.249.157=18
95.132.63.87=5

想不到我的垃圾站上面也有人要暴力破解。看来是得修改端口了。

被入侵的危害:

1.用作肉鸡,向外发起攻击
2.自己的数据失窃
3.利用自己的vps发送Spam
4……

 

如何尽量防止自己的root密码被暴力破解

 

1.修改ssh端口号
2.设置复杂的root密码
3.禁止root远程登录
4.利用脚本,自动deny密码错误超过3次的ip
5……

 

下面附上防止SSH被人暴力破解的教程(本人没有尝试过,这一两天装上试试):

DenyHosts阻止攻击原理
DenyHosts会自动分析 /var/log/secure 等安全日志文件,当发现异常的连接请求后,会自动将其IP加入到 /etc/hosts.deny 文件中

从而达到阻止此IP继续暴力破解的可能。同时,Denyhosts还能自动在一定时间后对已经屏蔽的IP地址进行解封,非常智能。

官方网站

Denyhosts的官方网站为:http://denyhosts.sourceforge.net/ (杜绝Putty后门事件,谨记安全软件官网)

1、下载DenyHosts源码并解压(目前最新版为2.6)

[root@www ~]# wget http://sourceforge.net/projects/denyhosts/files/denyhosts/2.6/DenyHosts-2.6.tar.gz

[root@www ~]# tar zxvf DenyHosts-2.6.tar.gz

[root@www ~]# cd DenyHosts-2.6

2、安装部署

[root@www DenyHosts-2.6]# yum install python -y

[root@www DenyHosts-2.6]# python setup.py install

3、准备好默认的配置文件

[root@www DenyHosts-2.6]# cd /usr/share/denyhosts/

[root@www denyhosts]# cp denyhosts.cfg-dist denyhosts.cfg

[root@www denyhosts]# cp daemon-control-dist daemon-control

4、编辑配置文件denyhosts.cfg

[root@www denyhosts]# vi denyhosts.cfg

该配置文件结构比较简单,简要说明主要参数如下:

PURGE_DENY:当一个IP被阻止以后,过多长时间被自动解禁。可选如3m(三分钟)、5h(5小时)、2d(两天)、8w(8周)

1y(一年);

PURGE_THRESHOLD:定义了某一IP最多被解封多少次。即某一IP由于暴力破解SSH密码被阻止/解封达到了

PURGE_THRESHOLD次,则会被永久禁止;

BLOCK_SERVICE:需要阻止的服务名;

DENY_THRESHOLD_INVALID:某一无效用户名(不存在的用户)尝试多少次登录后被阻止;

DENY_THRESHOLD_VALID:某一有效用户名尝试多少次登陆后被阻止(比如账号正确但密码错误),root除外;

DENY_THRESHOLD_ROOT:root用户尝试登录多少次后被阻止;

HOSTNAME_LOOKUP:是否尝试解析源IP的域名;

5、启动Denyhosts

[root@www denyhosts]# ./daemon-control start

如果需要让DenyHosts每次重启后自动启动,还需要:

6、设置自动启动

设置自动启动可以通过两种方法进行。

第一种是将DenyHosts作为类似apache、mysql一样的服务,这种方法可以通过 /etc/init.d/denyhosts 命令来控制其状态。

方法如下:

[root@www denyhosts]# cd /etc/init.d

[root@www init.d]# ln -s /usr/share/denyhosts/daemon-control denyhosts

[root@www init.d]# chkconfig –add denyhosts

[root@www init.d]# chkconfig -level 2345 denyhosts on

第二种是将Denyhosts直接加入rc.local中自动启动(类似于Windows中的“启动文件夹”):

[root@www denyhosts]# echo ‘/usr/share/denyhosts/daemon-control start’ >> /etc/rc.local

如果想查看已经被阻止的IP,打开/etc/hosts.deny 文件即可。

来源http://www.vpsroll.com/fan-wai/2339.html

  1. Aquamarine
    2012年9月15日21:27

    CentOS用的是其他系?都是在远程连接客户端中输入那条查看代码吗?

    • iGFW
      2012年9月16日07:24

      不一样吧,搜索下