用于入侵检测日志
需要检查的系统日志文件主要包括一般信息日志、网络连接日志、文件传输日志以及用户登录日志等。在检查这些日志时要特别注意时间记载分析日志产生的时间是否合理。
可疑的日志记录
非正常时间凌晨的用户登录;
关键日志记录损坏尤其是记录用户登录登出信息的wtmp文件;
非正常IP的用户登录;
用户登录失败甚至一再尝试登录并失败的日志记录;
非正常的超级用户权限切换su指令;
非正常的控制进程启动或重启记录。
检查步骤
users命令在一行打印出当前登录的用户信息每个用户名代表对应一个登录会话。结合who命令以及进程统计日志可以分析黑客伪造这两个命令的情况。运行该命令将如下所示:
root@ntbak ~]# users
root
[root@ntbak ~]# who
root tty1 2011-03-21 16:59
root pts/0 2011-06-14 19:06 (10.35.117.80)
root pts/2 2011-03-13 14:21 (:1.0)
last命令与who /var/log/wtmp命令输出结果相似。通过使用以及对比着两个输出系统管理员可以对使用系统的用户进行审计和考核及时发现问题解决问题。运行该命令如下所示:
[root@ntbak ~]# last
root pts/0 10.35.117.80 Tue Jun 14 19:06 still logged in
root pts/0 flashieldsdell.n Mon Jun 13 15:42 - 19:21 (03:38)
ntbackup pts/0 10.35.117.73 Mon Jun 13 08:34 - 09:11 (00:37) ……
ntbackup pts/0 10.35.8.242 Fri Jun 3 14:18 - 16:29 (02:11)
如果使用上述命令显示的信息太多比较难区分可以通过grep命令或者对last命令指明用户来显示其登录信息即可。例如: 只显示root的历史登录信息则如下所示:
[root@ntbak ~]# last root
root pts/0 10.35.117.80 Tue Jun 14 19:06 still logged in
root pts/0 10.35.117.80 Tue Jun 14 14:44 - 16:58 (02:14)
root pts/0 flashieldsdell.n Mon Jun 13 15:42 - 19:21 (03:38)
root pts/0 10.32.171.146 Tue Jun 7 21:12 - 23:24 (02:11)
root pts/3 10.35.117.80 Fri Jun 3 15:48 - 18:04 (02:16)
root pts/3 10.35.117.80 Fri Jun 3 15:24 - 15:24 (00:00)
ac命令根据系统的wtmp文件中的登入登出信息生成用户连接时间单位小时的报告如下所示
[root@ntbak ~]# ac –d
//ac -d命令,然后按回车键,将显示每天的总的连接时间
Jun 3 total 6.68
Jun 7 total 18.89
Jun 8 total 9.92
Jun 9 total 11.00
Jun 10 total 9.28
Jun 13 total 4.26
Today total 2.84
[root@ntbak ~]# ac –p
//ac -p命令,然后按回车键,将显示每个用户的总的连接时间
ntbackup 51.92
root 10.95
total 62.87
lastlog命令通过格式化输出上次登录日志/var/log/lastlog的内容可以显示用户上次登录的时间。它可以显示登录用户名、登录使用方式tty/pts和上次登录时间。如果一个用户从未登录过则显示“**Never logged**”。。运行该命令如下所示:
[root@working]# lastlog
UsernamePort From Latest
root pts/1 10.0.2.129 二 5月 10 10:13:26 +0800 2005
opal pts/1 10.0.2.129 二 5月 10 10:13:26 +0800 2005
PS查看进程:ps -aux;
用netstat –an查看:netstat -ano |more
查找命令规则:
======================================================
find -name april* 在当前目录下查找以april开始的文件
find -name april* fprint file 在当前目录下查找以april开始的文件,并把结果输出到file中
find -name ap* -o -name may* 查找以ap或may开头的文件
find /mnt -name tom.txt -ftype vfat 在/mnt下查找名称为tom.txt且文件系统类型为vfat的文件
find /mnt -name t.txt ! -ftype vfat 在/mnt下查找名称为tom.txt且文件系统类型不为vfat的文件
find /tmp -name wa* -type l 在/tmp下查找名为wa开头且类型为符号链接的文件
find /home -mtime -2 在/home下查最近两天内改动过的文件
find /home -atime -1 查1天之内被存取过的文件
find /home -mmin +60 在/home下查60分钟前改动过的文件
find /home -amin +30 查最近30分钟前被存取过的文件
find /home -newer tmp.txt 在/home下查更新时间比tmp.txt近的文件或目录
find /home -anewer tmp.txt 在/home下查存取时间比tmp.txt近的文件或目录
find /home -used -2 列出文件或目录被改动过之后,在2日内被存取过的文件或目录
find /home -user cnscn 列出/home目录内属于用户cnscn的文件或目录
find /home -uid +501 列出/home目录内用户的识别码大于501的文件或目录
find /home -group cnscn 列出/home内组为cnscn的文件或目录
find /home -gid 501 列出/home内组id为501的文件或目录
find /home -nouser 列出/home内不属于本地用户的文件或目录
find /home -nogroup 列出/home内不属于本地组的文件或目录
find /home -name tmp.txt -maxdepth 4 列出/home内的tmp.txt 查时深度最多为3层
find /home -name tmp.txt -mindepth 3 从第2层开始查
find /home -empty 查找大小为0的文件或空目录
find /home -size +512k 查大于512k的文件
find /home -size -512k 查小于512k的文件
find /home -links +2 查硬连接数大于2的文件或目录
find /home -perm 0700 查权限为700的文件或目录
find /tmp -name tmp.txt -exec cat {} \;
find /tmp -name tmp.txt -ok rm {} \;
find / -amin -10 # 查找在系统中最后10分钟访问的文件
find / -atime -2 # 查找在系统中最后48小时访问的文件
find / -empty # 查找在系统中为空的文件或者文件夹
find / -group cat # 查找在系统中属于 groupcat的文件
find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件
find / -mtime -1 #查找在系统中最后24小时里修改过的文件
find / -nouser #查找在系统中属于作废用户的文件
find / -user fred #查找在系统中属于FRED这个用户的文件
查当前目录下的所有普通文件
# find . -type f -exec ls -l {} \;
-rw-r–r– 1 root root 34928 2003-02-25 ./conf/httpd.conf
-rw-r–r– 1 root root 12959 2003-02-25 ./conf/magic
-rw-r–r– 1 root root 180 2003-02-25 ./conf.d/README
查当前目录下的所有普通文件,并在- e x e c选项中使用ls -l命令将它们列出
=================================================
在/ l o g s目录中查找更改时间在5日以前的文件并删除它们:
$ find logs -type f -mtime +5 -exec -ok rm {} \;
=================================================