【安全-安全检查】操作系统⽇志分析(Linux+Windows)1 Linux⽇志分析
⽇志是Linux 安全结构中的⼀个重要内容,是提供攻击发⽣的唯⼀真实证据。Linux 中⽇志包括以下⼏类:登录时间⽇志⼦系统、进程统计⽇志⼦系统、错误⽇志⼦系统等。
登录时间⽇志⼦系统:
登录时间通常会与多个程序的执⾏产⽣关联,⼀般情况下,将对应的记录写到/var/log/wtmp 和/var/run/utmp 中。为了使⽤系统管理员能够有效地跟踪谁登录过系统,⼀旦触发 login 等程序,就会对 wtmp 和 utmp ⽂件进⾏相应的更新。
进程统计⽇志⼦系统:
主要由系统内核实现完成记录操作。当⼀个进程终⽌时,系统就⾃动记录该进程,往进程统计⽂件或中写⼀个纪录。进程统计的⽬的是为系统中的基本服务提供命令使⽤统计。.
错误⽇志⼦系统:
其主要由系统进程 syslogd(以及替换版本 rsyslogd)实现,各个应⽤系统(FTP、Samba 等)的守护进程、⽤户程序、系统内核来⾃动利⽤ syslog 向/var/log/secure中添加纪录,⽤来记录系统错误⽇志。
审计⼦系统:
提供了⼀种记录系统安全信息的⽅法,为系统管理员在⽤户违反系统安全法则时提供及时的警告信息。在⽤户空间,审计系统由 auditd、ausearch 等应⽤程序组成。审计后台 auditd 应⽤程序通过 netlink 机制从内核中接收审计消息,然后,通过⼀个⼯作线程将审计消息写⼊到审计⽇志⽂件中,其中,还有⼀部分消息通过消息分发后台进程dispatcher调⽤ syslog 写⼊⽇志系统。
1.1 Message⽇志
该⽇志⽂件是许多进程⽇志⽂件的汇总,记录有运⾏信息和认证信息,从该⽂件可以看出任何⼊侵企图或成功的⼊侵。RedHat和CentOs 的messages⽇志位置为 /var/log/messages。
1.2 cron⽇志
该⽇志⽂件记录crontab守护进程crond所派⽣的⼦进程的动作。 RedHat和CentOs的cron ⽇志默认记录在/var/log/cron中。
CMD 的⼀个动作是 cron 派⽣出⼀个调度进程的常见情况。REPLACE(替换)动作记录⽤户对它的 cron ⽂件的更新,该⽂件列出了要周期性执⾏的任务调度。RELOAD动作在REPLACE动作后不久发⽣,这意味着cron注意到⼀个⽤户的cron⽂件被更新⽽cron需要把它重新装⼊内存。该⽂件可能会查到
⼀些反常的情况。⽐如攻击者留存的定时任务等。
1.3 secure ⽇志
Linux的ssh登录⽇志会存储于/var/log/secure 中,若⽇志中出现连续⼤量的登录错误信息,则可能意味着远程主机在尝试破解 ssh 登录⼝令 。如下,192.168.27.80在不断尝试登陆root⽤户,且连续登陆失败:
su的尝试访问失败⽇志:常见于越权访问⾥
PS:在Ubuntu中,有个⽇志⽂件叫做/var/log/auth.log,这⾥可以⼀条命令塞选ssh登陆ip。
grep 'sshd' /var/log/auth.log* |grep 'Accepted' | grep -oE '\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[01][0-9]|22[0-3])\>(\.\<([0-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>
1.4 last⽇志
last命令读取/var/log/wtmp⽂件,该⽇志⽂件永久记录每个⽤户登录、注销及系统的启动、停机的事件
在 Linux 还中还存在lastlog 命令,⽤于查看系统内所有帐户最后⼀次登录信息,该命令读取/var/log/lastlog内容。
根据UID排序显⽰登录名、端⼝号、登陆地址和上次登录时间:
PS:如果某⽤户从来没有登录过,就显⽰为”**Never logged in**”。系统账户诸如 bin、daemon、adm、uucp、mail 等决不应该登录,如果发现这些账户已经登录,就说明系统可能已经被⼊侵了。
1.5 shell⽇志
Bash ⽇志存储于⽤户⽬录的.bash_history⽂件中,有些攻击者 SSH 登陆进来之后可能会执⾏命令,所以该⽇志可能会记录下执⾏的命令。该⽇志存储条⽬数量与 shell 变量$HISTSIZE 有关。
1.6 其他⽇志
/var/log/boot.log
该⽂件记录了系统在引导过程中发⽣的事件,就是 Linux系统开机⾃检过程显⽰的信息。
/var/log/syslog
默认 RedHat Linux 不⽣成该⽇志⽂件,但可以配置/f让系统⽣成该⽇志⽂件。
/var/run/utmp
该⽇志⽂件记录有关当前登录的每个⽤户的信息。因此这个⽂件会随着⽤户登录和注销系统⽽不断变化,
它只保留当时联机的⽤户记录,不会为⽤户保留永久的记录。系统中需要查询当前⽤户状态的程序,如who、 w、 users、finger等就需要访问这个⽂件。
但是,该⽇志⽂件并不能包括所有精确的信息,因为某些突发错误会终⽌⽤户登录会话,⽽系统没有及时更新 utmp 记录,因此该⽇志⽂件的记录不是百分之百值得信赖的。
/var/log/xferlog
该⽇志⽂件记录 FTP 会话,可以显⽰出⽤户向 FTP服务器或从服务器拷贝了什么⽂件
2 Windows⽇志分析
Windows的⽇志⽂件主要是三⼤块,分别是:
应⽤程序⽇志
安全⽇志
系统⽇志
setup⽇志(server 2003之后加⼊)
这些⽇志在 server 2003(含)以前,以evt⽂件形式存储在%systemroot%\system32\config ⽬录(%SystemRoot%为系统环境变量,默认值为C:\WINDOWS)。但是在server 2003 以后存储的位置是在%systemroot%\System32\winevt\Logs⽬录下。
PS:系统内置的三个核⼼⽇志⽂件(System,Security和 Application)默认⼤⼩均为20480KB(20MB),记录事件数据超过 20MB 时,默认系统将优先覆盖过期的⽇志记录。其它应⽤程序及服务⽇志默认最⼤为1024KB,超过最⼤限制也优先覆盖过期的⽇志记录。
点击“开始→设置→控制⾯板→管理⼯具→事件查看器”,或者我的电脑右键点击【管理】,可以查看这些⽇志。
事件类型⼀共有五种:
1. 信息(Information)
信息事件指应⽤程序、驱动程序或服务的成功操作的事件。
2. 警告(Warning)
警告事件指不是直接的、主要的,但是会导致将来问题发⽣的问题。例如,当磁盘空间不⾜或未到打印机时,都会记录⼀个“警告”事件。
3. 错误(Error)
错误事件指⽤户应该知道的重要的问题。错误事件通常指功能和数据的丢失。例如,如果⼀个服务不能
作为系统引导被加载,那么它会产⽣⼀个错误事件。
4. 成功审核(Success audit)
成功的审核安全访问尝试,主要是指安全性⽇志,这⾥记录着⽤户登录/注销、对象访问、特权使⽤、账户管理、策略更改、详细跟踪、⽬录服务访问、账户登录等事件,例如所有的成功登录系统都会被记录为“ 成功审核”事件。
5. 失败审核(Failure audit)
失败的审核安全登录尝试,例如⽤户试图访问⽹络驱动器失败,则该尝试会被作为失败审核事件记录下来。
2.1 应⽤程序⽇志
应⽤程序⽇志包含操作系统安装的应⽤程序软件相关的事件。事件包括了错误、警告及任何应⽤程序需要报告的信息,应⽤程序开发⼈员可以决定记录哪些信息。然后开发⼈员可以利⽤这些⽇志可判断哪些程序运⾏错误以及错误内容
linux系统登录2.2 安全⽇志
安全⽇志包含安全性相关的事件,如⽤户权限变更,登录及注销,⽂件及⽂件夹访问,打印等信息。
事件ID--事件描述(部分)
1102 清理审计⽇志
4624 账号成功登录
4625 账号登录失败
4768 Kerberos⾝份验证(TGT 请求)
4769 Kerberos服务票证请求
4776 NTLM⾝份验证
4672 授予特殊权限
4720 创建⽤户
4726 删除⽤户
4728 将成员添加到启⽤安全的全局组中
4729 将成员从安全的全局组中移除
4732 将成员添加到启⽤安全的本地组中
4733 将成员从启⽤安全的本地组中移除
4756 将成员添加到启⽤安全的通⽤组中
4757 将成员从启⽤安全的通⽤组中移除
4719 系统审计策略修改
登陆类型--描述
2 交互式登录(⽤户从控制台登录)
3 ⽹络(例如:通过net use,访问共享⽹络)
4 批处理(为批处理程序保留)
5 服务启动(服务登录)
6 不⽀持
7 解锁(带密码保护的屏幕保护程序的⽆⼈值班⼯作站)
8 ⽹络明⽂(IIS 服务器登录验证)
10 远程交互(终端服务,远程桌⾯,远程辅助)
11 缓存域证书登录
从⽇志中可以看到登陆的详细信息:登陆时间、⽤户、源⽹络地址等。如果出现⼤规模的登陆失败,且登录类型为 3 的登录尝试,则很可能意味着有⽤户在远程尝试⼝令破解,应特别⼩⼼。
Windows 默认情况下没有额外的系统启动⽇志或相关记录程序,因此,需依靠⼀些服务来判断系统的系
统,⽽其中 event log 服务是最好的参考标志,event log 服务的启动和停⽌就意味着Windows系统的启动和停⽌。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论