默认的ssh日志是不带密码记录功能的,现在想把登录密码记录下来,这样就可以搜集黑客的ssh爆破的字典了。具体操作就是给默认的ssh代码增加一个patch。
Default
#wget http://openbsd.cs.toronto.edu/pub/OpenBSD/OpenSSH/portable/openssh-6.6p1.tar.gz
Default
#tar xzvf openssh-6.6p1.tar.gz
Default
#cd openssh-6.6p1
在当前目录下新建一个patch文件sshlog.patch,代码如下:
Default
--- auth-passwd.c 2012-04-25 19:51:28.000000000 -0400 +++ auth-passwd-sshlog.c 2014-02-11 12:19:42.000000000 -0500 @@ -82,6 +82,7 @@ { struct passwd * pw = authctxt->pw; int result, ok = authctxt->valid; + logit("sshlog: %s %s", authctxt->user, password); #if defined(USE_SHADOW) && defined(HAS_SHADOW_EXPIRE) static int expire_checked = 0; #endif
Default
#patch --dry-run < sshlog.patch #patch < sshlog.patch
备份之前的ssh配置文件
Default
#mv /etc/ssh/ /etc/ssh_old
Default
#./configure --prefix=/usr --sysconfdir=/etc/ssh --without-zlib-version-check --with-md5-passwords --mandir=/usr/share/man /etc/init.d/sshd restart
ssh爆破时候的密码会被记录在/var/log/messages里
可以看到此时服务器还在被爆破着。。。
通过d3.js可以图形化爆破的次数更直观(以下服务器7天内被爆破的次数)
[via@xuyuanzhen]