日志分析
## 日志分析
日志分析的必要性
日志文件系统已经成为linux中不可缺失的一部分。对于日常服务器的运行状态是否正常、遭受攻击时如何查找被攻击的痕迹、软件启动失败是如何查找原因等情况,linux日志系统都提供了相应的解决方案。
日志系统可以记录当前系统中发生的各种事件,比如登录日志记录每次登录的来源和时间、系统每次启动和关闭的情况、系统错误等。
日志的主要用途:
系统审计:记录登录系统的用户和日常行为
监测追踪:系统遭受到攻击时如何追踪溯源到攻击者
分析统计:系统的性能、错误等统计
日志的分类

日志分析
一般日志文件管理
日志文件应记录尽可能多的信息。 “在中央服务器上记录日志”一段描述了集中式日志的配置和安全需求。在安全、中心服务器上记录日志可减轻管理工作,并减少非法入侵的可能。
日志文件应设置只允许 root 可读的权限。如果日志记录对任何人可见,其中与软件包敏感的信息能帮助别人入侵系统。激活日志文件的脚本应包括安全权限设置。
最重要的一条,阅读日志文件!通过日志文件排除不必要信息,定位重要信息。先实验出错情况,记录尽可能多的错误信息。
常用日志文件介绍
/var/log/messages为服务器的系统日志,该日志并不专门记录特定服务相关的日志,一般,后台守护进程(如crond)会把执行日志打印到此文件,查看此文件可以使用文本编辑器或文本查看命令,如cat、head或tail等。/var/log/secure记录了系统的登录行为,通过此日志可以分析异常的登录请求,可以使用文本查看相关的命令。/var/log/utmp,/var/log/wtmp,/var/log/lastlog这3个日志文件记录了关于系统登录和退出信息。
一些日志分析方法

- utmp记录当前登录用户的信息。用户登录和退出的记录保存在wtmp文件中,各个用户最后一次登录的日志可以使用lastlog查看。所有的记录都包含时间戳。

wtmp和utmp为二进制文件,不能用文本查看命令直接查看,可以通过who、w、users、last和ac查看这两个文件包含的信息。
who命令查询utmp文件输出包含用户名、终端类型、登录日期及登录的来源主机who命令跟wtmp文件名,则可以查看所有的登录记录信息。
who命令跟wtmp文件名,则可以查看所有的登录记录信息。

w命令utmp文件并显示当前系统中所有用户及所运行的进程信息,显示的信息依次为
登录名、tty名称、远程主机、登录时间、空闲时间、JCPU、PCPU和其当前进程的命令行。users命令用单独的一行打印出当前登录的所有用户,每个显示的用户名对应一个登录会话。
last命令往回搜索wtmp显示自从文件第一次创建以来所有用户的登录记录。