1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【Linux系统】第12节 Linux系统日志管理及日志的异地备份

【Linux系统】第12节 Linux系统日志管理及日志的异地备份

时间:2020-05-19 16:14:52

相关推荐

【Linux系统】第12节 Linux系统日志管理及日志的异地备份

目录

1 日志概述1.1 日志的分类1.2 日志管理服务 rsyslog1.3 日志事件级别划分2 日志异地备份2.1 远程登录服务器并删除日志2.2 日志的异地备份/日志服务器的建立3 总结参考文章

1 日志概述

日志对于安全来说,非常重要,他记录了系统每天发生的各种各样的事情,你可以通过他来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。日志主要的功能有:审计和监测。他还可以实时的监测系统状态,监测和追踪侵入者等等。

1.1 日志的分类

对于linux系统,日志一般存放在/var/log目录下。打开CentOS终端编辑器,输入cd /var/log进入到log目录下,可以查看有哪些日志文件。

日志文件大致可以分为三类:

1)系统日志;2)登录日志;3)程序日志。

不同版本的系统对各日志存放路径及文件名不尽相同,Linux系统常用日志文件及其存放信息如下:

/var/log/messages:记录linux内核消息及各种应用程序的公共日志消息,包括启动、I/O错误、网络错误、程序故障等。对于未使用独立日志文件的应用程序或服务,一般都可以从该日志文件中获取相关的时间记录信息。使用命令cat /var/log/messages查看系统日志内容如下。

/var/log/secure:安全相关,主要是用户认证,如登录 、创建和删除账号 、sudo等。使用命令cat /var/log/secure查看系统日志内容如下。

/var/log/maillog:邮件相关的日志信息。/var/log/boot.log:系统启动日志。能看到启动流程。/var/log/cron:计划任务日志。会记录crontab计划任务的创建、执行信息。/var/log/dmesg:硬件设备信息(device)。纯文本,也可以用dmesg命令查看。/var/log/yum.log:yum软件的日志。记录yum安装、卸载软件的记录。/var/log/lastlog:用来记录用户最后登录事件的日志。用lastlog查看(二进制日志文件)/var/log/btmp:登录失败的信息(bad)。用lastb查(二进制日志文件)/var/log/wtmp:该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件,用last查(二进制日志文件)。/var/log/spooler:与UUCP和news设备相关的日志信息。

1.2 日志管理服务 rsyslog

那么日志为什么会记录在上述1.1节中的那些文件中,什么样的日志就会被记录呢?这些都是根据日志管理服务配置文件rsyslog.conf来进行管理的。那么下面将主要介绍下日志管理服务配置文件rsyslog.conf。

(1)作用:主要用来管理日志采集。

(2)存放路径:日志管理服务配置文件文件存放在/etc目录下。

(3)查看:使用命令 vim /etc/rsyslog.conf 打开日志管理配置文件并编辑。配置文件中主要有以下内容:

1)规定是否开放TCP或UDP以及其端口号;2)规定全局指示,包括时间戳、对所有日志设置默认权限、指定脱机与状态文件目录、指定所有配置文件所在目录/etc/rsyslog.d/。3)规定哪些服务哪些级别的日志保存到哪个文件中。

(4)具体内容如下:

# rsyslog configuration file# For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html# If you experience problems, see /doc/troubleshoot.html#### MODULES ##### The imjournal module bellow is now used as a message source instead of imuxsock.$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)$ModLoad imjournal # provides access to the systemd journal#$ModLoad imklog # reads kernel messages (the same are read from journald)#$ModLoad immark # provides --MARK-- message capability# Provides UDP syslog reception#$ModLoad imudp#$UDPServerRun 514# Provides TCP syslog reception#$ModLoad imtcp#$InputTCPServerRun 514#### GLOBAL DIRECTIVES ##### Where to place auxiliary files$WorkDirectory /var/lib/rsyslog# Use default timestamp format$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat# File syncing capability is disabled by default. This feature is usually not required,# not useful and an extreme performance hit#$ActionFileEnableSync on# Include all config files in /etc/rsyslog.d/$IncludeConfig /etc/rsyslog.d/*.conf# Turn off message reception via local log socket;# local messages are retrieved through imjournal now.$OmitLocalLogging on# File to store the position in the journal$IMJournalStateFile imjournal.state#### RULES ##### Log all kernel messages to the console.# Logging much else clutters up the screen.#kern.* /dev/console# Log anything (except mail) of level info or higher.# Don't log private authentication messages!*.info;mail.none;authpriv.none;cron.none/var/log/messages# The authpriv file has restricted access.authpriv.*/var/log/secure# Log all the mail messages in one place.mail.*-/var/log/maillog# Log cron stuffcron.*/var/log/cron# Everybody gets emergency messages*.emerg :omusrmsg:*# Save news errors of level crit and higher in a special file.uucp,news.crit /var/log/spooler# Save boot messages also to boot.loglocal7.* /var/log/boot.log# ### begin forwarding rule #### The statement between the begin ... end define a SINGLE forwarding# rule. They belong together, do NOT split them. If you create multiple# forwarding rules, duplicate the whole block!# Remote Logging (we use TCP for reliable delivery)## An on-disk queue is created for this action. If the remote host is# down, messages are spooled to disk and sent when it is up again.#$ActionQueueFileName fwdRule1 # unique name prefix for spool files#$ActionQueueMaxDiskSpace 1g # 1gb space limit (use as much as possible)#$ActionQueueSaveOnShutdown on # save messages to disk on shutdown#$ActionQueueType LinkedList # run asynchronously#$ActionResumeRetryCount -1 # infinite retries if host is down# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional#*.* @@remote-host:514# ### end of the forwarding rule ###

