一、日志文件的分类

1.内核及系统日志

由系统服务rsyslog统一进行管理,日志格式基本相似

软件包:rsyslog-5.8.10-8

主要程序:/sbin/rsyslogd

配置文件:/etc/rsyslog.conf

配置文件:/etc/rsyslog.conf语法

日志设备类型 说明

auth pam产生的日志

authpriv ssh,ftp等登陆信息的验证信息

cron 时间任务相关

kern 内核

lpr 打印

mail 邮件

mark(syslog) rsyslog服务内部信息的标识

news 新闻组

user 用户程序产生的相关信息

uucp Unix to Unix copy Unix主机之间的通讯

local1-7 自定义的日志设备

日志级别

级别 说明

NONE 啥都不记

EMERG 紧急(导致系统不可用)

ALERT 警告(必须马上采取措施处理)

CRIT 严重

ERR 错误

WARNING 提醒

NOTICE 注意

INFO 一般信息

DEBUG 调试信息

连接符号

符号 说明

. 记录大于等于后面的级别日志

.= 只记录等于后面的级别日志

.!= 只记录不等于后面的级别日志

日志处理方式

本地文件:通常就是文件的绝对路径

打印机:例如 /dev/lp0 这个打印机装置

用户名称:显示给用户

远程主机:例如 @202.100.100.1

*:所有在线的用户

主要日志文件介绍

内核及公共消息日志:/var/log/messages

计划任务日志:/var/log/cron

系统引导日志:/var/log/dmesg

邮件系统日志:/var/log/maillog

2.用户日志

记录系统用户登录及退出系统的相关信息

保存了用户登录、退出系统等相关信息

/var/log/lastlog:最近的用户登录事件(二进制文件)

/var/log/wtmp:用户登录、注销及系统开、关机事件(二进制文件)

/var/run/utmp:当前登录的每个用户的详细信息(二进制文件)

/var/log/secure:与用户验证相关的安全性事件

用户登录分析命令

who、w、users、last、ac、lastlog

3.程序日志

由各种应用程序独立管理的日志文件,记录格式不统一

由相应的应用程序独立进行管理

Web服务:/var/log/httpd/

access_log、error_log

代理服务:/var/log/squid/

access.log、cache.log、squid.out、store.log

FTP服务:/var/log/xferlog

……

二、日志转储功能

系统时时刻刻都在产生日志,如果不及时清理,很快就会填满硬盘,但如果要手工清理,又很麻烦。这种情况下,logrotate 这个程序很好的完成这个任务

1.logrotate

用来把旧的日志文件删除,并创建新的日志文件,我们把它叫做“转储”。我们可以根据日志文件的大小,也可以根据天数来转储,这个过程一般通过crond进程来执行,logrotate还可以用于压缩日志文件

主配置文件:/etc/logrotate.conf

参数 说明

compress 通过gzip压缩转储后的日志

compresscmd 指定压缩文件所使用的命令

uncompresscmd 指定解压缩文件所使用的命令

nocompress 无需压缩

copytruncate 用于还在打开状态的日志文件,把当前日志备份并截断

nocopytruncate 把当前日志备份但不截断

create mode owner group 转储文件,使用指定的文件模式创建新的日志文件

nocreate 不创建新的日志文件

dateext 以日期格式为扩展名

delaycompress 转储的文件在下一次转储时才压缩

nodelaycompress 转储同时压缩

errors address 转储时错误信息发送到指定的email地址

ifempty 如果是空文件也转储,默认

notifempty 如果是空文件,不转储

mail address 把转储的日志文件发送到指定的邮箱

nomail 不发送日志文件

olddir directory 转储后的日志文件放入指定的目录,必须和当前日志文件在同一个文件系统

noolddir 转储后的日志文件和当前日志文件放到一个目录下

maxage 删除循环天数大于(后面跟着数字是天数)的切割日志文件,只针对循环的日志。如果设置了邮件会发送到设置好的邮件地址。

daily 转储周期为每天

weekly 转储周期为每周

monthly 转储周期为每月

rotate count 日志文件删除之前转储的次数,0表没有备份,5表5个备份

size 当日志文件达到指定大小才转储

minsize 日志文件一定要超过多少后才进行rotate,但是又必须参考转储周期,就是不能在转储周期没到之前就rotate

missingok 如果日志文件缺失,继续下一个文件,且不报告错误信息

Logrotate的次要配置文件:/etc/logrotate.d/*

每个文件代表一种日志的配置

[[email protected] ~]# cat /etc/logrotate.d/syslog

/var/log/messages #要转储的文件 {

#转储的一些参数

daily #每天

size 20M #每20M转储一次

rotate 3 #保留三份转储文件

postrotate

需要执行的命令

endscript

}

-f参数:强制转储

使用这个命令可以立即使转储文件达到条件进行转储

服务使用crond服务

[[email protected] log]# systemctl status crond

● crond.service - Command Scheduler

Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)

Active: active (running) since Tue 2020-03-24 00:20:22 CST; 1h 31min ago

Main PID: 6568 (crond)

CGroup: /system.slice/crond.service

└─6568 /usr/sbin/crond -n

Mar 24 00:20:22 localhost.localdomain systemd[1]: Started Command Scheduler.

Mar 24 00:20:22 localhost.localdomain crond[6568]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 32% if used.)

Mar 24 00:20:23 localhost.localdomain crond[6568]: (CRON) INFO (running with inotify support)

cd /etc/cron.daily/

目录里有个logrotate,这里说明了会每天执行logrotate

/etc/anacrontab中规定了何时执行cron.daily,这么设置的目的是为了防止同一时点执行多任务,系统负载过大。这里有延时。

/etc/anacrontab: configuration file for anacron

See anacron(8) and anacrontab(5) for details.

SHELL=/bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

the maximal random delay added to the base delay of the jobs

RANDOM_DELAY=45

the jobs will be started during the following hours only

START_HOURS_RANGE=3-22

#period in days delay in minutes job-identifier command

1 5 cron.daily nice run-parts /etc/cron.daily

7 25 cron.weekly nice run-parts /etc/cron.weekly

@monthly 45 cron.monthly nice run-parts /etc/cron.monthly

如何查看logrotate是否运行正常

cat /var/lib/logrotate.status #查看logrotate切割的哪个日志

以debug模式运行

注意:debug模式下不会对日志产生真实操作,也不会写入到logrotate state file中,如果想手动运行,请使用 -f

/usr/sbin/logrotate -d /etc/logrotate.conf

/usr/sbin/logrotate -d /etc/logrotate.conf > /tmp/logrotate.debug 2>&1

#输出错误信息,检查是否有错误,检查是否有error

/var/log/sa

记录系统重要内部活动信息,包括CPU和内存消耗,磁盘IO,网络流量等等。

/var/log/audit

记录系统的审计日志,包括对核心文件的修改,和用户的重要操作等等。 这个工具在大多数Linux操作系统中是默认安装的。CentOS 默认安装。安装完毕后将自动安装以下auditd和相关的工具:

auditctl : 即时控制审计守护进程的行为的工具,比如添加规则等等。

/etc/audit/audit.rules : 记录审计规则的文件。

aureport : 查看和生成审计报告的工具。

ausearch : 查找审计事件的工具

auditspd : 转发事件通知给其他应用程序,而不是写入到审计日志文件中。

autrace : 一个用于跟踪进程的命令。

/etc/audit/auditd.conf : auditd工具的配置文件。

查看审计规则

#auditctl -l

#对单个文件审计,添加审计规则

#-w path : 指定要监控的路径,上面的命令指定了监控的文件路径 /etc/passwd

#-p : 指定触发审计的文件/目录的访问权限,rwxa : 指定的触发条件,r 读取权限,w 写入权限,x 执行权限,a 属性(attr)

#-k 给当前这条监控规则起个名字,方便搜索过滤

#auditctl -w /etc/passwd -p rwxa -k pass

#对目录审计(也会记录目录里文件的改动)

#auditctl -w /etc/ -p rwxa

#auditctl -W /etc/ -p rwxa 删除这条创建的规则

#对可执行命令进行审计

auditctl -F exe=/bin/id -k execution_bin_id

对于V3系统

auditctl -w /sbin/reboot #审计特定命令

永久更新方式

vim /etc/audit/audit.rules

添加

-w /sbin/reboot -p x -k shutdown

#ausearch查看审计日志,有多种搜索条件

参数

说明

-k

基于key搜索

-f

基于文件名搜索

-i

以人类可读方式

-p

基于进程id搜索

-ui

基于user id搜索

-v

版本号

ausearch -i -k test #常用搜索

#生成简要报告

#aureport

centos7中为了让重启后修改的规则依然生效:augenrules --load

#读取/etc/audit/rules.d/*.rules的规则后重新加载规则,也就是说修改/etc/audit/rules.d/下的规则文件即可。再运行augenrules --load

日志文件目录:

/var/log/audit/audit.log

日志中重点字段:proctitle(这个字段就是执行的命令)

obj=system_u:object_r:etc_t:s0

目标的安全上下文

定义控制规则/etc/audit/audit.rules:

-D:删除所有之前的规则

-b 8192:设置缓冲区大小

-e 2:处于不可更改模式

修改成可修改模式,centos7中需要修改/etc/audit/rules.d/audit.rules这个文件,然后重启

-f 2:当发生错误时panic

-r 100:每秒最多产生100条信息

注意:用 auditctl 添加审计规则是临时的,立即生效,但是系统重启失效。重启仍然有效,需要在 /etc/audit/audit.rules 文件中添加规则,然后重启服务:

service auditd restart 或者 service auditd reload

ssh日志审计_系统日志说明及audit审计系统相关推荐

  1. mysql 操作审计_利用mysql的audit审计功能记录用户操作信息

    mysql数据库中我们如果想记录用户的操作信息,可以通过audit审计功能来来实现.该功能是被自动触发的,在文件plugin_audit.h中可以看到比较详细的定义.在audit插件中,可控制的变量包 ...

  2. mysql 操作审计_【MySQL】MySQL审计操作记录

    server_audit是一款内嵌在mariadb的审计插件,在mysql中同样适用,主要用于记录用户操作 1.安装: 通过show variables like 'plugin_dir';查看你的插 ...

  3. python 财务报表审计_用Python来分析审计行业的这10年

    昨天我无意间发现了一个新大陆,激动万分. 和大家分享一下. 这就是TUSHARE PRO 它是什么,其实它是一个免费的数据接口,也可以说是量化交易终端平台. https://tushare.pro/r ...

  4. ssh日志审计_信息安全工程师(第二版)章十二:网络安全审计技术原理与应用...

    一.网络安全审计概述 1-1 网络安全审计概念 概念:对网络信息系统的安全相关活动信息进行获取.记录.存储.分析和利用的工作. 作用:建立"事后"安全保障措施,保存网络安全事件及行 ...

  5. linux 0755,linux audit审计(7-1)--读懂audit日志

    auid=0 auid记录Audit user ID,that is the loginuid.当我使用lbh用户登录系统时,再访问audit_test,此时记录的auid为1001,具体日志如下: ...

  6. 开源日志审计系统_一文掌握mysql数据库审计特点、实现方案及审计插件部署教程...

    概述 数据库审计(简称DBAudit)能够实时记录网络上的数据库活动,对数据库操作进行细粒度审计的合规性管理,对数据库遭受到的风险行为进行告警,对攻击行为进行阻断.它通过对用户访问数据库行为的记录.分 ...

  7. RHEL 7系统审计、系统日志文件、服务安全及打补丁 AIDE 系统入侵检测

    一.RHEL 7系统审计 审计的目的:基于事先配置的规则生成日志,记录可能发生在系统上的事件(正常或者非正常),审计不会为系统提供额外的安全保护,但是它会发现和记录违反安全策略的人及其对应行为. 审计 ...

  8. 使用Audit审计服务排查linux终端异常关机问题

    目录 [基本信息] [问题描述] [定位过程] 1,整理规律如下 2,部署audit审计服务定位问题 3,定位后期 [问题原因] [问题解决] [问题小结] 附录 1,audit审计服务部署脚本及其安 ...

  9. Linux系统.xsesion日志文件,linux系统日志

    ##日志记录系统每天发生的各种各样的事情,比如监控系统的状况,排查系统的故障等.你可以通过日志来检查错误发生的原因,或者受到***时留下的痕迹.日志的主要功能是审计和监测,还有实时的监测系统状态,监测 ...

最新文章

  1. Ubuntu 14.04上使用CMake编译MXNet源码操作步骤(C++)
  2. c++中的 extern C
  3. Mule3用户手册:Mule ESB 3使用要点
  4. 精选案例 | “虫虫音乐”如何做到搜索CTR提高150%
  5. P3700 [CQOI2017]小Q的表格(反演、分块)
  6. 对于内向、不善于社交的人来说,如何建立人脉?
  7. 零基础入门Python数据分析,只需要看懂这一张图,附下载链接!
  8. iOS中锁定屏幕的方法
  9. Linux内核实验要注意的地方
  10. 为什么说社区团购进行得如火如荼?
  11. Java连接Redis (key-value存储系统)
  12. Java json与object互转
  13. java jdk 文档下载_JDK8 API文档(下载)
  14. Oracle中文乱码
  15. php私有云盘,教你搭建个人/企业私有云盘-kodexplorer
  16. vue实现图片预加载的几种方式
  17. 前端工程师的 caniuse
  18. Turbo C的图形系统
  19. ant man 什么意思_ant是什么意思中文翻译
  20. java毕业设计牙科诊所管理系统Mybatis+系统+数据库+调试部署

热门文章

  1. 微信小程序:星际旅行飞船乘坐票制作生成
  2. spark原理参数调优
  3. 使用wpf引入资源文件,RichTestBox加载rtf文件
  4. hive 指定字段插入数据_为hive增加列存储
  5. 沟通不畅、管理不便、效率低下......君子签电子签约助力企业高效办公、业务不停
  6. 白话易经·杂卦传- -
  7. 爷爷问:百万级的路由器和家里的有什么不同?
  8. YGG 联合创始人 Beryl Li 在达沃斯世界经济论坛上进行发言
  9. Ubunut中文网站
  10. 如何让你的 JS 写得更漂亮