源码下载 | 网页特效 | 广告代码 | 素材下载 | 站长工具
会员投稿 投稿指南 RSS订阅
您当前的位置是:主页>服务器类>Dns服务器>

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

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


type master;
file “mydomain.dns”;
allow-query { any; };
allow-update { none; };
allow-transfer { dns-ip-list; }; };


都是黑客会利用IP欺骗一个DNS服务器,迫使其进行非法区带传输。TSIG技术可以进行有效防范。
 
1、TSIG技术

交易签章 (TSIGRFC 2845),是为了保护 DNS安全而发展的。从BIND 8.2版本开始引入 TSIG 机制,其验证 DNS 讯息方式是使用共享金钥(Secret Key) 及单向杂凑函式(One-way hash function) 来提供讯息的验证和数据的完整性。主要针对区带传输(ZONE Transfer)进行保护的作用,利用密码学编码方式为通讯传输信息加密以保证 DNS 讯息的安全,特别是响应与更新的讯息数据。也就是说在DNS服务器之间进行辖区传送时所提供保护的机制,以确保传输数据不被窃取及监听。下面以BIND 9.21为例:

首先在开始设置,必须为主域名服务器(master DNS)和辅助域名( slave DNS) 进行时间同步,否则会造成区带传输的失败。可以使用ntp或者rdate工具进行服务器时间同步。

假设要限制yourdomain.com的主域到IP地址分别是172.20.15.100 (ns1.yourdomain. com) 和 172.20.15.123 (ns2.yourdomain.com). 的两个辅助域名服务器之间进行区带传输。在此将详述 TSIG 的实际操作,可以防止DNS服务器和黑客的DNS服务器之间不会发生IP欺骗。

步骤一:执行 dnssec-keygen function 产生加密金钥,一个为 public key 文件,另一个为 private key 文件:

产生加密金钥:

dnssec-keygen -a hmac-md5 -b 128 -n HOST zone-xfr-key

该文件中公开金钥(public key)是: Kzone-xfr-key.+157+08825.key;私有金钥(private key)是Kzone-xfr-key.+157+08825.private。此时查看文件通常包括以下内容:

以下为引用的内容:
Private-key-format: v1.2
Algorithm: 157 (HMAC_MD5)
Key: YH8Onz5x0/twQnvYPyh1qg==


步骤二:使用TSIG 金钥在主域名服务器和辅助域名服务器的设置文件named.conf设定:

以下为引用的内容:
key zone-xfr-key {
algorithm hmac-md5;
secret “YH8Onz5x0/twQnvYPyh1qg==”;
};


步骤三:将下面的声明加入服务器ns1.yourdomain.com的设置文件/etc/named.conf中:

以下为引用的内容:
server 172.20.15.123 {
keys { zone-xfr-key; };
};


步骤四:将下面的声明加入服务器ns2.yourdomain.com的设置文件/etc/named.conf中:

以下为引用的内容:
server 172.20.15.100 {
keys { zone-xfr-key; };
};


步骤五:为主域名服务器ns1.yourdomain.com的yourdomain.com区带的设置文件/etc/named.conf写入以下配置:

以下为引用的内容:
acl “dns-ip-list” {
172.20.15.100;
172.20.15.123;
};
key zone-xfr-key {
algorithm hmac-md5;
secret “YH8Onz5x0/twQnvYPyh1qg==”;
};
server 172.20.15.123 {
keys { zone-xfr-key; };
};
zone “yourdomain.com” {
type master;
file “mydomain.dns”;
allow-query { any; };
allow-update { none; };
allow-transfer { dns-ip-list; };
};


步骤六:为辅助域名服务器ns2.yourdomain.com的yourdomain.com区带的设置文件/etc/named.conf写入以下配置:

以下为引用的内容:
acl “dns-ip-list” {
172.20.15.100;
172.20.15.123;
};
key zone-xfr-key {
algorithm hmac-md5;
secret “YH8Onz5x0/twQnvYPyh1qg==”;
};
server 172.20.15.100 {
keys { zone-xfr-key; };
};
zone “yourdomain.com” {
type master;
file “mydomain.dns”;
allow-query { any; };
allow-update { none; };
allow-transfer { dns-ip-list; };
};


步骤七:再次重新启动主域名服务器和辅助域名服务器。

说明为确保安全性的问题,TSIG 可确认 DNS 之信息是由某特定 DNS Server 所提供。通常TSIG 应用于域名服务器间的区带传输,确保数据不会被篡改或产生 dns spoofing。

步骤八:

验证TSIG技术是否生效,步骤如下:

删除辅助域名服务器(ns2.yourdomain.com)的区带文件。

重新启动辅助域名服务器。

检查辅助域名服务器的区带文件是否自动建立。辅助域名服务器用来从主服务器中转移一整套域信息。区带文件是从主服务器转移出的,作为磁盘文件保存在辅助域名服务器中。

注意事项:如果为域名服务器配置了TSIG,那么要确保普通用户不能接触主域名服务器和辅助域名服务器的配置文件/etc/named.conf。另外也不能修改两台服务器的共享的TSIG密钥。

2、SIG0 技术简介

SIG0是一九九九年三月 由 IBM公司的D. Eastlake 提出成为标准。其是利用公开金钥机制为辖区资料进行数字签章的动作,以保证每笔传输的 source record 具有可验证性与不可否认性。实际上 SIG0 才是防止 DNS Spoofing 发生最主要的技术,SIG0 是使用公开金钥加密法,让辖区管理者为其辖区数据加上数字签章,由此证明辖区资料的可信赖性。除此之外,SIG0 保有是否选择认证机制的弹性,以及可灵活地配合自订的安全机制。

三、DNSSEC技术

DNS欺骗是对目前网络应用,最大的冲击在于冒名者借着提供假的网域名称与网址的对照信息,可以将不知情用户的网页联机,导引到错误的网站,原本属于用户的电子邮件也可能因而遗失,甚而进一步空开成为阻断服务的攻击。所幸,目前较新的 BIND 版本,针对这一类问题,已经有加入许多改进的方法,不过真正的解决方案,则有赖封包认证机制的建立与推动。DNSSEC就是试图解决这一类问题的全新机制, BIND9 已经完整加以设计并完成。DNSSEC引入两个全新的资源记录类型:KEY和SIG,允许客户端和域名服务器对任何DNS数据的来源进行密码验证。

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

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


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