热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Apache日志:访问日志(二)

文章标题:Apache日志:访问日志(二)。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

  3. 进程统计
  
  UNIX可以跟踪每个用户运行的每条命令,如果想知道昨晚弄乱了哪些重要的文件,进程统计子系统可以告诉你。它对还跟踪一个侵入者有帮助。与连接时间日志不同,进程统计子系统缺省不激活,它必须启动。在Linux系统中启动进程统计使用accton命令,必须用root身份来运行。Accton命令的形式accton file,file必须先存在。先使用touch命令来创建pacct文件:touch /var/log/pacct,然后运行accton: accton /var/log/pacct。一旦accton被激活,就可以使用lastcomm命令监测系统中任何时候执行的命令。若要关闭统计,可以使用不带任何参数的accton命令。
  
  lastcomm命令报告以前执行的文件。不带参数时,lastcomm命令显示当前统计文件生命周期内纪录的所有命令的有关信息。包括命令名、用户、tty、命令花费的CPU时间和一个时间戳。如果系统有许多用户,输入则可能很长。下面的例子:
  
  crond F root ?? 0.00 secs Sun Aug 20 00:16
  promisc_check.s S root ?? 0.04 secs Sun Aug 20 00:16
  promisc_check root ?? 0.01 secs Sun Aug 20 00:16
  grep root ?? 0.02 secs Sun Aug 20 00:16
  tail root ?? 0.01 secs Sun Aug 20 00:16
  sh root ?? 0.01 secs Sun Aug 20 00:15
  ping S root ?? 0.01 secs Sun Aug 20 00:15
  ping6.pl F root ?? 0.01 secs Sun Aug 20 00:15
  sh root ?? 0.01 secs Sun Aug 20 00:15
  ping S root ?? 0.02 secs Sun Aug 20 00:15
  ping6.pl F root ?? 0.02 secs Sun Aug 20 00:15
  sh root ?? 0.02 secs Sun Aug 20 00:15
  ping S root ?? 0.00 secs Sun Aug 20 00:15
  ping6.pl F root ?? 0.01 secs Sun Aug 20 00:15
  sh root ?? 0.01 secs Sun Aug 20 00:15
  ping S root ?? 0.01 secs Sun Aug 20 00:15
  sh root ?? 0.02 secs Sun Aug 20 00:15
  ping S root ?? 1.34 secs Sun Aug 20 00:15
  locate root ttyp0 1.34 secs Sun Aug 20 00:15
  accton S root ttyp0 0.00 secs Sun Aug 20 00:15
  
  进程统计的一个问题是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秒
  re--实时时间,以分钟计
  s--系统时间,以分钟计
  tio--I/O操作的总数
  u--用户时间,以分钟计
  
  例如:
  
  842 173.26re 4.30cp 0avio 358k
  2 10.98re 4.06cp 0avio 299k find
  9 24.80re 0.05cp 0avio 291k ***other
  105 30.44re 0.03cp 0avio 302k ping
  104 30.55re 0.03cp 0avio 394k sh
  162 0.11re 0.03cp 0avio 413k security.sh*
  154 0.03re 0.02cp 0avio 273k ls
  56 31.61re 0.02cp 0avio 823k ping6.pl*
  2 3.23re 0.02cp 0avio 822k ping6.pl
  35 0.02re 0.01cp 0avio 257k md5sum
  97 0.02re 0.01cp 0avio 263k initlog
  12 0.19re 0.01cp 0avio 399k promisc_check.s
  15 0.09re 0.00cp 0avio 288k grep
  11 0.08re 0.00cp 0avio 332k awk
  
  用户还可以根据用户而不是命令来提供一个摘要报告。例如sa -m显示如下:
  
  885 173.28re 4.31cp 0avk
  root 879 173.23re 4.31cp 0avk
  alias 3 0.05re 0.00cp 0avk
  qmailp 3 0.01re 0.00cp 0avk
  
  4. Syslog设备
  
  Syslog已被许多日志函数采纳,它用在许多保护措施中--任何程序都可以通过syslog 纪录事件。Syslog可以纪录系统事件,可以写到一个文件或设备中,或给用户发送一个信息。它能纪录本地事件或通过网络纪录另一个主机上的事件。
  
  Syslog设备依据两个重要的文件:/etc/syslogd(守护进程)和/etc/syslog.conf配置文件,习惯上,多数syslog信息被写到/var/adm或/var/log目录下的信息文件中(messages.*)。一个典型的syslog纪录包括生成程序的名字和一个文本信息。它还包括一个设备和一个优先级范围(但不在日之中出现)。
  
  每个syslog消息被赋予下面的主要设备之一:
  
  LOG_AUTH--认证系统:login、su、getty等
  LOG_AUTHPRIV--同LOG_AUTH,但只登录到所选择的单个用户可读的文件中
  LOG_CRON--cron守护进程
  LOG_DAEMON--其他系统守护进程,如routed
  LOG_FTP--文件传输协议:ftpd、tftpd
  LOG_KERN--内核产生的消息
  LOG_LPR--系统打印机缓冲池:lpr、lpd
  LOG_MAIL--电子邮件系统
  LOG_NEWS--网络新闻系统
  LOG_SYSLOG--由syslogd(8)产生的内部消息
  LOG_USER--随机用户进程产生的消息
  LOG_UUCP--UUCP子系统
  LOG_LOCAL0~LOG_LOCAL7--为本地使用保留
  
  Syslog为每个事件赋予几个不同的优先级:
  
  LOG_EMERG--紧急情况
  LOG_ALERT--应该被立即改正的问题,如系统数据库破坏
  LOG_CRIT--重要情况,如硬盘错误
  LOG_ERR--错误
  LOG_WARNING--警告信息
  LOG_NOTICE--不是错误情况,但是可能需要处理
  LOG_INFO--情报信息
  LOG_DEBUG--包含情报的信息,通常旨在调试一个程序时使用
  
  syslog.conf文件指明syslogd程序纪录日志的行为,该程序在启动时查询配置文件。该文件由不同程序或消息分类的单个条目组成,每个占一行。对每类消息提供一个选择域和一个动作域。这些域由tab隔开:选择域指明消息的类型和优先级;动作域指明syslogd接收到一个与选择标准相匹配的消息时所执行的动作。每个选项是由设备和优先级组成。当指明一个优先级时,syslogd将纪录一个拥有相同或更高优先级的消息。所以如果指明"crit",那所有标为crit、alert和emerg的消息将被纪录。每行的行动域指明当选择域选择了一个给定消息后应该把他发送到哪儿。例如,如果想把所有邮件消息纪录到一个文件中,如下:
  
  #Log all the mail messages in one place
  mail.* /var/log/maillog
  
  其他设备也有自己的日志。UUCP和news设备能产生许多外部消息。它把这些消息存到自己的日志(/var/log/spooler)中并把级别限为"err"或更高。例如:
  
  # Save mail and news errors of level err and higher in aspecial file.
  uucp,news.crit /var/log/spooler
  
  当一个紧急消息到来时,可能想让所有的用户都得到。也可能想让自己的日志接收并保存。
  
  #Everybody gets emergency messages, plus log them on anther machine
  *.emerg *
  *.emerg @linuxaid.com.cn
  
  alert消息应该写到root和tiger的个人账号中:
  
  #Root and Tiger get alert and higher messages
  *.alert root,tiger
  
  有时syslogd将产生大量的消息。例如内核("kern"设备)可能很冗长。用户可能想把内核消息纪录到/dev/console中。下面的例子表明内核日志纪录被注释掉了:
  
  #Log all kernel messages to the console
  #Logging much else clutters up the screen
  #kern.* /dev/console
  
  用户可以在一行中指明所有的设备。下面的例子把info或更高级别的消息送到/var/log/messages,除了mail以外。级别"none"禁止一个设备:
  
  #Log anything(except mail)of level info or higher
  #Don't log private authentication messages!
  *.info:mail.none;authpriv.none /var/log/messages
  
  在有些情况下,可以把日志送到打印机,这样网络入侵者怎么修改日志都没有用了。通常要广泛纪录日志。Syslog设备是一个攻击者的显著目标。一个为其他主机维护日志的系统对于防范服务器攻击特别脆弱,因此要特别注意。
  
  有个小命令logger为syslog(3)系统日志文件提供一个shell命令接口,使用户能创建日志文件中的条目。用法:logger 例如:logger This is a test!
  
  它将产生一个如下的syslog纪录:Aug 19 22:22:34 tiger: This is a test!
  
  注意不要完全相信日志,因为攻击者很容易修改它的。
  
  5. 程序日志
  
  许多程序通过维护日志来反映系统的安全状态。su命令允许用户获得另一个用户的权限,所以它的安全很重要,它的文件为sulog。同样的还有sudolog。另外,想Apache有两个日志:access_log和error_log。
  
  
推荐阅读
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
author-avatar
mobiledu2502894873
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有