我在尝试重建 openvas 数据库时遇到错误,该错误似乎是由证书问题引起的。我已经脱离了通常的调试,我对发生的事情感到茫然。
这是我想运行的命令。
server# openvasmd --rebuild --progress
Rebuilding NVT cache... failed.
检查openvasmd.log
我发现以下内容,表明我需要更新我的证书。
lib ... openvas_server_verify: the certificate is not trusted
lib .... openvas_server_verify: the certificate hasn't got a known issuer
在仔细检查命令时,我使用以下命令重建服务器和用户证书:
openvas-mkcert -q -f
openvas-mkcert-client -n -i
它创建的服务器证书文件都显示今天的日期和时间。它创建的四个文件都显示今天的日期和时间。
/var/lib/openvas/CA/cacert.pem /var/lib/openvas/private/CA/cakey.pem /var/lib/openvas/CA/servercert.pem /var/lib/openvas/private/CA/serverkey .pem
我使用 strace 重新启动了管理器守护程序,以确保这些证书正确。
server# strace -f -e open openvasmd 2>&1 | grep pem
open("/var/lib/openvas/private/CA/serverkey.pem", O_RDONLY) = 4
open("/var/lib/openvas/CA/servercert.pem", O_RDONLY) = 4
open("/var/lib/openvas/CA/cacert.pem", O_RDONLY) = 4
然后我检查服务器证书确实有效:
server# openssl verify -CAfile /var/lib/openvas/CA/cacert.pem /var/lib/openvas/CA/servercert.pem
/var/lib/openvas/CA/servercert.pem: OK
无论如何,这应该有效。到底是怎么回事?
答案1
执行这个:
openssl verify -CAfile /var/lib/openvas/CA/cacert.pem /var/lib/openvas/CA/servercert.pem
openssl verify -CAfile /var/lib/openvas/CA/cacert.pem /var/lib/openvas/CA/cacert.pem
openssl verify -CAfile /var/lib/openvas/CA/cacert.pem /var/lib/openvas/CA/clientcert.pem
解决方案是:
openvasmd --modify-scanner $(openvasmd --get-scanners) --scanner-ca-pub /var/lib/openvas/CA/cacert.pem --scanner-key-pub /var/lib/openvas/CA/clientcert.pem --scanner-key-priv /var/lib/openvas/private/CA/clientkey.pem