Dns配置高级篇

来自开放百科 - 灰狐
(版本间的差异)
跳转到: 导航, 搜索
 
(未显示1个用户的4个中间版本)
第11行: 第11行:
 
1.Options 我们通过options可以定制一个性能更优、安全性更高的dns服务器。  
 
1.Options 我们通过options可以定制一个性能更优、安全性更高的dns服务器。  
  
[color=red]Version “I am cpss”;    [/color]
+
<font color="red">Version "I am cpss"</font>
  
 
别人想探测我们dns版本,然后根据该版本的漏洞来攻击我们。休想!配置了这条命令后,别人再探测的版本后就是“I am cpss”了,呵呵。  
 
别人想探测我们dns版本,然后根据该版本的漏洞来攻击我们。休想!配置了这条命令后,别人再探测的版本后就是“I am cpss”了,呵呵。  
  
[color=red]Allow-transfer {192.168.1.1;192.168.1.4;};[/color]
+
<font color="red">Allow-transfer {192.168.1.1;192.168.1.4;};</font>
  
 
如果没有配置这一条命令,任何人都可以通过nslookup工具来得到你域里面的zone文件,也就是说他得到了你的主机列表,然后再分析,再……。当然,slave dns需要你允许它能够传送,否则它就得不到master dns上的zone文件,也就没办法工作了。这里假设192.168.1.1和192.168.1.4是该dns服务器的slave服务器,在master服务器上配置了如上命令。  
 
如果没有配置这一条命令,任何人都可以通过nslookup工具来得到你域里面的zone文件,也就是说他得到了你的主机列表,然后再分析,再……。当然,slave dns需要你允许它能够传送,否则它就得不到master dns上的zone文件,也就没办法工作了。这里假设192.168.1.1和192.168.1.4是该dns服务器的slave服务器,在master服务器上配置了如上命令。  
  
[color=red]Listen-on{192.168.1.2;};[/color]
+
<font color="red">Listen-on{192.168.1.2;};</font>
  
 
增加上这条命令,启动dns时就不会监听所有网络接口的53端口了,只监听指定网络接口的53端口。  
 
增加上这条命令,启动dns时就不会监听所有网络接口的53端口了,只监听指定网络接口的53端口。  
  
[color=red]Blackhole {hatenets;};[/color]
+
<font color="red">Blackhole {hatenets;};</font>
  
 
我们不想让某些网段使用我们的dns服务器,就用这条命令吧。不过还需要配置一个acl来定义匹配的网段,如下所示:  
 
我们不想让某些网段使用我们的dns服务器,就用这条命令吧。不过还需要配置一个acl来定义匹配的网段,如下所示:  
<pre>
 
[color=red]acl hatenets {
 
  
1.0.0.0/8;  
+
<font color="red">acl hatenets {
 +
  1.0.0.0/8;  
 +
  2.0.0.0/8;
 +
};</font>
  
2.0.0.0/8;
 
 
};[/color]
 
</pre>
 
 
这两个网段的地址是无法使用我们的dns了。  
 
这两个网段的地址是无法使用我们的dns了。  
 
 
 
 
 
 
  
 
2.logging 通过该选项,我们可以生成我们想要的日志。通过日志,我们可以更好地维护dns服务器。  
 
2.logging 通过该选项,我们可以生成我们想要的日志。通过日志,我们可以更好地维护dns服务器。  
  
[color=red]Logging {  
+
<font color="red">
 +
Logging {
 +
  Channel syslog_info {
 +
    File "/var/log/bindall.log" versions 20 size 2m;
 +
    Print-category yes;
 +
    Print-time yes;
 +
    Severity notice;
 +
  };
 +
  category default {
 +
    syslog_info;
 +
  };
 +
};
 +
</font>
  
        Channel syslog_info {
+
上例中我们建立了一个安全级别为notice的日志,dns的报错信息都会存放在"/var/log/bindall.log"日志文件了,分析该文件,我们就能轻松找出dns工作不正常的原因了。
 
+
        File  “/var/log/bindall.log” versions 20 size 2m;
+
 
+
        Print-category yes;
+
 
+
        Print-time yes;
+
 
+
        Severity notice;
+
 
+
                      };
+
 
+
        category        default {
+
 
+
              syslog_info;
+
 
+
                                    };
+
 
+
        };[/color]
