我们主要讲一下Linux环境中的系统记帐和系统日志管理以及怎么用一些工具更加方便有效的管理日志信息。
当我们用上面的方 法进行了 Linux 服务器的安装和一些基本的设置后,我们的服务器应该说来是比较安全的。但是总是还会有黑客可以通过各种方法利用系统管理员的疏忽侵入我们的系统。他们的一 举一动都会记录到系统的日志之中,尽管他们可能可以改变这些日志信息,甚至用自己的程序替换掉我们系统本身的命令程序,但是通过日志我们总还是能找到一些 蛛丝马迹。下面我们主要讲一下 Linux 环境中的系统记帐和系统日志管理以及怎么用一些工具更加方便有效的管理日志信息。
最初开发的系统记帐用于跟踪用户资源消费情况,从用户帐号中提取费用为目地的。现在我们可以把它用于安全目的,给我们提供有关在系统中发生的各种活动的有价值信息。
系统记帐主要非为两类:
连 接记帐是跟踪当前用户当前对话、用户登录和退出的活动。在 Linux 系统中使用 utmp (动态用户对话)和 wtmp (登录/退出日志记录)工具来完成这一记帐过程。Wtmp 工具同时维护重新引导和系统状态变化信息。各种程序对这些工具进行刷新和维护,因此无须进行特殊的后台进程或程序。然而,utmp 和 wtmp 输出结果文件必须存在,如果这些文件不存在会关闭连接记帐。与 utmp 和 wtmp 有关的所有数据将分别保存在 /var/run/utmp 和 /var/log/wtmp 中。这些文件归根用户所有。这些文件中的数据是用户不可读的,但也有工具可以转换成可读的形式。
dump-utmp 可以转换连接记帐数据为可读的 ASCII 格式数据。
ac 命令提供了有关用户连接的大概统计,我们可以使用带有标志 d 和 p 的 ac 命令。标志 d 显示了一天的总连接统计,标志 p 显示了每一个用户的连接时间。这种统计信息的方式对了解与探测入侵有关的用户情况及其他活动很有帮助。Last 和 who 是出于安全角度定期使用的最常用命令。
last 命令提供每一个用户的登录时间,退出登录时间,登录位置,重新引导系统及运行级别变化的信息。last -10 表示 last 的最多输出结果为最近的 10 条信息。缺省时 last 将列出在 /var/log/wtmp 中记录的每一连接和运行级别的变化。从安全角度考虑,last 命令提供了迅速查看特定系统连接活动的一种方式。观察每天的输出结果是个好习惯,从中可以捕获异常输入项。Last 命令的 -x 选项可以通知系统运行级别的变化。
who 命令主要作用是报告目前正在登录的用户、登录设备、远程登录主机名或使用的 Xwindows 的 X 显示值、会话闲置时间以及会话是否接受 write 或 talk 信息。
例如: who -iwH 的输出结果:
USER MESG LINE LOGIN-TIME IDLE FROM
Denny - tty1 Feb 18 08:42 old
这就表示用户 Denny 不能接受 write 或 talk 信息,2月18日8:42 从 tty1 登录。该命令的安全值提供了用户连接的大致情况,这也为监视可疑活动提供了条件。 其他的有关命令有 lastlog 命令,该命令报告了有关 /var/log/lastlog 中记录的最后一次登录的数据信息。