[TOC]
0x00 前言
Linux的rsyslog日志服务器配置:
代码语言:javascript复制vi /etc/rsyslog.conf
#将其中下面四行的注释取消
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
#### GLOBAL DIRECTIVES ####中加入如下内容:
$template IpTemplate,"/var/log/%FROMHOST-IP%.log"
*.* ?IpTemplate
& ~
#说明:实现在接收远程的日志为客户端IP地址命名。
#重新启动rsyslogd服务
service rsyslog restart
Linux的rsyslog日志客户端配置:
代码语言:javascript复制#vi /etc/rsyslog.conf
local1.debug @@192.168.0.66
#然后重新启动rsyslogd服务
service rsyslog restart
0x01 实际案例
Linux安全运维历史命令记录发往Rsyslog服务器
描述:将history 命令记录发往Rsyslog服务器,即将Linux history 记录发往本地/远程Rsyslog 服务器的2种方法。
syslog日志收集:
- windows: visualsyslog
方法1:
描述:从bash4.1 版本开始支持Rsyslog,所以我们需要下载bash4.1以后版本修改bash源码支持syslog记录,首先下载bash源码可以从gnu.org下载,并且系统需要安装gcc等编译环境;
1.修改两处源码:
bashhist.c : 这个源码文件和linux history记录处理有关
代码语言:javascript复制#bash_syslog_history 函数里面
void bash_syslog_history (line)
if (strlen(line) < SYSLOG_MAXLEN) {
syslog (SYSLOG_FACILITY|SYSLOG_LEVEL, "HISTORY: PID=%d UID=%d USER=%s CMD=%s", getpid(), current_user.uid, current_user.user_name,line);
}else{
strncpy (trunc, line, SYSLOG_MAXLEN);
trunc[SYSLOG_MAXLEN - 1] = '