操作系统安全:Linux安全审计,Linux日志详解

「作者简介」:2022年北京冬奥会网络安全中国代表队,CSDN Top100,就职奇安信多年,以实战工作为基础对安全知识体系进行总结与归纳,著作适用于快速入门的 《网络安全自学教程》,内容涵盖系统安全、信息收集等12个知识域的一百多个知识点,持续更新。

操作系统有4个安全目标,也就是说想要保证操作系统的安全,就必须实现这4个需求:

  1. 标识系统中的用户和进行身份鉴别。
  2. 依据系统安全策略对用户的操作进行访问控制,防止用户和外来入侵者对计算机资源的非法访问。
  3. 审计系统运行的安全性。
  4. 保证系统自身的安全性和完整性。

安全审计就是用来实现这些需求的安全机制之一。

这一章节需要直到Linux通过哪些日志来做安全审计,日志的格式以及日志内容是什么意思。

Linux日志

  • audit.log
  • boot.log
  • btmp
  • cron
  • dmesg
  • lastlog
  • maillog
  • messages
  • secure
  • wtmp

Linux使用日志文件记录系统事件,实现安全审计,日志由syslog进程记录。

Linux日志存放在 /var/log/

  • audit/audit.log:系统内核、用户进程的行为日志
  • boot.log:开机自检日志
  • btmp:登录失败日志
  • cron:计划任务日志
  • dmesg:内核自检日志
  • lastlog:最后一次登录日志
  • maillog:邮件收发日志
  • messages:内核和应用程序日志
  • secure:系统安全日志
  • wtmp:用户登录/退出、系统启停日志

日志很大,查看的时候太慢,可以使用grep、sed、awk命令查看日志。

audit.log

audit是Linux的审计日志,可以手动配置审计规则,需要启动 /sbin/auditd 进程。

  • ps -ef | grep auditd 查看进程状态。
  • systemctl status auditdservice auditd status 查看服务状态。

使用 auditctl 配置审计规则。

  • auditctl -l 查看审计规则。
  • auditctl -w /home/tom/ -k tom_audit 审计/home/tom/目录下的所有文件操作,标记为tom_audit关键字

使用 ausearch 查看审计日志。本质是搜索 /var/log/audit/audit.log.

  • ausearch -ui 0 根据用户uid搜索
  • ausearch -p 1779 根据进程pid搜索
  • ausearch -f /home/tom/text.txt 根据文件路径搜索

在这里插入图片描述

boot.log

记录系统在引导过程中发生的事件,也就是Linux系统开机自检过程显示的信息。

日志存放在 /var/log/boot.log

在这里插入图片描述

btmp

记录用户登录失败的信息,常用来排查爆破信息。

日志存放在/var/log/btmp ,是二进制文件,可以用lastb命令查看。

在这里插入图片描述
日志字段从左到右依次是:登录用户、登录方式、登录源IP、登录时间。

lastb | awk '{print $3}' |sort| uniq -c | sort -n 过滤IP登录次数

cron

cron是计划任务日志,需要启动 /usr/sbin/crond 进程

  • ps -ef | grep crond 查看进程状态
  • systemctl status crondservice crond status 查看服务状态

使用 crontab 配置计划任务。

  • crontab -l 查看计划任务
  • crontab -e 编辑计划任务,本质上是在 /var/spool/cron/root文件中写计划任务。
  • crontab -r 清空计划任务,如果只删除某条计划任务,用crontab -e手动删除。

计划任务日志存放在 /var/log/cron ,可以直接查看。

在这里插入图片描述

日志类型重点看两种:

  • CROND 表示执行了计划任务
  • crontab 表示配置了计划任务

Apr 20 20:09:01 bogon CROND[3388]: (root) CMD (echo date >> /root/text.txt)

  • (root):执行计划任务的用户是root
  • CMD (echo date >> /root/text.txt):计划任务执行的内容。在这里插入图片描述

Apr 20 20:09:29 bogon crontab[3391]: (root) LIST (root)

  • (root) LIST (root):root用户查看了计划任务,也就是root用户执行了crontab -l。其他crontab类型的日志含义也是类似的逻辑。

root用户修改了计划任务,REPLACE表示计划任务被替换了。

在这里插入图片描述

root用户编辑了计划任务,但没修改。

