您好,欢迎访问三七文档
日志管理和统计日志管理和统计write by Kevinzouwrite by Kevinzoukissingwolf@gmail.comkissingwolf@gmail.com版权声明:本文遵循“署名非商业性使用相同方式共享2.5 中国大陆”协议您可以自由复制、发行、展览、表演、放映、广播或通过信息网络传播本作品您可以根据本作品演义自己的作品您必须按照作者或者许可人指定的方式对作品进行署名。您不得将本作品用于商业目的。如果您改变、转换本作品或者以本作品为基础进行创作,您只能采用与本协议相同的许可协议发布基于本作品的演绎作品。对任何再使用或者发行,您都必须向他人清楚地展示本作品使用的许可协议条款。如果得到著作权人的许可,您可以不受任何这些条件的限制。Kevinzou(kissingwolf@gmail.com)本文目录第1节日志在系统中的应用.........................................................................................................1第2节Linux系统日志..................................................................................................................3第3节日志更新和备份.................................................................................................................8第4节远程集中日志...................................................................................................................14第5节WEB程序日志分析工具.................................................................................................16第6节安装AWStats....................................................................................................................21I日志管理和统计第1节日志在系统中的应用1.日志系统就是记账系统2.日志系统分类●操作系统日志●应用程序日志●安全系统日志3.存放日志的方式●ACSII码文本日志●二进制日志4.日志的自动化分析在一个完整的系统管理体系里,日志系统是一个非常重要的功能组成部分。它负责记录下系统或程序所产生的行为,并按照某种规范表达出来。系统管理员可以使用日志系统所记录的信息为系统或程序进行排错、优化系统的性能和根据这些信息调整系统或程序运行的行为。在安全领域,日志系统的重要地位尤甚,可以说是安全审计方面最主要的工具之一。按照系统类型进行区分的话,日志系统可以分为操作系统日志、应用程序日志、安全系统日志等等。每种操作系统的日志都有其自身特有的设计和规范,例如Windows系统的日志通常按照其惯有的应用程序、安全和系统这样的分类方式进行存储,而Linux和其他类UNIX系统通常都使用兼容Syslog规范的日志系统。而很多硬件设备的操作系统也具有独立的日志功能,以Cisco路由器为代表的网络设备通常都具有输出Syslog兼容日志的能力。应用系统日志主要包括各种应用程序服务器(例如Web服务器、FTP服务器)的日志系统和应用程序自身的日志系统,不同的应用系统都具有根据其自身要求设计的日志系统。安全系统日志从狭义上讲指信息安全方面设备或软件如防火墙系统的日志,从更广泛的意义上来说,所有为了安全目的所产生的日志都可归入此类。值得注意的是,对于文本格式的日志文件,我们通过基本的grep命令就可以执行这样1日志管理和统计的搜索。而对于使用二进制格式存储的日志文件,执行这种检查会复杂一些,通常需要利用日志系统本身的阅读程序进行读取或解码。这需要管理员非常熟悉所维护系统相关的安全漏洞,以及相应系统下的脚本编写技术,但是在这些方面付出汗水是绝对值得的,至少像你在维护相当多的系统时还可以挤出时间阅读技术类杂志是很让人羡慕的。编写脚本定期分析日志,脚本报警后采取相应的补救行动,能阻挡不少恶意访问行为和系统漏洞。但这并不是一个系统管理员生活的全部,还是有很多问题会安然通过这些检测,对系统形成破坏。从本质上来讲,自动化的日志处理是相对粗旷的,主要起到过滤没有意义的干扰信息,有效降低系统管理员工作负荷的作用。在日常监测之外,也应该每隔一段时间对这些日志进行更细致的审查。在新漏洞出现时,系统管理员针对漏洞的特征进行日志检查,并及时的将攻击指纹更新到自动化检查脚本中。在日志系统的设置方面,系统管理员应该根据实际情况仔细的斟酌报警信息的详细程度,例如日志条目中我们除了记录网络访问的IP地址是否还需要记录主机名,但如果你在公网上的服务器这么设置了,此操作会相当损耗你的系统资源,其原因主要是IP到域名的反向解析耗时且不一定有结果。在很多情况下,日志系统默认的设置并没有将对系统管理有用的字段记录下来,这需要系统管理员对系统的情况始终保持警觉,并根据经验不断的做出完善。另外,日志记录的保存期限也应与日志的管理计划相适应,各种系统的日志保存期限通常应保持同步,否则会发生管理员在上个月的操作系统日志中发现疑点,而logrotate却是每周清空这样的窘况。这种情况的发生乍看之下不太可能,实际工作中确是经常出现的,因为Apache日志通常膨胀速度很快,每小时有几十兆、几百兆、甚至几千兆的增长是极为常见的。这种日志容量的增长也是和日志详细程度和保存期限密切相关的,很多文件系统对文件最大容量是有限制的,同时过于庞大的日志也不利于我们对日志的分析。所以我们在制订日志管理计划之前,应在综合所有因素的情况下,从全局的角度做出判断。良好的日志管理对于安全预警、系统维护乃至起诉攻击者都是必不可少的,所有的系统管理员都应该学习如何善用日志系统,它不但能使大家的工作更加轻松,也能有效的保护企业中计算机设施不受侵害。2日志管理和统计第2节Linux系统日志1.syslogd日志系统2.系统日志子系统●连接时间日志●进程统计日志●错误日志●程序日志3.syslogd日志系统配置规则syslogd可以简单地被称为记录系统活动的一个daemons。比如可以记录谁,在什么时间,在哪里,做了什么事情(像是在写记叙文啊);也可以记录您的系统曾经发生过什么事情,比如什么时候重新引导过、软硬件的错误信息等;当然也记录着您系统上运行着的服务的信息。类UNIX系统中,syslog一般会记录大量的数据,其中包括由不同硬件和系统报告的登录、性能信息和故障。除syslog外,类UNIX系统还有用来记录关于计算机及其操作信息的各种服务、环境和应用程序日志。尽管分析和提取syslogd日志文件内容的信息可能非常耗时和复杂,但是不能忽略这些日志中信息的价值。syslogd日志文件可以提供关于潜在问题、错误和安全漏洞等方面的提示,如果使用正确,甚至可以提供关于服务器负载和容量方面的警告。Linux系统日志系统一般有4个主要的日志子系统:连接时间日志、进程统计日志、错误日志和程序日志。连接时间日志由多个程序执行,把纪录写入到/var/log/wtmp和/var/run/utmp,login等程序更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统。utmp、wtmp和lastlog日志文件是多数UNIX日志子系统的关键日志文件--保持用户登录进入和退出的纪录。有关当前登录用户的信息记录在文件utmp中;登录进入和退出纪录在文件wtmp中;最后一次登录文件可以用lastlog命令察看。数据交换、关机和重起也记录在wtmp文件中。所有的纪录都包含时间戳。这些文件(lastlog通常不大)在具有大3日志管理和统计量用户的系统中增长十分迅速。例如wtmp文件可以无限增长,除非定期截取。为了保证系统登录日志的安全防止被篡改,这些日志是二进制的。每次有一个用户登录时,login程序在文件lastlog中察看用户的UID。如果找到了,则把用户上次登录、退出时间和主机名写到标准输出中,然后login程序在lastlog中纪录新的登录时间。在新的lastlog纪录写入后,utmp文件打开并插入用户的utmp纪录。该纪录一直用到用户登录退出时删除。utmp文件被各种命令文件使用,包括who、w、users和finger。下一步,login程序打开文件wtmp附加用户的utmp纪录。当用户登录退出时,具有更新时间戳的同一utmp纪录附加到文件中。Wtmp文件被程序last和ac使用。进程统计日志由系统内核执行。当一个进程终止时,为每个进程往进程统计文件(pacct或acct)中写一个纪录。进程统计的目的是为系统中的基本服务提供命令使用统计。类UNIX可以跟踪每个用户运行的每条命令,如果想知道昨晚弄乱了哪些重要的文件,进程统计日志子系统可以告诉你。它还对跟踪侵入者行为有一定的帮助。与连接时间日志不同,进程统计子系统缺省状态未被激活,我们必须手工启动它。在Linux系统中启动进程统计使用accton命令,必须用root身份运行。Accton命令的形式acctonfile,file必须先存在。先使用touch命令来创建pacct文件:touch/var/log/pacct,然后运行accton:accton/var/log/pacct。一旦accton被激活,就可以使用lastcomm命令监测系统中任何时候执行的命令。若要关闭统计,可以使用不带任何参数的accton命令。lastcomm命令报告以前执行的文件。不带参数时,lastcomm命令显示当前统计文件生命周期内纪录的所有命令的有关信息。包括命令名、用户、tty、命令花费的CPU时间和一个时间戳。如果系统有许多用户,输入则可能很长。进程统计的一个问题是pacct文件可能增长的十分迅速。这时需要交互式的或经过计划任务机制(crond)运行sa命令来保持日志数据在系统控制的范围内。sa命令报告、清理并维护进程统计文件。它能把/var/log/pacct中的信息压缩到摘要文件/var/log/savacct和/var/log/usracct中,或者生成sar自己需要的文件结构。这些摘要包含按命令名和用户名分类的系统统计数据。sa缺省情况下先读它们,然后读pacct文件,使报告能包含所有的可用信息。sa的输出有下面一些标记项:avio--每次执行的平均I/O操作次数,cp--用户和系统时间总和(以分钟计),cpu--和cp一样,k--内核使用的平均CPU时间(以1k为单位),k*sec--CPU存储完整性(以1k-core秒),re--实时时间(以分钟计),s--系统时间(以分钟计),tio--I/O4日志管理和统计操作的总数,u—用户时间(以分钟计)。错误日志由syslogd(8)执行。各种系统守护进程、用户程序和内核通过syslog(3)向文件/var/log/messages报告值得注意的事件。另外有许多程序也创建错误日志,像HTTP和FTP这样提供网络服务程序也需要保持详细的错误日志。Syslog已被许多日志函数采纳,它用在许多保护措施中--任何程序都可以通过syslog纪录其事件。Syslog可以纪录系统事件,可以写到一个文件或设备中,或给用户发送一个信息。它能纪录本地事件或通过网络纪录另一个主机上的事件。Syslog依据两个重要的文件:syslogd(守护进程)和/etc/syslog.conf配置文件,多数syslog信
本文标题:日志管理和统计
链接地址:https://www.777doc.com/doc-5455182 .html