×

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

池文强 153

{{ttag.title}}
操作系统有4个安全目标,也就是说想要保证操作系统的安全,就必须实现这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 auditd 或 service 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 crond 或 service 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。

字段解析:

Username:用户名
Port:端口,或者叫登录方式,pts表示伪终端,比如用xshell远程连接;tty表示串口终端,比如本地登录或用显示器登录。
From:登录使用的源IP
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、登录/退出时间。

打赏鼓励作者,期待更多好文!

打赏
1人已打赏

牛风喜 发表于 2024-4-29 09:37
  
每日一积累慢慢变专家
发表新帖
热门标签
全部标签>
每日一问
技术盲盒
干货满满
每周精选
技术笔记
标准化排查
新版本体验
GIF动图学习
技术咨询
技术晨报
产品连连看
安装部署配置
信服课堂视频
功能体验
玩转零信任
2023技术争霸赛专题
通用技术
自助服务平台操作指引
答题自测
秒懂零信任
技术圆桌
在线直播
问题分析处理
每日一记
用户认证
解决方案
畅聊IT
专家问答
MVP
网络基础知识
升级
安全攻防
上网策略
测试报告
日志审计
流量管理
运维工具
云计算知识
原创分享
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
深信服技术支持平台
社区帮助指南
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播

本版版主

9
16
2

发帖

粉丝

关注

124
72
30

发帖

粉丝

关注

25
7
0

发帖

粉丝

关注

69
35
2

发帖

粉丝

关注

6
14
0

发帖

粉丝

关注

15
9
5

发帖

粉丝

关注

本版达人