12.2. 清除日志文件

未匹配的标注

清除日志文件#

对安全审校员、安全管理员以及 IT 人员而言,日志文件是最重要的工具之一。应当定期审查日志文件,以及时发现悉意活动或可能提示不良行为的事件 ID。可以用人工或专用的日志分析软件审查这些日志,并报告异常行为或活动。

日志文件中可能出现的事件包括:

  • 尝试登录失败
  • 更改文件
  • 使用特权
  • 系统重启
  • 安装软件
  • 尝试登录成功
  • 清除日志文件
  • 更改或删除重要的系统文件
  • 安装应用程序
  • 应用程序故障与崩溃

在现实中,取决于所发生的活动类型以及系统所有者选择进行日志记录的项目,可能在系统的日志文件中出现不同的事件。例如,如果入侵者尝试通过反复登录获取账户的密码,系统将锁定该账户。通常本地系统或域会记录此类的活动。但是,如果入侵者将数据复制到闪存驱动器,对于操作系统而言,该活动和日常使用别无两样。如果未将系统或网络配置为记录对特定文件或目录的访问,那么它将不过是一条成功访问尝试的审核记录。

还应谨记的是,虽然并非所有的活动都可能被系统记录,但是日志在检测安全变更、调查事件、执行影响分析以及针对入侵采取行动等方面是非常有用的。另外,一个配置良好的审核系统可以用于威慑滥用现象。最后,从记录事件消耗的硬盘空间、内存和处理器等系统资源考虑,记录系统上的每个事件是不可取的。

禁用 Windows 中的日志记录过程#

处理遗留痕迹的最佳方法之一是:一开始就不要,或者尽可能少地遗留痕迹。实现这个目的的方法之一就是暂时禁用日志记录。

在 Windows 系统中,可以禁用系统上的日志记录 / 审核功能,并阻止活动出现在日志文件中。在禁用审核后,攻击者就有效地断绝了防御者的一个重要信息水源,并迫使他们采用其他检测机制。

在 Windows 环境中,可以在命令行中使用 AuditPol 实用程序与系统进行交互、配置或更改审核设置。AuditPol 用于控制和修改 Windows 操作系统中的审核设置。可以使用该应用程序启用或禁用本地和远程系统上的安全审核。

AuditPol 的语法通常如下所示:

auditpol \\<目标的ip地址><命令名>

auditpol <命令名>

AuditPol 可用于调整对多种不同安全事件的审核标准。

在 Windows 中,需要在命令提示符中使用提升的权限运行该命令,或者提升命令提示符本身的权限。
该命令的语法很简单,以下是一些 AuditPol 命令的示例。

该命令将列出所有审核策略设置:

Auditpol /get /category:*

仅列出 “账户管理 (Account Management)〞 类的审核策略设置:

Auditpol /get /category: "Account Management"

仅列出 “用户账户管理 (User Account Management)” 子类别的策略设置:

Auditpol /get /subcategory: "User Account Management"

将 “账户管理” 类审核策略设置为 “成功”

Auditpol /set /category: "Account Management" /success: enable

将 “账户管理” 类审核策略设置为 “失败”

Auditpol /set /category: "Account Management" /failure: enable

禁用或刪除 “账户管理” 类审核策略的 “成功” 设置:

Auditpol /set /category: "Account Management" /success:disable

禁用或刪除 “账户管理” 类审核策略的 “失败” 设置:

Auditpol /set /category: "Account Management" /failure:disable

仅将子策略类别 “用户账户管理” 设置为 “成功

Auditpol /set /subcategory: "User Account Management" /success: enable

仅将子策略类别 “用户账户管理” 设置为 “失败”

Auditpol /set /subcategory: "User Account Management" /failure:enable

仅列出用户 Administrator 的 “详细跟踪 (Detailed Tracking)” 类策略设置:

Auditpol /get /user:Administrator /category:"Detailed Tracking"

仅将用户 Administrator 的 “详细跟踪” 类策略设置为 “成功”:

Auditpol /set /user:Administrator /category:"Detailed Tracking"success: enable

删除日志文件中的事件#

通过关闭系统日志删除整个时问段的日志很容易引起怀疑,但是有选择性地从日志文件中删除条目却是另一回事。

有很多方法能够选择性地修改日志文件,从而使攻击不那么明显。以下是其中一些工具:

Log Parser Lizard 是一个 Windows 应用程序,可以下载 (免费) 并安装在任何 Windows 系统中。在安装该工具后,不仅可以使用它查看系统上的日志文件,还可以构造查询以查找特定事件。但是,为了避免污染证据,我们不建议将此应用程序安装在正在调查的系统中。

Log Parser Lizard 实际上只不过是 Microsoft Log Parser (日志解析器) 程序的一个图形界面。Log Parser 是一个多功能的软件,可使用 SQL 查询查看和搜索日志文件。该程序可以搜索所有类型的日志文件源,包括基于文本的数据,如日志文件、XML 文件和 TSV/CSV 文本文件,以及 Windows 操作系统中的关键数据源,如 Windows 事件日志、IIS 日志、注册表、文件系统、活动目录服务等。

那么 Linux 呢?可以清除 Linux 中的日志吗?当然可以,下面就将介绍相关内容。

清除 Linux 计算机上的事件日志#

Linux 系统的日志文件存储在 /var/1og 目录中。可以使用任何文本编辑器 (如 gedit) 打开并查看包含日志消息的明文文件:

gedit/var/log/messages

在离开攻陷的系统之前,应注意打开该文件并删除能够反映攻击活动的条目,如果时间紧迫,则可删除所有条目。虽然删除单个条目不容易引起怀疑,并且可以帮助规避防护,刪除所有条目更为有效,但是缺少日志文件这种异常事件足以引起注意。

在使用在此列出的任何一种技术时,要记住,作为善意者,这样做可能会破坏你行为的证据或文档,而这些证据和文档在后续与客户的讨论中可能用到。而一个坏人 (或是说不怀好意者) 如果选择删除系统中的日志文件和其他项目以隐藏行迹,他可能会发现自己陷入困境。在一些法庭和法律体系中,删除日志文件的行为可作为实施了犯罪的证据。

擦除命令历史#

在完成 Linux 系统测试之前,可以删除命令历史,从而防止检索到曾经进行的操作。记住,Linux 中的 shell 通常会记录系统中最后执行的那些命令。知识渊博的系统管理员 (或鉴证专家) 会检查你执行的所有命令,从而检测和破译你在系统上的行动,并可能将其用作证据。

想要查看历史操作,可使用如下命令:

more ~/ .bash history

历史文件的大小由环境变量 HISTSIZE 确定。可通过输入

echo SHISTSIZE

查看 HISTSIZE 变量的大小。
然后,可输入:

export HISTSIZE=0

将该变量设为零。

现在,shel 将不存储任何历史记录。如果深谋远虑,可在执行所有命令前,将该变量值更改为零,以减少后续清理工作量。但如果不这样做,之后将仍然需要将该变量设置为零。

如果还想进一步清理,可以粉碎历史文件,使它再无用处 (如果方式正确)。

shred -zu root/.bash history

该行命会使用带 - 2u 开关选项的 shred 命令,用零值覆盖历史记录,然后删除该文件。要检查历史记录是否已经被粉碎,可通过输入以下命令查看历史文件。

more /root/ .bashhistory

恭喜!日志文件现己从 Linux 中删除。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~