1526 字
8 分钟
Linux 日志审计

Linux日志审计#

Linux日志分类#

内核及系统日志
✓由系统syslog统一进行管理,日志格式基本相似
用户日志
✓记录系统用户登录及退出系统的相关信息
程序日志
✓由各种应用程序独立管理的日志文件,记录格式不统一(如http)

日志功能#

用于记录系统、程序运行中发生的各种事件
通过阅读日志,有助于诊断和解决系统故障

日志服务配置文件#

vim /etc/rsyslog.conf
authpriv.* [服务名].[日志级别]
日志消息的级别
0 EMERG(紧急):会导致主机系统不可用的情况
1 ALERT(警告):必须马上采取措施解决问题
2 CRIT(严重):比较严重的情况
3 ERR(错误):运行出现错误
4 WARNING (提醒):可能会影响系统功能的事件
5 INFO(信息):一般信息
6 DEBUG(调试):程序或系统调试信息等

tail#

tail 文件名 //查看文件末尾10行内容(默认)
tail -n 30 文件名 //查看文件末尾30行内容
tail -f 文件名 //输出文件末尾行,当文件有追加时,会输出后续添加的行,不中断输出,除非ctrl+c中断
tail -f file.log | grep “关键字” //输出文件末尾包含关键字的行,当文件有追加时,会输出后续添加的行,不
中断输出,除非ctrl+c中断
tail -n 100 file.log | grep “关键字” # 输出文件的后100行中包含的关键字的行(-n 100即 –lines=100)
tail -n 100 file.log | grep “关键字” -A10 # 输出文件的后100行中包含关键字的行和该行的后10行
tail -n 100 file.log | grep “关键字” -B10 # 输出文件的后100行中包含关键字的行和该行的前10行
tail -n 100 file.log | grep “关键字” –B10-A10 # 输出文件的后100行中包含关键字的行和该行的前后10行

日志保存位置:默认位于/var/log目录下

more --- 单页查看

cat --- 一次性查看全部内容

日志记录的一般格式
Jan 27 02:37:19 OS5 sshd[3120]: Accepted password for zf from 192.168.81.1 port 51674 ssh2
时间标签 主机名 子系统 消息字段

用户日志文件#

◼保存了用户登录、退出系统等相关信息
/var/log/lastlog:最近的用户登录事件
/var/log/wtmp:用户登录、注销及系统开、关机事件
/var/log/utmp:当前登录的每个用户的详细信息
/var/log/secure:与用户验证相关的安全性事件
◼分析工具
users、who、w、last、lastb
last --- 用户登录成功 --- wtmp
lastb --- 用户登录失败 --- btmp
/var/log/btmp 记录错误登录日志,这个文件是二进制文件,不能直接vi查看,而要使用lastb命令查看
/var/log/lastlog 记录系统中所有用户最后一次登录时间的日志,这个文件是二进制文件,不能直接vi,而要使用lastlog命令查看
/var/log/wtmp 永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。同样这个文件也是一个二进制文件,不能直接vi,而需要使用last命令来查看
/var/log/utmp 记录当前已经登录的用户信息,这个文件会随着用户的登录和注销不断变化,只记录当前登录用户的信息。同样这个文件不能直接vi,而要使用w,who,users等命令来查询
★/var/log/secure 记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中

程序日志分析#

例:http

yum -y install httpd //安装服务
systemctl start httpd //启动服务
默认网页根目录:/var/www/html
日志位置:/var/log/httpd
access_log,error_log
◼ 由相应的应用程序独立进行管理
Web服务:/var/log/httpd
✓ access_log、error_log
代理服务:/var/log/squid
✓ access.log、cache.log
FTP服务:/var/log/xferlog
◼ 分析工具
文件查看、grep过滤检索、Webmin管理套件中查看
awk、sed等文本过滤、格式化编辑工具
Webalizer、Awstats等专用日志分析工具

日志文件#

★/var/log/message 记录系统重要信息的日志。这个日志文件中会记录Linux系统的绝大多数重要信息,如果系统出现问题时,首先要检查的就应该是这个日志文件
/var/log/boot.log -> 包含系统启动时的日志
/var/log/utmp -> 包含登录退出信息
/var/log/secure -> 包含验证和授权信息
/var/log/dpkg.log -> 包含安装或dpkg命令清除软件包的日志
/var/log/kern.log -> 包含内核产生的日志,有助于在定制内核时解决问题
/var/log/Xorg.x.log -> 来自X的日志信息
/var/log/alternatives.log -> 更新替代信息都记录在这个文件中
/var/log/cups -> 涉及所有打印信息的日志
/var/log/anaconda.log -> 在安装Linux时,所有安装信息都储存在这个文件中
/var/log/yum.log -> 包含使用yum安装的软件包信息
/var/log/cron -> 每当cron进程进行一个工作,就会将相关信息记录在此文件中
/var/log/dmesg 记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息
/var/log/mailog 记录邮件信息
内核及公共消息日志 • /var/log/messages
计划任务日志 • /var/log/cron
系统引导日志 • /var/log/dmesg
邮件系统日志 • /var/log/maillog
用户登录日志
• /var/log/lastlog
• /var/log/secure
• /var/log/wtmp
• /var/log/btmp
日志记录的一般格式
Jan 27 02:37:19 OS5 sshd[3120]: Accepted password for zf from 192.168.81.1 port 51674 ssh2
时间标签 主机名 子系统 消息字段

日志服务器#

安全设备:日志审计系统

  • 被登录的服务器 --- 外发日志#

vi /etc/rsyslog.conf
*.* @@remote-host:514
服务.级别
@@ --- TCP
@ --- UDP
remote-host:接收日志的IP地址
authpriv.* @@20.20.20.1:514
systemctl restart rsyslog
  • 日志服务器 --- 接收日志#

vi /etc/rsyslog.conf
:fromhost-ip,isequal,"外发日志的IP"/var/log/CLIENT/20.20.20.2.log
fromhost-ip:从哪个IP接收日志
isequal:包含信息
systemctl restart rsyslog
Linux 日志审计
https://wangyi187.top/posts/os-17-linux-audit/
作者
WangYi
发布于
2024-07-27
许可协议
CC BY-NC-SA 4.0