安装配置Syslog

安装配置Syslog,第1张

一、配置安装环境

linux centOS 7.4

配置网络,具体见 https://www.jianshu.com/p/cb8d0e6758ab

二、安装配置rsyslog

1)安装rsyslog

[root@localhost ~]#yum -y install rsyslog

2)更新下系统的其他包

[root@localhost ~]#yum update

(说明:

配置文件/etc/rsyslog.conf大概分为三个部分

####MODULES####

这个部分是针对接收配置的,主要是指定接收日志的协议和端口。若要配置日志服务器,则需要将相应的配置项去掉注释。

####GLOBAL DIRECTIVES####

这个部分主要用来配置模板,模板的作用是指定你希望在日志文件中保存的日志格式。

#### RULES ####

这一部分是规则文件,每行配置分两个字段,第一字段是说明要记录哪类日志(包括消息类型和等级),第二字段是说明日志存放位置(action),可以是本地文件,也可以是远程服务器。)

3)[root@localhost ~]#vi /etc/rsyslog.conf

4):set nu显示行号

5)允许rsyslog后台进程在TCP/UDP协议的514端口上接收日志信息,rsyslog后台进程是可以同时监听TCP/UDP连接的。

15,16,19,20前面的#去掉

6)在#### GLOBAL DIRECTIVES ####前添加下面的内容:

#将所有从远程客户端接受到的消息写入到一个以它们的IP地址命名的单个文件中

$template RemoteLogs,"/var/log/devicelog/%HOSTNAME%/%PROGRAMNAME%.log"

*.* ?RemoteLogs

&~

#排除本地主机IP日志记录,只记录远程主机日志

fromhost-ip, !isequal, "127.0.0.1"

?Remote

&~

(说明:

第一行$template 定义模板名称RemoteLogs(“RemoteLogs” 可以为其它名字),日志存入到/var/log/devicelog路径下。而日志文件名则依据发送远程日志的机器名及应用程序名来定义。

第二行*.*  ?RemoteLogs暗含运行用模板RemoteLogs于所有的接收日志。

第三行&~则告诉rsyslog后台进程停止进一步去处理日志信息,即不对它们进行本地化写入,它是代表一个重定向规则。如果没有这一行,则意味着接收到的日志会写入两次,一次如前两行写的方式写,第二次则以本地日志记录的方式写入。运行这个规则的另一个结论则是日志服务器自己的日志信息只会写入到依照机器主机名命名的文件中。)

7)重启下服务,并加入开机启动

[root@localhost ~]#systemctl restart rsyslog

[root@localhost ~]#systemctl enable rsyslog

8)验证下端口

[root@localhost ~]#netstat -antup | grep 514

9)配置防火墙规则

[root@localhost ~]#firewall-cmd --permanent --zone=public --add-port=514/tcp

[root@localhost ~]#firewall-cmd --permanent --zone=public --add-port=514/udp

[root@localhost ~]#firewall-cmd --reload

10)将要连接syslog的设备设置好syslog环境的ip和端口,然后在本机查看日志

[root@localhost ~]#mkdir /var/log/devicelog/

[root@localhost ~]#cd /var/log/devicelog/

#每日三件事,第990天#

      《中华人民共和国网络安全法》第二十一条第一款第三项规定网络运营者应采取监测、记录网络运行状态、网络安全事件的技术措施,并按照规定留存相关的网络日志不少于六个月。在GB/T22239《网络安全等级保护基本要求》的安全计算环境中,对安全审计也有明确的要求。

      在落实法律义务和责任,开展网络安全等级保护工作的过程中,日志服务器成了必不可少的一项。商用的日志审计系统固然好,但利用CentOS7也可以做一个简单的日志服务器,收集网络中其他设备的日志信息。

日志服务器端的配置:

yum install syslog,其实CentOS7默认就已经安装了rsyslog服务。系统会自动检测,并不会重新安装一遍syslog服务。

vim /etc/rsyslog.conf,找到#Providers TCP syslog reception这一行,把下面两行前面的#去掉即可:

#Providers TCP syslog reception

$ModLoad imtcp

$InputTCCPServerRun 514

======分割线 ======

在/etc/rsyslog.d/创建一个名为client_ip.conf的文件,每个日志发送客户端创建一个文件。我的实验环境中有一个ip为192.168.1.1的客户端,因此创建一个192.168.1.1.conf的文件。

vim /etc/rsyslog.d/192.168.1.1.conf

:fromhost-ip,isequal, "192.168.1.1" /var/log/client/192.168.1.1.log

systemctl restart rsyslog

重启之后一定要检查一下,使用命令:systemctl status rsyslog,并且保证rsyslog服务能够在开机时自动启动。

客户端的配置如下:

vim  /etc/rsyslog.conf,去掉#Providers TCP syslog reception下面两行的注释:

#Providers TCP syslog reception

$ModLoad imtcp

$InputTCCPServerRun 514

在最后一行添加:

*.*. @@192.168.1.10:514

其中192.168.1.10是日志服务器的IP地址。

systemctl restart rsyslog,并查看rsyslog的状态,保证服务在开机时自动启动。

此时在日志服务器上就可以接收到客户端发来的日志信息了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11743523.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存