UNIX 计算安全/日志文件和审计
建议主题:syslog,lpd 的日志,邮件日志,安装,审计和入侵检测系统。
日志文件由系统进程生成,用于记录活动以供后续分析。它们可以是用于解决系统问题以及检查不当活动的实用工具。UNIX 版本预先配置为将某些信息记录在日志文件中,但配置设置可用于增加记录的信息量。
日志文件对于安全事件调查来说非常有用的资源。它们对于刑事活动的起诉也至关重要。出于这些原因,日志文件应定期备份到单独的介质,并且需要采取预防措施来防止篡改日志文件。预计未经授权的入侵者将尝试从系统日志文件中删除其活动的任何痕迹。
对于随着时间的推移而显著增长的日志文件,定期轮换日志是一个好习惯。也就是说,将当前日志文件重命名为序列中的名称,然后开始一个新日志。以下是如何轮换名为mylog
的日志文件的示例
$ cd /var/adm $ test -f mylog.2 && mv -f mylog.2 mylog.3 $ test -f mylog.1 && mv -f mylog.1 mylog.2 $ test -f mylog.log && cp -p mylog mylog.1 $ :>mylog
这样做的效果是将日志在三个副本中轮换,然后最终被覆盖。可以使用脚本定期运行此操作,从而保持日志文件被修剪。(日志文件应在某个时间点备份到介质。)轮换日志文件有助于最大程度地减少磁盘空间使用量,从而避免由于文件系统已满而导致的拒绝服务事件。
系统日志是由syslogd
守护进程维护的日志文件。此日志文件可以收集各种有用的信息,包括恐慌条件、数据损坏、硬件错误以及警告和跟踪信息。可以使用logger
命令从 shell 或脚本中写入此日志文件。消息被发送到syslogd
守护进程,该守护进程根据特殊文件(如/etc/syslog.conf
)中定义的配置对其进行处理。
传递到syslog
的事件由一组设施和日志级别定义。设施和日志级别的组合可以以不同的方式处理,或者完全忽略。例如,所有错误消息都可以复制到syslog.log
文件并通过电子邮件发送给系统管理员,警报可以打印到控制台,邮件调试消息可以添加到mail.log
文件,等等。
某些服务或守护进程可以配置为将信息记录到syslogd
文件中。这些可以包括inetd
文件,在某些系统上可以配置为提供其他日志信息。可以记录的信息类型包括远程用户登录尝试和成功,包括用户连接的客户端主机。在某些情况下,这对于帮助跟踪不当或错误连接的来源很有用。
某些版本的syslogd
可以配置为读取通过网络广播的日志消息。但是,可以使用无效消息来泛滥此套接字,从而导致日志文件快速增长以及潜在的拒绝服务。出于这个原因,通常最好在syslogd
启动时禁用此网络日志记录功能。
有几种方法可以维护一个系统日志,入侵者难以甚至不可能清除。这些可以通过/etc/syslog.conf
文件进行配置。
- 一台打印机可以专门用于在硬拷贝上记录日志消息。老式的行式打印机特别适合于此目的,因为消息可以立即查看,而不是等待页面填满。
- 守护进程可以将消息转发到网络上的安全系统。如果服务器被破坏,消息将仍然安全地存储在远程主机上。
- 日志消息可以复制到配置为一次写入、多次读取操作的设备。这可能是一次性写入、多次读取的 CD-ROM 记录或专门配置的磁带驱动器。
系统管理员还应警惕误导性的日志消息。用户可以使用logger
命令添加日志条目,这可以作为恶作剧或滋扰因素。
还有其他日志文件,有时可以用来跟踪访问和活动。
- 行式打印机守护进程 (
lpd
) 通常用于将输出作业分发到打印机。这可以打印到本地连接的设备,或者将打印作业转发到不同服务器上的远程打印机。打印作业记录在日志文件中,通常给出打印机名称、运行打印作业的帐户以及日期和时间。这可能对跟踪访问尝试很有用。
sendmail
守护进程可用于使用 SMTP(简单邮件传输协议)在 UNIX 系统之间发送和接收电子邮件。守护进程可以配置为记录有关发送、接收和中继的电子邮件消息的信息。它可用于解决电子邮件问题,以及查找异常的邮件活动。日志消息通过syslogd
发送到系统,syslogd
通常配置为将与邮件相关的消息保存到专用日志文件中。
审计通常是 UNIX 系统上可以激活的内置功能。它是 C-2 可信系统安全的要求。
必须激活审计系统才能开始收集数据。这种数据采集确实需要付出代价,因为它会消耗高达系统 CPU 时间的 10%。数据存储在一个文件中,然后可以使用可用的审计系统命令进行分析。
审计子系统可以收集有关事件、系统调用和用户活动的數據。审计可以收集大量数据,然后可以检查这些数据以获取有关正在运行的系统调用、调用系统命令的用户以及所做修改的信息。
审计配置的细节可能因 UNIX 操作系统的具体版本而异,因此系统管理员最好查看有关该主题的手册页。通常有一个audit 手册页,这是一个很好的起点。
由于审计文件可能无限增长,因此有必要管理该文件,通常每天进行一次。这可以通过轮换日志文件并将日志备份到单独的介质来完成。审计功能通常有一个阈值设置,会在特定条件下导致审计切换到备用日志文件。此审计文件通常放置在另一个文件系统上,以防原始文件系统达到磁盘使用限制时触发阈值切换。
应定期监控审计日志以检查需要跟踪的活动。通常,这可以通过使用 cron 作业来实现,该作业汇总日志条目并查找不适当的事件。此外,将审计事件日志定期存储在单独的介质上对于调查未经授权的访问等目的很有用。