博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux syslog 3
阅读量:5136 次
发布时间:2019-06-13

本文共 1705 字,大约阅读时间需要 5 分钟。

BASH增加日志功能

    如果工作中遇到了比较囧的情况,机器被人攻破了,黑客登录了你的系统(当然我们会尽全力防止这样的事情发生)你一定会希望系统记录下来哪个用户做过哪些操作。History功能并不能满足这个要求,因为黑客的智商应该会告诉他在离开的时候删除history记录(除非你遇到个菜鸟黑客)。

    那么我们怎么预防呢?这里的方法是给bash来个记录日志,谁在什么时间操作了什么命令,都写到messages里面去。

下面是具体步骤:

1.       下载并打补丁
#cd /home/soft
#wget  http://ftp.gnu.org/gnu/bash/bash-4.1.tar.gz
#tar zxf bash-4.1.tar.gz ; cd bash-4.1
#wget -r -nd -np http://ftp.gnu.org/gnu/bash/bash-4.1-patches/
#patch -p0 < bash41-001  全部文件都要patch一遍
2.       修改源码
这里这么做的原因是因为bash4.1默认在代码里面注释了log功能,并且原来记录的内容并不能满足要求,所以需要修改。
#vi bashhist.c +708  708行左右修改成下面内容
 syslog (SYSLOG_FACILITY|SYSLOG_LEVEL, "HISTORY: PID=%d PPID=%d SID=%d  User=%s CMD=%s", getpid(), getppid(), getsid(getpid()),  current_user.user_name, line);
  else
    {
      strncpy (trunc, line, SYSLOG_MAXLEN);
      trunc[SYSLOG_MAXLEN - 1] = '\0';
      syslog (SYSLOG_FACILITY|SYSLOG_LEVEL, "HISTORY (TRUNCATED): PID=%d  PPID=%d SID=%d User=%s CMD=%s", getpid(), getppid(), getsid(getpid()),  current_user.user_name, trunc);
    }
#vi config-top.h  取消/*#define SYSLOG_HISTORY*/这行的注释
3.       编译安装
#./configure --prefix=/usr/local/bash && make && make install
4.       测试
#vi /etc/passwd  修改一个用户的登录shell/usr/local/bash/bin/bash
tom:x:501:501::/home/users/tom:/usr/local/bash/bin/bash
用tom用户登录并进行一些操作,之后查看messages文件,可以看到类似下面的记录:
Jan 14 13:35:15 rhel6 -bash: HISTORY: PID=15912 PPID=2161 SID=15912  User=tom CMD=cat yum.conf
5.       把日志记录的日志服务器
#vi /etc/syslog.conf  添加一行*.*  @logservername
日志服务器的做法只需要在/etc/sysconfig/syslog文件中修改SYSLOGD_OPTIONS="-m -r 0"即可。

PS:此方法只针对syslog程序,RHEL6.0已更换为rsyslog具体方法还没研究。

参考链接:
http://wenku.baidu.com/view/c3bb49c58bd63186bcebbc7a.html
http://www.rsyslog.com/doc

出自:http://salogs.com/

skyou.blog.51cto.com/2915693/550736

转载于:https://www.cnblogs.com/diyunpeng/archive/2011/12/27/2303577.html

你可能感兴趣的文章
HashPump用法
查看>>
cuda基础
查看>>
Vue安装准备工作
查看>>
.NET 母版页 讲解
查看>>
最大权闭合子图
查看>>
oracle 创建暂时表
查看>>
201421410014蒋佳奇
查看>>
【03月04日】A股滚动市盈率PE历史新低排名
查看>>
Xcode5和ObjC新特性
查看>>
jvm slot复用
查看>>
高并发系统数据库设计
查看>>
LibSVM for Python 使用
查看>>
Centos 7.0 安装Mono 3.4 和 Jexus 5.6
查看>>
Windows 7 上安装Visual Studio 2015 失败解决方案
查看>>
iOS按钮长按
查看>>
Shell流程控制
查看>>
CSS属性值currentColor
查看>>
[Leetcode|SQL] Combine Two Tables
查看>>
《DSP using MATLAB》Problem 7.37
查看>>
ROS lesson 1
查看>>