源码 | 书库 | 模板 | 特效 | 广告 | 素材 | 工具 | 必备 | ALEXA | 字体
会员投稿 投稿指南 RSS订阅
您当前的位置是:主页>服务器类>Dns服务器>

Linux应用使用TSIG和DNSSEC加固域名服务器

www.jz123.cn  2008-07-29   来源:   中国建站    编辑整理    我要投递新闻

DNSSEC主要依靠公钥技术对于包含在DNS中的信息创建密码签名。密码签名通过计算出一个密码hash数来提供DNS中数据的完整性,并将该hash 数封装进行保护。私/公钥对中的私钥用来封装hash数,然后可以用公钥把hash数译出来。如果这个译出的hash值匹配接收者刚刚计算出来的hash树,那么表明数据是完整的。不管译出来的hash数和计算出来的hash数是否匹配,对于密码签名这种认证方式都是绝对正确的,因为公钥仅仅用于解密合法的hash数,所以只有拥有私钥的拥有者可以加密这些信息。下面我们看看如何为名称是domain.com的域建立DESSEC配置。

步骤一:为 domain.com 域建立一对密钥。在 /var/named 目录下,使用命令: “/usr/local/sbin/dnssec-keygen -a DSA -b 768 -n ZONE domain.com” 这个命令产生一对长度768位DSA算法的私有密钥(Kdomain.com.+003+29462.private)和公共密钥(Kdomain.com.+003+29462.key)。其中29462称作密钥标签( key tag)。

步骤二:使用命令:“ /usr/local/sbin/dnssec-makekeyset -t 3600 -e now+30 Kdomain.com.+003+29462“建立一个密钥集合。该命令以3,600 seconds 的生存时间(time-to-live)建立密钥集合,有效期限三十天,并且创建一个文件:domain.com.keyset。

步骤三:使用命令“ /usr/local/sbin/dnssec-signkey domain.com.keyset Kdomain.com.+003+29462 “为密钥集合签字。然后建立一个签字文件:domain.com.signedkey。

步骤四:使用命令 “/usr/local/sbin/dnssec-signzone -o domain.com domain.db command, where domain.db ”为区带文件签字。然后建立一个签字文件: domain.db.signed。

步骤五:替换 配置文件/etc/named.conf中 domain.com的区带文件部分。清单如下:

以下为引用的内容:
zone “domain.com” IN {
type master;
file “domain.db.signed”;
allow-update { none; }; }; 


从上面的配置过程我们也看到DNSSEC的一些缺点:

除了配置负责,还有标记和校验DNS数据显然会产生额外的开销,从而影响网络和服务器的性能。签名的数据量很大,这就加重了域名服务器对互联网骨干以及一些非骨干连接的负担。产生和校验签名也占用了很多中央处理器的时间。有时候,不得不把单处理器的DNS服务器换成多处理器的DNSSEC服务器。签名和密钥占用的磁盘空间和RAM容量达到它们表示的数据所占容量的10倍。同时数据库和管理系统也不得不进行相应的升级和扩容。

总结:域名系统的配置和管理是一项比较复杂和繁琐的系统管理任务,它对整个网络的运行影响极大。为了保证DNS服务器的安全运行,不仅要使用可靠的服务器软件版本,而且要对DNS服务器进行安全配置,本文介绍了TISG和DNSSEC技术有助于减少 DNS Spoofing 攻击的发生,增进网络使用者对因特网使用的信任,杜绝信息系统遭受入侵与攻击的产生。

上一篇:改造DNS服务器 Windows泛域名解析的设置 下一篇:FreeBSD6.1Release下利用BIND架设DNS服务器

评论总数:1 [ 查看全部 ] 网友评论


关于我们隐私版权广告服务友情链接联系我们网站地图