您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据挖掘与识别 > Linux日志系统与分析
Linux日志系统与分析1目录Linux日志系统简介Linux日志分析案例介绍:Linux日志入侵发现Linux日志系统简介3日志的主要用途是系统审计、监测追踪和分析统计。为了保证Linux正常运行、准确定位系统问题,认真检查日志文件是管理员的一项非常重要的任务。Linux采用了syslog工具来实现此功能,如果配置正确的话,所有在主机上发生的事情都会被记录下来,不管是好的还是坏的。什么是syslog4Linux内核由很多子系统组成(网络、文件访问、内存管理等)子系统需要给用户传送一些消息,消息内容包括消息的来源及重要性等。所有子系统都要把消息送到一可以维护的公用消息区,于是就有了syslog。syslog是一综合的日志记录系统。主要功能是日志管理和分类存放syslog使程序设计者从繁重的、机械的编写日志文件代码的工作中解脱出来,使管理员更好地控制日志的记录过程。syslogd的配置文件/etc/syslog.conf规定了系统中需要监视的事件和相应的日志的保存位置。#Logallkernelmessagestotheconsole.#Loggingmuchelsecluttersupthescreen.#kern.*/dev/console#将info或更高级别的消息送到/var/log/messages,#除了mail/news/authpriv/cron以外。#其中*是通配符,代表任何设备;none表示不对任何级别的信息进行记录。*.info;mail.none;news.none;authpriv.none;cron.none/var/log/messages#将authpirv设备的任何级别的信息记录到/var/log/secure文件中,syslogd的配置5#这主要是一些和认证、权限使用相关的信息。authpriv.*/var/log/secure#将mail设备中的任何级别的信息记录到/var/log/maillog文件中,这主要是和电子邮件相关的信息。mail.*-/var/log/maillog#将cron设备中的任何级别的信息记录到/var/log/cron文件中,#这主要是和系统中定期执行的任务相关的信息。cron.*/var/log/cron#将任何设备的emerg级别或更高级别的消息发送给所有正在系统上的用户。*.emerg*syslogd的配置文件6#将uucp和news设备的crit级别或更高级别的消息记录到/var/log/spooler文件中。uucp,news.crit/var/log/spooler#将和本地系统启动相关的信息记录到/var/log/boot.log文件中。local7.*/var/log/boot.log#将news设备的crit级别的消息记录到/var/log/news/news.crit文件中。news.=crit/var/log/news/news.crit#将news设备的err级别的消息记录到/var/log/news/news.err文件中。news.=err/var/log/news/news.err#将news设备的notice或更高级别的消息记录到/var/log/news/news.notice文件中。news.noticesyslogd的配置文件7设备.级别动作syslogd配置8级别字段9动作字段10常见的日志文件查看日志文件11常见的日志文件查看日志文件12常见的日志文件查看日志文件13系统连接事件日志多个程序会记录该日志,记录到/var/log/wtmp和/var/run/utmp文件中,telnet、ssh等程序会更新wtmp和utmp文件,系统管理员可以根据该日志跟踪到谁在何时登录到系统。进程统计日志:Linux内核记录该日志,当一个进程终止时,进程统计文件(pacct或acct)中会进行记录。进程统计日志可以供系统管理员分析系统使用者对系统进行的配置,以及对文件进行的操作。错误日志:Syslog日志系统已经被许多设备兼容,Linux的syslog可以记录系统事件,主要由syslogd程序执行,Linux系统下各种进程、用户程序和内核都可以通过Syslog文件记录重要信息,错误日志记录在/var/log/messages中。有许多Linux/Unix程序创建日志。像HTTP和FTP这样提供网络服务的服务器也保持详细的日志。日志系统主要分为三类14/var/log/boot.log该文件记录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息。/var/log/cron该日志文件记录crontab守护进程crond所派生的子进程的动作,前面加上用户、登录时间和PID,以及派生出的进程的动作。CMD的一个动作是cron派生出一个调度进程的常见情况。REPLACE(替换)动作记录用户对它的cron文件的更新,该文件列出了要周期性执行的任务调度。RELOAD动作在REPLACE动作后不久发生,这意味着cron注意到一个用户的cron文件被更新而cron需要把它重新装入内存。该文件可能会查到一些反常的情况。Linux常用的日志文件15/var/log/maillog该日志文件记录了每一个发送到系统或从系统发出的电子邮件的活动。它可以用来查看用户使用哪个系统发送工具或把数据发送到哪个系统。QUOTE:Sep417:23:52UNIXsendmail[1950]:g849Npp01950:from=root,size=25,class=0,nrcpts=1,msgid=200209040923.g849Npp01950@redhat.pfcc.com.cn,relay=root@localhostSep417:23:55UNIXsendmail[1950]:g849Npp01950:to=lzy@fcceec.net,ctladdr=root(0/0),delay=00:00:04,xdelay=00:00:03,mailer=esmtp,pri=30025,relay=fcceec.net.[10.152.8.2],dsn=2.0.0,stat=Sent(Messagequeued)/var/log/messagesLinux常用的日志文件16/var/log/messages该日志文件是许多进程日志文件的汇总,从该文件可以看出任何入侵企图或成功的入侵。如以下几行:QUOTE:Sep308:30:17UNIXlogin[1275]:FAILEDLOGIN2FROM(null)FORsuying,AuthenticationfailureSep417:40:28UNIX--suying[2017]:LOGINONpts/1BYsuyingFROMfcceec.Sep417:40:39UNIXsu(pam_unix)[2048]:sessionopenedforuserrootbysuying(uid=999)Linux常用的日志文件17/var/log/syslog默认Linux不生成该日志文件,但可以配置/etc/syslog.conf让系统生成该日志文件。它和/etc/log/messages日志文件不同,它只记录警告信息,常常是系统出问题的信息,所以更应该关注该文件。要让系统生成该日志文件,在/etc/syslog.conf文件中加上:*.warning/var/log/syslog该日志文件能记录当用户登录时login记录下的错误口令、Sendmail的问题、su命令执行失败等信息。下面是一条记录:QUOTE:Sep616:47:52UNIXlogin(pam_unix)[2384]:checkpass;userunknownLinux常用的日志文件18/var/log/secure该日志文件记录与安全相关的信息。该日志文件的部分内容如下:QUOTE:Sep416:05:09UNIXxinetd[711]:START:ftppid=1815from=127.0.0.1Sep416:05:09UNIXxinetd[1815]:USERID:ftpOTHER:rootSep416:07:24UNIXxinetd[711]:EXIT:ftppid=1815duration=135(sec)Sep416:10:05UNIXxinetd[711]:START:ftppid=1846from=127.0.0.1Sep416:10:05UNIXxinetd[1846]:USERID:ftpOTHER:rootSep416:16:26UNIXxinetd[711]:EXIT:ftppid=1846duration=381(sec)Sep417:40:20UNIXxinetd[711]:START:telnetpid=2016from=10.152.8.2Linux常用的日志文件19/var/log/lastlog该日志文件记录最近成功登录的事件和最后一次不成功的登录事件,由login生成。在每次用户登录时被查询,该文件是二进制文件,需要使用lastlog命令查看,根据UID排序显示登录名、端口号和上次登录时间。如果某用户从来没有登录过,就显示为**Neverloggedin**。该命令只能以root权限执行。简单地输入lastlog命令后就会看到类似如下的信息:QUOTE:UsernamePortFromLatestroottty2TueSep308:32:27+08002002bin**Neverloggedin**daemon**Neverloggedin**adm**Neverloggedin**lp**Neverloggedin**系统账户诸如bin、daemon、adm、uucp、mail等决不应该登录,如果发现这些账户已经登录,就说明系统可能已经被入侵了。若发现记录的时间不是用户上次登录的时间,则说明该用户的账户已经泄密了。Linux常用的日志文件20/var/log/wtmp该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件。因此随着系统正常运行时间的增加,该文件的大小也会越来越大,增加的速度取决于系统用户登录的次数。该日志文件可以用来查看用户的登录记录,last命令就通过访问这个文件获得这些信息,并以反序从后向前显示用户的登录记录,last也能根据用户、终端tty或时间显示相应的记录。命令last有两个可选参数:last-u用户名显示用户上次登录的情况。last-t天数显示指定天数之前的用户登录情况。Linux常用的日志文件21/var/run/utmp该日志文件记录有关当前登录的每个用户的信息。因此这个文件会随着用户登录和注销系统而不断变化,它只保留当时联机的用户记录,不会为用户保留永久的记录。系统中需要查询当前用户状态的程序,如who、w、users、finger等就需要访问这个文件。该日志文件并不能包括所有精确的信息,因为某些突发错误会终止用户登录会话,而系统没有及时更新utmp记录,因此该日志文件的记录不是百分之百值得信赖的。Linux常用的日志文件22wtmp、utmp、lastlog)是日志子系统的关键文件。这些文件的所有记录都包含了时间戳,是按二进制保存的,故不能用less、cat之类的命令直接查看这些文件,而是需要使用相关命令通过这些文件而查看。每次有一个用户登录时,login程序在文件lastlog中查看用户的UID。如果存在,则把用户上次登录、注销时间和主机名写到标准输出中,然后login程序在lastlog中记录新的登录时间,打开utmp文件并插入用户的utmp记录。该记录一直用到用户登录退出时删除。utmp文件被各种命令使用,包括w
本文标题:Linux日志系统与分析
链接地址:https://www.777doc.com/doc-6147238 .html