1023.990天:Linux CentOS 7搭建日志服务器
#每日三件事,第990天#
《中华人民共和国网络安全法》第二十一条第一款第三项规定网络运营者应采取监测、记录网络运行状态、网络安全事件的技术措施,并按照规定留存相关的网络日志不少于六个月。在GB/T22239《网络安全等级保护基本要求》的安全计算环境中,对安全审计也有明确的要求。
在落实法律义务和责任,开展网络安全等级保护工作的过程中,日志服务器成了必不可少的一项。商用的日志审计系统固然好,但利用CentOS7也可以做一个简单的日志服务器,收集网络中其他设备的日志信息。
日志服务器端的配置:
yum install syslog,其实CentOS7默认就已经安装了rsyslog服务。系统会自动检测,并不会重新安装一遍syslog服务。
vim /etc/rsyslogconf,找到#Providers TCP syslog reception这一行,把下面两行前面的#去掉即可:
#Providers TCP syslog reception
$ModLoad imtcp
$InputTCCPServerRun 514
======分割线 ======
在/etc/rsyslogd/创建一个名为client_ipconf的文件,每个日志发送客户端创建一个文件。我的实验环境中有一个ip为19216811的客户端,因此创建一个19216811conf的文件。
vim /etc/rsyslogd/19216811conf
:fromhost-ip,isequal, "19216811" /var/log/client/19216811log
systemctl restart rsyslog
重启之后一定要检查一下,使用命令:systemctl status rsyslog,并且保证rsyslog服务能够在开机时自动启动。
客户端的配置如下:
vim /etc/rsyslogconf,去掉#Providers TCP syslog reception下面两行的注释:
#Providers TCP syslog reception
$ModLoad imtcp
$InputTCCPServerRun 514
在最后一行添加:
@@192168110:514
其中192168110是日志服务器的IP地址。
systemctl restart rsyslog,并查看rsyslog的状态,保证服务在开机时自动启动。
此时在日志服务器上就可以接收到客户端发来的日志信息了。
一、设置主机名
就像主域名服务器一样,辅域名服务器的主机名也应当是一个完全限定域名(FQDN)。
# vim /etc/sysconfig/network
HOSTNAME=ns2exampletst
注意,在该文件中设置的主机名在服务器启动的时候会被使用。因此,如果你在系统启动之后修改该文件,修改结果不会立刻生效。下面的命令可以用来在系统运行的时候修改并及时生效。
# hostname ns2exampletst
设置之后,可以用下面的命令来查看主机名称。
# hostname
ns2exampletst
在进行下面的步骤之前,确保所有三台服务器的主机名称已经被正确设置。
二、安装软件包
就像主服务器一样,配置一台辅域名服务器可以使用chroot或者不用。必须的软件包可以使用yum轻松安装。
不使用 chroot:
# yum install bind
使用 chroot:
# yum install bind-chroot
为区域文件的传输准备配置文件
在CentOS中使用bind创建域名服务器后,默认设置允许所有的区域文件被任意服务器同步。安全起见,我们需要配置主域名服务器,只允许它允许辅域名服务器进行同步。
1 主域名服务器
不使用chroot:
# vim /etc/namedconf
使用chroot:
# vim /var/named/chroot/etc/namedconf
zone "exampletst" IN {
type master;
file "example-fz"; ## 文件example-fz在主域名服务器上 ##
allow-update { none; };
allow-transfer {1721614; }; ## 允许辅域名服务器进行传输 ##
};
zone "116172in-addrarpa" IN {
type master;
file "rz-172-16-1"; ##文件rz-172-16-1在主域名服务器上##
allow-update { none; };
allow-transfer {1721614; }; ## 允许辅域名服务器进行传输 ##
};
2 辅域名服务器
软件安装后提供的默认配置文件就可以用来配置辅域名服务器。但是,我们使用会使用另外一个实例配置文件来进行配置,因为这样便于调整。
不使用chroot:
# cp /usr/share/doc/bind-982/sample/etc/namedrfc1912zones /etc/namedconf
使用chroot:
# cp /usr/share/doc/bind-982/sample/etc/namedrfc1912zones /var/named/chroot/etc/namedconf
当执行完上面的命令进行文件拷贝后,添加下面的内容到刚才那个拷贝后的文件中。
options {
directory "/var/named";
forwarders {8888; };
};
zone "exampletst" IN {
type slave; ## 该主机为辅域名服务器 ##
file "example-fz"; ## 这个文件会被自动创建 ##
//allow-update { none; };
allow-transfer {1721613; }; ## 定义必要时进行从其传输的主域名服务器 ##
masters {1721613; }; ## 定义主域名服务器 ##
};
zone "116172in-addrarpa" IN {
type slave; ## 该主机被定义为辅域名服务器 ##
file "rz-172-16-1"; ## 这个文件会被自动创建 ##
// allow-update { none; };
allow-transfer {1721613; }; ## 定义主域名服务器 ##
masters {1721613; };
};
三、结束工作
为了确保没有权限相关的问题,我们需要做如下调整。
不使用chroot:
chmod 770 /var/named/
使用chroot,你需在named服务启动后按照下面的命令修改权限。
# chmod 770 /var/named/chroot/var/named
现在万事俱备,我们可以重启named服务。或者,确保named服务已经被加到了开始列表中。
# service named restart
# chkconfig named on
如果不出意外,辅域名服务器应该会向主域名服务器请求一个区域的传输,并且产生自己的/var/named目录。日志文件/var/log/messages会包含一些named服务的有用信息,包括区域文件传输过程中的信息。
测试一个辅域名服务器
我们可以使用dig或者nslookup进行DNS测试操作。在本篇教程中我们会使用nslookup来进行演示。必要的软件包可以通过yum进行安装。
# yum install bind-utils
# nslookup
> server 1721614
Default server: 1721614
Address: 1721614#53
> exampletst
Server: 1721614
Address: 1721614#53
Name: exampletst
Address: 1721613
> set type=mx
> exampletst
Server: 1721614
Address: 1721614#53
exampletst mail exchanger = 10 mailexampletst
> exit
一、搭建时间服务器
1、在一台linux服务器安装ntp server
tar zxvf ntp-426targz
cd ntp-426
/configure --prefix=/usr/local/ntp --enable-all-clocks --enable-parse-clocks
make && make install
2、修改ntpconf配置文件
vi /etc/ntpconf
# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system
#restrict default kod nomodify notrap nopeer noquery
restrict default nomodify
(允许任何IP的客户机都可以进行时间同步,如果是只允许某个网段的客户机进行时间同步可以这样写
restrict 1058260 mask 2552552550 nomodify)
restrict -6 default kod nomodify notrap nopeer noquery
# Permit all access over the loopback interface This could
# be tightened as well, but to do so would effect some of
# the administrative functions
restrict 127001
restrict -6 ::1
# Hosts on local network are less restricted
#restrict 19216810 mask 2552552550 nomodify notrap
# Use public servers from the poolntporg project
# Please consider joining the pool
#server 0rhelpoolntporg(默认时间服务器)
#server 1rhelpoolntporg(默认时间服务器)
#server 2rhelpoolntporg(默认时间服务器)
server 101281425 (手工设置的时间服务器)
(如果是可以直连外网,可以使用LINUX默认提供的三组标准时间服务器,否则可以自己指定一个同步时间源)
#broadcast 1921681255 key 42 # broadcast server
#broadcastclient # broadcast client
#broadcast 224011 key 42 # multicast server
#multicastclient 224011 # multicast client
#manycastserver 239255254254 # manycast server
#manycastclient 239255254254 key 42 # manycast client
# Undisciplined Local Clock This is a fake driver intended for backup
# and when no outside source of synchronized time is available
server 12712710 # local clock
fudge 12712710 stratum 10
3、以守护进程启动ntpd
#/etc/rcd/initd/ntpd -c /etc/ntpconf -p /tmp/ntpdpid
#/etc/rcd/initd/ntpd start
#ps -ef|grep ntpd
4、在ntp server上启动ntp服务后,ntp server自身或者与其server的同步的需要一个时间段,这个过程可能是5分钟,在这个时间之内在客户端运行ntpdate命令进行同步时会产生no server suitable for synchronization found的错误。
那么如何知道何时ntp server完成了和自身同步的过程呢?
在ntp server上使用命令:
# watch ntpq -p
出现如下画面:
注意LOCAL的这个就是与自身同步的ntp server。
注意reach这个值,在启动ntp server服务后,这个值就从0开始不断增加,当增加到17的时候,从0到17是5次的变更,每一次是poll的值的秒数,是64秒5=320秒的时间。
二、配置时间同步客户机
vi /var/spool/cron/root(或crontab -e)
增加一行,在每天的1点10分、9点10分、17点10分与时间同步服务器进行同步并写入BIOS
10 1 ,9,17 root /usr/sbin/ntpdate 101281425; /sbin/hwclock -w
如果同步不正常,可以加输出日志或看系统日志
输出日志的方法:
10 1 ,9,17 root /usr/sbin/ntpdate 101281425>>/tmp/1txt; /sbin/hwclock -w
在1txt中可查看时间同步时的输出结果。
或者看/var/mail/root系统日志
Subject: Cron <root@tyzssq8> /usr/sbin/ntpdate 101281425;/sbin/hwclock -w
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>
Message-Id: <20121127103001076FF2090E@tyzssq8site>
Date: Tue, 27 Nov 2012 18:30:01 +0800 (CST)
27 Nov 18:29:59 ntpdate[6917]: step time server 101281425 offset -1361968 sec
可以看到同步成功了,如果未成功会报出错误。
三、无法同步的问题
检查ntp server主机的防火墙。可能是ntp server的防火墙屏蔽了upd 123端口。
可以用命令
#service iptables stop
0条评论