利用日志使管理Linux更轻松

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
运维安全中心(堡垒机),企业双擎版 50资产 7天
运维安全中心(堡垒机),免费版 6个月
简介:


利用日志使管理Linux更轻松

操作系统的日志主要具有审计与监测的功能,通过对日志信息的分析,可以检查错误发生的原因,监测追踪入侵者及受到攻击时留下的痕迹,甚至还能实时的进行系统状态的监控。有效利用日志信息并对其进行分析与实时的监控管理,对于系统的安全性具有极为重要的作用。

本文就是和大家探讨如何利用linux日志系统来管理系统更轻松。对于日志信息的管理通常采用两种方法,一种方法是不同服务器的日志信息都存放在各自系统内,系统管理员对各服务器进行分散管理。另一种方法则是使用日志主机系统,这是一个从其他主机收集日志,并将它们存放在同一个地方的系统,很容易使来自多个主机的日志条目关联起来,对其进行统一管理、分析,甚至配合自动化工具进行实时的监控,有效提高管理的效率。

第一种方法往往是大多数系统管理员的常用的方法,这种传统的管理方法在服务器数量较少时还能勉强应付,但在处理多主机状况时却并非一种有效的方法。本文主要讲述二种日志管理方法,探寻一种提高系统管理效率的途径。

一、日志主机系统的部署

日志主机系统包括日志主机及各主机系统两个部分,其中日志主机相当于服务器端,而各主机系统相当于客户端,将日志信息实时的传送到日志主机上来。

1. 日志主机的部署

日志主机采用一台RHEL 5的服务器(假设其主机名为loghost),日志收集软件采用Linux平台上的Syslog,Syslog一般都随Linux系统安装时已经安装,对于我们部署整个系统提供了极大的便利性,因此在此不对其安装步骤进行阐述,仅讲述其配置方法。

Syslog既可作为客户端,也可作为服务器端,并且支持远程的日志收集。其配置文件为/etc/sysconfig/syslog,要配置其作为服务器端,需对此配置文件相应部分改为如下所示:

SYSLOGD_OPTIONS=-r-m 0

-r选项表示使syslog接收客户端的远程日志信息。

接下来重启Syslog服务器端使配置生效:

#service syslogd restart

由于Syslog采用514端口监听来自各客户端的日志信息,因此需要在日志主机的防火墙上开放514端口,以iptables为例,对特定网段开放514端口: /sbin/iptables -A INPUT -i eth0 -p tcp -s 192.168.0.0/16 -dport 514 -syn -j ACCEPT

2.客户端的部署

2.1 Linux平台下客户端的部署

在Linux平台下依然选择syslog作为客户端进行部署,此时此配置文件为/etc/syslog.conf,其默认配置为(仅以/var/log/message日志为例):

*.info;mail.none;authpriv.none;cron.none/var/log/messages

/var/log/messageSysolg存放系统日志的绝对路径将此值替换为日志主机名即可例子如下

*.info;mail.none;authpriv.none;cron.none@loghost

根据上述配置,当Syslog重启使用配置生效后,客户端服务器的日志信息将会实时的传送到日志主机的/var/log/message文件里,对各服务器的日志信息进行统一的管理。

使用如下命令重启Syslog服务使配置生效: 

#service syslogd restart

依上述方法将其他系统日志信息(如/var/log/secure)导入到日志主机上。

笔者建议,采用添加配置而非修改的方法,同时在本地及日志主机上保存系统日志。

2.2 Windows平台下客户端的部署

在Windows平台下采用软件evtsys进行客户端的部署,其下载链接为http://engineering.purdue.edu/ECN/Resources/Documents/UNIX/evtsys/evtsys_exe.zip解开后得到两个文件:evtsys.ext和evtsys.dll。

将这两个文件放到C:\WINDOWS\system32目录下,在命令行状态下运行如下命令进行安装:%systemroot%\system32\evtsys i-h loghost

当安装成功后,可查看服务列表看到相应的信息,如图1所示。

卸载evtsys的命令为:

%systemroot%\system32\evtsys-u


120416928.jpg

图1

更改日志主机名的命令为:

