LinuxBasicsForHackers笔记 -- 日志系统
日志文件存储有关操作系统和应用程序运行时发生的事件的信息,包括任何错误和安全警报。
rsyslog 日志守护进程
Linux 使用名为 syslogd 的守护进程自动记录计算机上的事件。
rsyslog 配置文件
与 Linux 中的几乎所有应用程序一样,rsyslog 由位于 /etc 目录中的纯文本配置文件(与 Linux 中的情况一样)进行管理和配置。对于 rsyslog,配置文件位于 /etc/rsyslog.conf
。
rsyslog 日志记录规则
rsyslog 规则确定记录什么类型的信息、记录哪些程序的消息以及该日志的存储位置。
使用 logrotate 自动清理日志
您的系统已经使用 logrotate
实用程序的 cron 作业来轮换日志文件。 您可以使用 /etc/logrotate.conf 文本文件配置 logrotate 实用程序以选择日志轮换的规律。
保持隐秘
一旦你入侵了 Linux 系统,禁用日志记录并删除日志文件中任何入侵的证据以减少被发现的机会会很有用。 有很多方法可以做到这一点,每种方法都有自己的风险和可靠性。
移除证据
更好、更安全的解决方案是粉碎日志文件。 使用其他文件删除系统,熟练的调查员仍然能够恢复已删除的文件(已删除的文件只是可以被文件系统覆盖;它们仍然存在,直到被覆盖),但假设有一种方法可以删除文件,并多次覆盖它,使其更难以恢复。 幸运的是,Linux 有一个内置命令,恰当地命名为 shred
,就是为了这个目的。
shred
本身会删除文件并覆盖它几次,默认情况下,shred 会覆盖四次。 一般来说,文件被覆盖的次数越多,恢复就越困难,但请记住,每次覆盖都需要时间,因此对于非常大的文件,粉碎可能会变得非常耗时。
要包含的两个有用选项是 -f
选项,它更改文件的权限,以便在需要更改权限时允许覆盖;以及 -n
选项,它允许您选择覆盖文件的次数。 例如,我们将使用以下命令将 /var/log/auth.log 中的日志文件粉碎 10 次:shred -f -n 10 /var/log/auth.log.*
一旦你粉碎了一个文件,你会发现里面的内容是难以辨认的乱码。
禁用日志记录
掩盖踪迹的另一个选择是简单地禁用日志记录。 当黑客控制系统时,他们可以立即禁用日志记录,以防止系统跟踪他们的活动。 当然,这需要 root 权限。
要禁用所有日志记录,黑客只需停止 rsyslog 守护进程即可。 在 Linux 中停止任何服务都使用相同的语法,如下所示(:service servicename start|stop|restart
因此,要停止日志守护进程,您只需输入以下命令:service rsyslog stop