Centos7编译安装sudosh2
sudosh2简介
sudosh2项目地址: https://github.com/squash/sudosh2
虽然项目已经停更,但是感觉很有趣,就记录下来.
sudosh 是一个用于记录用户会话的工具,主要用于审计和监控用户在系统上的操作,而不是记录密码。
不过,如果你的目标是记录 root 用户的活动,可以通过 sudosh 来记录用户的会话,包括命令输入和输出。以下是如何在 Debian 12 下安装和配置 sudosh 的步骤,以及如何使用它来记录 root 用户的活动。
安装sudosh
Centos7编译安装sudosh2
Centos7编译需要依赖centos-release-scl 源
# 配置centos-release-scl 源
# 安装dev9开发工具集
# 内含新版 gcc automake autoconf
yum install devtoolset-9-toolchain git -y
# 启用 SCL 环境:
scl enable devtoolset-9 bash
# 克隆代码
git clone https://github.com/squash/sudosh2.git
# 编译sudosh
./configure
make
make install
# 移动sudosh到/usr/bin
mv /usr/local/bin/sudosh /usr/bin/
mv /usr/local/bin/sudosh-replay /usr/local/sbin/sudosh-replay

# 查看版本
sudosh -v

# 启动sudosh
sudosh -i
步骤 1:Debian安装 sudosh
首先,确保你的系统已经安装了 sudosh。如果没有安装,可以使用以下命令安装:
sudo apt update
sudo apt install -y sudosh2
步骤 2:配置 sudosh
sudosh 通常通过 SSH 或其他方式启动,用来记录用户的会话。以下是配置和使用 sudosh 的方法:
- 编辑 SSH 配置文件:
sudo vim /etc/ssh/sshd_config
- 找到
Subsystem sftp行,将其替换为以下内容:
# 启用 SFTP 服务,并指定使用 OpenSSH 内置的 SFTP 服务器(internal-sftp)。
# 这允许用户通过 SFTP 协议安全地传输文件,而无需使用外部的 SFTP 服务器。
Subsystem sftp internal-sftp
# 强制执行 sudosh 命令,当用户通过 SSH 登录时,sudosh 会记录用户的会话。
# 这用于审计和监控用户的操作,确保所有命令都被记录下来。
# 注意:这会限制用户只能通过 sudosh 执行命令,无法直接访问 shell。
ForceCommand sudosh
- 重启 SSH 服务:
sudo systemctl restart sshd
步骤 3:查看会话记录
sudosh 会自动记录用户的会话到日志文件中。默认情况下,日志文件存储在 /var/log/sudosh 目录下。你可以通过以下命令查看日志:
sudo tail -f /var/log/sudosh/*
查看会话记录
/usr/local/bin/sudosh-replay

重播会话
就跟播放录像一样
# 第一个参数是会话 ID
# 第二个参数是乘数。使用较高的乘数值可以加快重放速度,而“1”表示实际速度
# 第三个参数是最大等待时间 (max-wait)。在实际会话中可能存在等待时间的情况下,此参数限制最大等待时间 (max-wait) 秒数,在上例中为 5 秒。
sudosh-replay root-root-1284653707-GCw26NSq 1 5
查看命令记录,包括终端回显
# 直接查看命令记录|less 防止日志太大
sudosh-replay dhanks-1098322740 0 | less

注意事项
- 密码不会被记录:
sudosh记录的是用户的命令输入和输出,但不会记录密码输入的内容(因为密码通常是通过终端的非回显模式输入的)。 - 替代方案:如果你需要更详细的审计功能,可以考虑使用
auditd或其他日志工具。

2032

被折叠的 条评论
为什么被折叠?



