openEuler:日志管理

news2024/9/21 4:25:58

日志介绍

概述

系统日志是一系列用于记录系统操作和活动进行的文件,这些日志对于监控和排查系统问题非常重要,因为它们可以提供有关系统行为、应用活动和安全事件的见解。系统日志还可以成为识别 Linux 系统中潜在安全弱点和漏洞的重要信息来源。通过分析目标系统上的日志,我们可以深入了解系统行为、网络活动和用户活动,并利用这些信息识别任何异常活动,例如未经授权的登录、攻击尝试、明文凭据或异常的文件访问,这些都可能表明潜在的安全漏洞.

日志的分类

kernel logs

这些日志包含系统内核的相关信息,例如:硬件驱动,系统调用和内核事件

System logs

系统日志包含系统级别事件的信息,例如:服务的开启与停止,登录尝试和系统重启,通过监测这些日志,我们可以检测到系统中任何可能的访问或活动

Authentication logs

这些日志存储着用户尝试登录的认证信息(成功或者失败)

Feb 28 2024 18:15:01 sshd[5678]: Accepted publickey for admin from 10.14.15.2 port 43210 ssh2: RSA SHA256:+KjEzN2cVhIW/5uJpVX9n5OB5zVJ92FtCZxVzzcKjw
Feb 28 2024 18:15:03 sudo:   admin : TTY=pts/1 ; PWD=/home/admin ; USER=root ; COMMAND=/bin/bash
Feb 28 2024 18:15:05 sudo:   admin : TTY=pts/1 ; PWD=/home/admin ; USER=root ; COMMAND=/usr/bin/apt-get install netcat-traditional
Feb 28 2024 18:15:08 sshd[5678]: Disconnected from 10.14.15.2 port 43210 [preauth]
Feb 28 2024 18:15:12 kernel: [  778.941871] firewall: unexpected traffic allowed on port 22
Feb 28 2024 18:15:15 auditd[9876]: Audit daemon started successfully
Feb 28 2024 18:15:18 systemd-logind[1234]: New session 4321 of user admin.
Feb 28 2024 18:15:21 CRON[2345]: pam_unix(cron:session): session opened for user root by (uid=0)
Feb 28 2024 18:15:24 CRON[2345]: pam_unix(cron:session): session closed for user root

在这个例子中,我们可以看到在第一行中,用户admin成功使用公钥进行身份验证。此外,我们还可以看到该用户属于sudoers组,因为他可以使用sudo执行命令。内核消息表明端口22上允许了意外的流量,这可能意味着潜在的安全漏洞。之后,我们看到systemd-logind为用户"admin"创建了一个新会话,并且root用户的一个cron会话已打开并关闭。

Application logs

这类日志范围比较广泛,包括了各种在系统上运行的程序生成的日志

openEuler 中的常用系统日志

  • dmesg
    主要记录系统在开机时内核检测过程所产生的信息, 通过执行dmesg命令查看。

  • /var/log/wtmp or /var/log/faillog
    这两个文件可以记录正常登陆系统的账户信息(wtmp),与错误登陆时所使用的账户信息(faillog)。last命令就是读取wtmp文件来获取的。

  • /var/log/btmp
    记录错误登录日志, 这个文件是二进制的,不能使用cat命令查看,而要使用lastb命令查看。

  • /var/run/utmp
    记录当前一登录的用户的信息,同样不能使用cat命令查看,而要使用w, who, users命令来查询。

  • /var/log/lastlog
    记录了系统上面所有账户最近一次登陆系统的相关信息,lastlog命令就是读取这个文件里的记录来显示的。

  • /var/log/secure
    只要涉及到需要用户名和密码的操作, 那么当登陆系统是(不论正确错误),都会记录到这里。

  • /var/log/messages
    这个文件非常重要, 几乎系统发生的错误信息,或者重要信息都会被记录在这里。

  • /var/log/cron
    主要记录关于crontab计划任务的相关信息, 比如,系统计划任务的错误配置, 计划任务的修改等。

  • /var/log/maillog or /var/log/mail/
    记录着邮件的往来信息, 默认是postfix邮件服务器的某些信息。

日志管理

rsyslog

rsyslog 是一种增强版的系统日志守护程序,用于大多数 Linux 发行版上处理系统日志。它能够接收日志消息、过滤和解析日志内容,并将其保存到本地日志文件或通过网络发送到远程日志服务器
官方指导文档

日志设施(facility)

就是对日志信息分类,将不同类别的日志记录到不同的位置
常见的日志设施:

日志类别描述
authPAM认证相关日志
authprivSSH、FTP登录相关日志
cron任务计划相关日志
daemon守护进程相关日志
kern内核相关日志
lpr打印相关日志
mail邮件相关日志
mark标记记号相关日志
news新闻相关日志
security安全相关日志,与auth类似
syslogrsyslog自己的日志
user用户相关日志
uucpUNIX to UNIX cp相关日志
local0 ~ local7用户自定义使用设置日志

