LogAnalyzer--基于syslog的日志管理和审计平台

LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端。它提供了对日志的简单浏览、搜索、基本分析和一些图表报告的功能。
数据可以从数据库或一般的syslog文本文件中获取,所以LogAnalyzer不需要改变现有的记录架构。
基于当前的日志数据,它可以处理syslog日志消息,Windows事件日志记录,支持故障排除,使用户能够快速查找日志数据中看出问题的解决方案。
LogAnalyzer 获取客户端日志会有两种保存模式,一种是直接读取客户端/var/log/目录下的日志并保存到服务端该目录下,一种是读取后保存到日志服务器数据库中
这里采用后者进行测试。

一、服务端

1.初始化数据库

初始化数据库,createDB.sql的脚本在rsylog的源码包的plugins/ommysql下
#mysql -uroot -p123.com </usr/local/src/rsyslog-5.6.2/plugins/ommysql/createDB.sql
#mysql -uroot -p
mysql>grant all privileges on Syslog.* to ‘rsyslog‘@‘localhost‘ identified by ‘123456‘ with grant option;
mysql>grant all privileges on Syslog.* to ‘rsyslog‘@‘%‘ identified by ‘123456‘ with grant option;
mysql>flush privileges;

也可以自己生成初始化脚本

cat > createDB.sql << EOF 
CREATE DATABASE Syslog default character set utf8;
USE Syslog;
CREATE TABLE SystemEvents
(
        ID int unsigned not null auto_increment primary key,
        CustomerID bigint,
        ReceivedAt datetime NULL,
        DeviceReportedTime datetime NULL,
        Facility smallint NULL,
        Priority smallint NULL,
        FromHost varchar(60) NULL,
        Message text,
        NTSeverity int NULL,
        Importance int NULL,
        EventSource varchar(60),
        EventUser varchar(60) NULL,
        EventCategory int NULL,
        EventID int NULL,
        EventBinaryData text NULL,
        MaxAvailable int NULL,
        CurrUsage int NULL,
        MinUsage int NULL,
        MaxUsage int NULL,
        InfoUnitID int NULL ,
        SysLogTag varchar(60),
        EventLogType varchar(60),
        GenericFileName VarChar(60),
        SystemID int NULL
) DEFAULT CHARSET=utf8;
 
CREATE TABLE SystemEventsProperties
(
        ID int unsigned not null auto_increment primary key,
        SystemEventID int NULL ,
        ParamName varchar(255) NULL ,
        ParamValue text NULL
) DEFAULT CHARSET=utf8;
EOF

2.rsyslog安装配置

服务端需要用到rsyslog的日志服务。所以服务端分二种情况,如果是6以上的系统,系统自带的默认日志服务就是rsyslog

2.1.6x系统

#yum install rsyslog-mysql  y
rsyslog-mysql 为rsyslog 将日志传送到MySQL 数据库的一个模块,这里必须安装。

2.2.5.x系统
1)通过编译安装rsyslog
#tar -zxvf rsyslog-5.6.2.tar.gz

#./configure --enable-mysql --prefix=/usr/local/rsyslog

#make && make install

修改rsyslog配置

#vim  /usr/local/src/rsyslog-5.6.2/rsyslog.conf

//配置服务端支持rsyslog-mysql 模块
$ModLoad ommysql
*.* :ommysql:172.18.2.124,syslog,rsyslog,123456
说明:localhost 表示本地主机,syslog 为数据库名,rsyslog 为数据库的用户,123456为该用户密码。

开启UDP服务端口获取网内其他LINUX系统日志
$ModLoad imudp.so  # provides UDP syslog reception
$UDPServerRun 514 # start a UDP syslog server at standard port 514

#复制配置文件
#cp /usr/local/src/rsyslog-5.6.2/rsyslog.conf /etc/rsyslog.conf
#关闭现有的日志服务
#service syslog stop
#chkconfig syslog off

#cp /etc/init.d/{syslog,rsyslog} #rsyslog没有启动脚本,复制syslog脚本
#sed -i s/syslog/rsyslog/g /etc/init.d/rsyslog #修改syslog字符为rsyslog
#chmod 700 /etc/init.d/rsyslog
#chkconfig --add rsyslog #添加rsyslog服务
#chkconfig rsyslog on
 
# create rsyslog bin ln
ln -sv /usr/local/rsyslog/sbin/rsyslogd /sbin/rsyslogd #创建软连结,rsyslog脚本启动的是/sbin下的rsyslogd

编辑/etc/bashrc,将客户端执行的所有命令写入系统日志/var/log/messages中。
# vi /etc/bashrc
在文件尾部增加一行
export PROMPT_COMMAND=‘{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }‘
设置其生效
# source /etc/bashrc
重启日志服务
# /etc/init.d/rsyslog restart

2)通过yum安装rsyslog
#yum install -y rsyslog rsyslog-mysql

