AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 473601
Accepted
Soviero
Soviero
Asked: 2013-01-30 11:15:29 +0800 CST2013-01-30 11:15:29 +0800 CST 2013-01-30 11:15:29 +0800 CST

获取 auditd 以记录原始用户

  • 772

这个问题与我之前的问题有关:Log all commands run by admins on production servers

公司政策是管理员通过个人用户名登录服务器,然后运行sudo -i成为 root。运行后sudo -i,sudo 将创建一个名为的环境变量SUDO_USER,其中包含原始用户的用户名。

是否可以auditd在每个命令的日志中包含此变量?或功能等价物。

这是当前的规则集auditd:

# First rule - delete all
-D

# Increase the buffers to survive stress events.
# Make this bigger for busy systems
-b 320

# Log any command run on this system
#-a exit,always -F arch=b64 -S execve
-a exit,always -F arch=b32 -S execve
centos
  • 2 2 个回答
  • 5128 Views

2 个回答

  • Voted
  1. Best Answer
    fuero
    2013-02-06T07:41:45+08:002013-02-06T07:41:45+08:00

    如此处所述:

    使用

    session required pam_loginuid.so

    在所有与登录相关的 PAM 配置文件(不是 su 和 sudo 的配置文件)中,将允许auditd在字段中记录调用用户的 uid auid。

    您可以auditd在 的日志中搜索此 ID

    ausearch -ua <uid>

    产生用户发出的所有命令,即使在模拟另一个帐户时也是如此。

    • 4
  2. Scott Pack
    2013-02-06T19:08:26+08:002013-02-06T19:08:26+08:00

    令人高兴的是,您请求的信息已经包含在日志中。您要查找的特定字段是aud。从联机帮助页auditctl:

         auid          The original ID the user logged in with. Its an abbreviation 
                       of audit uid. Sometimes its referred to as loginuid. Either 
                       the user account text or number may be used.
    

    例如,这是我使用以下方法生成的大量条目:

    1. 添加规则:-a always,exit -S sethostname -S setdomainname -k system-locale
    2. 使用我的用户帐户登录系统并通过发出命令启动 root shellsu -
    3. 执行命令:hostname audit-test.home.private

    type=SYSCALL msg=audit(1358306046.744:260):arch=c000003e syscall=170 success=yes exit=0 a0=2025010 a1=17 a2=7 a3=18 items=0 ppid=23922 pid=26742 auid=1000 uid= 0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts4 ses=16 comm="主机名" exe="/usr/bin/hostname" subj=unconfined_u:unconfined_r:unconfined_t :s0-s0:c0.c1023 key="系统语言环境"

    所以,虽然是的,但日志消息非常冗长,我们可以auid=1000在日志消息中清楚地看到,它对应于我的用户帐户的 uid。

    有关上述示例的更多详细信息以及 auditd 的简要说明,请查看IT 安全社区博主(我)富有想象力的题为A Brief Introduction to Auditd的博客文章。

    fuero 提到的ausearch命令是一套应用程序的一部分,用于针对这些相当详尽的日志搜索和运行报告。

    • 4

相关问题

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 使用 crontab 和 /etc/cron.hourly,daily,weekly 的区别

  • 持续监控许多服务器运行状况的简单方法?

  • Hudson 无法在 tomcat5 中启动

  • CentOS 的依赖挑战

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve