Selinux
增强安全性的Linux(SELinux)是美国安全部的一个研发项目,它的目的在于增强开发代码的Linux内核,以提供更强的保护措施,防止一些关于安全方面的应用程序走弯路,减轻恶意软件带来的灾难。SELinux是一种严格细分程序和文件的访问权限、防止非法访问的OS安全功能。设定了监视并保护容易受到攻击的功能(服务)的策略。具体而言,主要目标是Web服务器httpd、DNS服务器named,以及dhcpd、nscd、ntpd、portmap、snmpd、squid、syslogd。SElinux把所有的拒绝信息输出到:/var/log/messages 位置。如果某个服务比如bind不能正常启动,请查询messages文件来确认是否是SELinux造成服务不能运行。安装配置Bind DNS服务器时候请先关闭Selinux 。
方法1:
使用命令行方式,编辑配置文件修改/etc/sysconfig/selinux文件:
#SELINUX=enforcing
SELINUX=disabled
重新启动配置生效。
方法2:
使用图形界面,选择安全工具设置Selinux 关闭如图4.。
![]() |
指定DNS服务器管理端口
BIND是最著名的DNS服务器之一。由于DNS查询通常由系统自动完成,所以其53端口不方便更改,但可以指定在哪个IP地址进行监听。在配置文件named.conf中有一个全局配置项目options,包含了监听特定网络的命令。例如,如果想让named仅在192.168.0.254地址上提供DNS查询,可以使用以下代码:
options{ ... ...
listen-on {192.168.0.254, 127.0.0.1;};
allow-query{192.168.0/24; 127.0.0/8;};
... ...}
由于DNS服务的特殊性,必须允许本机回路127.0.0.1的连接。
关注DNS服务器日志信息
对于排除Linux的系统故障来说,日志文件是极其重要的工具。DNS日志可以记录服务器CPU的占用时间、查询的统计信息及配置中存在的问题,经常分析日志可以了解服务器的负载、性能、安全性,从而及时地采取措施,纠正错误。BIND软件默认情况下把DNS日志写到/var/log/messages文件中。由于这个文件中的日志信息是由syslog生成的,所以并不全是关于BIND的日志信息,要详细分类地记录DNS服务器的运行状况,我们应修改配置文件named.conf,使用logging命令:
logging{
channel default_log {
file “/var/adm/dns-default.log” versions 3 size 10m;
severity info;
print-severity yes;
print-time yes;
print-category yes;
};
:
:
channel security_log {
file “/var/adm/dns-security.log” versions 3 size 10m;
severity warning;
print-severity yes;
print-time yes;
print-category yes;
};
category default {default_log;};
:
:
category security {security_log;};
};
其中channel定义了通道的名称,按自己需要可以定义多个通道,每个通道指定了存放日志的文件名、文件个数及大小,还定义了要记录消息的等级(如critical, error, warning, notice, info, debug, dynamic),并指定日志内容是否包括时间和消息的类别。Category定义消息的类别(如default, general, client, config, database, dnssec, lame-servers, network, notify, queries, resolver, security, update, xfer-in, xfer-out),并指明这类消息按照哪个通道的定义来进行记录。上例中的第一个channel, default_log是自己定义的channel名称,/var/adm/dns-default.log是日志文件,可依次产生记录该类消息的4个文件(update_log, update_log0, update_log1, update_log2),依次更替,每个文件最大为10M。该日志记录的是除severity信息以外的告警信息。消息记录格式包括时间、消息等级和种类。
总结:
由于DNS服务器负责域名的解析工作,其重要性不言而喻。一旦DNS服务器出现问题或部分数据信息丢失,就无法正常完成域名解析。另外每个互联网服务(FTP、WEB、Email)都需要一个DNS服务请求,大多数Linux和Unix、BSD操作系统运行都是BIND(Berkeley Internet Name Domain)服务器。所以这里介绍如何排除常见的BIND故障。