+
上例中我们建立了一个安全级别为notice的日志,dns的报错信息都会存放在“/var/log/bindall.log”日志文件了,分析该文件,我们就能轻松找出dns工作不正常的原因了。
+
  
 
Logging里面的安全级别很多,大家可以根据自己需要来制定一个或多个logging。下面是logging的语法:  
 
Logging里面的安全级别很多,大家可以根据自己需要来制定一个或多个logging。下面是logging的语法:  
[color=red]
 
    logging {
 
  
 +
<font color="red">
 +
logging {
 
             [ channel channel_name {  
 
             [ channel channel_name {  
 
 
               ( file path_name  
 
               ( file path_name  
 
 
                 [ versions ( number | unlimited ) ]  
 
                 [ versions ( number | unlimited ) ]  
 
 
                 [ size size_spec ]  
 
                 [ size size_spec ]  
 
 
               | syslog ( kern | user | mail | daemon | auth | syslog | lpr |  
 
               | syslog ( kern | user | mail | daemon | auth | syslog | lpr |  
 
 
                           news | uucp | cron | authpriv | ftp |  
 
                           news | uucp | cron | authpriv | ftp |  
 
 
                           local0 | local1 | local2 | local3 |  
 
                           local0 | local1 | local2 | local3 |  
 
 
                           local4 | local5 | local6 | local7 )  
 
                           local4 | local5 | local6 | local7 )  
 
 
               | null );  
 
               | null );  
 
 
 
 
 
               [ severity ( critical | error | warning | notice |  
 
               [ severity ( critical | error | warning | notice |  
 
 
                           info  | debug [ level ] | dynamic ); ]  
 
                           info  | debug [ level ] | dynamic ); ]  
 
 
               [ print-category yes_or_no; ]  
 
               [ print-category yes_or_no; ]  
 
 
               [ print-severity yes_or_no; ]  
 
               [ print-severity yes_or_no; ]  
 
 
               [ print-time yes_or_no; ]  
 
               [ print-time yes_or_no; ]  
 
 
             }; ]  
 
             }; ]  
 
 
 
 
 
             [ category category_name {  
 
             [ category category_name {  
 
 
               channel_name; [ channel_name; ... ]  
 
               channel_name; [ channel_name; ... ]  
 
 
             }; ]  
 
             }; ]  
 
 
             ...  
 
             ...  
 
+
           };
           };[/color]
+
</font>
 
+
 
+
 
+
  
 
3. 这里是我们named.conf样本,希望能对你有所帮助。  
 
3. 这里是我们named.conf样本,希望能对你有所帮助。  
第128行: 第89行:
 
我们named.conf的样本  
 
我们named.conf的样本  
  