修改rsyslog配置

#vim  /etc/rsyslog.conf
配置服务端支持rsyslog-mysql 模块
$ModLoad ommysql
*.* :ommysql:172.18.2.124,syslog,rsyslog,123456
说明:localhost 表示本地主机,syslog 为数据库名,rsyslog 为数据库的用户,123456为该用户密码。

开启UDP服务端口获取网内其他LINUX系统日志
$ModLoad imudp.so  # provides UDP syslog reception
$UDPServerRun 514 # start a UDP syslog server at standard port 514

编辑/etc/bashrc,将客户端执行的所有命令写入系统日志/var/log/messages中。
# vi /etc/bashrc
在文件尾部增加一行
export PROMPT_COMMAND=‘{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }‘
设置其生效
# source /etc/bashrc

关闭现有的日志服务
#/etc/init.d/syslog stop
启动rsyslog日志服务
# /etc/init.d/rsyslog start

编辑/etc/bashrc,将客户端执行的所有命令写入系统日志/var/log/messages中。
# vi /etc/bashrc
在文件尾部增加一行
export PROMPT_COMMAND=‘{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }‘
设置其生效
# source /etc/bashrc

关闭现有的日志服务
#/etc/init.d/syslog stop
启动rsyslog日志服务
# /etc/init.d/rsyslog start

3)验证结果

查看/var/log/message,会发现命令行命令已经纪录到message里面

验证数据库结果

二、客户端

配置rsyslog 客户端发送本地日志到服务端
# vi /etc/rsyslog.conf
*.* @172.18.2.125
行尾新增上面这行内容,即客户端将本地日志发送到服务器。

编辑/etc/bashrc,将客户端执行的所有命令写入系统日志/var/log/messages中。
# vi /etc/bashrc
在文件尾部增加一行
export PROMPT_COMMAND=‘{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }‘
设置其生效
# source /etc/bashrc
重启日志服务
# /etc/init.d/rsyslog restart

在客户端输入任何命令,查看服务端的message日志
2015-12-24T16:38:54+08:00 test135 root: [euid=root]:root pts/0 2015-12-24 14:59 (172.18.2.238):[/root]/etc/init.d/rsyslog restart
2015-12-24T16:39:04+08:00 test135 root: [euid=root]:root pts/0 2015-12-24 14:59 (172.18.2.238):[/root]less /var/log/messages
2015-12-24T16:39:06+08:00 test135 root: [euid=root]:root pts/0 2015-12-24 14:59 (172.18.2.238):[/root]ll
2015-12-24T16:41:04+08:00 test135 root: [euid=root]:root pts/0 2015-12-24 14:59 (172.18.2.238):[/root]pwd

在服务端查看message日志,收到客户端的message日志
Dec 25 11:40:30 t123 root: [euid=root]:root pts/4 2015-12-24 16:50 (172.18.2.238):[/root]ls

mysql库里面也有响应纪录

| 18 |       NULL | 2015-12-25 11:40:57 | 2015-12-25 11:40:30 |        1 |        5 | t123      |  [euid=root]:root pts/4 2015-12-24 16:50 (172.18.2.238):[/root]ls                                                                                                                                                         |       NULL |       NULL | NULL        | NULL      |          NULL |    NULL | NULL            |         NULL |      NULL |     NULL |     NULL |          1 | root:        | NULL         | NULL            |     NULL |

三、安装和使用LogAnalyzer

1、安装
#tar xvf loganalyzer-3.0.4.tar.gz

#cd loganalyzer-3.0.4

#cp -r src/ /var/www/html/loganalyzer

#cp -r contrib/* /var/www/html/loganalyzer

#执行脚本
#cd /var/www/html/loganalyzer/
#/bin/sh /var/www/html/loganalyzer/configure.sh
#/bin/sh /var/www/html/loganalyzer/secure.sh

#赋予权限
#chown -R apache:apache /var/www/html/loganalyzer
#启动httpd
#service httpd restart
#访问页面
http://172.18.2.125/loganalyzer

2.初始化

因为上面执行过脚本,所以这里config.php已经有可写的权限

#/bin/sh /var/www/html/loganalyzer/configure.sh
#/bin/sh /var/www/html/loganalyzer/secure.sh

第三步配置数据源

第六步,创建管理用户

第七步,配置日志源


登录http://172.18.2.125/loganalyzer

时间: 2025-01-04 05:37:27

LogAnalyzer--基于syslog的日志管理和审计平台的相关文章

LogSec日志大数据审计平台,企业信息安全管理人员不再“躺枪”

