vlambda博客
学习文章列表

通过Linux系统自带日志监控系统安全




引 言



如今绝大多数网络监控运维服务系统都是基于Linux操作系统开发的,作为一款网络安全检测防护设备,其本身的安全防护也是需要关注的重要环节之一。而几乎所有需要分析的信息均来源于各种日志,日志对于安全来说及其重要,其记录了系统每天发生的各种各样的事情,系统管理员可以通过各种来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。而各种日志的获取并不一定要安装额外的监控采集程序,Linux操作系统自带的各种日志足以在系统安全监控上发挥巨大的作用。

 



01
LINUX系统日志的分类
内核及系统日志: 此类日志数据由Linux的rsyslog系统服务统一管理,通过查看其对应的/etc/rsyslog.conf配置文件可以获知Linux系统哪些监控日志以及位置。
用户日志: 此类日志主要记录的是用户登录登出Linux系统的行为,包括用户名、登录的终端、登录时间、来源主机、正在使用的进程操作等。
程序日志: Linux系统中很多应用程序有自带的运行日志,用于记录应用程序运行过程中的各种事件信息,此类日志的种类和数量完全由系统中应用程序的数量和种类决定,其中最重要的主要包括数据库运行日志,Web服务运行日志等。




02
Linux系统日志的级别

通常日志的生成都遵循一定的格式规范,比较重要的规范是日志的级别,常见的日志级别类型如下:

级别

标识

重要性

解释

0

EMERG

紧急

会导致系统宕机的错误事件

1

ALERT

警告

系统中严重的错误事件

2

CRIT

严重

相对严重的事件

3

ERR

错误

一般是程序运行中的错误

4

WARNING

提醒

可能会引起运行结果不正常的事件

5

NOTICE

注意

不影响正常运行但需要注意的事件

6

INFO

信息

普通运行信息

7

DEBUG

调试

程序调试信息

其中作为系统管理员需要关注的是0 - 4级别的日志。

 



03
Linux系统需要关注的常见日志文件夹

/var/log/btmp:记录失败,错误的登录尝试及验证事件

/var/log/cron:记录 crond 计划任务产生的事件信息

/var/log/dmesg:记录 Linux 操作系统在引导过程中的各种事件信息

/var/log/maillog:记录进入或发出系统的电子邮件活动

/var/log/messages:记录 Linux 内核消息及各种应用程序的公共日志信息

/var/log/lastlog:记录每个用户最近的登录事件

/var/log/secure:记录用户认证相关的安全事件信息

/var/log/wtmp:记录每个用户登录,注销及系统启动和停机事件

 



01
Linux系统日志分析相关命令

users:该命令只是简单地输出当前登录的用户名称,每个显示的用户名对应一个登录会话。


who:该命令用于报告当前登录到系统中的每个用户的信息。使用该命令,系统管理员可以查看当前系统存在哪些不合法用户,从而对其进行审计和处理。默认输出包括用户名、终端类型、登录日期及远程主机。


w:该命令用于显示当前系统中的每个用户及其所运行的进程信息,比users、who命令的输出内容要丰富一些。


last:该命令用于查询成功登录到系统的用户记录,最近的登录情况将显示在最前面。通过last命令可以及时掌握Linux主机的登录情况,若发现未经授权的用户登录过,则表示当前主机可能已被入侵。


lastb:该命令用于查询登录失败的用户记录,如登录的用户名错误、密码不正确等情况都将记录在案。登录失败的情况属于安全事件,因为这表示可能有人在尝试猜解你的密码。

 




结 语



通过上述系统日志和命令,系统管理员就可以及时监控系统运行的状态以及在运行过程中所产生的绝大多数问题事件。通过将这些事件汇总统计,既可相对便利的发现系统中是否存在隐藏的安全问题。当然,本文列出的日志只是Linux系统运行中最常见的一些事件汇总,而更为复杂,更为深藏的系统安全问题则需要凭借系统安全管理员丰富的经验及明锐的观察力来发现识别了。


 

往期推荐