在这里插入图片描述

dmesg

记录Linux内核日志,包括引导信息、硬件检测、设备驱动程序和系统错误等,用来追踪系统启动过程中的事件,排查故障和问题。

dmesg 查看内核日志,本质上是查看 /var/log/dmesg 文件。

dmesg | grep error 过滤错误日志。

在这里插入图片描述

lastlog

记录所有用户的最后一次登录信息,本质上是读取 /var/log/lastlog

在这里插入图片描述
字段解析:

  1. Username:用户名
  2. Port:端口,或者叫登录方式,pts表示伪终端,比如用xshell远程连接;tty表示串口终端,比如本地登录或用显示器登录。
  3. From:登录使用的源IP
  4. Lastest:最近的登录时间。Never logged in 表示从未登录过。

lastlog -u root 查看指定用户的最后登录信息

maillog

记录邮件日志,比如收发邮件。日志保存在 /var/log/maillog

在这里插入图片描述

messages

记录系统操作和事件,用来监控和调试系统运行情况,日志保存在 /var/log/messages

在这里插入图片描述
字段从左到右依次是:时间、主机名、服务/进程名、进程PID、日志信息。

secure

记录系统安全日志,比如SSH登录、sudo使用等信息,日志保存在 /var/log/secure

在这里插入图片描述

字段从左到右依次是:时间、主机名、服务/进程名、进程PID、日志信息。

wtmp

记录用户登录/推出和系统开机日志。

使用 last 查看日志,本质上是读取 /var/log/wtmp

在这里插入图片描述

从左到右字段依次是:用户名、登录方式(pts远程,tty本地)、登录的源IP、登录/退出时间。

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

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

相关文章

区块链技术与应用学习笔记(10-11节)——北大肖臻课程

目录 10.分岔 ①什么是分叉? ②导致分叉的原因? ③在比特币新共识规则发布会会导致什么分叉? 什么是硬分叉? 硬分叉例子? 什么是软分叉? 软分叉和硬分叉区别? 软分叉实例 11.问答 转…

【从后端日志文件中过滤出sql语句】