作为一名企业信息安全管理人员,你有没有被各种安全设备.服务器.网络设备的安全日志搞得焦头烂额?无论是要从各种日志中进行问题分析和定位,还是从日志中提取有用的信息,是不是都像大海捞针一样忙得筋疲力尽收获却总是寥寥? 而且,而且,你们单位里只有你一个安全管理员有木有? 单位这么多安全日志.设备日志,每天就好几万条怎么分析? 面对监管单位的安全检查,重点要求设备安全日志检查,怎么办? 那么在日常工作中,信息安全管理员究竟会面临哪些安全日志审计的问题呢? 日志分散在各地 随着信息化技术的逐渐深入,企业往

ubox及日志管理

ubox是openwrt的帮助工具箱,位于代码package/system/ubox下, CMakeLists.txt kmodloader.c log/ lsbloader.c validate/ 主要有以下3个功能,三功能相互独立: 1)内核模块管理,例如加载内核模块,查看已经加载内核模块等.kmodloader.c 2)日志管理.log 3)UCI配置文件数据类型的验证.validate 1. 内核模块管理 提供rmmod,insmod,lsmod,modinfo,modprobe功能.

十、syslog日志与loganalyzer日志管理

10.1.rsyslog简介 syslog是一个历史悠久的日志系统.几乎所有的UNIX和Linux操作系统都采用syslog进行系统日志的管理和配置.Linux系统内核和许多程序会产生各种错误信息.警告信息和其他的提示信息.syslog可以根据信息的来源以及信息的重要程度将信息保存到不同的日志文件中.在默认的syslog配置下,日志文件通常都保存在/var/log目录下,在Centos6中,syslog的守护进程为rsyslog,系统启动时,默认会自动运行rsyslog守护进程. 在syslog

基于mariadb的日志服务器及用loganalyzer实现日志的管理分析

日志文件和相关服务进程 日志文件用来记录系统,服务等在运行过程中发生的事件,事件发生的时间及事件的关键性程序.这些记录的信息在服务器运行出现问题时用来查看分析,以便解决问题.在Linux上,日志的记录一般有两种方式,一种是由软件自身完成自身运行状态的记录,例如httpd:另一种是由Linux上提供的日志文件管理系统来统一管理.运行的软件只需要调用这个管理系统中的相关服务,即可完成日志的记录.rsyslog就是这样的一个日志文件管理系统. rsyslog内置了很多facility,这个可以理解为服

rsyslog日志管理(mariadb+loganalyzer)

这里演示的只是简单的本地LAMP结构,mysql用来存储由rsyslog服务发来的日志,php用来运行loganalyzer程序. loganalyzer是一个php应用,用来展示mysql中存储的日志. loganalyzer下载地址: http://download.adiscon.com/loganalyzer/loganalyzer-4.1.3.tar.gz 目录: 1.安装LAMP. 3.mysql给rsyslog授权存储日志. 注意:时间同步. loganalyzer所在系统:cen

日志管理-rsyslog日志服务器及loganalyzer

一,日志基础 日志:记录时间,地点,任务,事件 格式:日期时间 主机 进程[pid]: 事件内容 rsyslog 特性: 多线程,UDP, TCP, SSL, TLS, RELP,MySQL, PGSQL, Oracle实现日志存储 强大的过滤器,可实现过滤记录日志信息中任意部分,自定义输出格式 日志分类:facility(不同类存放于不同文件) auth, authpriv, cron, daemon,ftp,kern, lpr, mail, news, security(auth), use

基于DDD的现代ASP.NET开发框架--ABP系列之8、ABP日志管理

点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之8.ABP日志管理 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上的开源项目:https://github.com/aspnetboilerplate 本文由东莞-天道提供翻译 Server side(服务器端) ASP.NET Boilerplat

为什么要使用日志管理?-syslog和Windows事件日志

为什么要使用日志管理?syslog和Windows事件日志 日志管理 - 确保网络安全的先决条件日志给予您有关网络活动的第一手信息.日志管理确保日志中隐藏的网络活动数据转换为有意义的可操作的安全信息.日志管理是网络安全管理员为保护网络而要完成的首要任务.日志管理包括收集.安全存储.规范化.分析.生成报表和告警.日志收集· 日志收集必须是非侵入性的.· 需要从网络中出现的不同设备.服务器和应用程序组中收集日志.· 最好以无代理的方式收集日志.在某些网络环境中,以使用代理的方式进行的日志收集应以可选

基于吉日嘎底层架构的Web端权限管理操作演示-日志管理

权限管理要实现的效果是对“ 谁”可以访问“什么内容”,可以进行“哪些操作” 一系列权限的精细化控制.衡量一个软件好坏的重要标准是:它的权限体系是否足够细致.是否可以立体勾勒出信息对象的访问控制.前面4篇我们依次介绍了<用户管理>.<角色管理>.<菜单模块管理>和<组织机构管理>,这篇我们演示一下日志管理: 异常日志 访问日志 上传日志 修改日志 在线视频 优酷视频地址,手机无法播放的点击这里:http://v.youku.com/v_show/id_XMTc