syslog日志策略方案.docx
《syslog日志策略方案.docx》由会员分享,可在线阅读,更多相关《syslog日志策略方案.docx(39页珍藏版)》请在冰点文库上搜索。
syslog日志策略方案
Syslog-ng日志管理方案
联想数据中心服务器组
2013年11月26日
文档信息
文档编号:
文档名称:
无锡数据中心信息日志管理系统部署手册
起草人:
郑煜
审核人:
批准人:
生效日期:
发布范围:
版本记录
版本号
版本日期
修改
修改章节
修改记录
V1.0
2013/10/08
郑煜
创建新文档
V1.1
2013/11/26
周程
增加windows和linux日志管理方案
添加内容
V1.2
2013/11/27
杨云波
增加网络设备日志管理配置方案
添加内容
1.文档介绍
1.1编写目的
本文件描述了联想MS无锡数据中心日志管理系统进行部署优化的操作步骤。
1.2适用范围
本文件阅读对象为联想MS项目无锡数据中心运维团队,包括无锡mscc,技术方案中心,以及无锡数据中心安全管理团队。
1.3引用文件
LogZillaInstallationGuide:
日志服务器的搭建(logzilla+syslog-ng+lamp):
2.术语定义
●syslog:
系统日志
●Eventlog:
信息安全管理体系
●严重性:
severity如果风险发生产生的影响的严重级别。
3.日志管理系统概述
日志管理系统主要记录无锡数据中心的服务器、网络设备、安全设备等的相关登陆和操作日志,以便对运维工程师在服务器和基础架构设备上进行的各种操作进行跟踪和审计。
通常各种设备的系统日志保存在系统本地,受到系统资源的限制,无法保留较长的时间,同时保存在系统本地的时候,日志内容本身能够被高等级用户修改,难以确定信息的完整性,另外设备日志的查看需要等到的设备上一台一台的进行,设备数量较多的时候,操作工作量大,对比和查询比较困难。
因此处于安全审计的要求和管理的便捷,在无锡我们需要实现系统日志的集中管理。
管理的设备包括:
●服务器,包括linux服务器和windows
●网络设备,包括交换机和F5
●安全设备,防火墙等
无锡IDC采用开源技术方案,根据前期的研究采用syslog-ng+logzilla开源方案构建日志管理系统。
4.系统架构
Syslog日志服务器
IP地址:
10.113.7.23
系统架构图如下:
部署示意图如下图:
5.安装部署
1
2
3
4
5
1
2
3
4
5
5.1部署步骤
1序号
步骤
备注
1
关闭SELinux
2
开启防火墙80和514端口
3
安装LAMP
4
平台初始化
5
安装syslog-ng
6
修改syslog-ng配置文件
7
安装php-syslog-ng组件
8
修改httpd.conf配置
9
修改php.ini配置
10
修改mysql设置,启动http服务
11
通过web页面设置php-syslog-ng
12
自动分隔logzilla日志
13
替换脚本路径
14
修改config.php和db_insert.pl文件
15
插入测试数据(可选)
16
重启syslog-ng
17
web登陆系统
18
Linux客户机配置日志转发
19
windows客户机配置
5.2前期准备工作
2
3
4
5
5.1
5.2
5.2.1查看SELinux的状态
a)#getenforce
b)如果是开启状态,则编辑/etc/selinux/config配置文件
vi/etc/selinux/config
#SELINUX=enforcing#注释掉
#SELINUXTYPE=targeted#注释掉
SELINUX=disabled#增加
c)配置更改后重启系统后生效
Reboot#重启系统
5.2.2开启防火墙80和514端口
a)vi/etc/sysconfig/iptables#编辑防火墙配置文件
b)在文件中添加如下两条规则
-ARH-Firewall-1-INPUT-mstate--stateNEW-mtcp-ptcp--dport80-jACCEPT
-ARH-Firewall-1-INPUT-mstate--stateNEW-mudp-pudp--dport514-jACCEPT
5.2.3安装LAMP
a)使用yum源安装Apache,Mysql和Php,yum源的配置请参考数据中心yum配置文档
yum-yinstallgccgcc-c++flexpcrepcre-develglib2glib2-developenssl-develphpgdgd-develphp-gdmysqlphp-mysqlmysql-servermysql-develhttpd
5.2.4平台初始化
a)安装libnet组件,安装perl模块Text:
:
LevenshteinXS、Digest:
:
SHA1、Net:
:
MySQL
yum-yinstalllibnet#如果yum安装不了,建议单独去下载rpm包后安装。
cpanText:
:
LevenshteinXS
cpan-iDigest:
:
SHA1
cpan-iNet:
:
MySQL
5.3安装和修改配置文件
1
2
3
4
5
5.1
5.2
5.3
5.3.1安装syslog-ng
a)eventlog将会生成/usr/lib/pkgconfig目录,这个目录会被syslog-ng的configure脚本使用,所以你应该添加一个环境变量PKG_CONFIG_PATH,使用如下命令添加:
exportPKG_CONFIG_PATH=/usr/lib/pkgconfig:
$PKG_CONFIG_PATH
b)通过上传将安装文件复制到/usr/local/src文件夹下。
上传文件syslog-ng-3.0.5-1.rhel5.x86_64.rpm(64位系统),eventlog_0.2.9.tar.gz,logzilla_v2.9.9o.tgz
c)安装eventlog和syslog-ng
cd/usr/local/src
tarzxvfeventlog_0.2.9.tar.gz
cdeventlog-0.2.9/
./configure&&make&&makeinstall
cd..
rpm–ivhsyslog-ng-3.0.5-1.rhel5.x86_64.rpm
5.3.2修改syslog-ng配置文件
a)修改syslog-ng配置文件
vi/opt/syslog-ng/etc/syslog-ng.conf
将文件内容更改如下
@version:
3.0
#Defaultconfigurationfileforsyslog-ng.
#
#Foradescriptionofsyslog-ngconfigurationfiledirectives,pleaseread
#thesyslog-ngAdministrator’sguideat:
#
#
#
options{
#Numberofsysloglinesstoredinmemorybeforebeingwrittentofiles
flush_lines(0);
log_fifo_size(2048);
create_dirs(yes);
perm(0640);
dir_perm(0750);
};
sources_network_1{
udp(ip(0.0.0.0)port(514));
};
destinationd_network_1{
file("/var/log/syslog-ng/network/$YEAR.$MONTH.$DAY/$HOST/$FACILITY.log");
};
#Definethedestination"d_network_1B"logdirectory
destinationd_network_1B{
file("/var/log/syslog-ng/network/all/network.log");
};
log{
source(s_network_1);
destination(d_network_1);
};
log{
source(s_network_1);
destination(d_network_1B);
};
destinationd_logzilla{
program("/var/www/logzilla/scripts/db_insert.pl"
template("$HOST\t$FACILITY\t$PRIORITY\t$LEVEL\t$TAG\t$YEAR-$MONTH-$DAY\t$HOUR:
$MIN:
$SEC\t$PROGRAM\t$MSG\n"));
};
log{
source(s_network_1);
destination(d_logzilla);
};
sourcelocalhost_all{
internal();
unix-stream("/dev/log");
file("/proc/kmsg"program_override("kernel"));
};
destinationlocalhostlog{
file("/var/log/syslog-ng/$HOST/$YEAR-$MONTH/$DAY"create_dirs(yes));
};
log{
source(localhost_all);
destination(localhostlog);
};
destinationlocal_logzilla{
program("/var/www/logzilla/scripts/db_insert.pl"
template("$HOST\t$FACILITY\t$PRIORITY\t$LEVEL\t$TAG\t$YEAR-$MONTH-$DAY\t$HOUR:
$MIN:
$SEC\t$PROGRAM\t$MSG\n"));
};
log{
source(localhost_all);
destination(local_logzilla);
};
注意修改时保证路径/var/www/logzilla/与后面章节中logzilla的安装路径一致
b)启动syslog-ng
/etc/init.d/syslog-ngrestart
5.3.3安装php-syslog-ng组件
a)进入/usr/local/src路径,解压压缩包
tar-zxvflogzilla_v2.9.9o.tgz
b)修改文件夹名称与syslog-ng配置文件中一致
mvphp-syslog-nglogzilla
mvlogzilla/var/www/
c)修改文件夹的owner,确保logzilla的文件夹owner与apache的配置一致
chown-Rapache:
apache/var/www/logzilla/html//确定httpd.conf中User为apache,Group为apache
d)将php-syslog-ng配置文件改为可写
chmoda+w/var/www/logzilla/html/config/config.php
e)创建logzilla的日志文件夹
mkdir-p/var/log/logzilla
5.3.4修改httpd.conf配置
编辑Apache的配置文件httpd.conf
vim/etc/httpd/conf/httpd.conf
在最后加上
80>
ServerAdminwebmaster@
DocumentRoot/var/www/logzilla/html/
ServerName
ErrorLoglogs/-error_log
CustomLoglogs/-access_logcommon
Alias/logs"/var/www/logzilla/html/"
OptionsIndexesMultiViewsFollowSymLinks
AllowOverrideAll
Orderallow,deny
Allowfromall
5.3.5修改php.ini配置
编辑php.ini文件
vim/etc/php.ini
display_errors=On//Off改成On
magic_quotes_gpc=On//Off改成On
memory_limit=128M
max_execution_time=300//30改成300
5.3.6修改mysql设置,启动http服务
a)mysql的初始化和配置
vi/etc/f
b)由于search_cache表采用的是MEMORY存储引擎,有大小的限制,修改一下/etc/f,添加以下内容:
tmp_table_size=1G
max_heap_table_size=1G
c)让mysql以服务的方式开机启动
chkconfigmysqldon
d)启动mysql
servicemysqldstart
e)设置mysql的root密码
cd/usr/bin/
mysqladmin-uroot-hlocalhostpassword'mysql123456'
f)登录mysql测试
mysql-uroot-p
输入密码:
mysql123456
退出:
Exit
g)重启syslog/etc/init.d/syslog-ngrestart
h)重启apache服务servicehttpdstart
5.3.7通过web页面设置php-syslog-ng
a)通过firefox登陆http:
//127.0.0.1/install/install1.php,最好不要用IE,最后一步installcemdb时会卡死,或者自行手工登陆mysql执行相应的Sql文件。
请确保页面上填写的内容与系统设置和设计一致,
Sysloguser的密码:
sysloguserpasswd
Syslogadmin的密码:
syslogadminpasswd
b)填写完毕之后,点击右上角的[next],弹出提示框
点击[OK]确认,
呈现页面如下:
c)填写sitename,点击[next>>],呈现如下页面
输入管理员email和admin帐号密码,请确保与设计保持一致。
Web应用的admin帐号的密码:
lenovoms123
然后点击右上[next>>]按钮,界面如下:
d)确认安装配置的summary信息无误,点击[installCEMDB],开始执行数据库配置和logzilla数据库初始化,弹出提示
e)点击,[startimport]执行界面如下:
f)完成之后,点击[continue]或者通过浏览器访问http:
//127.0.0.1/logs呈现如下界面:
g)输入admin帐号和之前配置的密码,即可登陆系统呈现如下页面:
如果没有数据,则表格为空。
5.3.8自动分隔logzilla日志
a)复制配置文件
cp/var/www/logzilla/scripts/contrib/system_configs/logrotate.d/etc/logrotate.d/logzilla
b)添加自动运行作业
crontab-e
@daily/usr/bin/php/var/www/logzilla/scripts/logrotate.php>>/var/log/logzilla/logrotate.log
@daily/usr/bin/find/var/www/logzilla/html/jpcache/-atime1-execrm-f'{}'';'
*/5****/usr/bin/php/var/www/logzilla/scripts/reloadcache.php>>/var/log/logzilla/reloadcache.log
c)给logrotate.php和reloadcache.php可执行权限
cd/var/www/logzilla/scripts
chmod+xlogrotate.php
chmod+xreloadcache.php
5.3.9替换脚本路径
a)cd/var/www/logzilla/scripts
b)./fixpaths.sh
Updatingallfileswithabasepathof/var/www/logzilla
Modifying../scripts/contrib/system_configs/syslog-ng.conf
Modifying../scripts/contrib/system_configs/logzilla.apache
Modifying../scripts/contrib/system_configs/crontab
Modifying../scripts/contrib/loggen/find_missing_sequences.pl
Modifying../scripts/db_insert.pl
c)重启syslog
/etc/init.d/syslog-ngrestart
如果有如下报警
USINGTABLE:
logs
ThereappeartobenohostsintheDatabaseyet
Youcangeneratefakeonesusingscripts/dbgen.pl
则修改config.php和insert.plwen文件
5.3.10修改config.php和db_insert.pl文件
a)修改config.php
vim/var/www/logzilla/html/config/config.php
查找define(‘DBHOST’,’127.0.0.1′);#把localhost改成IP要不然不会自动插入数据
b)修改db_insert.sql
vim/var/www/logzilla/scripts/db_insert.pl
c)查看my$ngconfig
确保位置为/var/www/logzilla/html/config/config.php
5.3.11插入测试数据(可选)
a)如果需要插入测试数据,则修改dbgen.sql
vi/var/www/logzilla/scripts/contrib/dbgen/dbgen.pl
b)修改my$ngconfig="/data/www/php-syslog-ng/html/config/config.php"为"/var/www/logzilla/html/config/config.php";
c)执行插入测试数据
perl/var/www/logzilla/scripts/contrib/dbgen/dbgen.pl
5.3.12重启syslog-ng
修改config.php之后,重启syslog-ng服务
启动syslog-ng
#/etc/init.d/syslog-ngrestart
5.3.13web登陆系统
通过浏览器访问http:
//127.0.0.1/logs呈现如下界面:
输入admin帐号和之前配置的密码,即可登陆系统呈现如下页面:
如果没有数据,则表格为空。
6.windows客户端配置和日志过滤
1.
2.
3.
4.
5.
6.
6
6.1syslog消息类型
消息类型
消息来源
Kern
内核
User
用户程序
Damon
系统守护进程
Mail
电子邮件系统
Auth
与安全权限相关的命令
Lpr
打印机
News
新闻组信息
Uucp
Uucp程序
Cron
记录当前登录的每个用户信息
Wtmp
一个用户每次登录进入和退出时间的永久记录
Authpriv
授权信息
备注:
windows不支持消息类型,统一定义成local
6.2Syslog常用优先级
优先级
描述
Emerg
最高的紧急程度状态
Alert
紧急状态
Cirt
重要信息
Warning
警告
Err
临界状态
Notice
出现不寻常的事情
Info
一般性消息
Debug
调试级信息
None
不记录任何日志信息
6.3日志结构示例
DBID
Host
Facility
Datetime
Program
Message
357261
LXJ204-CSS
daemon
2013-11-1710:
01:
29
Service_Control
等待来自UmRdpService服务的事务处理响应超时(30000毫秒)。
359100
LXJ204-CSS
daemon
2013-11-1710:
18:
57
Service_Control
RDP协议组件X.224在协议流中发现一个错误并且中断了客户端连接。
6.4Windows策略配置
6
6.1
6.2
6.3
6.4
6
6.1
6.2
6.3
6.4
6.4.1Windows设备列表
6.4.2Windows客户端配置
a)windows日志不支持syslog格式,需要安装Evtsys_4.4.3_64-Bit.zip(脚本里将其改成4.5的版本),下载地址为:
b)解压后是两个文件evtsys.dll和evtsys.exe
把这两个文