Net stop evtsys//停止 evtsys

evtsys-u//卸载 evtsys 

evtsys-l-h newloghost //指定新的日志主机名

net start evtsys//启动 evtsys

二、日志主机的自动日志分析与监控

当整个系统部署好后,可以从日志主机里验证各服务器是否将日志信息发送到了日志主机上。以/var/log/message为例,打开此文件,当看到具有不同主机名字的日志信息标志着日志主机已经正常工作,节选部分日志如下:

Jan 9 08:39:38 dog crond(pam_unix)[4528]:ses-sion opened for user root by (uid=0)

Jan 9 08:39:36 dog crond(pam_unix)[4528]:session closed for user root 

Jan 9 08:39:40 panda crond(pam_unix)[20296]:ses-sion opened for user root by(uid=0)

Jan 9 08:39:40 panda crond(pam_unix)[20296]:ses-sion closed for user root

Jan 9 08:39:53 app last message repeated 8 times

Jan 9 08:40:11 apple net-snmp[657]:Connection from udp:92.168.1.11:4298

Jan 9 08:40:11apple net-snmp[657]:Received SNMP packet(s) from udp:159.226.2.144:42988

Jan 9 08:41:15orangesshd(pam_unix)[28389]:ses-sion opened for user tom by(uid=2011)

Jan 9 08:41:28 orange sshd(pam_unix)[28389]:ses-sion opened for user tom by (uid=2011) 

