利用日志使管理Linux更轻松

简介:

操作系统的日志主要具有审计与监测的功能,通过对日志信息的分析,可以检查错误发生的原因,监测追踪入侵者及受到攻击时留下的痕迹,甚至还能实时的进行系统状态的监控。有效利用日志信息并对其进行分析与实时的监控管理,对于系统的安全性具有极为重要的作用。本文就是和大家探讨如何利用linux日志系统来管理系统更轻松。对于日志信息的管理通常采用两种方法,一种方法是不同服务器的日志信息都存放在各自系统内,系统管理员对各服务器进行分散管理。另一种方法则是使用日志主机系统,这是一个从其他主机收集日志,并将它们存放在同一个地方的系统,很容易使来自多个主机的日志条目关联起来,对其进行统一管理 、分析,甚至配合自动化工具进行实时的监控,有效提高管理的效率。 

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

一、日志主机系统的部署

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

1. 日志主机的部署

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

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

SYSLOGD_OPTIONS=“-r-m 0”

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

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

#service syslogd restart

Syslog采用514端口监听来自各客户端的日志信息,因此需要在日志主机的防火墙上开放514端口,以iptables为例,对特定网段开放514端口: /sbin/iptables_A INPUT _ietho_p tcp_s 192.168.0.0/16_dport 514_syn_j ACCEPT

2.客户端的部署

◆ Linux平台下客户端的部署

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

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

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

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

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

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

#service syslogd restart

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

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

◆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\evtsysu

1547340.jpg

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

Net stop evtsys        //停止 evtsys

evtsysu              //卸载 evtsys 

evtsyslh newloghost //指定新的日志主机名

net start evtsys      //启动 evtsys

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

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

Sep 19 08:39:38 dog crond(pam_unix)[4528]:session opened for user root by (uid=o)

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

Sep 19 08:39:40 panda crond(pam_unix)[20296]:session opened for user root by(uid=0)

Sep 19 08:39:40 panda crond(pam_unix)[20296]:session closed for user root

Sep 19 08:39:53 app last message repeated 8 times

Sep 19 08:40:11 apple netsnmp[657]:Connection from udp:192.168.1.11:4298

Sep 19 08:40:11apple netsnmp[657]:Received SNMP packet(s) from udp:159.226.2.144:42988

Sep 19 08:41:15orangesshd(pam_unix)[28389]:session opened for user tom by(uid=2009)

Sep 19 08:41:28 orange sshd(pam_unix)[28389]:session opened for user tom by (uid=2009) 

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

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

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模块包:DateCalc5.4.tar.gz和TimeDate1.16.tar.gz 接着安装Swatch,安装步骤如下:

#tarzxvf swatch3.2.1.tar.gz

#cd swatch-3.2.1

#perl Makefile.PL

#make

#make test 

#make install

#make realclean

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

W a t c h f o r = /Failedfuseraddllnvalid/i #采用正则表达式的形式指定监测的内容#

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

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

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

使用“swatchhelp”查看Swatch运行时的具体选项。下面是一个运行命令范例,仅供参考:

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

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

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














本文转自东方之子736651CTO博客,原文链接: http://blog.51cto.com/ecloud/1338037,如需转载请自行联系原作者






相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
23天前
|
Linux Shell
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
77 1
|
15天前
|
网络协议 Linux
在Linux中,管理和配置网络接口
在Linux中管理网络接口涉及多个命令,如`ifconfig`(在新版本中被`ip`取代)、`ip`(用于网络设备配置)、`nmcli`(NetworkManager的CLI工具)、`nmtui`(文本界面配置)、`route/ip route`(处理路由表)、`netstat/ss`(显示网络状态)和`hostnamectl/systemctl`(主机名和服务管理)。这些命令帮助用户启动接口、设置IP地址、查看连接和路由信息。不同发行版可能有差异,建议参考相应文档。
19 4
|
16天前
|
存储 监控 安全
Linux系统日志
【4月更文挑战第6天】Linux系统日志,关键用于记录系统状态和事件,包括内核、系统、安全和应用日志,助力管理员诊断问题、确保系统正常运行。日志管理涉及收集、分析、备份等,常用工具如rsyslog、systemd-journal和logrotate(用于日志轮转)。重视日志文件的存储管理,防止空间占用过多。
19 1
Linux系统日志
|
9天前
|
SQL 监控 安全
Linux&Windows 日志分析 陇剑杯 CTF
Linux&Windows 日志分析 陇剑杯 CTF
|
9天前
|
消息中间件 监控 Linux
Linux进程和计划任务管理
通过这些命令和工具,你可以有效地管理Linux系统中的进程和计划任务,监控系统的运行状态并保持系统的稳定和可靠性。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
101 2
|
15天前
|
存储 缓存 监控
Linux内存和硬盘空间管理技巧
了解Linux内存和硬盘管理技巧,提升系统性能和稳定性。使用`free`, `top`, `vmstat`监控内存,通过`sync`, `echo 1 > /proc/sys/vm/drop_caches`清理缓存。利用Swap分区释放内存。借助`df`, `du`检查硬盘空间,清理无用文件,使用`clean-old`, `gzip`, `tar`压缩归档。查找大文件用`find`和`du`,确保
33 0
|
19天前
|
关系型数据库 MySQL Linux
linux特定服务日志
Linux系统的服务日志在`/var/log`目录下,如系统日志(`/var/log/syslog`或`/var/log/messages`)、认证日志(`/var/log/auth.log`)、SSH日志(`/var/log/auth.log`或`/var/log/secure`)。Web服务器(Apache和Nginx)的访问和错误日志、MySQL错误日志、Postfix及Dovecot邮件服务器日志也在此处。日志位置可能因发行版和服务配置而异,不确定时可查服务配置或用`grep`搜索。使用`logrotate`可管理日志文件大小。
20 6
|
23天前
|
存储 固态存储 Unix
Linux中磁盘分区和文件系统管理
在Linux系统中,磁盘是存储数据的物理设备,如HDD或SSD,以文件形式存在于`/dev`目录下,如`sda`、`sdb`等。文件系统定义了如何在磁盘上组织和访问数据,常见的Linux文件系统有ext2、ext3、ext4、xfs等。通过虚拟机软件如VMware,用户可以向Linux虚拟机添加新的硬盘。
|
23天前
|
运维 监控 安全
linux日志分析与追踪
在Linux中,日志分析涉及检查 `/var/log` 下的不同文件,如`messages`、`auth.log`、`kern.log`等,以及Web服务器和数据库日志。使用`tail`、`grep`、`awk`等工具实时查看和搜索日志,`logrotate`管理日志大小,`journalctl`处理Systemd日志,而`Splunk`等工具则用于集中式分析。分析技巧包括异常检测、时间关联和阈值监控。安全事件追踪结合登录失败日志、网络嗅探和IDS/IPS。日志链路追踪在分布式系统中尤为重要,帮助定位服务调用问题。有效的日志管理和分析能增强系统安全和故障排除能力。
22 7
|
Shell Linux
12.13 Linux工作管理
工作管理指的是在单个登录终端(也就是登录的 Shell 界面)同时管理多个工作的行为。也就是说,我们登陆了一个终端,已经在执行一个操作,那么是否可以在不关闭当前操作的情况下执行其他操作呢?
110 0
12.13 Linux工作管理