1023.990天:Linux CentOS 7搭建日志服务器

1023.990天:Linux CentOS 7搭建日志服务器,第1张

#每日三件事,第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

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 1023.990天:Linux CentOS 7搭建日志服务器

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情