Jan 9 08:41:28 orange 19 08:41:28 su` (pam_unix)[28425]:session opened for user root by tom (uid=2011)

对于如此庞大的日志信息,大部分并没多大的用处,但在跟踪某一具体问题或者安全漏洞时却可能很有用。那么我们如何对其进行有效地分析与监测,发挥其真正作用呢?在此推荐两款比较常用的日志分析与监控软件,对这些日志信息进行自动地分析与监控。

1. 利用Logwatch 进行日志监控

在Linux系统中,已经默认安装了Logwatch,配合Sendmail的邮件发送功能,向系统管理员发送前一天的日志分析结果邮件。其配置文件为/etc/log.d/logwatch.conf,下面是省略注释后的配置文件,一般只需将MailTo部分改为系统管理员邮箱地址即可,更多的配置细节可参考其官方http://www.logwatch.org

LogDir =/var/log

MallTo=admin@local.com

Pnnt=No

Range=yesterday

Detail=High

Service=All 

2. 利用Swatch进行日志的实时监控

Swatch 下载链接为http://sourceforge.net/projects/swatch/要安装 Swatch,需要先安装两个perl模块包Date-Calc-5.4.tar.gzTimeDate-1.16.tar.gz 接着安装Swatch,安装步骤如下

#tar-zxvf swatch-3.2.1.tar.gz

#cd swatch-3.2.1

#perl Makefile.pl

#make

#make test 

#make install

配置Swatch使其作需建立配置文件~/.swatchrc,按照其语法规则添加监测的相关内容可使用man swatch命令查看具体配置内容及含义。下面是一个简单的范例,仅供参考:

Watch for = /Failed fuseraddllnvalid/i #采用正则表达式的形式指定监测的内容#

echo #使得匹配的行通过stdout显示#

mail address=admin\@local.com,subject=Monitor Result #向系统管理员发送监测结果邮件,并设定相应的主题#

mall addresses=admin\@local.com,subject=Monitor Result,when=2-5:8-17 #向系统管理员发送监测结果邮件,并设定相应的主题及监控的时间#

使用swatch--help查看Swatch运行时的具体选项。

下面是一个运行命令范例,仅供参考:

#swatch-config-file=~/.swatchrc-examine=/var/log/messages

当出现监控到的信息时,Swatch即会实时地发送邮件给系统管理员,及时杜绝入侵者的各种入侵尝试,保护系统的安全。

三、总结

日志主机系统的建立,不但能够有效提高日志管理、分析及监测的效率,同时它也对于日志信息的安全保护起到了极为重要的作用,它将各服务器的日志信息在日志主机上进行备份,同时也能够有效防止入侵痕迹,为系统管理工作提供了极大的便利性,是有效保障系统安全的重要途径之一。



 本文转自 李晨光 51CTO博客,原文链接:http://blog.51cto.com/chenguang/479670,如需转载请自行联系原作者


相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
相关文章
|
XML 存储 JSON
Android Jetpack组件 DataStore的使用和简单封装
Android Jetpack组件 DataStore的使用和简单封装
1160 0
Android Jetpack组件 DataStore的使用和简单封装
|
Web App开发 Android开发 iOS开发
Flutter Web:获取设备信息、UA、窗口大小等
开启web支持 首先我们要为Flutter安装web环境,通过下面命令: flutter pub global activate webdev //安装web开发环境 然后为我们的Flutter项目开启web支持,通过下面的命令: flutter config --enable-web //启动支持web flutter config --enable-macos-desktop //启动mac支持 flutter config --enable-windows-desktop //启用window支持
1523 0
|
9月前
|
人工智能 自然语言处理
RWKV-7:RWKV系列开源最新的大模型架构,具有强大的上下文学习能力,超越传统的Attention范式
RWKV-7是RWKV系列的最新大模型架构版本,具有强大的上下文学习能力,超越了传统的attention和linear attention范式。本文详细介绍了RWKV-7的主要功能、技术原理及其在多语言处理、文本生成等领域的应用场景。
517 7
RWKV-7:RWKV系列开源最新的大模型架构,具有强大的上下文学习能力,超越传统的Attention范式
|
7月前
|
存储 数据管理
如何用二维码实现招聘、简历收集与工作证管理
二维码技术为中小微企业在招聘、简历收集和工作证管理方面提供了低成本、高效率的解决方案。通过生成包含招聘信息、简历投递表单和员工信息收集表单的二维码,企业可以灵活发布信息、实时收集数据,并简化入职流程。此外,二维码工作证的制作也大幅提高了HR的工作效率。使用草料二维码平台,无需专业IT背景,普通行政人员即可轻松操作,帮助企业优化管理流程,减少人为错误,提升运营效率。
264 10
|
9月前
|
机器学习/深度学习 人工智能 智能设计
VisionFM:通用眼科 AI 大模型,具备眼科疾病诊断能力,展现出专家级别的准确性
VisionFM 是一个多模态多任务的视觉基础模型,专为通用眼科人工智能设计。通过预训练大量眼科图像,模型能够处理多种眼科成像模态,并在多种眼科任务中展现出专家级别的智能性和准确性。
434 4
VisionFM:通用眼科 AI 大模型,具备眼科疾病诊断能力,展现出专家级别的准确性
|
7月前
|
人工智能 IDE 测试技术
用户说 | 通义灵码2.0,跨语言编码+自动生成单元测试+集成DeepSeek模型且免费使用
用户说 | 通义灵码2.0,跨语言编码+自动生成单元测试+集成DeepSeek模型且免费使用
|
10月前
|
存储 Java Linux
Java“Bad Magic Number”错误解决
Java“Bad Magic Number”错误通常发生在尝试运行不兼容或损坏的类文件时。解决方法包括确保使用正确的JDK版本、检查类文件完整性、清理和重新编译项目。
599 13
|
9月前
|
存储 人工智能 程序员
【C语言】一篇通关所有 “关键字”,值得收藏篇!
关键字是编程语言预定义的保留词,代表特定的操作或结构。C语言中的关键字用于定义变量类型、控制语句、存储类、数据类型等。使用这些关键字可以创建函数、控制程序的流程、声明变量和常量等。
1627 0
|
Python 开发工具
第三方支付黑马-CodePay 码支付使用(二)
自古以来有关钱的事情都会特别复杂, 无论是人还是物! 在很多项目中我们都会用到支付功能, 市面上目前存在的银联支付, 支付宝支付, 微 信支付等等第三方支付都会遇到比较复杂的流程, 不是合格的商家公司是没法使用的! 而码支付CodePay打破了这个常规, 虽然作为第三方支付平台, 但是这个平台只提供支付结果订单的结算, 并不对接现金流! 采用的是个人/商家自己的收款码现金是直接到账的形式!
第三方支付黑马-CodePay 码支付使用(二)