删除悬镜linux安装教程,Linux安全运维之如何活用history命令
作者分离本人多年丰厚的工作实战经历,以简单、浅显易懂方式讲述了如何活用history命令。
Linux系统下可通过history命令查看用户所有的历史操作记录,在安全应急响应中起着非常重要的作用,但在未进行附加配置情况下,history命令只能查看用户历史操作记录,并不能区分用户以及操作时间,不便于审计分析。
当然,一些不好的操作习惯也可能通过命令历史泄露敏感信息。
下面我们来介绍如何让history日志记录更细化,更便于我们审计分析。
1、命令历史记录中加时间
默认情况下如下图所示,没有命令执行时间,不利于审计分析。
悬镜Linux运维
通过设置export HISTTIMEFORMAT=’%F %T ‘,让历史记录中带上命令执行时间。
注意”%T”和后面的”’”之间有空格,不然查看历史记录的时候,时间和命令之间没有分割。
要一劳永逸,这个配置可以写在/etc/profile中,当然如果要对指定用户做配置,这个配置可以写在/home/$USER/.bash_profile中。
本文将以/etc/profile为例进行演示。
悬镜Linux运维
要使配置立即生效请执行source /etc/profile,我们再查看history记录,可以看到记录中带上了命令执行时间。
悬镜Linux运维
如果想要实现更细化的记录,比如登陆过系统的用户、IP地址、操作命令以及操作时间一一对应,可以通过在/etc/profile里面加入以下代码实现
export HISTTIMEFORMAT=”%F %Twho -u am i 2>/dev/null| awk ‘{print $NF}’|sed -e ‘s/[()]//g’
whoami”,注意空格都是必须的。
悬镜Linux运维
修改/etc/profile并加载后,history记录如下,时间、IP、用户及执行的命令都一一对应。
悬镜Linux运维
通过以上配置,我们基本上可以满足日常的审计工作了,但了解系统的朋友应该很容易看出来,这种方法只是设置了环境变量,攻击者unset掉这个环境变量,或者直接删除命令历史,对于安全应急来说,这无疑是一个灾难。
针对这样的问题,我们应该如何应对,下面才是我们今天的重点,通过修改bash源码,让history记录通过syslog发送到远程logserver中,大大增加了攻击者对history记录完整性破坏的难度。
2、修改bash源码,支持syslog记录
首先下载bash源码,可以从gnu.org下载,这里不做详细说明了,系统需要安装gcc等编译环境。我们用bash4.4版本做演示。
修改源码:bashhist.c
悬镜Linux运维
修改源码config-top.h,取消/#define SYSLOG_HISTORY/这行的注释
悬镜Linux运维
编译安装,编译过程不做详细说明,本文中使用的编译参数为: ./configure –prefix=/usr/local/bash,安装成功后对应目录如下:
悬镜Linux运维
此时可以修改/etc/passwd中用户shell环境,也可以用编译好的文件直接替换原有的bash二进制文件,但最好对原文件做好备份。
替换时要注意两点:
1、一定要给可执行权限,默认是有的,不过有时候下载到windows系统后,再上传就没有可执行权限了,这里一定要确定,不然你会后悔的;
2、替换时原bash被占用,可以修改原用户的bash环境后再进行替换。
查看效果,我们发现history记录已经写到了/var/log/message中。
悬镜Linux运维
如果要写到远程logserver,需要配置syslog服务,具体配置这里不做详细讲解,大家自己研究,发送到远端logserver效果如下图所示。
悬镜Linux运维
经过以上操作,能够有效保证history记载的完好性,防止攻击者登录系统后,经过取消环境变量、删除history记载等方式抹掉操作行为,为平安审计、应急响应等提供了完好的原始数据。
马哥学习交流群
删除悬镜linux安装教程,Linux安全运维之如何活用history命令相关推荐
- 独立显卡linux安装教程,linux 安装meshlab并且指定使用独立显卡
linux 安装meshlab并且指定使用独立显卡 linux 安装meshlab并且指定使用独立显卡 1.0 目录组织 [nash5 meshLab]# tree $(pwd) /home/ld/S ...
- qq for linux安装教程,Linux for QQ 安装
1.sudo apt-get install wine 2.打开网址http://www.ubuntukylin.com/application/show.php?lang=cn&id=279 ...
- 服务器安全狗linux安装教程,[linux]安装linux版本64位服务器安全狗的图文教程
[linux]安装linux版本64位服务器安全狗的图文教程 下载服务器安全狗Linux版64位版本 官网的说明 方法1:在官网直接下载软件安装包(.tar.gz 格式:safedog_linux64 ...
- ansys 14.5 linux 安装教程,linux 安装 ansys14 - 计算模拟 - 小木虫 - 学术 科研 互动社区...
Ansys14.0 安装简明教程 首先查看系统的版本,如果系统在6.1以上,网卡的名字应该被改变,eth0变成em1 这个时候需要把网卡的名字改成eth0,否则 ansys将无法正确读取mac地址,读 ...
- vnc 红帽linux安装教程,Linux(redhat\centos)下安装xrdp
标签: Linux下安装xrdp 使用rdp协议访问远程Linux桌面 一般情况下,如果需要登陆远程Linux系统,我们会使用ssh/telnet来完成,如果需要登陆到远程Linux系统的桌面环境,我 ...
- 安全狗linux 安装教程,linux网站安全狗(apache版)安装教程
以32位安装包为例子,64位安装包只要将对应的32改成64即可. 步骤一: 到http://safedog.cn下载软件安装包(.tar.gz格式) safedogwz_linux32.tar.gz ...
- redis集群linux安装教程,linux下redis集群的原生安装方式部署
一.部署架构如下 每台服务器准备2个节点,一主一从,主节点为另外两台其中一台的主,从节点为另外两台其中一台的从. 二.准备6个节点配置文件 在172.28.18.75上操作 cd /etc/redis ...
- ss linux安装教程,Linux安装ss5详细步骤
1.安装必要的依赖关系 # yum -y install pam-devel # yum -y install gcc automake autoconf libtool make # yum -y ...
- Kali Linux 安装教程和使用技巧
Kali Linux 安装教程和使用技巧 一.创建root账户密码 (一)创建root账户密码 (二)删除普通账户 (三)修改系统和硬件时间 二.更新源 三.kali 安装googlepinyin输入 ...
最新文章
- 食物日记:上海铁板烧
- C# - Get HttpWebResponse Text
- 筛选汇总 power_批量汇总多Excel表格 | 标题都从第n行起怎么办?
- 消防信号总线原理_消防报警系统中消防模块分类与用途简介
- Buuoj reverse1
- cp命令显示进度条_干货|| Linux常用命令大全
- 作风和个性特点伪原创工具
- c语言把字符串写入文件,c语言文件读写 | 按字符,按行,按块
- oracle spatial下对wkt字符串操作遇到srid的解决方案
- 57、剑指offer--二叉树的下一结点
- 一转眼,距 2021 竟然就不到 65 天了,你准备好了么?
- BoxFilter包滤波器
- 面试之mybatis和hibernate的区别
- 计算机网络超详细笔记(三):数据链路层
- 百度云的高速下载技巧系列4---Village(原名山寨云)(安卓)
- win7仿win8主题
- MATLAB基本语法介绍(上)
- matlab二重积分运算,matlab二重积分
- [Windows批处理]清除IE缓存
- 【评测】NHEK细胞(正常成人表皮角质形成层细胞)