欢迎加入王导的VIP学习qq群:==>932194668<==
安装部署bind-chroot
系统环境
服务器:腾讯云主机,有公网IP
OS:CentOS Linux release 7.4.1708 (Core)
bind-chroot:bind-chroot-9.9.4-73.el7_6.x86_64
yum 安装
| 1 | # yum install bind-chroot -y | 
配置bind-chroot
bind-chroot本质上是使用chroot方式给bind软件换了个“根”,这时bind软件的“根”在/var/named/chroot下,弄懂这一点,配置起来就跟BIND9没什么区别了
把yum安装的bind-chroot在/etc下的产生的配置文件硬链接到/var/named/chroot/etc下
| 1 | [root@VM_0_13_centos ~]# cd /var/named/chroot/etc/ | 
| 1 | [root@VM_0_13_centos named]# ln /var/named/named.* . | 
/etc/named.conf主配置文件
编辑主配置文件,这里把53端口开放到公网
| 1 | options { | 
使用dnssec技术维护一个业务域
在公网上使用BIND9维护的业务域,最好使用dnssec技术对该域添加数字签名
DNSSEC(DNS Security Extension)—-DNS安全扩展,主要是为了解决DNS欺骗和缓存污染问题而设计的一种安全机制。
打开dnssec支持选项
| 1 | dnssec-enable yes; | 
配置一个业务域bkjf-inc.com
| 1 | zone "bkjf-inc.com" IN { | 
创建数字签名证书
| 1 | [root@VM_0_13_centos dnssec-key]# mkdir bkjf-inc.com | 
这里如果生成密钥的速度很慢,需要yum安装一下haveged软件并开启
| 1 | # systemctl start haveged.service | 
创建区域数据库文件
| 1 | [root@VM_0_13_centos named]# cat bkjf-inc.com.zone | 
启动bind-chroot服务
| 1 | # systemctl start named-chroot | 
自动生成了签名zone
如果启动成功且配置无误,应该自动生成了带签名的zone
| 1 | [root@VM_0_13_centos named]# ll | 
检查签名区需要用到完全区域传送命令
| 1 | [root@VM_0_13_centos named]# dig -t AXFR bkjf-inc.com @localhost | 
这里看到了每个记录都附带了一个RRSIG记录,说明已经进行了数字签名
检查本地解析
| 1 | [root@VM_0_13_centos named]# dig -t A www.bkjf-inc.com @localhost +dnssec +short | 
DS记录
在生成证书的目录对ZSK执行dnssec-dsfromkey命令,得到bkjf-inc.com的DS记录,这里我们使用比较长的那个
| 1 | [root@VM_0_13_centos bkjf-inc.com]# dnssec-dsfromkey `grep -l zone-signing *key` | 
其中:
- 53901:关键标签,用于标识域名的DNSSEC记录,一个小于65535的整数值
- 8:生成签名的加密算法,8对应RSA/SHA-256
- 2:构建摘要的加密算法,2对应SHA-256
- 最后一段:摘要值,就是DS记录值
参考万网(阿里云)上关于dnssec配置的文档:参考文档
DS记录需要通过运营商提交到上级DNS的信任锚中,这里是通过万网的配置页面,提交到.com域
注意:要在阿里云上将该域名的dns服务器指向自定义DNS服务器:参考文档
后续维护
dnssec需要定期轮转,所以需要经常变更签名,其中
- ZSK轮转建议每年轮转 
- KSK轮转建议更新ssl证书后尽快轮转? 
轮转方法:
- ZSK(zone-signing key) - /var/named/chroot/var/named/dnssec-key/bkjf-inc.com - 1 
 2
 3
 4
 5- $ cd /var/named/chroot/var/named/dnssec-key/bkjf-inc.com 
 $ dnssec-settime -I yyyy0101 -D yyyy0201 Kbkjf-inc.com.+008+53901
 $ dnssec-keygen -S Kbkjf-inc.com.+008+53901
 $ chgrp bind *
 $ chmod g+r *.private
- KSK轮转(key-signing key) - /var/named/chroot/var/named/dnssec-key/bkjf-inc.com - 1 
 2
 3
 4
 5- $ cd /var/named/chroot/var/named/dnssec-key/bkjf-inc.com 
 $ dnssec-settime -I yyyy0101 -D yyyy0201 Kbkjf-inc.com.+008+40759
 $ dnssec-keygen -S Kbkjf-inc.com.+008+40759
 $ chgrp bind *
 $ chmod g+r *.private
注意:KSK轮转需要同步在万网上更新DS记录
在任意客户端验证解析
| 1 | #dig -t A www.bkjf-inc.com @8.8.8.8 +dnssec +short | 
在第三方网站验证
https://en.internet.nl/site/www.bkjf-inc.com/473349/
 
        