快捷搜索:   nginx

审计跟踪Linux的异常活动

    一些异常用户试图移去系统上的所有活动记录(比如 ~/.bash_history), 不过我们可以使用专门的工具来监视所有用户执行的命令. 推荐你使用进程记帐来记录用户的活动, 你可以通过进程记帐查看每一个用户执行的命令, 包括CPU时间和内存占用.

psacct程序提供了几个进程活动监视工具: ac, lastcomm, accton和sa.

.ac命令显示用户连接时间的统计.
.lastcomm命令显示系统执行的命令.
.accton命令用于打开或关闭进程记帐功能.
.sa命令统计系统进程记帐的情况.

1). 安装psacct或acct软件包
如果你使用RHEL, 使用up2date命令:
# up2date psacct

如果你使用CentOS/Fedora Core Linux, 使用yum命令:
$ sudo apt-get install acct


# apt-get install acct

2). 启动psacct/acct服务
在Ubuntu/Debian Linux系统上, pacct可以自动启动.(安装包会在系统上创建一个/var/account/pacct文件). 但是在Red Hat/Fedora Core/Cent OS, 你需要手动启动psacct服务. 敲入下面两个命令创建/var/account/pacct文件和启动pacct服务:
# chkconfig psacct on
# /etc/init.d/psacct start

如果你使用Suse Linux, 服务的名称为acct, 敲入下面的命令:
# chkconfig acct on
# /etc/init.d/acct start

现在我们可以了解如何利用这些工具来监视用户的命令和时间.

3). 显示用户连线时间的统计信息

命令可以根据登陆数/退出数在屏幕上打印出用户的连线时间(单位为小时). 总计时间也可以打印出来. 如果你执行没有任何参数的ac命令, 屏幕将会显示总计的连线时间:
$ ac

输出:
total 95.08

显示每一天的连线统计时间:
$ ac -d

输出:

Nov 1 total 8.65
Nov 2 total 5.70
Nov 3 total 13.43
Nov 4 total 6.24
Nov 5 total 10.70
Nov 6 total 6.70
Nov 7 total 10.30
.....
..
...
Nov 12 total 3.42
Nov 13 total 4.55
Today total 0.52

显示每一个用户的总计连线时间和所有用户总计连线时间:
$ ac -p

输出:

vivek 87.49
root 7.63
total 95.11

4). 查找用户过去执行的命令

你可以使用lastcomm命令打印出用户过去执行的命令. 你也可以通过用户名, tty名或命令名来搜索以往执行的命令.

比如显示vivek用户过去执行的命令:
$ lastcomm vivek

输出:

 [2] 下一页

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论