02.07.2013 Views

BIND 9

BIND 9

BIND 9

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!