Shell 历史记录异地留痕审计与监控

Shell 历史记录异地留痕审计与监控

摘要


目录

  • 1. 什么是Shell历史记录异地留痕与监控
  • 2. 什么要将Shell历史记录异地留痕并监控
  • 3. 何时做历史记录异地留痕
  • 4. 在哪里做历史记录异地留痕
  • 5. 角色与权限
  • 6. 怎么实现历史记录异地留痕
    • 6.1. 节点配置
    • 6.2. 推送端
    • 6.3. 收集端
  • 7. 延伸阅读

1. 什么是Shell历史记录异地留痕与监控

首先谈谈什么是“历史记录异地留痕”,历史记录就是~/.bash_history文件,不同Shell名字可能不同,它会记录每次用户在键盘上敲下的命令,我们可以通过下面命令查询历史记录。

$ history | head
 1009  ls /www
 1010  vim Makefile
 1011  cat Makefile
 1012  make index.html
 1013  vim Makefile
 1014  make index.html
 1015  vim Makefile
 1016  make index.html
 1017  vim Makefile
 1018  make index.html

 $ history | tail
 2000  find /tmp/var/
 2001  ll
 2002  cd workspace/Journal/
 2003  s
 2004  ls
 2005  make shell.html
 2006  cat ~/.bash_history
 2007  history
 2008  history | head
 2009  history | tail

 $ cat ~/.bash_history | head -n 100
 cat /etc/issue
cat /etc/resolv.conf
ifconfig
cat /etc/resolv.conf
dmd
df
df -T
cat /etc/fstab
cat /etc/issue
uname -a
ps ax
cd /srv/
ls
cd workspace/
ls
df
df -T
df
ls
cd ..
ls		

由于篇幅的限制,我是用了head,tail 命令限制显示长度。

现在我在看看“监控”,监控就是过滤 ~/.bash_history 文件内字符串,达到匹配标准,做出报警操作等等。例如我们发现adduser命令应立即报警,通知相关人员检查。

2. 什么要将Shell历史记录异地留痕并监控

首先我们将要用户操作留痕,以方便随时调阅,我们要知道系统管理员做了那些操作,还可用于审计工作。例如我们开发工作中有一个环节就是Code Review (代码审查),可以帮助我们提前发现BUG,以及不合理做法,甚至是人为恶意植入后门等等。

历史记录异地留痕就是运维工作的 sysop review(运维审查)。

其次是监控,注意这里的~/.bash_history监控并非实时监控,因为只有用户推出shell后才能保存~/.bash_history文件。所以监控是滞后的,但也足够能帮助我们更早的知道系统发生了那些变化。

3. 何时做历史记录异地留痕

这个系统可以实时部署,对现有的业务不会影响。

4. 在哪里做历史记录异地留痕

历史记录异地留痕分为两个部分,第一个部分是节点,第二部分是收集端,收集段同时还负责监控与报警。节点将收集的数据发送给收集端,然后收集端归档日志。

5. 角色与权限

最高权限着负责部署即可

6. 怎么实现历史记录异地留痕

6.1. 节点配置

首先修改history格式,默认只有行号,我需要记录每一个命令的输入时间点。

			cat >> /etc/bashrc <<EOF
export HISTTIMEFORMAT="%Y-%m-%d-%H:%M:%S "
EOF			

此时输入history命令你可以看到时间点

# history
  741  2014-12-24-10:06:26 ll
  742  2014-12-24-10:06:40 ls
  743  2014-12-24-10:06:44 ll
  744  2014-12-24-10:06:47 ls
  745  2014-12-24-10:58:13 history			

6.2. 推送端

$ git clone https://github.com/netkiller/logging.git
$ cd logging
$ python3 setup.py sdist
$ python3 setup.py install			

配置启动脚本,打开文件logging/init.d/uhistory

			HOST=127.0.0.1 #此处为收集端的IP地址

# Port | User 
# -------------------
# 配置端口号与用户
done << EOF
1220 neo
1221 jam
1222 sam
EOF				

6.3. 收集端

$ git clone https://github.com/netkiller/logging.git
$ cd logging
$ python3 setup.py sdist
$ python3 setup.py install			

配置收集端端口,编辑文件logging/init.d/ucollection

			done << EOF
1220 /backup/neo/.bash_history
1221 /backup/jam/.bash_history
1222 /backup/sam/.bash_history
EOF

原文发布于微信公众号 - Netkiller(netkiller-ebook)

原文发表时间:2015-09-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏晨星先生的自留地

漏洞分析| Humax WiFi路由器多个漏洞可获取管理员权限

1503
来自专栏阮一峰的网络日志

Systemd 定时器教程

Systemd 作为 Linux 的系统启动器,功能强大。 本文通过一个简单例子,介绍 Systemd 如何设置定时任务。这不仅实用,而且可以作为 System...

2854
来自专栏FreeBuf

Metasploitable2使用指南

Metasploitable 2 Metasploitable2 虚拟系统是一个特别制作的ubuntu操作系统,本身设计作为安全工具测试和演示常见漏洞攻击。版...

2499
来自专栏企鹅号快讯

PhpSploit:一款隐蔽性极强的后渗透利用框架

今天给大家介绍的是一款名叫PhpSploit的远程控制框架,该工具可以帮助攻击者在客户端与Web服务器端之间建立隐蔽性极强的交互式链接(类似Shell)。简而言...

1839
来自专栏FreeBuf

老外手把手带你搭建DMZ渗透测试实验室(Part 1,2)

小编注: 大家好。接下来给大家带来两篇老外的文章,是关于构建渗透环境的文章,这是第一篇。如果有什么地方翻译地不对,还请各位大大轻拍。下面一系列的步骤都是如何在G...

2399
来自专栏黑白安全

D-Link DIR-600M 150M无线路由器的认证绕过

我只需要连接上路由器,然后查看路由器的网关地址,在浏览器打开网关地址,输入用户名admin,密码输入超过20个空格 即可成功绕过认证,进入路由管理后台.

662
来自专栏王磊的博客

聊聊excel生成图片的几种方式

目录     I:需求。    II:实现思路。     III:实现方式。     IV:优缺点分析。     V:结论。     VI:wps安装与配置。 ...

33511
来自专栏向治洪

android个推平台

最近有个朋友想要推送一些消息到自己的APP上,自己用了HTTP轮询的方式比较耗电,也比较占用流量,一旦用户关闭了进程,消息则很难触达,于是,咨询我有没有什么好的...

1866
来自专栏GuZhenYin

SignalR系列续集[系列8:SignalR的性能监测与服务器的负载测试]

前言 也是好久没写博客了,近期确实很忙,嗯..几个项目..头要炸..今天忙里偷闲.继续我们的小系列.. 先谢谢大家的支持.. 我们来聊聊SignalR的性能监测...

1886
来自专栏安智客

Android 8.0 中的安全增强功能

每个 Android 版本中都包含数十种用于保护用户的安全增强功能。以下是 Android 8.0 中提供的一些主要安全增强功能: 加密:在工作资料中增加了对...

18610

扫描关注云+社区