(5)rsyslog.conf文件的解读:#开头的为注释,黑色的为有效行。

tips:

当.后面写 none时代表什么都不记录

1.3 日志事件级别划分

CentOS系统中,可以查询命令 man rsyslog.conf 获得日志事件级别划分内容,在Kali中暂未找到相关内容。日志事件级别如下(以最不严重到最严重的排列顺序):

debug:有调试信息的,日志通信最多info:一般信息日志,最常用notice:最具有重要性的普通条件的信息warning(warn):警告级别err(error):错误级别,阻止某个功能或者模块不能正常工作的信息crit:严重级别,阻止整个系统或者整个软件不能正常工作的信息alert:需要立刻修改的信息emerg(panic):内核崩溃等重要信息

2 日志异地备份

日志的异地备份也称为日志服务器的建立。当黑客通过密码爆破远程登录某靶机,黑客可能首先会清理登录日志,导致管理员很难发现。因此,对于日志,进行异地备份是非常重要的。

2.1 远程登录服务器并删除日志

(1)首先在CentOS上开启跟踪日志,输入命令tail -f /var/log/secure

(2)攻击者可以通过Telnet或SSH等方式远程登录服务器;

(3)登录后将其登录日志删除,如采用echo “” > /var/log/secure等命令可以清空日志。

(4)服务器管理员无法根据日志内容,判断主机是否有被远程操控。

2.2 日志的异地备份/日志服务器的建立

(1)对于需要备份日志的服务器,如WEB服务器等,需要完成以下操作:

在/etc/rsyslog.conf中定义什么服务什么级别的日志要发,以什么协议发给哪个IP哪个端口。如在/etc/rsyslog.conf文件中的“begin forwarding rules模块”中添加代码authpriv.* @@192.168.1.1:514表示将登录服务的所有级别日志以TCP协议发给192.168.1.1的514端口,其中@@表示以TCP协议发。关闭防火墙对数据的拦截或加密,如果不关闭,很可能服务器与日志备份服务之间的通信会出问题。临时关闭selinux(加强型防火墙)服务。输入命令setenforce 0关闭该服务,不然可能系统会对日志文件强制加锁,导致日志发不出去重启服务service rsyslog restart。由于/etc/rsyslog.conf文件不会立即生效,需要重启下服务,才能生效。

tips:

SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。

setenforce是Linux的selinux防火墙配置命令 执行setenforce 0 表示临时关闭selinux防火墙。

setenforce命令是单词set(设置)和enforce(执行)连写,另一个命令getenforce可查看selinux的状态

(2)对于日志备份服务器,需要完成以下操作:

在/etc/rsyslog.conf中定义以什么协议接收哪个端口日志、定义接收谁的日志存放到哪。

①首先在/etc/rsyslog.conf文件中的“MODULES模块”中将下图两行代码的注释去掉,这两行代码定义了若别人给我发数据时用udp协议及端口号514接收。

②在/etc/rsyslog.conf文件中的“begin forwarding rules模块”增加代码:fromhost-ip, isequal, “172.16.1.254” /var/log/client/172.16.1.254.log,接收到来自主机172.16.1.254的数据时存入/var/log/client/172.16.1.254.log中。

重启服务:service rsyslog restart

查询开启端口:ss -antpl | grep 514,其中ss表示查询已开启端口号、a表示所有、n表示不用尝试解析服务名称、t表示TCP协议、p表示process进程、l表示监听状态、grep 514表示按514过滤。(也可以采用netstat -antpl | grep 514命令)。

3 总结

(1)掌握各种主要日志的存放位置;

(2)能够读懂日志管理服务配置文件rsyslog.conf,并了解日志管理服务配置文件rsyslog.conf的简单配置;

(3)了解日志的级别;

(4)了解日志异地备份的方法。

参考文章

[1]《Linux系统日志管理》

[2] 《Kali Linux系统日志管理及日志备份服务器》

[3] 《setenforce用法》

[4] 视频传送门

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。