从后端日志文件中过滤出sql语句 why?思路日志文件的格式 结果 why? 为什么会有这种需求?,mysql数据不小心被删了完全可以从备份数据恢复,或者从binlog中恢复,但是如果前面这两种方法没办法处理(没有备份数据库文件、…

科技云报道:走入商业化拐点,大模型“开箱即用”或突破行业困局

科技云报道原创。 大模型加速狂飙,AI商业化却陷入重重困境。 一方面,传统企业不知道怎么将AI融入原始业务,另一方面,AI企业难以找到合适的商业化路径。 纵观海外AI玩家,已经有许多企业趟出了自己的商业化道路。 微…

59、回溯-括号生成

思路: 括号是成对出现,首先左括号可以放n个,右括号也可以放n个。如果当前左括号放了3了,右括号放了4个,错了,如果左括号放了5个,右括号放了4个。可以,继续放右括号即可。所以可以设…

贪吃蛇项目实践!(上)

大家好,今天我带着大家从0构建起贪吃蛇项目的高楼大厦~ 要实现这个游戏,我们需要实现哪些功能呢? 实现基本的功能: • 贪吃蛇地图绘制 • 蛇吃⻝物的功能(上、下、左、右⽅向键控制蛇的动作) • 蛇撞墙死…

matlab保存示波器数据

再重新运行一下示波器 然后就可以在工作区看见(这里没有运行所以没有) 将保存到文件夹中方便后续绘图

华为云FunctionGraph构建高可用系统的实践

导语 每年,网上都会报道XXX系统异常不可用,给客户带来巨大的经济损失。云服务的客户基数更大,一旦出现问题,都将给客户和服务自身带来极大影响。本文将基于华为云FunctionGraph自身的实践,详细介绍如何构建高可用的Se…

权威认证!瀚高股份IvorySQL通过强制性国标GB18030-2022最高级别认证

近日,GB 18030-2022《信息技术 中文编码字符集》应用推广大会暨“汉字守护计划”成果发布会在京召开。瀚高股份开源关系型数据库IvorySQL通过 GB 18030-2022《信息技术 中文编码字符集》强制性国家标准测试,达到最高实现级别(3级)…

基于springboot实现海滨学院班级回忆录的设计项目【项目源码+论文说明】计算机毕业设计

基于springboot实现海滨学院班级回忆录的设计演示 摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了海滨学院班级回忆录的开发全过程。通过分析海滨学院班级回忆录管理的不足,创建了一个计算机管理海…

【Pytorch】(十五)模型部署:ONNX和ONNX Runtime

文章目录 (十五)模型部署:ONNX和ONNX RuntimeONNX 和 ONNX Runtime的关系将PyTorch模型导出为ONNX格式使用Netron可视化ONNX模型图检查ONNX模型验证ONNX Runtime推理结果使用ONNX Runtime运行超分模型 (十五)模型部署&…

第十五届蓝桥杯省赛第二场C/C++B组D题【前缀总分】题解(AC)

暴力解法 O ( 26 n 5 ) O(26n^5) O(26n5) 枚举将第 i i i 个字符串的第 j j j 个字符改为 c c c 的所有方案,时间复杂度 O ( 26 n 2 ) O(26n^2) O(26n2),修改并计算总分, O ( n 3 ) O(n^3) O(n3)。 暴力优化 O ( 26 n 3 log ⁡ n ) O…

基于Python实现心脏病数据可视化DEA+预测【500010103.1】

一、数据说明 该心脏病数据集是通过组合 5 个已经独立可用但以前未合并的流行心脏病数据集来策划的。在这个数据集中,5 个心脏数据集结合了 11 个共同特征,使其成为迄今为止可用于研究目的的最大心脏病数据集。 该数据集由 1190 个实例和 11 个特征组成…

《第二行代码》第二版学习笔记(6)——内容提供器

文章目录 一 运行时权限2.权限分类3 运行时申请权限 二、内容提供器1、 ContentResolver的基本用法2、现有的内容提供器3、创建自己的内容提供器2.1 创建内容提供器的步骤2.2 跨程序数据共享 内容提供器(Content Provider)主要用于在不同的应用程序之间实…

Python | Leetcode Python题解之第52题N皇后II

题目: 题解: class Solution:def totalNQueens(self, n: int) -> int:def backtrack(row: int) -> int:if row n:return 1else:count 0for i in range(n):if i in columns or row - i in diagonal1 or row i in diagonal2:continuecolumns.add…

【VsCode】使用VsCode学习VUE+TS必备插件

目录标题 《Auto Close Tag》💕《Auto Rename Tag》💕《Path Intellisense》《Open in Browser》💕《IntelliCode》《Vue-Official》💕《Prettier - Code formatter》💕《ESLint》💕 《Auto Close Tag》&am…

Docker镜像的创建 和 Dockerfile

一. Docker 镜像的创建 创建镜像有三种方法,分别为基于已有镜像创建、基于本地模板创建以及基于 Dockerfile 创建。 1 基于现有镜像创建 (1)首先启动一个镜像,在容器里做修改docker run -it --name web3 centos:7 /bin/bash …

maven修改默认编码格式为UTF-8

执行mvn -version查看maven版本信息发现,maven使用的编码格式为GBK。 为什么想到要修改编码格式呢?因为idea中我将文件格式统一设置为UTF-8(如果不知道如何修改文件编码,可以参考文末),然后使用maven打包时…

docker 和 docker-compose的区别

Docker 和 Docker Compose 是两个相关但具有不同功能的工具,它们在容器化应用的生命周期管理中扮演不同的角色: Docker: Docker 是一个开源的应用容器引擎,它允许开发者打包应用及其依赖包到一个可移植的容器中,这样…

ESP32与SD卡交互实现:文件读写实战与初始化详解及引脚定义

本代码实现ESP32与SD卡的交互,包括定义SPI引脚、创建自定义SPI类实例、编写WriteFile与ReadFile函数进行文件读写。setup函数初始化串口、SPI、SD卡,向“/test.txt”写入“myfirstmessage”,读取并打印其内容。loop函数留空待扩展。 1. 需要…

Lock-It for Mac(应用程序加密工具)

OSXBytes Lock-It for Mac是一款功能强大的应用程序加密工具,专为Mac用户设计。该软件具有多种功能,旨在保护用户的隐私和数据安全。 Lock-It for Mac v1.3.0激活版下载 首先,Lock-It for Mac能够完全隐藏应用程序,使其不易被他人…