首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

企业开源域名服务安全防护策略及实战-3

企业开源域名服务安全防护策略及实战-3

实战二:安全使用 DNS 服务器的高级技巧配置辅助域名服务器做到冗余备份辅助服务器可从主服务器中复制一整套域信息。区文件是从主服务器中复制出来的,并作为本地磁盘文件存储在辅助服务器中。这种复制称为“区文件复制”。在辅助域名服务器中有一个所有域信息的完整拷贝,可以有权威地回答对该域的查询。因此,辅助域名服务器也称作权威性服务器。配置辅助域名服务器不需要生成本地区文件,因为可以从主服务器中下载该区文件。
辅助服务器的配置与主服务器的配置不同,它使用 slave 语句代替 master 语句。slave 语句指向用作域信息源的远程服务器,以替代本地磁盘文件。下面的 named.conf 文件可以配置 feixiang.com 域的辅助服务器:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// generated by named-bootconf.pl

options {
directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};

//
// a caching only nameserver config
//
zone "." {
type hint;
file "named.ca";
};

zone "0.0.127.in-addr.arpa" {
type master;
file "named.local";
};
zone "feixiang.com"{
type slave;
file "named.hosts";
masters {25.198.10.3;};
};
zone "198.25.in-addr.arpa"{
type slave;
file "named.rev";
masters {25.198.10.3;};
};
cache . named.ca
secondary vbrew.com 25.198.10.3 named.hosts
secondary 198.25.in-addr.arpa 25.198.10.3 named.rev
primary 0.0.127.in-addr.arpa named.local




第一个 slave 语句是使这个服务器成为 vbrew.com 的辅助服务器。它告诉 named 从 IP 地址为 25.198.10.3 的服务器中下载 feixiang.com 的信息,并将其数据保存在 /var/named/named.hosts 文件中。如果该文件不存在,named 就创造一个,并从远程服务器中取得区数据,然后将这些数据写入新创建的文件中。如果存在该文件,named 就要检查远程服务器,以了解该远程服务器的数据是否不同于该文件中的数据,如果数据有变化,它就下载更新后的数据,用新数据覆盖该文件的内容;如果数据没有变化,named 就加载磁盘文件的内容,不必做麻烦的区转移工作。将一个数据库拷贝到本地磁盘文件中,就不必每次引导主机时都要转移区文件;只有当数据修改时,才进行这种区文件的转移工作。该配置文件中的下一行表示该本地服务器也是反向域 198.25.in-addr.arpa 的一个辅助服务器,而且该域的数据也从 25.198.10.3 中下载。该反向域的数据存储在 named.rev 中。
配置高速缓存服务器提高 DNS 服务器性能高速缓存服务器可运行域名服务器软件,但是没有域名数据库软件。它从某个远程服务器取得每次域名服务器查询的结果,一旦取得一个,就将它放在高速缓存中,以后查询相同的信息时就用它予以回答。高速缓存服务器不是权威性服务器,因为它提供的所有信息都是间接信息。对于高速缓存服务器只需要配置一个高速缓存文件,但最常见的配置还包括一个回送文件,这或许是最常见的域名服务器配置。
配置高速缓存域名服务器是很简单的。必须有 named.conf 和 named.ca 文件,通常也要用到 named.local 文件。下面是用于高速缓存服务器的 named.conf 文件的例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// generated by named-bootconf.pl
options {
directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};

//
// a caching only nameserver config
//

//
// a caching only nameserver config
//
zone "." {
type hint;
file "named.ca";
};

zone "0.0.127.in-addr.arpa" {
type master;
file "named.local";




directory 这一行告诉 named 到哪里去找寻文件。所有其后命名的文件都将是相对于此目录的。该文件告诉 named 去维持一个域名服务器响应的高速缓存,并利用 named.ca 文件的内容去初始化该高速缓存。该高速缓存初始化文件的名字可以是任何名字,但一般使用 /var/named/named.ca。并不是在该文件中使用一个 hint 语句就能使它成为高速缓存配置,几乎每一种服务器的配置都要用到 cache 语句,而是因为没有 master 和 slave 语句才使它成为一个高速缓存配置。
但是,在我们这个例子中却有一个 master 语句。事实上,几乎在每一个高速缓存的配置文件中都有这一个语句,它将本地服务器定义为它自己的回送域的主服务器,并假定该域的信息存储在 named.local 文件中。这个回送域是一个 in-addr.arpa 域(in-addr.arpa 域用于指定逆向解析,或 IP 地址到 DNS 名字解析),它将地址 127.0.0.1 映射为名字 localhost。转换自己的回送地址对于大多数人都是有意义的,因为大多数的 named.conf 文件都包含这一项。
在大多数高速缓存服务器的配置文件中,这种 directory、master 和 hint 语句是唯一使用的语句,但也可以增加其他的语句,forwarders 和 slave 等语句都可以使用。
配置 DNS 负载均衡防止服务器宕机DNS 负载均衡技术是在 DNS 服务器中为同一个主机名配置多个 IP 地址,在应答 DNS 查询时,DNS 服务器对每个查询将以 DNS 文件中主机记录的 IP 地址按顺序返回不同的解析结果,将客户端的访问引导到不同的机器上去,使得不同的客户端访问不同的服务器,从而达到负载均衡的目的。
现假设有三台服务器来应对 www.feixiang.com 的请求。在采用 Linux 系统上实现起来比较简单,只需在该域区文件的数据记录中添加类似下面的资源记录即可:
1
2
3
4
5
6
web_server1INA210.113.1.1
web_server2INA210.113.1.2
web_server3INA210.113.1.3
wwwINCNAMEweb_server1
wwwINCNAMEweb_server2
wwwINCNAMEweb_server3




上述六条资源记录的具体含义为:在 DNS 服务器中为 www.feixiang.com 设定了三台服务器响应客户的访问请求。这三台服务器分别为 web_server1、web_server2 和 web_server3,而他们均为 www 服务器的别名。因此,在访问 www 服务器时,DNS 服务器将依次循环地将访问请求均衡到三台服务器中去,以达到负载均衡的目的。
返回列表