安全运营 -- 监控linux命令history

0x00 背景

最近,有个IT的同事给我提了一个需求,说想监控/root/.ssh/ 文件夹下的文件变动,于是我灵机一动,这个需求只要对执行过的历史命令做审计就可以了。

0x01 实践

我实现这个功能使用 rsyslog 和 firewalld 两个组件。

我的设计是把命令history 转发到/usr/share/commands.log这个文件,再对这个文件监控。

export PROMPT_COMMAND='history 1 >> /usr/share/commands.log'

这个命令是临时的,只对当前会话可以记录。

如果想永久重定向,执行下面的命令

vi ~/.bashrc; export PROMPT_COMMAND='history 1 >> /usr/share/commands.log'; source ~/.bashrc

 然后开始配置文件通过syslog配置轮转到 /var/log/firewalld.log,按照下面命令修改配置

vi /etc/rsyslog.d/commands.conf

# Load the imfile module
module(load="imfile")

# Monitor /usr/share/commands.log
input(type="imfile"
      File="/usr/share/commands.log"
      Tag="commands-log"
      Severity="info"
      Facility="local7")

# Send logs to /var/log/firewalld.log
local7.* /var/log/firewalld.log

重启 syslog服务 

systemctl restart rsyslog

当然,需要确保 firewall 处于开启状态

提供一份简单的检查firewall 状态代码

systemctl status firewalld
#开启firewalld Block 日志
firewall-cmd --set-log-denied=all                                                                                                
echo "Kern.* /var/log/firewalld.log">> /etc/rsyslog.d/firewalld.conf                                            
sed -i '3a /var/log/firewalld.log' /etc/logrotate.d/syslog       #第三行后面追加    
systemctl restart rsyslog   
#设定本机使用public安全区                                                                                                      
firewall-cmd --set-default-zone=public                                                                                    
#设定堡垒机网段                                                                                                                           
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="10.xx.x.xx/26" service name="ssh" accept"  
#添加/移除对外开放的端口号                                                                                                 
firewall-cmd --permanent --add-port 443/tcp 
firewall-cmd --add-port 137/udp --permanent
firewall-cmd --add-source 127.0.0.1/8 --permanent
firewall-cmd --add-source 0.0.0.0 --permanent 
firewall-cmd --remove-port 22/tcp --permanent 
#添加服务IP白名单                                                                                                                    
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.x.xx" accept"
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="10.xx.x.xx" port protocol="tcp" port="8089" accept"  
#reload
firewall-cmd --reload                                                                                                    
firewall-cmd --list-all 
#开机自启动
systemctl enable firewalld

只要监控这个文件即可,不止有firewalld.log 还有command history,可以根据需求自由添加。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/458092.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++STL之stack

1.stack的使用 函数说明 接口说明 stack() 构造空的栈 empty() 检测 stack 是否为空 size() 返回 stack 中元素的个数 top() 返回栈顶元素的引用 push() 将元素 val 压入 stack 中 pop() 将 stack 中尾部的元素弹出 2.stack的模拟实现 #include<vector> namespace abc { …

hcia复习篇

计算机网络&#xff1a; 云技术&#xff1a; 云储存---将数据通过计算机网络传输并储存在第三方服务器。&#xff08;百度网盘&#xff09; 云计算---分布式计算。&#xff08;即共享硬件资源&#xff09; 计算机技术&#xff1a; 文字、图片、视频等---抽象文字。 抽象语言…

django游戏门户系统

想做毕业设计但还没有头绪&#xff1f;&#x1f64b;‍♂️django游戏门户系统了解一下&#xff01;这个系统不仅功能全面&#xff0c;还能轻松解决你的项目选题难题&#xff01; 我们这个基于Django开发的游戏门户系统提供了用户注册、登录、内容发布以及管理功能&#xff0c…

软件测试学习总结

一.软件测试概念和目的 软件测试的概念: 测试模型(V模型) 软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审查,它是软件质量保证的关键步骤。 通常对软件测试的定义有两种描述: 定义1:软件测试是为了发现错误而执行程序的过程 定义2:…

前端同步异步-setTimeout-Promise-async-await

总结下前端的同步异步、事件循环问题&#xff0c;如有错误欢迎指正。 目录 一、setTimeout定时器函数 1.定义 2.基本语法 3.返回值 4.使用 1&#xff09;异步执行 2&#xff09;嵌套使用 3&#xff09;事件循环 二、Promise 1.定义 2.状态 3.基本语法 1&#xff0…

矩阵概念 和 性质

目录 一、矩阵因式分解 二、矩阵在图形学的运用 一、矩阵因式分解 1、先将矩阵化为上三角阵&#xff0c;得到U 2、每个主元列以下元素 主元 得到下三角阵 二、矩阵在图形学的运用 二维移动&#xff1a; 子空间H&#xff1a; 零向量属于H 对H中任意向量u、v&#xff0c;uv…

js构造函数和原型对象,ES6中的class,四种继承方式

一、构造函数 1.构造函数是一种特殊的函数&#xff0c;主要用来初始化对象 2.使用场景 常见的{...}语法允许创建一个对象。可以通过构造函数来快速创建多个类似的对象。 const Peppa {name: 佩奇,age: 6,sex: 女}const George {name: 乔治,age: 3,sex: 男}const Mum {nam…

