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

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

摘要

我的系列文档

编程语言

Netkiller Architect 手札

Netkiller Developer 手札

Netkiller PHP 手札

Netkiller Python 手札

Netkiller Testing 手札

Netkiller Cryptography 手札

Netkiller Perl 手札

Netkiller Docbook 手札

Netkiller Project 手札

Netkiller Java 手札

Netkiller DevOps 手札

操作系统

Netkiller Linux 手札

Netkiller Debian 手札

Netkiller CentOS 手札

Netkiller FreeBSD 手札

Netkiller Shell 手札

Netkiller Security 手札

Netkiller Web 手札

Netkiller Monitoring 手札

Netkiller Storage 手札

Netkiller Mail 手札

Netkiller Multimedia 手札

数据库

Netkiller Database 手札

Netkiller PostgreSQL 手札

Netkiller MySQL 手札

Netkiller NoSQL 手札

Netkiller LDAP 手札

网络设备及其他

Netkiller Network 手札

Netkiller Cisco IOS 手札

Netkiller H3C 手札

Netkiller Amateur Radio 手札

您可以使用iBook阅读当前文档


目录

  • 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			

7. 延伸阅读

《日志归档与数据挖掘》

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

原文发表时间:2016-06-16

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算

Go 微服务,第11部分:Hystrix和Resilience

在Go微服务博客系列的这一部分,我们将探讨如何使用Netflix Hystrix的Go实现和go-resilience重试包,使用断路器模式使我们的服务间通信更...

7413
来自专栏安恒信息

Cisco 多个安全漏洞预警

安全公告 2018年3月28日,Cisco官方发布了Cisco IOS和IOS XE软件存在多个远程代码执行漏洞的安全公告,其中严重的主要有3个: Smart ...

2957
来自专栏区块链

20种功能强大的跨平台渗透测试工具

什么是渗透测试?用来测试软件是否存在例如安全方面的漏洞,如果已经存在,会不会被入侵。 渗透测试流程: 1、列出软件或系统潜在的安全漏洞。 2、根据漏洞的严重性进...

2217
来自专栏FreeBuf

Wannacry蠕虫勒索软件处置流程及方案

Wannacry蠕虫勒索软件处置流程及工具包 1、背景 5月12日晚,一款名为Wannacry 的蠕虫勒索软件袭击全球网络,这被认为是迄今为止最巨大的勒索交...

2487
来自专栏web前端教室

本周日-先行者课程小总结

本周日的先行者课程,是用vue.js做一个点菜结账pos类的应用。 里面使用了vue-cli做为脚手架,使用了ElementUI做为前端组件库,主要的知识点包括...

1757
来自专栏BeJavaGod

数据源从druid迁移到HikariCP

最近正好在做新项目,使用的是druid数据源,也真是巧,有朋友建议我使用HikariCP这个数据源,可以说是牛的一笔,速度快的飞起,性能极高!

1704
来自专栏phodal

【工具推荐】价值百百万的后台微服务生成工具

上周参加公司的一个微服务 WorkShop,期间使用到了这么一个强大的工具。 在 Workshop 里,我们所要做的就是做一个类似于下图的应用,由多个服务 + ...

1895
来自专栏FreeBuf

小心Windows旧版认证暴露你的系统帐户密码

当你正用浏览器访问网站时,Windows的一个古老漏洞就可能泄露了你电脑的用户名密码、微软登录信息,甚至还有你VPN的账号密码。 多年以前当Windows还在使...

22310
来自专栏全华班

小而优美的快速开发平台

kylin-frame是一个小而优美的快速开发平台,采用流行的框架springBoot+mybatis+shiro+redis开发,实现了权限管理(菜单...

2012
来自专栏Ceph对象存储方案

远程管理openresty的reload

默认情况下,nginx/openresty会启动一个root权限运行的master进程,之后再用指定的普通用户权限启动对应的worker,如果需要对整个open...

1965

扫码关注云+社区