Linux安全运维之如何活用history命令

作者分离本人多年丰厚的工作实战经历,以简单、浅显易懂方式讲述了如何活用history命令。

Linux安全运维丨谁动了我的主机?活用History命令

悬镜 Linux运维

Linux系统下可通过history命令查看用户所有的历史操作记录,在安全应急响应中起着非常重要的作用,但在未进行附加配置情况下,history命令只能查看用户历史操作记录,并不能区分用户以及操作时间,不便于审计分析。

当然,一些不好的操作习惯也可能通过命令历史泄露敏感信息。

下面我们来介绍如何让history日志记录更细化,更便于我们审计分析。

1、命令历史记录中加时间

默认情况下如下图所示,没有命令执行时间,不利于审计分析。

Linux安全运维丨谁动了我的主机?活用History命令

悬镜Linux运维

通过设置export HISTTIMEFORMAT=’%F %T ‘,让历史记录中带上命令执行时间。

注意”%T”和后面的”’”之间有空格,不然查看历史记录的时候,时间和命令之间没有分割。

要一劳永逸,这个配置可以写在/etc/profile中,当然如果要对指定用户做配置,这个配置可以写在/home/$USER/.bash_profile中。

本文将以/etc/profile为例进行演示。

Linux安全运维丨谁动了我的主机?活用History命令

悬镜Linux运维

要使配置立即生效请执行source /etc/profile,我们再查看history记录,可以看到记录中带上了命令执行时间。

Linux安全运维丨谁动了我的主机?活用History命令

悬镜Linux运维

如果想要实现更细化的记录,比如登陆过系统的用户、IP地址、操作命令以及操作时间一一对应,可以通过在/etc/profile里面加入以下代码实现

export HISTTIMEFORMAT=”%F %Twho -u am i 2>/dev/null| awk ‘{print $NF}’|sed -e ‘s/[()]//g’

whoami”,注意空格都是必须的。

Linux安全运维丨谁动了我的主机?活用History命令

悬镜Linux运维

修改/etc/profile并加载后,history记录如下,时间、IP、用户及执行的命令都一一对应。

Linux安全运维丨谁动了我的主机?活用History命令

悬镜Linux运维

通过以上配置,我们基本上可以满足日常的审计工作了,但了解系统的朋友应该很容易看出来,这种方法只是设置了环境变量,攻击者unset掉这个环境变量,或者直接删除命令历史,对于安全应急来说,这无疑是一个灾难。

针对这样的问题,我们应该如何应对,下面才是我们今天的重点,通过修改bash源码,让history记录通过syslog发送到远程logserver中,大大增加了攻击者对history记录完整性破坏的难度。

2、修改bash源码,支持syslog记录

首先下载bash源码,可以从gnu.org下载,这里不做详细说明了,系统需要安装gcc等编译环境。我们用bash4.4版本做演示。

修改源码:bashhist.c

Linux安全运维丨谁动了我的主机?活用History命令

悬镜Linux运维

修改源码config-top.h,取消/#define SYSLOG_HISTORY/这行的注释

Linux安全运维丨谁动了我的主机?活用History命令

悬镜Linux运维

编译安装,编译过程不做详细说明,本文中使用的编译参数为: ./configure –prefix=/usr/local/bash,安装成功后对应目录如下:

Linux安全运维丨谁动了我的主机?活用History命令

悬镜Linux运维

此时可以修改/etc/passwd中用户shell环境,也可以用编译好的文件直接替换原有的bash二进制文件,但最好对原文件做好备份。

替换时要注意两点:

1、一定要给可执行权限,默认是有的,不过有时候下载到windows系统后,再上传就没有可执行权限了,这里一定要确定,不然你会后悔的;

2、替换时原bash被占用,可以修改原用户的bash环境后再进行替换。

查看效果,我们发现history记录已经写到了/var/log/message中。

Linux安全运维丨谁动了我的主机?活用History命令

悬镜Linux运维

如果要写到远程logserver,需要配置syslog服务,具体配置这里不做详细讲解,大家自己研究,发送到远端logserver效果如下图所示。

Linux安全运维丨谁动了我的主机?活用History命令

悬镜Linux运维

经过以上操作,能够有效保证history记载的完好性,防止攻击者登录系统后,经过取消环境变量、删除history记载等方式抹掉操作行为,为平安审计、应急响应等提供了完好的原始数据。

 

马哥学习交流群

马哥教育-Linux学习-1群 485374463

马哥教育-Linux学习-2群 339184057

相关新闻

历经多年发展,已成为国内好评如潮的Linux云计算运维、SRE、Devops、网络安全、云原生、Go、Python开发专业人才培训机构!

PHP网站源码塘坑标王福田外贸网站建设吉祥百姓网标王宝安优化东莞网站推广方案龙华如何制作网站平湖网站推广坂田百度关键词包年推广深圳百搜词包观澜企业网站制作平湖外贸网站设计坑梓百度关键词包年推广永湖外贸网站设计盐田阿里店铺托管木棉湾外贸网站建设坪地百度爱采购光明网站改版福永企业网站制作广州网站制作南澳网页制作永湖百姓网标王推广惠州网站建设荷坳关键词排名双龙至尊标王大鹏SEO按天扣费布吉百姓网标王推广南山外贸网站制作横岗seo优化布吉关键词按天收费沙井网站优化软件歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化