Linux日志审计

1
日志的存放路径 ---- /var/log

1 日志分类

1
2
3
4
5
6
7
日志文件的分类
内核及系统日志
由系统rsyslog统一进行管理,日志格式基本相似
用户日志
记录系统用户登录及退出系统的相关信息
程序日志
由各种应用程序独立管理的日志文件,记录格式不统一

2 日志功能

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

3 常用的查看日志命令

1
2
3
4
5
6
7
cat/vim(vi)

more/less --- q退出 空格下一页 b上一页

tail/head --- 显示最后10行的信息/显示开头10行的信息

- tail -f 日志文件 //实时查看日志文件的信息追加

4 日志文件保存位置和文件介绍

4.1 主要日志

1
2
3
4
5
6
7
8
9
10
11
12
13
☆内核及公共消息日志
/var/log/messages
计划任务日志
/var/log/cron
系统引导日志
/var/log/dmesg
邮件系统日志
/var/log/maillog
☆用户登录日志
/var/log/lastlog
/var/log/secure
/var/log/wtmp
/var/log/btmp
1
2
日志默认存放位置:/var/log/
查看日志配置情况:more /etc/rsyslog.conf
日志文件 描述
/var/log/cron 记录了系统定时任务相关的日志
/var/log/cups 记录打印信息的日志
/var/log/dmesg 记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息
/var/log/mailog 记录邮件信息
/var/log/message 记录系统重要信息的日志。这个日志文件中会记录Linux系统的绝大多数重要信息,如果系统出现问题时,首先要检查的就应该是这个日志文件
/var/log/btmp 记录错误登录日志,这个文件是二进制文件
/var/log/lastlog 记录系统中所有用户最后一次登录时间的日志,这个文件是二进制文件
/var/log/wtmp 永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。同样这个文件也是一个二进制文件
/var/log/utmp 记录当前已经登录的用户信息,这个文件会随着用户的登录和注销不断变化,只记录当前登录用户的信息。同样这个文件不能直接vi,而要使用w,who,users等命令来查询
/var/log/secure 记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中
1
2
3
4
5
6
7
8
9
10
11
/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进程进行一个工作,就会将相关信息记录在此文件中
1
2
3
4
日志信息的管理 --- rsyslog服务
vim /etc/rsyslog.conf
authpriv.* /var/log/secure
服务.级别 日志存放处

4.2 日志消息的级别

1
2
3
4
5
6
7
8
9
10
日志消息的级别
0 EMERG(紧急):会导致主机系统不可用的情况
- logger -p EMERG "yuhuang laile" --- 全局广播
1 ALERT(警告):必须马上采取措施解决问题
2 CRIT(严重):比较严重的情况
3 ERR(错误):运行出现错误
4 WARNING (提醒):可能会影响系统功能的事件
5 INFO(信息):一般信息
6 DEBUG(调试):程序或系统调试信息等
- none 不记录任何信息

5 日志记录的一般格式

1
2
Aug 29 09:45:47 os61     sshd[7934]: Accepted password for ......
日期 时间 主机名 子系统/服务/操作 消息字段

6 用户日志分析

6.1 分析工具

1
2
3
4
5
6
7
8
9
10
11
12
users --- 显示当前登录系统的用户列表

who、w --- 查看当前在线登录的用户
- :0 桌面端
- pts 远程登录/虚拟终端
- tty 本地登录/控制终端

last --- 查看登录成功的用户

lastb --- 查看登录失败的用户

lastlog --- 最近一次登录的日志

7 程序日志分析

1
2
3
4
5
6
7
8
9
10
11
12
由相应的应用程序独立进行管理
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等专用日志分析工具

8 日志服务器搭建

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
环境规划:
物理机 -- 黑客
nat --- VM8
- 物理机要取消勾选 仅主机模式的 网卡 --- 虚拟网络编辑器 取消勾选 主机....
server --- 网站服务器
nat --- VM8
仅主机模式 --- VM1 --- 10.10.10.10
logserver --- 日志服务器
仅主机模式 --- VM1 --- 10.10.10.20


+ server 网卡 首先要对第二张网卡进行配置 --- 复制一份网卡 --- 修改网卡内容 尤其要修改 设备名称和网卡名称



server -- 转发日志
vim /etc/rsyslog.conf
authpriv.* @@10.10.10.20:514

- @@ tcp
- @ udp
systemctl restart rsyslog.service

logserver -- 接受日志
vim /etc/rsyslog.conf
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
:fromhost-ip,isequal,"10.10.10.10"/var/log/server/10.10.10.10.lo
g

systemctl restart rsyslog.service


firewall-cmd --zone=public --add-port=514/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-all




+ 测试
物理机远程连接server,先查看server是否有日志产生,在查看logserver 是否有日志接受