配置dnssec
要配置dnssec,请执行以下步骤:
- 在Citrix ADC设备上启用DNSSEC。
- 为区域创建区域签名密钥和密钥签名密钥。
- 将两个键添加到区域。
- 使用钥匙签名区域。
Citrix ADC设备不充当DNSSEC解析器。仅在以下部署方案中支持adc上的dnssec:
- ADN-Citrix ADC是ADNS,并自行生成签名。
- 代理- Citrix ADC充当DNSSEC代理。假定Citrix ADC以受信任模式放置在ADNS/LDNS服务器前面。Adc仅充当代理缓存实体,不验证任何签名。
启用和禁用dnssec
为ADC启用Citrix ADC上的DNSSEC以响应可识别DNSSEC的客户端。默认情况下,dnssec处于启用状态。
如果您不希望Citrix ADC使用特定法案同样于域名系统安全扩展的信息响应客户端,则可以禁法案同样用域名系统安全扩展功能。
使用cli启用或禁用dnssec
在命令提示符下,键入以下命令以启用或禁用dnssec并验证配置:
- set dns parameter -dnssec (ENABLED | DISABLED) - show dns parameter
示例:
> set dns parameter -dnssec ENABLED Done > show dns parameter dns parameters: dns retries: 5 . .DNSEC扩展:ENABLED最大DNS管道请求:255 Done
通过使用GUI启用或禁用dnssec
- 导航到流量管理> DNS。
- 在详细信息窗格中,单击更改DNS设置。
- 在“配置DNS参数“对话框中,选中或清除”启用dnssec扩展复选框。
为区域创建DNS密钥
对于要签名的每个DNS区域,必须创建两对非对称密钥。一对称为区域签名密钥(zsk),用于对区域中的所有资源记录集进行签名称。第二对称为密钥签名密钥(ksk),用于仅签名区域中的dnsskey资源记录。
创建ZSK和KSK时,将suffix.key
附加到密钥的公共组件的名称。将suffix.private
附加到其专用组件的名称中。追加会自动发生。
Citrix ADC还会创建委派签名器(DS)记录,并将后缀. DS附加到记录的名称。如果父区域是签名区域,则必须在父区域中发布ds记录以建立信任链。
创建密钥时,密钥存储在/ nsconfig / dns /
目录中,但不会自动发布在区域中。使用命令创建密钥后,必须使用创建DNS密钥
命令在区域中显式发布密钥。添加DNS密钥
生成密钥的过程与在区域中发布密钥的过程分开,从而使您能够使用替代方法生成密钥。例如,您可以使用安全FTP (sftp . exe)bind-keygen
) 导入由其他密钥生成程序(如)生成的密钥,然后在区域中发布密钥。有关在区域中发布密钥的更多信息,请参阅在区域中发布DNS密钥。
执行本主题中描述的步骤以创建区域签名密钥,然后重复这些步骤以创建密钥签名密钥。遵循命令语法的示例首先为区域example.com创建区域签名密钥对。然后,该示例使用命令为区域创建密钥签名密钥对。
从13.0 Build 61。x开始,Citrix ADC设备现在支持更强大的加密算法(如RSASHA256和RSASHA512),以对DNS区域进行身份验证。以前,仅支持rsasha1算法。
使用cli创建DNS密钥
在命令提示符下,键入:
create dns key -zoneName
示例:
> create dns key -zoneName example.com -keyType zsk -algorithm RSASHA256 -keySize 1024 -fileNamePrefix example.zsk.rsasha1.1024文件名称:/nsconfig/dns/ example.zsk.rsasha1.1024 key (public);/ nsconfig / dns / example.com.zsk.rsasha1.1024.private(私人);/nsconfig/dns/example.com.zsk.rsasha1.1024.ds (ds)该操作可能需要一些时间,请等待…Done >创建dns密钥-zoneName example.com -keyType ksk -algorithm RSASHA512 -keySize 4096 -fileNamePrefix example.com.ksk.rsasha1.4096文件名称:/nsconfig/dns/example.com.ksk.rsasha1.4096.key (public);/ nsconfig / dns / example.com.ksk.rsasha1.4096.private(私人);/nsconfig/dns/example.com.ksk.rsasha1.4096.ds (ds)该操作可能需要一些时间,请等待…做< !——NeedCopy >
通过使用GUI创建DNS密钥
- 导航到流量管理> DNS。
- 在详细信息区域中,单击创建DNS密钥。
输入不同参数的值,然后单击”创建”。
注意:要修改现有键的文件名前缀,请执行以下操作:
- 单击浏览按钮旁边的箭头。
- 单击”本地“或”设备(取决于现有密钥是存储在本地计算机上还是存储在设备的
/ nsconfig / dns /
目录中) - 浏览到密钥的位置,然后双击该密钥。”文件名前缀框仅使用现有密钥的前缀填充。相应地修改前缀。
在区域中发布DNS密钥
通过将密钥添加到adc设备,将密钥(区域签名密钥或密钥签名密钥)发布到区域中。在签署区域之前,必须在区域中发布密钥。
在区域中发布密钥之前,该密钥必须位于/ nsconfig / dns /目录中。如果您在另一台计算机上创建了DNS密钥(例如,通过使用bind-keygen
程序),请确保该密钥已添加到/ nsconfig / dns /
目录中。然后在区域中发布密钥。使用adc GUI将密钥添加到目/ nsconfig / dns /
录中。或者、使用其他程序将密钥导入到目录、如安全FTP (sftp)。
对要在给定区域中发布的每个公私密钥对使用添加DNS密钥
命令。如果您为区域创建了ZSK对和KSK对,请使用添加DNS密钥
命令首先发布区域中的一个密钥对。重复此命令以发布其他密钥对。对于您在区域中发布的每个密钥,将在区域中创建dnskey资源记录。
遵循命令语法的示例首先在区域中发布区域签名密钥对(为example.com区域创建的)。然后,该示例使用命令在区域中发布密钥签名密钥对。
使用cli在区域中发布密钥
在命令提示符下,键入以下命令以在区域中发布密钥并验证配置:
- add dns key [-expires []] [- notificationperiod []] [- ttl ] - show dns zone [ | type ]
示例:
>添加dns关键example.com.zsk example.com.zsk.rsasha1.1024.key example.com.zsk.rsasha1.1024.private做>添加dns关键example.com.ksk example.com.ksk.rsasha1.4096.key example.com.ksk.rsasha1.4096.private >显示完成dns区域example.com区域名称:example.com代理模式:没有域名:example.com记录类型:NS SOA DNSKEY域名:ns1.example.com记录类型:一个域名:ns2.example.com记录类型:做< !——NeedCopy >
使用GUI在DNS区域中发布密钥
导航到流量管理> DNS >密钥。
注意:对于公钥和私钥,要添加存储在本地计算机上的密钥,请单击”浏览“按钮旁边的箭头,单击”本地,浏览到该密钥的位置,然后双击该密钥。
配置DNS密钥
您可以配置已在区域中发布的密钥的参数。您可以修改密钥的到期时间,通知期和生存时间(ttl)参数。如果您更改密钥的到期时间,设备会自动使用密钥重新签名该区域中的所有资源记录。如果使用特定密钥对区域进行签名,则会发生重新签名称。
使用cli配置密钥
在命令提示符处,键入以下命令以配置密钥并验证配置:
- set dns key [-expires []] [- notificationperiod []] [- ttl ] - show dns key []
示例:
> set dns key example.ksk -expires 30 DAYS -notificationPeriod 3 DAYS -TTL 3600 Done > show dns key example.ksk 1)密钥名称:example.ksk有效期:30天通知:3天TTL: 3600 Public key File: example.ksk.rsasha1.4096.key Private key File: example.ksk.rsasha1.4096.private Done
使用GUI配置密钥
导航到流量管理> DNS >密钥。
在详细信息窗格中,单击要配置的项,然后单击打开。
在"配置DNS密钥"对话框中,修改以下参数的值,如下所示:
- 过期-过期
- 通知周期(通知期限)-notificationPeriod
- TTL
单击ok(确定)。
对DNS区域进行签名和取消签名
要保护DNS区域的安全,您必须使用已在区域中发布的密钥对区域进行签名。对区域进行签名时,Citrix ADC会为每个所有者名称创建下一个安全(NSEC)资源记录。然后,它使用密钥签名密钥对dnsskey资源记录集进行签名称。最后,它使用ZSK对区域中的所有资源记录集进行签名,包括DNSSEY资源记录集和NSEC资源记录集。每个符号操作都会为区域中的资源记录集生成一个签名。签名在名为 RRSIG 资源记录的新资源记录中捕获。
签名区域后,保存配置。
使用cli对区域进行签名
在命令提示符下,键入以下命令对区域进行签名并验证配置:
- sign dns zone [- keyname …]- show dns zone [ | -type (ADNS | PROXY | ALL)] - save config
示例:
> sign dns zone example.com -keyName example.com.zsk example.com.ksk Done > show dns zone example.com zone名称:example.com代理模式:NO域名:example.com记录类型:NS SOA DNSKEY RRSIG NSEC域名:ns1.example.com记录类型:A RRSIG NSEC域名:ns2.example.com记录类型:A RRSIG域名:ns2.example.com记录类型:RRSIG NSEC Done > save config Done
使用cli取消对区域的签名
在命令提示符下,键入以下命令以取消对区域的签名并验证配置:
- unsign dns zone [- keyname …]- show dns zone [ | -type (ADNS | PROXY | ALL)]
示例:
> unsign dns zone example.com -keyName example.com.zsk example.com.ksk Done > show dns zone example.com zone Name: example.com Proxy Mode: NO Domain Name: example.com Record Types: NS SOA DNSKEY Domain Name: ns1.example.com Record Types: A Domain Name: ns2.example.com Record Types: A Done
使用GUI对区域进行签名或取消签名
- 导航到流量管理> DNS >区域。
- 在详细信息窗格中,单击要签名的区域,然后单击签名/取消签名。
- 在"登录/取消签名DNS区域"对话框中,执行以下操作之一:
要对区域进行签名,请选中要使用的密钥(区域签名密钥和密钥签名密钥)对应的复选框。
您可以使用多个区域签名密钥或密钥签名密钥对对对区域进行签名称。
要取消区域的签名,请清除要取消区域签名的密钥(区域签名密钥和密钥签名密钥)的复选框。
您可以使用多个区域签名密钥或密钥签名密钥对取消区域的签名称。
- 单击ok(确定)。
查看区域中给定记录的NSC记录
您可以查看Citrix ADC为区域中的每个所有者名称自动创建的NSEC记录。
使用cli查看区域中给定记录的nsec记录
在命令提示符下,键入以下命令以查看区域中给定记录的nsec记录:
show dns nsecRec [
示例:
> show dns nsecRec example.com 1)域名:example.com Next Nsec名称:ns1.example.com记录类型:NS SOA DNSKEY RRSIG Nsec Done
使用GUI查看区域中给定记录的nsec记录
- 导航到流量管理> DNS >记录>下一个安全记录。
- 在详细信息窗格中,单击要查看其nsec记录的记录的名称。您选择的记录的NSC记录将显示在“详细信息”区域中。
删除DNS密钥
当密钥过期或密钥已被泄露时,从发布密钥的区域中删除密钥。从区域中删除密钥时,该区域将自动取消与该密钥签名。使用此命令删除密钥不会删除/nsconfig/dns/目录中存在的密钥文件。如果不再需要密钥文件,则必须从目录中显式删除它们。
使用CLI从Citrix ADC中删除密钥
在命令提示符下,键入以下命令以删除密钥并验证配置:
—rm dns key —show dns key
示例:
> rm dns key Done > show dns key ERROR: No such resource [keyName, example.com.zsk]
使用GUI从Citrix ADC中删除密钥
- 导航到流量管理> DNS >密钥。
- 在详细信息窗格中,单击要从adc中删除的密钥的名称,然后单击删除。