Linux内核有用日志记录事件的能力,比如记录系统调用和文件访问。管理员通过这些日志,可以确定可能存在的安全裂口,比如失败的登录尝试,或者用户对系统文件不成功的访问等,Linux系统日志主要存放在/var/log目录下,常见的一些系统日志文件如下:
·lastlog:记录用户最近成功登录的时间;
·loginlog:不良的登录尝试记录;
·messages:记录输出到系统主控台以及由syslog系统服务程序产生的消息;
·utmp:记录当前登录的每个用户;
·utmpx:扩展的utmp:
·wtmp:记录每一次用户登录和注销的历史信息;
·wtmpx:扩展的wtmp:
·yold.log;记录使用外部介质出现的错误:
·xferkig:记录ftp的存取情况;
·sulog:记录su命令的使用情况;
·acct:记录每个用户使用过的命令。
安全信息和系统登录与网络连接的信息:/var/log/secure
/var/log/secure一般用来记录安全相关的信息,记录最多的是哪些用户登录服务器的相关日志,如果该文件很大,说明有人在破解你的root密码,或爆力破解(一般是SSH暴力破解)。
/var/log/auth.log、/var/log/secure记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中。
常用审计命令:
//定位多少IP在爆破root账号
grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
//定位有多少IP在爆破
grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c
//爆破用户名的字典是什么
grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr
//查看登录成功的IP有哪些
grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
//登录成功的日志、用户名、IP
grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'