法案同样配置域名系统安全扩展
配置DNSSEC的步骤如下:
- 在Citrix ADC设备上启用DNSSEC。
- 为该区域创建区域签名密钥和密钥签名密钥。
- 将两个密钥添加到区域中。
- 用密钥对区域进行签名。
Citrix ADC设备不充当DNSSEC解析器。ADC上的DNSSEC仅在以下部署场景下支持:
- ADNS - citrix ADC是ADNS,它自己生成签名。
- proxy - citrix ADC作为DNSSEC代理。假设Citrix ADC以可信模式放置在ADNS/LDNS服务器的前面。ADC仅作为代理缓存实体,不验证任何签名。
启用和禁用DNSSEC
在Citrix ADC上启用DNSSEC,使ADC能够响应支持DNSSEC的客户端。缺省情况下,使能DNSSEC。
如果不希望Citrix ADC使用特定于DNSSEC的信息响应客户机,可以禁用DNSSEC特性。
通过命令行开启或关闭DNSSEC
在命令提示符下,输入以下命令来启用或禁用DNSSEC并验证配置:
-dnssec (ENABLED | DISABLED) -显示dns参数
例子:
> set dns parameter -dnssec ENABLED完成> show dns parameter dns参数:dns重试次数:5…最大DNS管道请求数:255完成
使用GUI启用或禁用DNSSEC
- 导航到流量管理> DNS.
- 在详细信息窗格中,单击“更改DNS设置”。
- 在配置DNS参数对话框中,选择或清除启用DNSSEC扩展功能复选框。
为区域创建DNS密钥
对于要签名的每个DNS区域,必须创建两对非对称密钥。其中一对称为区域签名密钥(ZSK),用于对区域中的所有资源记录集进行签名。第二对称为密钥签名密钥(KSK),仅用于对区域中的DNSKEY资源记录进行签名。
创建ZSK和KSK时suffix.key
附加到密钥的公共组件的名称后。的suffix.private
附加到它们的私有组件的名称之后。追加是自动发生的。
Citrix ADC还创建一个委派签名者(Delegation Signer, DS)记录,并在记录的名称后面附加后缀. DS。如果父区域是已签名的区域,则必须在父区域中发布DS记录,以建立信任链。
创建密钥时,该密钥存储在/ nsconfig / dns /
目录,但不会自动在区域中发布。创建密钥后,使用创建DNS密钥
命令时,必须显式地在区域中发布密钥添加DNS密钥
命令。生成密钥的过程与在区域中发布密钥的过程是分开的,以便您可以使用其他方法来生成密钥。例如,可以导入其他密钥生成程序(如bind-keygen
),然后将密钥发布到安全区域。有关在区域中发布密钥的详细信息,请参见在区域中发布DNS密钥.
执行本主题中描述的步骤创建区域签名密钥,然后重复这些步骤创建密钥签名密钥。遵循命令语法的示例首先为区域example.com创建一个区域签名密钥对。然后,示例使用该命令为区域创建密钥签名密钥对。
从13.0版本开始构建61。Citrix ADC设备现在支持更强的加密算法,如RSASHA256和RSASHA512,以验证DNS区域。以前,只支持RSASHA1算法。
通过CLI方式创建DNS密钥
在命令提示符下,输入:
创建dns key -zoneName
例子:
>创建dns key -zoneName example.com -keyType zsk -algorithm RSASHA256 -keySize 1024 -fileNamePrefix example.com.zsk.rsasha1.1024文件名称:/nsconfig/dns/example.com.zsk.rsasha1.1024/ nsconfig / dns / example.com.zsk.rsasha1.1024.private(私人);/nsconfig/dns/example.com.zsk.rsasha1.1024.ds (ds)此操作可能需要一些时间,请耐心等待…创建dns key -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 /
目录中。或者使用其他程序(如SFTP)将密钥导入到目录中。
使用添加DNS密钥
命令,用于要在给定区域中发布的每个公私密钥对。如果为一个zone创建了ZSK对和KSK对,请使用添加DNS密钥
命令首先在区域中发布其中一个密钥对。重复该命令以发布另一个密钥对。对于在区域中发布的每个密钥,都会在该区域中创建一个DNSKEY资源记录。
遵循命令语法的示例首先在区域中发布区域签名密钥对(这是为example.com区域创建的)。然后,示例使用该命令在区域中发布密钥签名密钥对。
使用CLI在zone中发布密钥
在命令提示符下,输入以下命令在区域中发布密钥并验证配置:
- 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密钥
您可以配置已在zone中发布的密钥的参数。您可以修改密钥的过期时间段、通知周期和生存时间(TTL)参数。如果更改密钥的到期期限,设备将自动使用该密钥对区域中的所有资源记录重新签名。如果使用特定密钥对区域进行签名,则会进行重新签名。
通过CLI配置密钥
在命令提示符下,输入以下命令配置密钥并验证配置:
- set dns key [-expires []] [- notificationperiod []] [- ttl ] - show dns key []
例子:
> set dns key example.com.ksk -expires 30 DAYS -notificationPeriod 3 DAYS -TTL 3600 Done > show dns key example.com.ksk 1)密钥名称:example.com.ksk Expires: 30 DAYS Notification: 3 DAYS TTL: 3600公钥文件:example.com.ksk.rsasha1.4096.key私钥文件:example.com.ksk.rsasha1.4096. Private Done
通过GUI配置密钥
导航到“流量管理> DNS >密钥”.
在详细信息窗格中,单击要配置的密钥,然后单击Open。
在弹出的“配置DNS密钥”对话框中,修改如下参数值:
- Expires-expires
- 通知Period-notificationPeriod
- TTL-TTL
单击OK。
对DNS区域进行签名和取消签名
要保护DNS区域,必须使用区域中已发布的密钥对区域进行签名。当您签署一个区域时,Citrix ADC为每个所有者名称创建一个Next Secure (NSEC)资源记录。然后,使用密钥签名密钥对DNSKEY资源记录集进行签名。最后使用ZSK对区域内的所有资源记录集进行签名,包括DNSKEY资源记录集和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分区名称: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
通过命令行取消区域的符号
在命令提示符下,输入以下命令来取消一个区域的签名并验证配置:
- 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分区名称:example.com代理模式:NO域名:example.com记录类型:NS SOA DNSKEY域名:ns1.example.com记录类型:A域名:ns2.example.com记录类型:A Done
使用GUI对区域进行签名或取消签名
- 导航到“流量管理> DNS >安全区域”.
- 在详细信息窗格中,单击要签名的区域,然后单击签名/取消签名。
- 在“Sign/Unsign DNS Zone”对话框中,执行以下操作之一:
若要对区域进行签名,请选中要对区域进行签名的密钥(区域签名密钥和密钥签名密钥)对应的复选框。
可以使用多个区域签名密钥或密钥签名密钥对对区域进行签名。
若要取消对区域的签名,请清除要取消对区域签名的密钥(区域签名密钥和密钥签名密钥)对应的复选框。
可以使用多个区域签名密钥或密钥签名密钥对取消对区域的签名。
- 单击OK。
查看区域中给定记录的NSEC记录
您可以查看Citrix ADC为区域中的每个所有者名称自动创建的NSEC记录。
使用命令行查看域内给定记录的NSEC记录
在命令提示符下,输入以下命令查看区域中给定记录的NSEC记录:
show dns nsecRec [
例子:
> show dns nsecRec example.com 1)域名:example.com下一个Nsec名称:ns1.example.com记录类型:nssoa DNSKEY RRSIG Nsec Done
通过使用GUI查看区域中给定记录的NSEC记录
- 导航到流量管理> DNS >记录>下一个安全记录.
- 在详细信息窗格中,单击需要查看NSEC记录的记录名称。在“详细信息”区域框中显示选中记录对应的NSEC记录。
删除DNS密钥
当密钥过期或密钥被泄露时,从发布密钥的区域中删除密钥。当从区域中删除密钥时,该区域将自动取消该密钥的签名。使用此命令删除密钥不会删除/nsconfig/dns/目录中存在的密钥文件。如果不再需要密钥文件,则必须显式地从目录中删除它们。
使用CLI从Citrix ADC中删除密钥
在命令提示符下,输入以下命令删除密钥并验证配置:
- rm dns key - show dns key
例子:
> rm dns key example.com.zsk Done > show dns key example.com.zsk ERROR: No such resource [keyName, example.com.zsk]
通过使用GUI从Citrix ADC中删除一个键
- 导航到“流量管理> DNS >密钥”.
- 在详细信息窗格中,单击要从ADC中删除的密钥的名称,然后单击remove。