【介绍】
DNS安全扩展(DNSSEC),是由IETF提供的一系列DNS安全认证的机制(可参考RFC2535)。
引入DNS SEC技术是为了防范在 DNS 中发现的一些无法避免的漏洞,攻击者可以利用这些漏洞劫持这一使用名称在互联网上搜寻某个人或某个站点的过程。这种攻击的目的是取得对会话的控制以实施某种操作,例如使用户进入劫持者自己设立的欺骗性网站,以便收集用户的帐户和密码。
通过安装和配置开源 DNS服务软件unbound,就可以在本地启用DNSSec的支持。
参考:https://blog.csdn.net/force_eagle/article/details/2875204
【安装】
yum install unbound
【配置】
下载可信任的Root anchor:
wget http://data.iana.org/root-anchors/root-anchors.xml
打开 root-anchors.xml:
<?xml version="1.0" encoding="UTF-8"?> <TrustAnchor id="AD42165F-3B1A-4778-8F42-D34A1D41FD93" source="http://data.iana.org/root-anchors/root-anchors.xml"> <Zone>.</Zone> <KeyDigest id="Kjqmt7v" validFrom="2010-07-15T00:00:00+00:00"> <KeyTag>19036</KeyTag> <Algorithm>8</Algorithm> <DigestType>2</DigestType> <Digest>49AAC11D7B6F6446702E54A1607371607A1A41855200FD2CE1CDDE32F24E8FB5</Digest> </KeyDigest> </TrustAnchor>
用root-anchors.xml中的值掉,替换下面一行中的<KeyTag>, <Algorithm>, <DigestType>, 和 <Digest> 内容(因为root-anchors的内容可能有变化,应以root-anchors.xml文件的内容为准):
. IN DS <KeyTag> <Algorithm> <DigestType> <Digest>
替换后的结果,大致象这样:
. IN DS 19036 8 2 49AAC11D7B6F6446702E54A1607371607A1A41855200FD2CE1CDDE32F24E8FB5
将该行保存到文件:/var/lib/unbound/root.key。如果是Mac 那么应该是/opt/local/var/lib/unbound/root.key
修改文件的拥有者为 unbound (记住Mac Ports的存放位置在/opt/local/):
chown unbound:unbound /var/lib/unbound/root.key
ls -l /var/lib/unbound/root.key -rw-r--r-- 1 unbound unbound 759 May 12 12:12 /var/lib/unbound/root.key
创建或修改unbound配置文件,添加如下的配置项:
server: auto-trust-anchor-file: "/var/lib/unbound/root.key"
重新启动unbound服务:
Linux
sudo service unbound stop sudo service unbound start
Mac:
sudo lauchctl stop unbound sudo lauchctl start unbound
将你的机器的DNS解析指向本地刚架好的DNS服务:
修改:/etc/resolv.conf
nameserver 127.0.0.1
如果你用dhcp,你也许还要看看这个文件:/etc/dhcp/dhclient.conf.
测试
; <<>> DiG 9.6.0-APPLE-P2 <<>> org. SOA +dnssec ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27936 ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 7, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags: do; udp: 4096 ;; QUESTION SECTION: ;org. IN SOA ;; ANSWER SECTION: org. 888 IN SOA a0.org.afilias-nst.info. noc.afilias-nst.info. 2009625234 1800 900 604800 86400 org. 888 IN RRSIG SOA 7 1 900 20110606012602 20110516002602 54497 org. RoVZ6I2R3SLp3zM/wJn5ZXyy1LbopZb4uIunAYvqVTSSLoGCgt5/ElIe 2e89yamyY6NvRJK7i/IJJGiTaGhio1auqP7l+JvApiHfIR1NPcAnQ2GW zga3CLVqg+JLX0EaUWngbzZuQHDr/XitLxiWAEHIWtrHOrXT2ziSYYWk vwY= ;; AUTHORITY SECTION: org. 85117 IN NS a0.org.afilias-nst.info. org. 85117 IN NS a2.org.afilias-nst.info. org. 85117 IN NS b0.org.afilias-nst.org. org. 85117 IN NS b2.org.afilias-nst.org. org. 85117 IN NS c0.org.afilias-nst.info. org. 85117 IN NS d0.org.afilias-nst.org. org. 85117 IN RRSIG NS 7 1 86400 20110530155751 20110509145751 54497 org. NX+b9BrLM9GtKGWPfrjFGyWHKEoB8ZYSAX8Y+yPlsQcOSnEnJIbg49ha Sgz/CFghOpMsUQLwXyue+hoZGchEwuU8eoEM1VhltAVMoSXN4Lba4taJ 5vGRGVcvTqgiRTCCWx19EdFwkV3Qk5oghM3opCf++xMzGfmdmKmmUrNj MTc= ;; Query time: 12 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Mon May 16 08:45:47 2011 ;; MSG SIZE rcvd: 536
在首部的标志(flags)中,你应该看到ad,表示dnssec设置成功。