利用 Puppeteer-Extra 插件提升自动化测试和网页抓取的效率与隐蔽性

在当今的互联网环境中&#xff0c;自动化测试和网页抓取已经成为许多开发者和数据分析师的日常工作之一。Puppeteer 是一个广泛使用的 Node 库&#xff0c;它提供了一个高级 API 来通过 DevTools 协议控制 Chrome 或 Chromium。然而&#xff0c;在某些场景下&#xff0c;我们可…

获取微博排行榜PHP

获取微博排行榜是获取微博html页面的数据&#xff0c;而非直接调用微博后端接口获取 PHP实现 class WeiBoHotSearchService extends BaseService {/*** 微博热搜缓存过期时间* var int*/protected int $expireTime 600;/*** 微博热搜URL* var string*/protected string $doma…

centos-LAMP搭建与配置(论坛网站)

文章目录 LAMP简介搭建LAMP环境安装apache&#xff08;httpd&#xff09;安装mysql安装PHP安装php-mysql安装phpwind LAMP简介 LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写&#xff1a;Linux操作系统&#xff0c;网页服务器Apache&#xff0c;…

HTML+CSS实现超酷超炫的3D立方体相册

效果演示 HTML和CSS实现一个简单的3D立方体加载动画的相册。它使用了HTML来构建立方体的结构&#xff0c;并通过CSS来添加样式和动画效果。 HTML <div class"loader3d"><div class"cube"><div class"face"><img src&qu…

多线程——线程安全的集合类

目录 前言 一、多线程环境使用 ArrayList 1.进行加锁 2.使用 SynchronizedList 类 3.使用 CopyOnWriteArrayList 类 二、多线程环境使用队列 1.进行加锁 2.使用阻塞队列 三、多线程环境使用哈希表 1.Hashtable 2.ConcurrentHashMap &#xff08;1&#xff09;缩小锁…

计算机毕业设计 | springboot+vue凌云在线阅读平台 线上读书系统(附源码)

1&#xff0c;绪论 随着社会和网络技术的发展&#xff0c;网络小说成为人们茶钱饭后的休闲方式&#xff0c;但是现在很多网络小说的网站都是收费的&#xff0c;高额的收费制度是很多人接受不了的&#xff0c;另外就是很多小说网站都会有大量的弹窗和广告&#xff0c;这极大的影…

医学数据分析中的偏特征图可视化

在医学领域&#xff0c;我们经常需要处理复杂的数据模型&#xff0c;探索特征与目标变量之间的关系。偏特征图(Partial Dependence Plot, PDP)是一种强大的可视化技术&#xff0c;可以帮助我们更好地理解模型的行为。通过这种图形&#xff0c;我们可以直观地观察每个特征对模型…

零一万物新模型Yi-Lightning:超越GPT-4o

10月16日&#xff0c;零一万物发布了最新的旗舰模型Yi-Lightning&#xff08;闪电&#xff09;&#xff0c;在中国大模型中首度超越 GPT-4o。它在国际权威盲测榜单 LMSYS 上取得了显著成绩&#xff0c;超越了硅谷知名 OpenAI 的 GPT-4o-2024-05-13 和 Anthropic Claude 3.5 Son…

关于iPhone 16 Pro评测视频评论区特征的多维度分析

1.项目背景 随着智能手机的迅速发展&#xff0c;消费者在选择新设备时越来越依赖于网络评价和用户反馈&#xff0c;B站作为中国领先的视频分享平台&#xff0c;聚集了大量科技评测内容&#xff0c;其中UP主的评论区成为用户讨论和交流的重要场所&#xff0c;特别是在iPhone 16…

基于SSM的汽车客运站管理系统【附源码】

基于SSM的汽车客运站管理系统&#xff08;源码L文说明文档&#xff09; 目录 4 系统设计 4.1 设计原则 4.2 功能结构设计 4.3 数据库设计 4.3.1 数据库概念设计 4.3.2 数据库物理设计 5 系统实现 5.1 管理员功能实现 5.1.1 管理员信息 5.1.2 车…

【程序员的逆袭】:在失业的阴影下寻找光明

故事摘要 在失业的阴霾中&#xff0c;一位程序员如何通过外包项目重燃希望之火&#xff1f;这个故事讲述了他的谋生手段&#xff0c;如何在压力之下&#xff0c;通过信息差赚取生活所需。 要点 信息的力量&#xff1a;赚钱的关键在于信息差&#xff0c;而非单纯的体力或脑力…

【轻量级聊天应用】Vocechat本地服务器部署结合cpolar异地即时通讯

文章目录 前言1. 拉取Vocechat2. 运行Vocechat3. 本地局域网访问4. 群晖安装Cpolar5. 配置公网地址6. 公网访问小结 7. 固定公网地址 前言 本文主要介绍如何在本地群晖NAS搭建一个自己的聊天服务Vocechat&#xff0c;并结合内网穿透工具实现使用任意浏览器远程访问进行智能聊天…

iTerm2 保持SSH远程连接

1、保持SSH远程连接的稳定&#xff0c;防止因闲置时间过长而断开连接 When idle, send ASCII code 35 every 60 seconds每60秒 输入# 2、客户端设置保持活动 设置客户端每隔60秒发送一次保活信号&#xff0c;总共尝试3次。 vim ~/.ssh/configHost *ServerAliveInterval 60…