linux 入侵审计基础
linux
审计
前人轮子:
Linux 入侵检测基础
审计命令
linux中有5个用于审计的命令:
- last: 用于查看我们系统成功登录,关机,重启等情况;原理是将/var/log/wtmp文件格式化输出;如果直接输出/var/log/wtmp 会看到乱码
- lastb: 用于查看登录失败的情况;原理是格式化输出/var/log/btmp
- lastlog: 用于查看用户上一次的登录情况;原理是格式化输出/var/log/utmp
- who: 用于查看当前系统谁在登录
- w: 用于查看当前系统谁在登录,已经在做什么, w默认会显示包括终端伪终端登录,而who不会显示.
日志查看
在Linux中,有三类主要的日志子系统:
日志文件基本都存在/var/log/
目录中.
- 连接时间日志: 由多个程序执行,把记录写到
/var/log/wrmp
和/var/run/utmp
中.(utmp,wtmp 日志文件是多数Linux日子子系统的关键,它保存了用户登录进入和退出的记录.有关当前登录用户的信息记录在utmp中,登录进入和退出记录在wtmp中;数据交换,关机以及重启的机器信息也都在wtmp中.所有的记录都包含时间戳.
- 进程统计:由系统内核执行,当一个进程终止时,为每个进程的进程文件(pacct或acct)中写一个记录.进程统计的目的是为系统中的基本服务提供命令使用统计.
- 错误日志:由syslogd(8)守护程序执行.各个系统守护程序,用户程序和内核通过syslogd(3)守护程序向文件
/var/log/messages
报告值得注意的事件.另外右许多Unix程序创建日志,如HTTP和FTP这样提供网络服务的程序也保存详细的日志.
进程查看
- 普通进程查看,
ps
命令.
- ps -aux : 查看进程
- lsof -p pid : 查看进程所打开的端口及文件
2.查看隐藏线程
ps -ef | awk {print}
sort -n | uniq > 1
ls /proc | sort -n | uniq > 2
diff 1 2
其他检查
检查文件
- find / -uid 0 -print :查找特权用户文件
- find / -size + 10000k -print : 查找大于10000k的文件
- find / -name "..." -print : 查找用户名为...的文件
- find / -name core -exec ls -l {} \; : 查找core文件,并列出详细信息
- md5sum -b finlname : 查看文件的md5值
查看网络
- ip link | grep PROMISC : 正常网卡中不应该存在promisc,如果存在可能右sniffer
- lsof -l 列出所有进程打开的文件
- netstat -nap: 查看不正常端口
- arp -a : 查看arp记录是否正常
计划任务
- crontab -u root -l : 查看root用户的计划任务
- cat /etc/crontab
- ls -l /etc/cron.* : 查看cron文件变化的详细
- ls /var/spool/cron/