当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > 浅析Linux系统帐户的管理和审计

Unix/Linux
Linux中NE2000兼容网卡的安装
sis650显卡驱动自定义安装终极指南(RH80)
配置好显卡驱动Linux下玩游戏同样爽
linux设备驱动笔记:字符设备驱动
把设备驱动程序编译进嵌入式Linux内核
删除Linux引导界面的方法及注意事项
在Linux操作系统下如何开启硬盘DMA
从Linux BIOS的起源 看未来主板框架
深入浅出 Linux字符设备驱动程序解析
Linux系统启动引导程序配置文件解析
深入浅出 Linux设备驱动异步通知介绍
深入浅出 Linux设备驱动中断处理介绍
新手看招 Linux操作系统的目录结构一览
菜鸟乐园 Linux中常见文件系统格式介绍
Motorola微处理器bootloader分析与应用
实用技巧 Linux系统的经典使用技巧八则
Linux操作系统下IPTables配置方法详解
Linux系统中增加Swap分区文件步骤方法
使用Openssh工具远程管理Solaris 10
uClinux中添加用户应用程序的详细方法

Unix/Linux 中的 浅析Linux系统帐户的管理和审计


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 104 ::
收藏到网摘: n/a

  1、登录帐户管理

  在Linux下登录用户帐户的管理是通过utmp和wtmp这两个工具来实现的。wtmp还记录系统重启和系统状态变化的有关信息。所有与utmp和wtmp相关的数据都分别被保存在/var/run/utmp和/var/log/wtmp这两个文件中。这两个文件均归属于root用户所有并且访问权限被设置为644,这些文件中的数据是加密过的。可以用dump-utmp这个工具将原始的数据转换为ASCII的数据,便于系统管理员分析用户的登录以及系统重启和系统状态变化的有关信息。

  登录帐户管理的相关命令

  last 命令提供了每个用户登录和退出的时间,同时还有系统重新启动以及运行状态改变的信息。默认情况下,last分析/var/log/wtmp文件并显示每个连接和运行状态改变的信息。Last输出的信息可能太多而让查看的人无法应付,典型的用法是last –5,表示查看/var/log/wtmp中的最新5条记录的内容。

  who 命令的主要用处是报告系统中当前登录进来的用户信息。Who命令提供了如下的信息:用户登录进入使用的系统终端设备、用户的地址、使用的主机名、X显示的窗口(假如使用了X Windows系统)、用户是否接受其他用户的消息和交谈请求等。

  ac 命令提供了有关用户连接的大概统计,我们可以使用带有标志 d 和 p 的 ac 命令。标志 d 显示了一天的总连接统计,标志 p 显示了每一个用户的连接时间。这种统计信息的方式对了解与探测入侵有关的用户情况及其他活动很有帮助。

  lastlog 命令读取/var/log/lastlog文件并产生用户最后一次登录信息的报告lastlog命令也用于在Linux系统中检查不寻常的登录记录。

  2、系统帐户的审计

  Linux操作系统可以通过设置日志文件可以对每个用户的每一条命令进行纪录,不过这一功能默认是没有打开的。

  开启这个功能的过程:

  # touch /var/log/pacct
  # action /var/log/pact

  也可以用自已的文件来代替/var/log/pacct这个文件。但必须路径和文件名的正确。

  sa命令与 ac 命令一样,sa 是一个统计命令。该命令可以获得每个用户或每个命令的进程使用的大致情况,并且提供了系统资源的消费信息。在很大程度上,sa 又是一个记帐命令,对于识别特殊用户,特别是已知特殊用户使用的可疑命令十分有用。另外,由于信息量很大,需要处理脚本或程序筛选这些信息。

  lastcomm命令, 与 sa 命令不同,lastcomm 命令提供每一个命令的输出结果,同时打印出与执行每个命令有关的时间印戳。就这一点而说,lastcomm 比 sa 更有安全性。如果系统被入侵,请不要相信在 lastlog、utmp、wtm中记录的信息,但也不要忽略,因为这些信息可能被修改过了。另外有可能有人替换了who程序来掩人耳目。通常,在已经识别某些可疑活动后,进程记帐可以有效的发挥作用。使用 lastcomm 可以隔绝用户活动或在特定时间执行命令。

  3、使用logrorate对审计文件管理

  /var/log/utmp,/var/log/wtmp和/var/log/pacct文件都是动态的数据文件。wtmp和pacct文件是在文件尾部不断地增加记录。在繁忙的网络上,这些文件会变得很大。Linux提供了一个叫logrotate的程序,它允许管理员对这些文件进行管理。

  Logrotate读取/etc/logrotate.d目录下的文件。管理员通过该目录下的脚本文件,控制logrotate程序的运作。一个典型的脚本文件如下:

  {

  rotate 5

  weekly

  errors root@serve1r

  mail root@server1

  copytruncate

  compress

  size 100k

  }

  脚本文件的含义如下:

  ● rotate 5——保留该文件一份当前的备份和5份旧的备份。
  ● weekly——每周处理文件一次,通常是一周的第一天。
  ● errors——向邮件地址发送错误报告。
  ● mail——向邮件地址发送相关的信息。
  ● copytruncate——允许进程持续地记录,备份文件创建后,把活动的日志文件清空。
  ● compress——使用gzip工具对旧的日志文件进行压缩。
  ● size 100k——当文件超过100k 时自动处理。