日志分析(安全审计)
基线是网络活动的参考标准,构造信息系统的安全基线是实现系统安全工程的首要步骤。
建立基线是进行日志分析的开始,而基线则正是通过一段长时间对日志的仔细分析所建立的线型分析图。
信息系统安全基线是信息系统的最小安全保证和最基本需要满足的安全要求。构造信息系统安全基线是对信息系统及其内外部环境进行系统的安全分析,最终确定系统需要保护的安全目标以及对这些安全目标的保护程度.
图1:
物理安全基线:如对设备和数据资源的物理保护以及对自然灾害或常规犯罪活动的防范等
逻辑安全基线:如存取控制,信息保护,传输加密等
管理安全基线:如组织机构调整,人员管理教育,培训,系统运行管理等。
信息系统安全基线是由很多部分组合起来的,其总体模型包括:
系统安全相关信息收集——网络环境、数据信息、业务应用或系统服务、用户、管理制度、相关的政策法规和标准、安全事件、高层安全目标、系统安全要求。
系统范围确定——整个系统中安全基线涉及的对象和考虑的范围。系统范围确定是一个划定系统安全边界的过程,该边界界定了安全基线的管辖范围,系统安全边界的定义依赖于系统安全相关信息收集的工作成果。
系统外部影响分析——指对目标系统安全产生影响的所有可能的外界因素,其决定了系统安全的约束、限制和针对的外部防范范围。
系统威胁分析——指确定系统内外部存在的可能对系统构成威胁的各种因素,同时明确这种威胁变为现实后,可能对系统造成的损失。
另外还包括安全视图确定、安全基线定义、安全基线确定等。
其中,系统威胁分析包含了很多方面,比如:
识别系统目的:识别目标系统建立的目的和应用的方式,了解这些信息可以帮助确定目标系统的脉络,以保证采取针对性的且有效的安全措
施。
系统应用过程分析:应用过程是指目标系统可能被应用的各种过程,其中包括各个过程应用的条件,应用过程的阶段和每个阶段的应用特征。
系统弱点确定:系统的弱点由系统的基础设施,系统使用和管理方式决定。系统弱点是一个客观存在,没有弱点的系统是不存在的。
威胁分析:威胁主要包括系统运行的威胁,数据资产分析,社会影响的威胁。
风险分析:风险分析是对威胁发生后可能对系统造成的损失的判断。
系统日志
常见的unix日志记录有12种:
access-log 记录HTTP/web的传输
acct/pacct 记录用户命令
Aculog 记录MODEM的活动
Btmp 记录失败的记录
Lastlog 记录最近几次成功登录的事件和最后一次不成功的登录
Messages 从syslog中记录信息
Sudolog 记录使用sudo发出的命令
Sulog 记录使用su命令的使用
Syslog 从syslog中记录信息
Utmp 记录当前登录的每个用户
Wtmp 一个用户每次登录进入和退出时间的永久记录
Xferlog 记录FTP会话
utmp、wtmp和lastlog日志文件是多数重用UNIX日志子系统的关键,保持用户登录进入和退出的纪录:
有关当前登录用户的信息记录在文件utmp中
登录进入和退出纪录在文件wtmp中
最后一次登录文件可以用lastlog命令察看
数据交换、关机和重起也记录在wtmp文件中。
syslog设备:syslog设备已被许多日志函数采纳,用在许多保护措施中。其依据两个重要的文件/sbin/syslogd(守护进程)和/etc/syslog.conf配置文件。一个典型的syslog纪录包括四个部分:生成程序的名字、一个文本信息、一个设备、一个优先级范围。
比如 /etc/syslog.conf 的一般格式为:[设备.行为级别]记录行为。
图二:
图三:
图四:
下面是一个/etc/syslog.conf的模式:
图五:
有时syslogd将产生大量的消息。例如内核("kern"设备)可能很冗长。用户可能想把内核消息纪录到/dev/console中。下面的例子表明内核日志纪录被注释掉了。
图六:
下例:alert消息应该写到root和tiger的个人登陆信息中。
图七:
下面的例子把info或更高级别的消息送到/var/log/messages。
图八:
UUCP和news设备能产生许多外部消息。它把这些消息存到自己的日志(/var/log/spooler)中并把级别限为"err"或更高
图九:
Windows NT将日志记录分为三个类别:
系统日志:记录服务启动和失败,系统关闭和重启
安全日志:记录用户登录,用户权限的使用和变更,对象的访问
程序日志:记录与操作系统有关程序的运行的情况
Windows2000的系统日志文件分为四类:
应用程序日志
安全日志
系统日志
DNS服务器日志等
Windows 2000常见事件包括:
529 登录失败(在安全日志中)
6005 Windows 2000重新启动(在系统日志中)
6006 正常关机(在系统日志中)
6007 因权限不够而不正常的关机请求(在系统日志中)
6008 称为“不正常关机”事件,当NT被不正常关机时,该信息被记录下来
6009 记录操作系统的版本号、修建号、补丁号和系统处理器的信息
XP和2003的与XP大同小异。
Cisco日志
AAA日志:主要收集关于用户拨入连结、登录、Http访问、权限变化等
Snmp trap 日志:发送系统状态的改变到Snmp 管理工作站
系统日志:根据配置记录大量的系统事件
Cisco ACL:主要基于IP报文格式。标准访问控制列表 0~99(基于IP地址),扩展访问控制列表100~199(可以基于源IP、目的IP和端口等等)。
Cisco ACL日志分析如图十:
Cisco Router的错误消息如图十一:
Cisco日志信息的级别由高到低分为:Emergencies、Lerts、Critical、Errors、Warnings、Notifications、Informational、Debugging。
日志信息输出控制如图十二:
Web日志
Web日志默认的是基于logtemp.sql模板的W3C扩充日志文件格式(纯文本文件),通过ODBC连结后台数据库。
IIS日志位于%systemroot%\system32\LogFiles
异常情况分析如图十三:
Web日志分析实施分为三部分:
Web Server:客户端的分析请求
CGI程序:把从Web Server传送过来的请求传送给日志分析程序,接收日志分析程序分析的结果并以页面的形式发送给Web Server
日志分析程序:接收CGI程序传送来的分析请求,从日志文件里读数据,分析后把结果传给CGI程序
防火墙日志
Microsoft ISA Server和Proxy日志——W3C 扩展文件格式、ISA服务器文本格式、ODBC格式
Cisco PIX日志——必须下载基于Windows NT的PIX Firewall Syslog Server才行
ISA日志
位置:
Web Proxy Logs: c:\winnt\system32\w3plogs
WinSock Proxy Logs: c:\winnt\system32\wsplogs
大小:可指定尺寸
名称:基于当前日期
格式:常规和详细
IDS日志
IDMEF为IDS之间共享信息定义数据格式和交换程序,异构环境下日志格式必须统一,否则会为统一、集中的日志处理带来极大不便。
snort是一个基于Libpcap数据包收集程序开发的简单模式匹配的IDS,源码开放,跨平台(C语言编写,可移植性好),利用libpcap作为捕获数据包的工具。特点包括设计原则(性能、简单、灵活)、包含三个子系统(网络包的解析器、检测引擎、日志和报警子系统)、内置了一套插件子系统,作为系统扩展的手段、模式特征链(规则链)、命令行方式运行,也可以用作一个sniffer工具。
Snort日志和报警子系统:当匹配到特定的规则之后,检测引擎会触发相应的动作。
日志记录动作,三种格式(解码之后的二进制数据包、文本形式的IP结构、Tcpdump格式)
如果考虑性能的话,应选择tcpdump格式,或者关闭logging功能
报警动作,包括(Syslog、记录到alert文本文件中、发送WinPopup消息)
如图十四:
Snort警示信息中注意的问题:
在警示信息名前后必须有[**]
与TCPdump格式相似
在警示信息名中可以找到产生Snort警示信息的过滤条件
日志信息需要统一到单一的控制台,降低管理的复杂度,准确地定位安全攻击源,及时解决攻击问题。多个服务器的分布使得日志的分析统计也变得极为麻烦。
阅读(2147) | 评论(0) | 转发(0) |