之前我已经在wooyun和91ri上发表了这篇文章,今天转到51cto上。。。
默认的ssh日志是不带密码记录功能的,现在想把登录密码记录下来,这样就可以搜集黑客的ssh爆破字典了,从而可以反扫回去。 具体方法就是给默认的ssh源码打个patch
#wget http://openbsd.cs.toronto.edu/pub/OpenBSD/OpenSSH/portable/openssh-6.6p1.tar.gz
#tar xzvf openssh-6.6p1.tar.gz
#cd openssh-6.6p1
在当前目录下创建一个patch文件sshlog.patch,代码如下:
--- auth-passwd.c 2014-05-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
然后打patch
#patch --dry-run < sshlog.patch
#patch < sshlog.patch
备份之前的ssh配置文件
#mv /etc/ssh/ /etc/ssh_old
编译安装ssh
#./configure --prefix=/usr --sysconfdir=/etc/ssh --without-zlib-version-check --with-md5-passwords --mandir=/usr/share/man
重新启动ssh服务
/etc/init.d/sshd restart
ssh爆破时的密码会被记录在/var/log/message文件里
可以看到此时服务器还在被爆破中…
通过d3.js可以图形化爆破的次数更直观(以下服务器8天内被爆破的次数)
本文出自 “老徐的私房菜” 博客,谢绝转载!
原文地址:http://laoxu.blog.51cto.com/4120547/1629560