我运行自己的 OpenVPN 服务器,自从发现 heartbleed 以来,我更新了 OpenSSL,更改了服务器密码,并运行命令 ./clean-all 来删除所有密钥和证书。当然,我生成了新的。
我的疑问/问题是:
./clean-all 是否足够安全,可以避免他人未经授权访问我的 VPN?假设任何访问密钥被盗。
答案1
./clean-all 会删除您的 $KEY_DIR(通常通过 ./vars 脚本设置的环境变量)。脚本的内容如下。这意味着构成 CA 的基础密钥已失效,您应该被迫运行 build-ca 才能创建新证书。这意味着即使旧密钥被盗用,您也不会受到 MitM 攻击。您已经拆除了基础并从 CA 开始完全替换了它。
#!/bin/sh
#
# Initialize the $KEY_DIR directory.
# Note that this script does a
# rm -rf on $KEY_DIR so be careful!
#
d=$KEY_DIR
if test $d; then
rm -rf $d
mkdir $d && \
chmod go-rwx $d && \
touch $d/index.txt && \
echo 01 >$d/serial
else
echo you must define KEY_DIR
fi