峰溢下载站:专为(Android)安卓手机用户量身打造的安卓游戏、APK游戏下载平台!
网站地图
你的位置: 首页 > 游戏资讯 > 操作系统

透析Linux日志查入侵

  • 2023-06-09 05:04:23
  • 来源:本站整理
  • 在手机上看

    扫一扫立即进入手机端

  日志对于网络安全来说无疑是非常重要的,它记录了系统每天发生的各种各样的事,你可以通过它来检查错误发生的原因,或者受到攻击后攻击者留下的痕迹。日志主要的功能有审计和监测,同时它也可以实时的监测系统状态,监测入侵者。

  日志子系统分类

  在linux系统中,有三个主要的日志子系统:

  连接时间日志——由多个程序执行,把纪录写入到/var/log/Wtmp和/var/run/Utmp,Login等程序更新Wtmp和Utmp文件,使系统管理员能够跟踪谁在何时登录到系统。

  进程统计——由系统内核执行。当一个进程终止时,为每个进程往进程统计文件(Pacct或Acct)中写一个纪录。进程统计的目的是为系统中的基本服务提供命令使用统计。

  错误日志——由Syslogd(8)执行。各种系统守护进程、用户程序和内核通过Syslog(3)向文件/var/log/messages报告值得注意的事件。另外有许多UNIX程序创建日志。像HTTP和FTP这样提供网络服务的服务器也保持详细的日志。

  常用的日志文件如下:

  access-log:纪录HTTP/WEB的传输。

  Acct/pacct:纪录用户命令。

  Aculog:纪录MODEM的活动。

  Btmp:纪录失败的纪录。

  Lastlog:纪录最近几次成功登录的事件和最后一次不成功的登录。

  Messages:从Syslog中记录信息(有的链接到Syslog文件)。

  Sudolog:纪录使用Sudo发出的命令。

  Sulog:纪录“su“的使用。

  Utmp:纪录当前登录的每个用户。

  Wtmp:一个用户每次登录进入和退出时间的永久纪录。

  Xferlog:纪录FTP会话。

  日志记录基本过程

  Utmp、Wtmp和Lastlog日志文件是多数重用UNIX日志子系统的关键——保持用户登录进入和退出的纪录。有关当前登录用户的信息记录在文件Utmp中;登录进入和退出纪录在文件Wtmp中;最后一次登录文件可以用“Lastlog“命令察看。数据交换、关机和重起也记录在Wtmp文件中。所有的纪录都包含时间戳。这些文件(Lastlog通常不大)在具有大量用户的系统中增长十分迅速。例如Wtmp文件可以无限增长,除非定期截取。许多系统以一天或者一周为单位把Wtmp配置成循环使用。它通常由Cron运行的脚本来修改。这些脚本重新命名并循环使用Wtmp文件。

  小知识:通常Wtmp在第一天结束后命名为Wtmp.1;第二天后Wtmp.1变为Wtmp.2,直到Wtmp.7。

  每次有一个用户登录时,Login程序在文件Lastlog中察看用户的UID。如果找到了,则把用户上次登录、退出时间和主机名写到标准输出中,然后Login程序在Lastlog中纪录新的登录时间。在新的Lastlog纪录写入后,Utmp文件打开并插入用户的Utmp纪录。该纪录一直用到用户登录退出时删除。Utmp文件被各种命令文件使用,包括Who、Users和Finger。下一步,Login程序打开文件Wtmp附加用户的Utmp纪录。当用户登录退出时,具有更新时间戳的同一Utmp纪录附加到文件中。Wtmp文件被程序Last和AC使用。

  查看具体日志

  Wtmp和Utmp文件都是二进制文件,它们不能被诸如Tail命令剪贴或合并(需要使用Cat命令),用户需要使用Who、W、Users、Last和AC来使用这两个文件包含的信息。

  1.Who:该命令查询Utmp文件并报告当前登录的每个用户。Who的缺省输出包括用户名、终端类型、登录日期及远程主机。例如输入Who回车后显示:

  chyang pts/0 Aug 18 15:06

  ynguo pts/2 Aug 18 15:32

  ynguo pts/3 Aug 18 13:55

  lewis pts/4 Aug 18 13:35

  ynguo pts/7 Aug 18 14:12

  ylou pts/8 Aug 18 14:15

  如果指明了Wtmp文件名,则Who命令查询所有以前的纪录。命令“Who /var/log/Wtmp“将报告从Wtmp文件创建或删改以来的每一次登录。

  2.W:该命令查询Utmp文件并显示当前系统中每个用户和它所运行的进程信息。

  3.Users:Users用单独的一行显示出当前登录的用户,每个显示的用户名对应一个登录会话。如果一个用户有不止一个登录会话,那他的用户名将显示相同的次数。例如输入Users回车后显示:

  chyang lewis lewis ylou ynguo ynguo

  4.Last:Last命令往回搜索Wtmp,显示从文件第一次创建以来登录过的用户。例如:

  chyang pts/9 202.38.68.242 Tue Aug 1 08:34 - 11:23 (02:49)

  cfan pts/6 202.38.64.224 Tue Aug 1 08:33 - 08:48 (00:14)

  chyang pts/4 202.38.68.242 Tue Aug 1 08:32 - 12:13 (03:40)

  lewis pts/3 202.38.64.233 Tue Aug 1 08:06 - 11:09 (03:03)

  lewis pts/2 202.38.64.233 Tue Aug 1 07:56 - 11:09 (03:12)

  如果指明了用户,那么Last只报告该用户的近期活动,例如:last ynguo显示:

  ynguo pts/4 simba.nic.ustc.e Fri Aug 4 16:50 - 08:20 (15:30)

  ynguo pts/4 simba.nic.ustc.e Thu Aug 3 23:55 - 04:40 (04:44)

  ynguo pts/11 simba.nic.ustc.e Thu Aug 3 20:45 - 22:02 (01:16)

  ynguo pts/0 simba.nic.ustc.e Thu Aug 3 03:17 - 05:42 (02:25)

  5.AC:AC命令根据当前的/var/log/Wtmp文件中的登录进入和退出来报告用户连结的时间(小时),如果不使用标志,则报告总的时间。例如:ac,显示:

  total 5177.47

  ac -d(回车)显示每天的总的连结时间:

  Aug 12 total 261.87

  Aug 13 total 351.39

  Aug 14 total 396.09

  Aug 15 total 462.63

  Aug 16 total 270.45

  ac -p(回车)显示每个用户的总的连接时间:

  ynguo 193.23

  yucao 3.35

  rong 133.40

  hdai 10.52

