`
zdx3578
  • 浏览: 95615 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

bash 历史命令 送入syslog

阅读更多

 cat bashhist.c |grep pid

    syslog (SYSLOG_FACILITY|SYSLOG_LEVEL, "HISTORY: PPID=%d PID=%d UID=%d %s", getppid(), getpid(), current_user.uid, line);
      syslog (SYSLOG_FACILITY|SYSLOG_LEVEL, "HISTORY (TRUNCATED): PPID=%d PID=%d UID=%d %s", getppid(), getpid(), current_user.uid, trunc);

 

这样可以显示ppid,跟踪sh切换后的用户

 

bash 4.1 增加了syslog 历史命令的功能,编译时 vi config-top.h 將此行/*#define SYSLOG_HISTORY*/ 修改為#define SYSLOG_HISTORY ‧./configure & make ‧ make install 這樣就可以使用bash-4.1 的新功能了,历史命令保存到syslog!

 

 cat bashhist.c |grep pid
    syslog (SYSLOG_FACILITY|SYSLOG_LEVEL, "HISTORY:SID=%d PPID=%d PID=%d UID=%d %s", getsid(getpid()), getppid(), getpid(), current_user.uid, line);
      syslog (SYSLOG_FACILITY|SYSLOG_LEVEL, "HISTORY (TRUNCATED):SID=%d PPID=%d PID=%d UID=%d %s", getsid(getpid()), getppid(), getpid(), current_user.uid, trunc);

 

增加sid 用户切换也可以跟踪,su - mysql等等

 

 

 

 

 sed -e 's/HISTORY: PID=%d UID=%d %s", getpid(),/HISTORY:SID=%d PPID=%d PID=%d UID=%d %s", getsid(getpid()), getppid(), getpid(),/' -e 's/HISTORY (TRUNCATED): PID=%d UID=%d %s", getpid(),/HISTORY (TRUNCATED):SID=%d PPID=%d PID=%d UID=%d %s", getsid(getpid()), getppid(), getpid(),/' bashhist.c>bashhist.c.1;mv bashhist.c bashhist.c.2;mv bashhist.c.1 bashhist.c; diff bashhist.c bashhist.c.2

 

 

 

bash升级、增加syslog功能并统一记录到日志服务器、记录history命令、并可以取出key登录的key-comment用户名和ip,

 

 

 

http://blog.hellosa.org/2013/07/27/log-bash-history-to-syslog-on-centos-6.html

http://www.366yw.com/?p=590

 

分享到:
评论
3 楼 zdx3578 2014-02-07  
Feb  7 16:29:30 temp sshd[20655]: Accepted password for root from 110.80.101.70 port 53698 ssh2
Feb  7 16:29:30 temp sshd[20655]: pam_unix(sshd:session): session opened for user root by (uid=0)
Feb  7 16:29:48 temp -bash: HISTORY: SID=20657 PPID=20655 PID=20657 UID=0 w
Feb  7 16:31:04 temp -bash: HISTORY: SID=20657 PPID=20655 PID=20657 UID=0 ps -efjH
Feb  7 16:31:20 temp -bash: HISTORY: SID=20657 PPID=20655 PID=20657 UID=0 bash --version
Feb  7 16:31:32 temp -bash: HISTORY: SID=20657 PPID=20655 PID=20657 UID=0 /bin/bash.bak --version
Feb  7 16:32:20 centostmp-lvm nagios: Auto-save of retention data completed successfully.
Feb  7 16:32:33 temp -bash: HISTORY: SID=20657 PPID=20655 PID=20657 UID=0 cat /etc/rsyslog.conf

登录ip关联到sshd进程号,sshd进程号关联到pid sid,切换用户sid可以关联
2 楼 zdx3578 2014-02-07  
if $programname == 'sshd' then @@192.168.0.2:514
if $programname contains 'bash' then @@192.168.0.2:514
1 楼 zdx3578 2014-01-27  
for i in `ls ../bash-4.2-patches` ;do patch -p0  <  ../bash-4.2-patches/$i ; done

相关推荐

    bash-preexec:像Zsh一样,Bash的preexec和precmd函数

    例如,你可以用它来更新历史记录,或者根据最近执行的命令改变终端的颜色方案。 `bash-preexec`实现这个功能的方式是通过添加两个特殊的函数:`preexec_invoke_exec`和`precmd_invoke_command`。这两个函数在适当的...

    linux系统安全基线检查脚本工具

    1. 检查是否禁用 guest 缺省用户 ...4. 检查 SNMP 配置是否更改 ...12. 检查 Bash 历史命令条数是否配置正确 13. 检查 syslog 是否已启用并转发到中央日志收集服务器 14. 检查安全审计功能是否已启用并记录相关事件

    谁动了我的主机之活用History命令.doc

    新的Bash将把历史记录写入`syslog`,这可以防止攻击者直接篡改本地历史记录。 编译和安装过程完成后,更新用户shell为新版本的Bash,或者直接替换原有二进制文件(确保备份)。一旦新Bash开始运行,`history`命令...

    一本给新手们看的资料----From-PowerUp-To-Bash-Prompt-HOWTO.pdf

    《从开机到Bash提示符:新手入门指南》是一份详尽的教程,旨在帮助Linux初学者理解系统从开机启动到用户登录并看到Bash命令行提示符这一过程中的每一个步骤。这份文档由Greg O'Keefe编写,版本为0.9,发布于2000年11...

    Linux常用命令-API手册.zip

    14. 交互式Shell工具:`bash-completion`自动补全功能,`history`查看和重用历史命令。 通过这两个文档,无论是初学者还是经验丰富的系统管理员,都能找到所需的信息,提升Linux操作技能。深入理解和熟练运用这些...

    构建linux审计系统

    4. **发送历史记录到syslog**:通过在bash配置文件中添加以下内容,可以将history记录自动发送到syslog服务: ```bash shopt -s cmdhist PROMPT_COMMAND="$PROMPT_COMMAND; logger -t bash-history -i '$(history...

    一些常见的日志管理方法和工具

    - 自动将日志文件归档,便于管理和查询历史日志。 #### 配置Logrotate - **配置文件**:Logrotate的主要配置文件位于/etc/logrotate.conf,额外的配置文件可以在/etc/logrotate.d/目录下找到。 - **示例配置**(/...

    Linux常用命令大全

    - `history`:显示历史命令记录。 - `alias`:创建命令别名,简化常用命令输入。 - `echo` 和 `printf`:在终端输出文本。 以上只是Linux常用命令的冰山一角,实际使用中还有很多其他的命令和组合,如管道符(`|...

    linux 命令大全

    以上只是Linux命令大全中的一小部分,实际上还有许多其他命令,如`sudo`用于以管理员身份执行命令,`history`显示最近的命令历史,`less`分页查看文件内容等。学习和掌握这些命令将极大地提高你在Linux环境中的工作...

    Linux命令从入门到精通一到十章

    - `history`: 查看历史命令记录。 - `cron`: 定时任务管理,配置周期性执行任务。 5. **网络与文件传输** - `ifconfig`: 查看或配置网络接口。 - `ping`: 检测网络连通性。 - `netstat`: 显示网络连接、路由表...

    UNIX Linux系统操作命令大全

    常见的Shell有Bash(Bourne-Again SHell)、C Shell、Korn Shell和Z Shell等。Shell脚本编写是提高效率的重要手段,通过编写一系列命令可以实现自动化任务。 2. **文件及目录管理**: - `cd`:改变当前工作目录。 ...

    linux的配置与优化

    Bash是常用的shell,通过编辑/etc/inputrc和设置INPUTRC环境变量,可以启用命令补全功能,类似于DOSKEY,使得文件和目录操作更加便捷。此外,可以自定义键盘快捷键,如F7和F8作为历史搜索功能,提高工作效率。示例中...

    Linux命令及TroubleShooting技术总结.docx

    例如,`echo $SHELL`用于显示当前用户的Shell类型,通常为bash,它支持命令补全和历史记录功能。`vi /etc/passwd`用于编辑系统账户配置文件,其中包含了用户信息,包括默认Shell的设置。`bootinfo -y`和`bootinfo –...

    超级方便的linux命令手册.zip|超级方便的linux命令手册.zip

    - `history`:查看命令历史。 - `clear`:清空终端屏幕。 - `alias`:创建命令别名。 - `man`:查看命令的帮助文档。 通过这份"超级方便的Linux命令手册",用户可以系统性地学习和掌握这些基本和高级的Linux...

    回顾:系统状态报告工具

    通常,这样的工具会结合使用Bash命令,如`top`(显示实时进程状态)、`free`(查看内存使用)、`df`(检查磁盘空间)、`netstat`(分析网络连接)和`last`(查看用户登录历史)等,来获取系统信息。 创建一个自定义...

    redhat linux教材20课程学习文档

    5.1.4 bash 引号规则 5.1.5 运算符 5.1.6 表达式替换 5.1.7 标准shell变量 5.1.8 影响命令的变量 5.2 过程 5.2.1 在过程内部使用变量 5.2.2 shift 命令 5.2.3 建立局部过程变量 5.2.4 过程返回值 5.3 脚本执行命令 ...

    AIX命令参考大全(a-z)

    - `bash`:Bourne-Again SHell,用于编写shell脚本。 - `echo`/`printf`:在脚本中输出文本。 - `for`/`while`/`if`:循环和条件判断结构。 以上仅为AIX命令参考大全中部分重要知识点,实际操作中还有许多其他...

    渗透完成之后对残留的痕迹清除

    1. **命令历史**:使用`history -r`删除当前会话的历史记录,`history -c`清空内存中的所有历史记录,`rm .bash_history`删除历史文件,设置`HISTSIZE=0`来禁止保存历史记录。 - 可以通过修改`.bashrc`文件来永久...

    主流服务器UNIX操作系统用户帐号的设置.

    syslog服务记录各种系统事件,而last命令可查看用户登录历史,auditd提供更高级的审计功能。 综上所述,设置UNIX服务器的用户账号涉及多个层面:账户创建与管理、密码策略、权限控制、组管理、环境变量、身份切换及...

    UNIX学习笔记 包括命令 使用方法 全部都有

    6. **脚本编程**:UNIX shell提供了编写shell脚本的能力,如Bash(Bourne Again SHell),你可以用它来自动化重复任务,结合`if`、`for`等控制结构以及上面提到的命令。 7. **软件安装与管理**:`make`编译源代码,...

Global site tag (gtag.js) - Google Analytics