You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu桌面服务器高等级审计日志查询需求

Ubuntu桌面服务器高等级审计日志查询需求

嘿,针对你提到的多用户远程访问Ubuntu桌面服务器的审计需求,确实有一套成熟的工具和内置日志可以覆盖你要的所有场景——不管是安全审计还是故障排查,都能搞定。我来给你拆解清楚:

一、内置基础日志(无需额外安装)

  • 登录/登出&权限操作日志/var/log/auth.log 是你的核心必备!它会记录所有SSH远程登录、本地控制台登录、sudo权限调用、用户认证失败等事件,每条日志都包含精确的时间戳、用户名和操作详情。你可以用tail -f /var/log/auth.log实时监控,或者grep "username" /var/log/auth.log筛选特定用户的记录。
  • Shell命令历史(需优化):每个用户家目录下的~/.bash_history默认只存命令内容,不带时间。如果要补全时间戳,只需在/etc/bash.bashrc(全局生效)或用户个人的~/.bashrc里添加一行:
    HISTTIMEFORMAT="%F %T "
    
    重启shell后,历史命令就会显示执行时间啦。不过要注意:这个文件用户自己可以修改,所以如果需要不可篡改的命令审计,得用下面的专业工具。

二、专业审计工具auditd(全面覆盖命令&文件操作)

如果要追踪所有命令执行、文件访问、系统调用这类深度操作,auditd是Linux官方的审计框架,完全满足你的高等级需求:

  1. 先安装:
    sudo apt install auditd audispd-plugins
    
  2. 启动并设置开机自启:
    sudo systemctl enable --now auditd
    
  3. 添加核心审计规则(举例):
    • 记录所有用户的命令执行:
      sudo auditctl -a exit,always -F arch=b64 -S execve
      
    • 监控敏感目录的读写操作(比如/etc):
      sudo auditctl -w /etc/ -p rwxa -k etc_access
      
    这些规则会把所有符合条件的操作写入/var/log/audit/audit.log,日志里包含时间、用户名、进程ID、命令路径甚至参数。
  4. 高效查询日志:用ausearch工具筛选,比如查特定用户的所有操作:
    sudo ausearch -ua 用户名
    
    查标记为etc_access的目录访问记录:
    sudo ausearch -k etc_access
    

三、桌面环境操作日志

因为你用的是桌面服务器,桌面端的应用操作(比如文件打开、应用崩溃)也需要追踪:

  • 用户级桌面日志:用journalctl --user可以查看当前用户的桌面会话日志,包含应用启动、错误提示、文件关联打开等信息;GNOME用户还可以查看~/.local/share/xorg/Xorg.0.log获取X11桌面的底层日志。
  • 系统级桌面登录日志:如果用GDM登录管理器,journalctl -u gdm会记录所有用户的桌面登录、登出事件。

最后小提醒

  • auditd的日志增长较快,记得调整/etc/audit/auditd.conf里的max_log_filenum_logs参数设置日志轮转,避免磁盘占满。
  • 所有审计日志默认只有root能读取,一定要确保日志文件的权限(比如chmod 600 /var/log/auth.log),防止普通用户篡改或泄露敏感信息。

备注:内容来源于stack exchange,提问作者Mike984

火山引擎 最新活动