PS:定义日志级别的时候可以使用通配符,比如,* 表示全部级别; 表示多个级别(debug,info,notice);! 表示某个级别除外;= 表示仅仅某个级别的日志

日志级别
  1. debug:调试级别(程序调试信息)
  2. info:通知消息(程序的正常输出)
  3. notice:注意级别(程序可能有错误)
  4. warning:警告级别(警告错误)
  5. error:错误级别
  6. crit:严重错误级别
  7. alter:发出严重报警级别
  8. emerg:系统级别故障,会导致系统不可用的严重信息

logrotate 日志转储服务

logrotate 是一个方便的日志管理工具,随着时间的推移,日志文件会越来越多,占用磁盘空间越来越大,但是我们又需要使用日志来定位故障,logrotate 就按照时间/大小将日志文件压缩,并且定期清理时间久远的日志,以节省我们的磁盘空间,并且减少了手动操作。

logrotate 的简单介绍

系统定时运行

openEuler 等常见的 Linux 发行版中默认安装 logrotate,并且在 crontab 中确定了定时运行,我们可以 cat /etc/cron.daily/logrotate 查看定时运行程序
image.png

配置 logrotate

样例

/var/log/messages {
    rotate 5
    weekly
    postrotate
        /usr/bin/killall -HUP syslogd
    endscript
}

常见配置参数

  • daily :指定转储周期为每天
  • weekly :指定转储周期为每周
  • monthly :指定转储周期为每月
  • rotate count :指定日志文件删除之前转储的次数,0 指没有备份,5 指保留 5 个备份
  • tabooext [+] list:让 logrotate 不转储指定扩展名的文件,缺省的扩展名是:.rpm-orig, .rpmsave, v, 和~
  • missingok:在日志轮循期间,任何错误将被忽略,例如 “文件无法找到” 之类的错误。
  • size size:当日志文件到达指定的大小时才转储,bytes (缺省) 及 KB (sizek) 或 MB (sizem)
  • compress: 通过 gzip 压缩转储以后的日志
  • nocompress: 不压缩
  • copytruncate:用于还在打开中的日志文件,把当前日志备份并截断
  • nocopytruncate: 备份日志文件但是不截断
  • create mode owner group : 转储文件,使用指定的文件模式创建新的日志文件
  • nocreate: 不建立新的日志文件
  • delaycompress: 和 compress 一起使用时,转储的日志文件到下一次转储时才压缩
  • nodelaycompress: 覆盖 delaycompress 选项,转储同时压缩。
  • errors address : 专储时的错误信息发送到指定的 Email 地址
  • ifempty :即使是空文件也转储,这个是 logrotate 的缺省选项。
  • notifempty :如果是空文件的话,不转储
  • mail address : 把转储的日志文件发送到指定的 E-mail 地址
  • nomail : 转储时不发送日志文件
  • olddir directory:储后的日志文件放入指定的目录,必须和当前日志文件在同一个文件系统
  • noolddir: 转储后的日志文件和当前日志文件放在同一个目录下
  • prerotate/endscript: 在转储以前需要执行的命令可以放入这个对,这两个关键字必须单独成行

更多信息请参考man logrotate帮助文档

参考文章

  • Linux日志系统-01:什么是rsyslog?
  • Linux日志切割神器logrotate原理介绍和配置详解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2087039.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[米联客-XILINX-H3_CZ08_7100] FPGA程序设计基础实验连载-20 I2C MASTER控制器驱动设计

软件版本:VIVADO2021.1 操作系统:WIN10 64bit 硬件平台:适用 XILINX A7/K7/Z7/ZU/KU 系列 FPGA 实验平台:米联客-MLK-H3-CZ08-7100开发板 板卡获取平台:https://milianke.tmall.com/ 登录“米联客”FPGA社区 http…

pyautogui通过图像获取定位实现计算器自动计算

使用 pyautogui.locateCenterOnScreen 能够在屏幕上搜索给定图像的位置,并准确地返回该图像的中心点坐标。 🌿使用 pyautogui 实现计算器自动计算 准备工作,把计算器的按钮截图保存下来。例如: 计算“75”,实现代码如…

【网络】WebSocket协议详解

WebSocket协议详解 一 、WebSocket 诞生背景二、WebSocket 特点三、WebSocket 的握手环节四、WebSokect 的数据格式1、 第一个字节2、第二个字节3、Masking-key4、playload Data5、一些注意细节 WebSocket 的官方文档 WebSocket 的中文文档(非官方) 一 、WebSocket 诞生背景 在…

深度学习基础—简单的卷积神经网络

3.1.卷积层 下面以卷积神经网络的某一层为例,详解一下网络的结构。 假设当前位于l层,则输入6*6*3的彩色图片,有两个3*3*3的过滤器,卷积操作后将输出2个4*4的图片。如果把过滤器看成权重w,卷积这一步操作其实就是w*a&am…

消息称华为纯血鸿蒙部分应用采用虚拟机方案

