用于在Linux平台上进行用户审计的选项

在Linux平台上进行用户审核的选项

存在用于在UNIX和Linux环境中审核用户活动的各种方法。 其中一些预装在普通版本中,有些可以免费下载,有些则是可商购的产品。 这里有一些最流行的审核方法。 描述每种方法,以及如何充分利用每种方法的提示。 此外,还提供了指导,以显示每种方法最适合的审计类型。 涵盖的审计方法包括:

  • 脚本
  • 屏幕
  • sudo审核
  • 本地审计机构(auditd,auditctl等)

情景1:使用脚本审核(1)

脚本如何设置和启动:

'脚本'是用于基本审计的知名工具。 在许多安装中,它预装了。 如果没有,可以添加到任何Linux环境中,不需要额外的配置。 一旦用户键入命令'script',使用脚本就会开始审计。

什么脚本记录:

一旦提供了脚本命令,就会记录所有的打字活动和屏幕I / O。 内容保存在名为“typescript”的默认文件中,如果需要,还可以保存在其他文件中。

安全和审计影响:

使用脚本是快速和容易的,但脚本很容易规避,难以可靠地执行。 例如,可以通过删除输出typescript文件,或退出脚本会话来绕过它。 此外,脚本仅显示交互式活动。 它没有详细说明在交互式命令产生的系统调用或进程中,引擎盖下面可能发生的情况。

屏幕截图:录入开始,键入'脚本'

什么时候使用脚本:

脚本中最好和最常见的用途是记录和审核您自己的会话。 这是因为将其配置为其他用户的可靠的安全审核工具很麻烦。 下面描述的其他方法更适合于监视其他用户。

情景2:使用屏幕进行审核(1)

如何设置和启动屏幕:

“屏幕”默认不提供Linux,但可以轻松下载和安装。 与上面的sudo和脚本一样,屏幕不是一个专用的审计工具:其最初的目的是用作复用工具,将各种用户连接到一个会话进行协作。 然而,这个概念也可以用于审计。

登录后启动屏幕

屏幕可以与SSH组合,通过在authorized_keys中创建一个条目来强制启动屏幕:(编辑authorized_keys ,确定是否有任何屏幕可执行文件,并将其与屏幕脚本相关联)。在下面的示例中,该脚本被称为'wrapper'用于此目的。

命名为“wrapper”的脚本使用屏幕记录用户的类型

什么屏幕记录:

在上面的示例配置中,每当用户输入任何命令时,该命令通过“包装器”脚本作为不变变量“SSH_ORIGINAL_COMMAND”运行 ,并通过屏幕记录。

安全和审计影响:

屏幕允许实时监控用户活动,无需缓冲。 它允许您从另一个会话连接到会话,第二个窗口正好与原始的窗口重复。 但是,它必须以只读模式使用,否则第二个窗口将反映在原始窗口中的输入,用户将实时了解审计活动。 您也可以在不终止会话的情况下断开会话,稍后返回。 实时监控和断开/重新连接功能使屏幕比脚本有所改进。 但与脚本类似,屏幕不记录内部(生成的进程/命令)。 只记录交互式会话。 SSH密钥可用于登录到会话以验证该屏幕正在运行。

实时监控:第二屏显示第一屏

何时使用屏幕:

屏幕最适合需要交互式协作的审计。 例如,当用户知道他/她正在被监视并且审计人员提供对在会话内正在完成的动作的反馈时。 屏幕弥补了安全审核要求的子集与用户培训要求之间的差距。

情景3:使用sudo进行审核

如何设置和启动sudo审核:

众所周知,sudo并不是一个审计工具。 其核心目的是使非root用户能够运行root命令。 但是,sudo也可以用于审核,通过配置它来记录会话并进行存储。 “sudo”预装在Linux [sudo(8)]

什么sudo可以记录:

sudo可以通过记录所有使用的命令来记录整个交互式会话,并且可以将会话信息存储在主目录或远程计算机中,以供将来查看/审核。

安全和审计影响:

整个会话可以在正常和快进模式下使用sudoreplay播放。 这显示了会话中发生的情况,并显示了特定用户的身份。 但是,您无法看到底层系统调用,并且您也无法获取有关每个命令是否成功的信息,除非有明确的屏幕输出。 更重要的是,sudo bash可以用来绕过sudo(或“愚弄”审计),所以它不是完全可靠的。

何时使用sudo:

这种方法对于回答“谁在使用/滥用sudo”这个问题是非常有效 。 换句话说,如果你仅仅涉及非root用户的根活动的具体问题,那么sudo是有效的。 如果您需要一个更全面的审核,也涵盖普通用户的操作,则需要合并多个审核来源。

情景4:使用本地审计审计工具进行审计

如何设置和启动auditd:

本地审计工具已在Linux [auditd(8)]中预配置。 可以通过X Windows下的图形应用程序,通过auditctl实用程序或直接通过配置文件修改来完成审核工作的配置。

X Windows中的审核工具配置

一旦安装,它很容易使用,并在Linux中的每个用户会话自动启动。

什么审核记录:

审计工具记录来自内核的数据,包括系统调用,用户ID和进程ID。 它捕获所有低级别的内部部件,具有高水平的细节。 信息可以在本地存储或发送到中央服务器。

使用本地审计工具捕获的信息示例

安全和审计意义:

配置允许您确定应记录什么事件或系统调用。 它们直接从内核记录,并且是高可靠性的。 事件可以被标记,以便易于排序,但是大量的数据通常会使您很难找到所需的内容。 与脚本和屏幕不同,auditd将捕获深入的内部。 然而,它具有相反的问题,因为它不捕获屏幕I / O。 审计数据是非常技术性质的,并不一定说明用户在做什么。 (即它将显示在脚本中产生的操作,但不显示正在运行的脚本或启动的交互式命令。)

何时使用auditd:

审计工具最适合用于监视非交互式活动,如文件更改和系统配置更改。

本教程由David Wise在ObserveIT的帮助下撰写 。 有关Linux审核的更多问题,请随时与他们联系。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