网络安全系列之十五 Linux日志管理1

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

Linux服务器一般都是被放置在机房中自动运行,管理员要了解服务器或是应用程序的运行状态,大都需要通过日志。日志文件用于记录Linux系统中各种运行消息,不同的日志文件记载了不同类型的信息,例如Linux内核消息、用户登录记录、程序错误等。日志文件对于诊断和解决系统中的问题很有帮助,因为在Linux系统中运行的程序通常会把系统消息和错误消息写入相应的日志文件,这样系统一旦出现问题就会有据可查。此外,当主机遭受攻击时,日志文件还可以帮助寻找攻击者留下的痕迹。

 

1. 主要日志文件

Linux系统本身和大部分服务程序的日志文件默认情况下都放置在目录“/var/log”中。有些程序会共用一个日志文件,有些程序则会使用单个日志文件,还有一些比较大型的程序由于日志文件不止一个,所以会在“/var/log”目录中建立相应的子目录来存放日志文件。有相当一部分日志文件只有root用户才有权限读取,这保证了相关日志信息的安全性。

例:查看“/var/log”目录中的各种日志文件及子目录。

wKioL1RQknSReRFfAADquLbhkSk216.jpg 

在这些日志文件中,比较重要或是经常用到的有:

  • /var/log/messages:记录Linux内核消息及各种应用程序的公共日志信息,包括启动、I/O错误、网络错误、程序故障等。对于未使用独立日志文件的应用程序或服务,一般都可以从该日志文件中获得相关的事件记录信息。

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

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

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

  • /var/log/lastlog:最近几次成功登录事件和最后一次不成功登录事件。

  • /var/log/rpmpkgs:记录系统中安装的各rpm包列表信息。

  • /var/log/secure:记录所有与安全相关以及用户登录认证过程中的事件信息。

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

  • /var/run/utmp:记录当前登录的每个用户的详细信息。

2. 查看日志文件内容

大多数的日志文件都可以使用tail、more、less、cat等文本处理工具查看日志内容,其中在大多数情况下都是使用tail命令,这样可以方便地查看到最近的日志信息。而且如果在tail命令中加上“-f”选项,还可以实时查看到日志文件中的最新信息。

通常情况下,内核及大多数系统消息都被记录到公共日志文件“/var/log/messages”中,而其它一些程序消息被记录到不同的文件中。日志消息还能够记录到特定的存储设备中,或者直接向用户发送。

例:实时监测/var/log/messages中的日志信息。

[root@localhost ~]# tail -f /var/log/messages

Oct 21 04:48:35 localhost avahi-daemon[3152]: Joining mDNS multicast group on interface eth0.IPv4 with address 192.168.80.130.

Oct 21 04:48:35 localhost avahi-daemon[3152]: Registering new address record for 192.168.80.130 on eth0.

Oct 21 04:48:35 localhost NET[4094]: /sbin/dhclient-script : updated /etc/resolv.conf

Oct 21 04:48:35 localhost dhclient: bound to 192.168.80.130 -- renewal in 760 seconds.

Oct 21 05:01:15 localhost dhclient: DHCPREQUEST on eth0 to 192.168.80.254 port 67

Oct 21 05:01:15 localhost dhclient: DHCPACK from 192.168.80.254

Oct 21 05:01:15 localhost dhclient: bound to 192.168.80.130 -- renewal in 723 seconds.

Oct 21 05:13:18 localhost dhclient: DHCPREQUEST on eth0 to 192.168.80.254 port 67

Oct 21 05:13:18 localhost dhclient: DHCPACK from 192.168.80.254

Oct 21 05:13:18 localhost dhclient: bound to 192.168.80.130 -- renewal in 749 seconds.

Oct 21 05:22:58 localhost kernel: Installing knfsd (copyright (C) 1996 okir@monad.swb.de).

Oct 21 05:22:58 localhost kernel: NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory

Oct 21 05:22:58 localhost kernel: NFSD: starting 90-second grace period

大部分日志文件中所使用的日志记录格式都是相同的。下面以公共日志文件“/var/log/messages”为例来说明日志记录的基本格式。

日志文件中的每一行表示一条消息,每个消息均由四个字段的固定格式组成。

  • 时间标签:消息发出的日期和时间。

  • 主机名:生成消息的计算机的名称。

  • 子系统名称:发出消息的应用程序的名称。

  • 消息:消息的具体内容。

例如上面所显示的最后一条消息:

Oct 21 05:22:58 localhost kernel: NFSD: starting 90-second grace period

这条消息的含义为:

10月21日05:22:58在localhost这台主机上,由内核kernel中的nfsd服务所产生的信息,信息的内容为“starting 90-second grace period”。



本文转自 yttitan 51CTO博客,原文链接:http://blog.51cto.com/yttitan/1569225

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
29天前
|
安全 Linux 网络安全
Web安全-Linux网络协议
Web安全-Linux网络协议
53 4
|
29天前
|
机器学习/深度学习 安全 网络协议
Web安全-Linux网络命令
Web安全-Linux网络命令
21 1
|
25天前
|
网络协议 Linux
Linux 网络配置
了解基本命令与权限后,如何让Linux系统联网?可通过编辑`/etc/sysconfig/network-scripts/`下的`ifcfg-ethX`文件配置网卡,其中`ethX`代表第X块网卡。对于DHCP自动获取或静态IP,需设置`BOOTPROTO`参数,并指定IP、子网掩码和网关等。配置完成后,运行`/etc/init.d/network restart`重启网络。DNS可在`/etc/resolv.conf`中设置,添加`nameserver`行即可,无需重启网卡。配置好后,可用`ifconfig`查看IP信息,并通过远程工具如SecureCRT连接服务器。
46 0
|
1月前
|
域名解析 负载均衡 网络协议
Linux网络接口配置不当所带来的影响
总而言之,Linux网络接口的恰当配置是保证网络稳定性、性能和安全性的基础。通过遵循最佳实践和定期维护,可以最大程度地减少配置错误带来的负面影响。
70 0
|
2月前
|
存储 Linux 网络安全
【Azure 存储服务】如何把开启NFS 3.0协议的Azure Blob挂载在Linux VM中呢?(NFS: Network File System 网络文件系统)
【Azure 存储服务】如何把开启NFS 3.0协议的Azure Blob挂载在Linux VM中呢?(NFS: Network File System 网络文件系统)
|
2月前
|
Java Linux C++
【Azure 应用服务】App Service For Linux 部署Java Spring Boot应用后,查看日志文件时的疑惑
【Azure 应用服务】App Service For Linux 部署Java Spring Boot应用后,查看日志文件时的疑惑
|
2月前
|
存储 Linux 网络安全
【Azure 应用服务】App Service For Linux 如何在 Web 应用实例上住抓取网络日志
【Azure 应用服务】App Service For Linux 如何在 Web 应用实例上住抓取网络日志
|
2月前
|
网络协议 Linux Shell
【Azure 应用服务】App Service For Linux 中安装paping, 用于验证从App Service向外请求的网络连通性
【Azure 应用服务】App Service For Linux 中安装paping, 用于验证从App Service向外请求的网络连通性
|
2月前
|
Kubernetes Ubuntu Windows
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
|
26天前
|
Java
日志框架log4j打印异常堆栈信息携带traceId,方便接口异常排查
日常项目运行日志,异常栈打印是不带traceId,导致排查问题查找异常栈很麻烦。