BIND 9
BIND 9
BIND 9
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
CHAPTER 4. 高级DNS特征 4.8. DNSSEC<br />
对其它相信这个区的数据的服务器,它们必须静态地配置这个区的区密钥或者在DNS树中这个区上面<br />
的另一个区的区密钥。<br />
4.8.1 生成密钥<br />
dnssec-keygen程序用于生成密钥。<br />
一个加密的区必须包含一个或多个区密钥。区密钥对区中的所有其它记录签名,也对任何安全授权的<br />
区的区密钥签名。区密钥必须有一个与区同样的名字,一个为ZONE的类型名,并且必须可以用于认<br />
证。推荐区密钥使用由IETF作为“强制实现”所指定的加密算法;当前唯一的是RSASHA1。<br />
下列命令为child.example区生成一个768位的RSASHA1密钥:<br />
dnssec-keygen -a RSASHA1 -b 768 -n ZONE child.example.<br />
将 产 生 两 个 输 出 文 件 :Kchild.example.+005+12345.key和Kchild.example.+005+12345.<br />
private (12345是密钥标记的一个例子)。密钥文件名包含密钥名(child.example.),算法<br />
(3表示DSA,1表示RSAMD5,5表示RSASH1,等等),和密钥标记(在本例中为12345)。私钥<br />
(在.private文件中)用于生成签名,公钥(在.key文件中)用于验证签名。<br />
要生成同样属性的另一个密钥(但是使用一个不同的密钥标记),只需重复上面的命令。<br />
dnssec-keyfromlabel程序是用来从一个隐藏硬件获取一个密钥对并生成密钥文件。其用法与dnsseckeygen类似。<br />
公钥应该使用$INCLUDE语句来包含.key文件的方式插入到区文件中。<br />
4.8.2 对区签名<br />
dnssec-signzone程序用于对区签名。<br />
任何与安全子区相关的keyset文件都应该出现。区的签名者将为区生成NSEC、NSEC3和RRSIG 记<br />
录,如同指定‘-d’选项时为子区生成的DS记录一样。如果未指定’-d’选项,就必须为安全的子区<br />
手工添加DS 资源记录集。<br />
下列命令对区签名,假设它是一个名为zone.child.example 的文件。缺省情况下,所有的区密钥<br />
都有一个可用的私钥用来生成签名。<br />
dnssec-signzone -o child.example zone.child.example<br />
会产生一个输出文件:zone.child.example.signed。这个文件必须在named.conf中作为输入<br />
文件被引用。<br />
dnssec-signzone也会生成一个keyset和dsset文件,以及一个可选的dlvset文件。他们用于向上级区管<br />
理员提供DNSKEY(或者与之相关的DS 记录),后者作为区的安全入口点。<br />
4.8.3 配置服务器<br />
为了使named正确响应知道DNSSEC的客户端所发出的DNS请求,必须将dnssec-enable设置为yes。<br />
(这是缺省设置。)<br />
为 了 使named验 证 其 它 服 务 器 来 的 响 应 , 必 须 将dnssec-enable和dnssec-validation选 项 都 设<br />
为yes(这也是<strong>BIND</strong> 9.5及之后版本的缺省设置),并且必须通过在named.conf中使用一个trustedkeys或managed-keys语句至少配置一个信任锚点。<br />
trusted-keys是区的DNSKEY资源记录的拷贝,它用于形成加密信任链的首个链接。所有在trustedkeys<br />
(及相关的区)中的密钥列表都被认为是存在的,并且只有所列出的密钥可以用于验证与其来<br />
源一致的DNSKEY资源记录集。<br />
managed-keys是通过RFC 5011信任锚点维护自动保持更新的受信任密钥。<br />
在本文档的后面有更多关于trusted-keys和managed-keys的详细描述。<br />
与<strong>BIND</strong> 8不同,<strong>BIND</strong> 9在装载时不验证签名,所以不必在配置文件中指定权威区的区密钥。<br />
28