华为预计在11月发布正式版纯血鸿蒙,为了能够适配更多的App,官方也是有了新的解决方案。报道中提到,纯血鸿蒙设备对有些还没上架的应用会使用虚拟机方案过渡。据悉,华为的虚拟机方案作为过渡措施,首先能确保用户在鸿蒙系…

概率论与编程的联系及数据科学应用

目录 引言 第一章 概率模拟与编程实现 1.1 随机数生成与蒙特卡罗模拟 1.1.2 蒙特卡罗模拟 第二章 统计建模与数据分析 2.1 统计模型实现 2.2 概率图模型 第三章 概率论在机器学习中的应用 3.1 随机森林与决策树 3.2 贝叶斯分类器 总结与展望 引言 在大数据和人工智…

学习node.js 十 redis的基本语法

redis Redis(Remote Dictionary Server)是一个开源的内存数据结构存储系统,它提供了一个高效的键值存储解决方案,并支持多种数据结构,如字符串(Strings)、哈希(Hashes)、…

素数之和(c语言)

1./描述 //牛牛刚刚学了素数的定义:素数值指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数 //牛牛想知道在[l, r] 范围内全部素数的和 //输入描述: //输入两个正整数 l,r 表示闭区间范围 //输出描述: //…

sqli-labs靶场通关攻略 46-50

主页有sqli-labs靶场通关攻略 1-45 第四六关 less-46 步骤一:利用报错注入查询库 ?sort1 and updatexml(1,concat(0x7e,database(),0x7e),1) 步骤二:查询表名 ?sort1 and updatexml(1,concat(0x7e,(select group_concat(table_name)from informatio…

如何通过日志或gv$sql_audit,分析OceanBase运行时的异常SQL

本文作者:郑增权,爱可生 DBA 团队成员,OceanBase 和 MySQL 数据库技术爱好者。本文约 2000 字,预计阅读需要 8 分钟。 简介 在 OCP 云平台的 Top SQL 界面中,能观察到异常SQL,但这些SQL并未明确显示具体的…

防泄密的方法都有哪些?

一、防泄密的方法都有哪些?使用安全通讯工具:采用加密通讯工具,确保敏感信息在传输过程中不被窃取或篡改。定期安全审计:对系统和数据进行定期的安全审计和检查,发现潜在的泄密风险并及时处理。文件加密:对…

光伏电站的施工步骤

施工准备:在施工前,需要进行现场勘查,了解施工场地的地形、地貌、气候等情况,制定施工方案和安全措施。同时,还需要准备好施工所需的材料和设备,如光伏组件、支架、电缆、逆变器等 。基础施工:根…

“面试宝典:高频算法题目详解与总结”

干货分享,感谢您的阅读! (暂存篇---后续会删除,完整版和持续更新见高频面试题基本总结回顾(含笔试高频算法整理)) 备注:引用请标注出处,同时存在的问题请在相关博客留言…

鸿蒙Harmony开发实战:自定义圆形组件-Canvas

在采用Java配合xml布局编写鸿蒙app页面的时候,发现sdk自带的Image组件并不能将图片设置成圆形,反复了翻阅了官方API手册(主要查阅了Compont和Image相关的API),起初发现了一个setCornerRadius方法,于是想着将…

高职院校人工智能训练师边缘计算实训室建设方案

一、引言 随着人工智能技术的飞速发展,边缘计算在提升数据处理效率、降低延迟、保护数据安全等方面展现出巨大潜力。高职院校作为技能型人才培养的重要基地,建设人工智能训练师边缘计算实训室,旨在培养掌握前沿技术、具备实战能力的复合型人才…

pnpm国内源设置

一、背景 在国内使用pnpm时,由于网络问题,经常会遇到速度慢或无法访问的问题。为了提高效率,可以将pnpm的源设置为国内的镜像源。以下是一些常用的国内pnpm镜像源以及如何设置它们的方法。 二、国内可用源 2.1 淘宝pnpm源 https://registry…

神经网络卷积层

一、卷积操作 对应位置相乘相加,最终组成一个新的矩阵,实现了降维。 二、代码 import torch import torchvision from torch import nn from torch.nn import Conv2d from torch.utils.data import DataLoaderdataset torchvision.datasets.CIFAR10(&…

三级_网络技术_54_应用题

一、 请根据下图所示网络结构回答下列问题。 1.填写路由器RG的路由表项。 目的网络/掩码长度输出端口__________S0(直接连接)__________S1(直接连接)__________S0__________S1__________S0__________S1 2.如果将10.10.67.128/2…

C++----简单了解vector

大家好,今天我们来讲讲与string相似的向量类型。之所以说他们是相似的原因是他们其中的数据类型有些效果都是一样的。当然大家不能说,既然是差不多的干嘛还有一个这个啊。不如直接用string就可以了。当然世界名言存在即合理。既然我们都能想到的东西&…

Docker 部署 net6 webapi项目

摘要:记录 net6 webapi 项目在 docker 上部署步骤,方便自己后面查看,也方便他人学习。 1. 创建 webapi 项目 点击创建新项目 选择 ASP.NET Core Web API 项目,点击下一步。 给项目命名,然后勾选将解决方案和项目放在同…