在 /var/log/auth.log 中记录错误密码

在 /var/log/auth.log 中记录错误密码

/var/log/auth.log 记录(除其他外)对我的 Debian Linux 的失败登录尝试。

我想知道是否可以要求它记录失败尝试中使用的密码。

这是出于对这些失败尝试的性质的好奇。他们使用字典吗?单词的组合?使用的密码长度?

我认为了解正在尝试的密码可能会帮助我更好地了解这些尝试所带来的风险程度。

答案1

虽然这是可以做到的,并且我将在这里展示如何做到这一点,但它是强烈建议不要这样做一般情况下。
由于您的日志文件中基本上都有密码,因此损害了只有您知道密码的基本假设。

你可以按照中提到的技巧来做 博客文章,
您在 OpenSSH 的一个文件中编辑一行,然后编译并使用它。简短版本,只需运行以下脚本:

OPENSSH=/opt/openssh2
mkdir -p /opt/openssh2/dist/
cd ${OPENSSH}
wget http://zlib.net/zlib-1.2.11.tar.gz
tar xvfz zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure --prefix=${OPENSSH}/dist/ && make && make install
cd ${OPENSSH}
wget http://www.openssl.org/source/openssl-1.0.1e.tar.gz
tar xvfz openssl-1.0.1e.tar.gz
cd openssl-1.0.1e
./config --prefix=${OPENSSH}/dist/ && make && make install
cd ${OPENSSH}
wget https://ftp.eu.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-6.2p1.tar.gz
tar xvfz openssh-6.2p1.tar.gz
cd openssh-6.2p1
sed -e 's/struct passwd \* pw = authctxt->pw;/logit("Honey: Username: %s Password: %s", authctxt->user, password);\nstruct passwd \* pw = authctxt->pw;/' -i auth-passwd.c
./configure --prefix=${OPENSSH}/dist/ --with-zlib=${OPENSSH}/dist --with-ssl-dir=${OPENSSH}/dist/ && make && make install

对于长而有趣的版本,请阅读博客文章。

相关内容