acl hatenets {
+
acl hatenets {
 
+
 
     1.0.0.0/8;  
 
     1.0.0.0/8;  
 
 
     2.0.0.0/8;  
 
     2.0.0.0/8;  
 
+
};<br>
};  
+
options {  
 
+
 
+
 
+
options {  
+
 
+
 
         files  10000;  
 
         files  10000;  
 
+
# boot file for name server  
# boot file for name server  
+
#  
 
+
#  
+
 
+
 
         directory "/var/named";  
 
         directory "/var/named";  
 
 
         version "I am cpss";  
 
         version "I am cpss";  
 
 
         notify no;  
 
         notify no;  
 
 
         datasize 300m;  
 
         datasize 300m;  
 
 
         allow-transfer {192.168.1.1;   
 
         allow-transfer {192.168.1.1;   
 
 
                         192.168.1.4;  
 
                         192.168.1.4;  
 
 
                                         };  
 
                                         };  
 
                       
 
 
 
         blackhole { hatenets; };  
 
         blackhole { hatenets; };  
 
 
         interface-interval 0;  
 
         interface-interval 0;  
 
+
         cleaning-interval 120;
         cleaning-interval 120;  
+
 
+
 
         listen-on {192.168.1.2;  
 
         listen-on {192.168.1.2;  
 
 
                 };  
 
                 };  
 
+
         statistics-interval 60; <br>
         statistics-interval 60;  
+
logging {  
 
+
 
+
 
+
 
+
 
+
logging {  
+
 
+
 
         channel syslog_query {  
 
         channel syslog_query {  
 
 
         file "/var/log/bindquery.log" ;  
 
         file "/var/log/bindquery.log" ;  
 
+
         severity notice;
         severity notice;  
+
                         };
 
+
         channel syslog_info {
                         };  
+
 
+
 
+
 
+
         channel syslog_info {  
+
 
+
 
         file "/var/log/bindall.log" versions 20 size 2m;  
 
         file "/var/log/bindall.log" versions 20 size 2m;  
 
 
         print-category yes;  
 
         print-category yes;  
 
 
         print-time yes;  
 
         print-time yes;  
 
 
         print-severity yes;  
 
         print-severity yes;  
 
 
         severity notice;  
 
         severity notice;  
 
+
                         };
                         };  
+
 
+
       
+
 
+
 
         channel syslog_manitenance {  
 
         channel syslog_manitenance {  
 
 
         file "/var/log/bindmaint.log" versions 10 size 2m;  
 
         file "/var/log/bindmaint.log" versions 10 size 2m;  
 
 
         severity notice;         
 
         severity notice;         
 
 
                                 };  
 
                                 };  
 
 
 
 
 
         channel syslog_secu {  
 
         channel syslog_secu {  
 
 
                 syslog local6;  
 
                 syslog local6;  
 
 
                 severity info;  
 
                 severity info;  
 
 
                         };  
 
                         };  
 
 
 
 
 
         channel syslog_xfer {  
 
         channel syslog_xfer {  
 
 
         file "/var/log/bindxfer.log" versions 20 size 2m;  
 
         file "/var/log/bindxfer.log" versions 20 size 2m;  
 
 
         print-category yes;  
 
         print-category yes;  
 
 
         print-time yes;  
 
         print-time yes;  
 
 
         print-severity yes;  
 
         print-severity yes;  
 
 
         severity notice;  
 
         severity notice;  
 
 
                         };  
 
                         };  
 
       
 
 
       
 
 
 
 
 
 
         channel syslog_os {  
 
         channel syslog_os {  
 
 
         syslog local3;  
 
         syslog local3;  
 
 
         severity info;  
 
         severity info;  
 
 
                 };  
 
                 };  
 
 
 
 
 
         channel syslog_panic {  
 
         channel syslog_panic {  
 
 
         syslog local4;  
 
         syslog local4;  
 
 
         severity info;  
 
         severity info;  
 
 
                         };  
 
                         };  
 
 
 
 
 
         channel syslog_stat {  
 
         channel syslog_stat {  
 
 
         syslog local5;  
 
         syslog local5;  
 
 
         severity info;  
 
         severity info;  
 
 
                         };  
 
                         };  
 
 
 
 
 
         channel syslog_config {  
 
         channel syslog_config {  
 
 
         file "/var/log/bind_config.log" versions 20 size 2m;  
 
         file "/var/log/bind_config.log" versions 20 size 2m;  
 
 
         print-category yes;  
 
         print-category yes;  
 
 
         print-time yes;  
 
         print-time yes;  
 
 
         print-severity yes;  
 
         print-severity yes;  
 
 
         severity info;  
 
         severity info;  
 
 
                         };  
 
                         };  
 
+
category        "xfer-in" {  
category        "xfer-in" {  
+
 
+
 
         syslog_xfer;  
 
         syslog_xfer;  
 
 
                 };  
 
                 };  
 
+
category        default {  
 
+
 
+
 
+
 
+
category        default {  
+
 
+
 
         syslog_info;  
 
         syslog_info;  
 
 
                         };  
 
                         };  
 
+
category        security {  
 
+
 
+
category        security {  
+
 
+
 
         syslog_secu;  
 
         syslog_secu;  
 
 
                         };  
 
                         };  
 
+
category        os      {  
 
+
 
+
 
+
 
+
category        os      {  
+
 
+
 
         syslog_os;  
 
         syslog_os;  
 
 
 
 
 
                         };  
 
                         };  
 
+
category        panic  {  
 
+
 
+
category        panic  {  
+
 
+
 
         syslog_panic;  
 
         syslog_panic;  
 
 
                         };  
 
                         };  
 
+
category        statistics {  
 
+
 
+
category        statistics {  
+
 
+
 
         syslog_stat;  
 
         syslog_stat;  
 
 
                         };  
 
                         };  
 
+
category        config {  
 
+
 
+
category        config {  
+
 
+
 
         syslog_config;  
 
         syslog_config;  
 
 
                         };  
 
                         };  
 
+
category        maintenance {   
 
+
 
+
category        maintenance {   
+
 
+
 
         syslog_manitenance;  
 
         syslog_manitenance;  
 
 
                         };  
 
                         };  
 
+
category lame-servers {null; };  
 
+
category cname {null; };  
 
+
};  
 
+
#  
 
+
# type domain source host/file  
category lame-servers {null; };  
+
#  
 
+
zone "." {  
 
+
 
+
category cname {null; };  
+
 
+
 
+
 
+
};  
+
 
+
 
+
 
+
#  
+
 
+
# type domain source host/file  
+
 
+
#  
+
 
+
zone "." {  
+
 
+
 
         type hint;  
 
         type hint;  
 
 
         file "/var/named/named.ca";  
 
         file "/var/named/named.ca";  
 
+
};  
};  
+
zone "0.0.127.IN-ADDR.ARPA" {  
 
+
 
+
 
+
zone "0.0.127.IN-ADDR.ARPA" {  
+
 
+
 
         type master;  
 
         type master;  
 
 
         file "local.rev";  
 
         file "local.rev";  
 
+
};
};
+

2008年4月28日 (一) 04:09的最后版本

Dns配置高级篇

  这里假设你已经独立或参考我的《架设dns攻略》将dns服务器成功架设起来,并且dns已经能够正常运行了。

  现在我们dns开始工作了,是不是我们的工作已经OK了呢?不,不,不,named.conf文件还有很多东西需要我们配置呢。

  DNS的配置文件named.conf是有非常多的可选项的,这里只是介绍一点常用的配置。如果你觉得还想继续研究下去,那也不需要在网上到处找资料的,直接用“man named.conf”就可以得到一个非常非常详细的说明。

  这里首先感谢我的同事yiming先生对服务器安全性的不懈研究,否则我们也不会经常安装、配置最新版本的DNS服务器了。而且,这个named.conf是他配置的。好了,言归正传,Follow me,我们继续。

1.Options 我们通过options可以定制一个性能更优、安全性更高的dns服务器。

Version "I am cpss"

别人想探测我们dns版本,然后根据该版本的漏洞来攻击我们。休想!配置了这条命令后,别人再探测的版本后就是“I am cpss”了,呵呵。

Allow-transfer {192.168.1.1;192.168.1.4;};

如果没有配置这一条命令,任何人都可以通过nslookup工具来得到你域里面的zone文件,也就是说他得到了你的主机列表,然后再分析,再……。当然,slave dns需要你允许它能够传送,否则它就得不到master dns上的zone文件,也就没办法工作了。这里假设192.168.1.1和192.168.1.4是该dns服务器的slave服务器,在master服务器上配置了如上命令。

Listen-on{192.168.1.2;};

增加上这条命令,启动dns时就不会监听所有网络接口的53端口了,只监听指定网络接口的53端口。

Blackhole {hatenets;};

我们不想让某些网段使用我们的dns服务器,就用这条命令吧。不过还需要配置一个acl来定义匹配的网段,如下所示:

acl hatenets {
  1.0.0.0/8; 
  2.0.0.0/8; 
};

这两个网段的地址是无法使用我们的dns了。

2.logging 通过该选项,我们可以生成我们想要的日志。通过日志,我们可以更好地维护dns服务器。


Logging {
  Channel syslog_info {
    File "/var/log/bindall.log" versions 20 size 2m;
    Print-category yes;
    Print-time yes;
    Severity notice;
  }; 
  category default {
    syslog_info;
  }; 
};

上例中我们建立了一个安全级别为notice的日志,dns的报错信息都会存放在"/var/log/bindall.log"日志文件了,分析该文件,我们就能轻松找出dns工作不正常的原因了。

Logging里面的安全级别很多,大家可以根据自己需要来制定一个或多个logging。下面是logging的语法:


logging {
           [ channel channel_name { 
             ( file path_name 
                [ versions ( number | unlimited ) ] 
                [ size size_spec ] 
              | syslog ( kern | user | mail | daemon | auth | syslog | lpr | 
                         news | uucp | cron | authpriv | ftp | 
                         local0 | local1 | local2 | local3 | 
                         local4 | local5 | local6 | local7 ) 
              | null ); 
             [ severity ( critical | error | warning | notice | 
                          info  | debug [ level ] | dynamic ); ] 
             [ print-category yes_or_no; ] 
             [ print-severity yes_or_no; ] 
             [ print-time yes_or_no; ] 
           }; ] 
           [ category category_name { 
             channel_name; [ channel_name; ... ] 
           }; ] 
           ... 
         };

3. 这里是我们named.conf样本,希望能对你有所帮助。

4.最新版本(2002年11月5日)的named.ca文件。



cpss 回复于:2003-02-16 19:45:07

我们named.conf的样本

acl hatenets {
   1.0.0.0/8; 
   2.0.0.0/8; 
};
options { files 10000; # boot file for name server # directory "/var/named"; version "I am cpss"; notify no; datasize 300m; allow-transfer {192.168.1.1; 192.168.1.4; }; blackhole { hatenets; }; interface-interval 0; cleaning-interval 120; listen-on {192.168.1.2; }; statistics-interval 60;
logging { channel syslog_query { file "/var/log/bindquery.log" ; severity notice; }; channel syslog_info { file "/var/log/bindall.log" versions 20 size 2m; print-category yes; print-time yes; print-severity yes; severity notice; }; channel syslog_manitenance { file "/var/log/bindmaint.log" versions 10 size 2m; severity notice; }; channel syslog_secu { syslog local6; severity info; }; channel syslog_xfer { file "/var/log/bindxfer.log" versions 20 size 2m; print-category yes; print-time yes; print-severity yes; severity notice; }; channel syslog_os { syslog local3; severity info; }; channel syslog_panic { syslog local4; severity info; }; channel syslog_stat { syslog local5; severity info; }; channel syslog_config { file "/var/log/bind_config.log" versions 20 size 2m; print-category yes; print-time yes; print-severity yes; severity info; }; category "xfer-in" { syslog_xfer; }; category default { syslog_info; }; category security { syslog_secu; }; category os { syslog_os; }; category panic { syslog_panic; }; category statistics { syslog_stat; }; category config { syslog_config; }; category maintenance { syslog_manitenance; }; category lame-servers {null; }; category cname {null; }; }; # # type domain source host/file # zone "." { type hint; file "/var/named/named.ca"; }; zone "0.0.127.IN-ADDR.ARPA" { type master; file "local.rev"; };
分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