#p#副标题#e#

  6.Lastlog:Lastlog文件在每次有用户登录时被查询。可以使用Lastlog命令来检查某特定用户上次登录的时间,并格式化输出上次登录日志/var/log/Lastlog的内容。它根据UID排序显示登录名、端口号(tty)和上次登录时间。例如:

  rong 5 202.38.64.187 Fri

  Aug 18 15:57:01 +0800 2000

  dbb

  **Never logged in**

  xinchen

  **Never logged in**

  pb9511

  **Never logged in**

  小知识:如果一个用户从未登录过,Lastlog显示“**Never logged**。注意这个命令需要以ROOT权限运行。

  另外,可在命令后加一些参数实现其它的功能,例如“last -u 102“将报告UID为102的用户,“last -t 7“表示限制上一周的报告。

  进程审查

  UNIX可以跟踪每个用户运行的每条命令,如果想知道昨晚别人弄乱了哪些重要的文件,进程统计子系统可以告诉你,这一点无疑对跟踪入侵者很有帮助。与连接时间日志不同,进程统计子系统缺省不激活,它必须启动。在Linux系统中启动进程统计使用Accton命令,必须用ROOT身份来运行。先使用Touch命令来创建Pacct文件:

  touch /var/log/pact

  然后运行Accton:

  Accton /var/log/pact

  一旦Accton被激活,就可以使用Lastcomm命令监测系统中任何时候执行的命令。若要关闭统计,可以使用不带任何参数的Accton命令。

  小知识:Lastcomm命令报告以前执行的文件。不带参数时,Lastcomm命令显示当前统计文件生命周期内纪录的所有命令的有关信息。包括命令名、用户、TTY、命令耗费的CPU时间和一个时间戳。如果系统有许多用户,输入则可能很长。

  进程统计存在的一个问题是Pacct文件可能增长的十分迅速。这时需要交互式或经过Cron机制运行SA命令来保持日志数据在系统控制内。

  小知识:SA命令报告、清理并维护进程统计文件。它能把/var/log/pacct中的信息压缩到摘要文件/var/log/savacct和/var/log/usracct中。这些摘要包含按命令名和用户名分类的系统统计数据。SA缺省情况下先读它们,然后读Pacct文件,使报告能包含所有的可用信息。SA的输出有下面一些标记项:

  Avio——每次执行的平均I/O操作次数

  Cp——用户和系统时间总和,以分钟计

  Cpu——和cp一样

  K——内核使用的平均CPU时间,以1k为单位

  K*sec——CPU存储完整性,以1k-core秒

  Syslog设备

  Syslog已被许多日志函数采纳,它用在许多保护措施中。Syslog可以纪录系统事件并写到一个文件或设备中,或给用户发送一个信息。它能纪录本地事件或通过网络纪录另一个主

  机上的事件。

  Syslog设备依据两个重要的文件:/etc/Syslogd(守护进程)和/etc/Syslog.conf配置文件,习惯上,多数Syslog信息被写到/var/adm或/var/log目录下的信息文件(messages.*)中。一个典型的Syslog纪录包括生成程序的名字和一个文本信息。它还包括一个设备和一个优先级范围,每个Syslog消息被赋予下面的主要设备之一:

  LOG_AUTH——认证系统:Login、SU、Getty等。

  LOG_CRON——Cron守护进程。

  LOG_DAEMON——其它系统守护进程,如Routed。

  LOG_FTP——文件传输协议:Ftpd、Tftpd。

  LOG_KERN——内核产生的消息。

  LOG_MAIL——电子邮件系统。

  LOG_SYSLOG——由Syslogd(8)产生的内部消息。

  LOG_

游戏推荐

Linux日志 入侵 透析Linux日志查入侵
更多

手机游戏排行榜