Bind9-openssl 问题

Bind9-openssl 问题

当我尝试启动 bind9 时,由于 chroot 和 openssl 而失败

/etc/init.d/bind9 start

日志消息;

Feb 17 08:26:27 ISTVS2024 named[2440]: initializing DST: openssl failure
Feb 17 08:26:27 ISTVS2024 named[2440]: exiting (due to fatal error)
Feb 17 08:26:27 ISTVS2024 kernel: [   92.091098] type=1400 audit(1361082387.173:14): apparmor="DENIED" operation="file_mmap" parent=2439 profile="/usr/sbin/named" name="/var/named/run-root/usr/lib/x86_64-linux-gnu/openssl-1.0.0/engines/libgost.so" pid=2440 comm="named" requested_mask="m" denied_mask="m" fsuid=108 ouid=0

如果我没有错过任何一点,Apparmor 会否认这一点;

我的 usr.sbin.named 文件已包含以下行:

/var/named/run-root/** rw,
/var/named/run-root/usr/** rw,

我也可以确认这个文件;

/var/named/run-root/usr/lib/x86_64-linux-gnu/openssl-1.0.0/engines/libgost.so

存在于文件系统中。

说实话,我陷入了困境,我还有什么其他选择可以解决这个问题?

也许,完全移除 apparmor 是一个解决方案,但我不想这么做,

答案1

这是第一次遇到“初始化 DST:openssl 失败”的问题,这是我在将 ubuntu 从 lucid 升级到 precise 后 DNS 崩溃时遇到的错误,所以我想在这里提一下解决方案。

在我的例子中,这是由于 bind 依赖于不在其 chroot jail 中的 ssl 库。解决方案是:

mkdir -p /usr/lib/i386-linux-gnu/openssl-1.0.0/engines
cp -a /usr/lib/i386-linux-gnu/openssl-1.0.0/engines /var/lib/named/usr/lib/i386-linux-gnu/openssl-1.0.0/

当然,现在我需要保持这些文件是最新的,我不知道是否有更好的解决方案。

有关我如何解决这个问题的更多信息,请参见这里: https://darxus.livejournal.com/329621.html

相关内容