概述
网络安全审计是指对网络信息系统的安全相关活动信息进行获取、记录、存储、分析和利用的工作。网络安全审计的作用在于建立“事后”安全保障措施,保存网络安全事件及行为信息,为网络安全事件分析提供线索及证据,以便于发现潜在的网络安全威胁行为,开展网络安全风险分析及管理。
常见的网络安全审计方式,采用日志记录服务器统一集中存储系统、设备产生的日志信息,本期就日志记录服务器中的syslog协议向各位小伙伴分享一篇文章。
参考依据
GB/T 22239-2019《信息安全技术网络安全等级保护基本要求》,网络安全审计日志需集中收集存储,即:应对分散在各个设备上的审计数据进行收集汇总和集中分析,并保证审计记录的留存时间符合法律法规要求。
《中华人民共和国网络安全法》 第三章 第二十一条明确规定:采取监测、记录网络运行状态、网络安全事件的技术措施,并按照规定留存相关的网络日志不少于六个月。
RFC标准:RFC 3164、RFC 5424
关键词
网络安全审计、Syslog、UDP 514、Facility、Severity和Priority
Syslog
参考RFC 3164对syslog定义设备、通信端口、数据包组成以及Facility值、Severity值和Priority值进行说明。
定义设备
产生日志的设备被定义为Device,接收日志并转发日志给另外一台设备的设备被定义为Relay,接收日志并且不转发日志的设备被定义为Collector,就是我们常说的日志记录服务器。
备注:RFC 5424文档中定义originator来代替Device,定义transport sender将采用特定的传输协议发送syslog消息,定义transport receiver将采用特定的传输协议接收syslog消息。Relay和Collector保持不变。
Syslog服务端口
Syslog采用UDP作为其底层传输层机制,默认通信端口UDP 514。RFC文档建议Device采用源端口514发送日志,以此表明日志消息来自发送方的syslog进程。
备注:RFC 5424文档中未指定任何传输层协议,而是以独立于传输层的方式描述syslog消息的格式。
Syslog组成
完整的syslog消息由3部分组成,分别是PRI,HEADER和MSG,其中PRI字段包含Facility和严重性(Severity),HEADER包含了时间戳、主机名或设备IP等,MSG是日志消息主体。Syslog消息总长度数据包必须小于等于1024字节,未定义最小长度的syslog消息数据包。
备注:RFC 5424文档中定义syslog格式如下所示,详情参见RFC文档。
SYSLOG-MSG = HEADER SP STRUCTURED-DATA [SP MSG]
Facility值、Severity值和Priority值
备注:关于Facility值、Severity值和Priority在RFC 3164和RFC 5424文档中描述基本一致。
Facility值和Severity值以十进制进行编码。通常情况,一些操作系统守护进程和进程已分配Facility值,而守护进程和进程未分配Facility值的则采用“local use”或者“user-level”方式。已分配Facility值如下表所示。
Numerical Code | Facility |
0 | kernel messages |
1 | user-level messages |
2 | mail system |
3 | system daemons |
4 | security/authorization messages (note 1) |
5 | messages generated internally by syslogd |
6 | line printer subsystem |
7 | network news subsystem |
8 | UUCP subsystem |
9 | clock daemon |
10 | security/authorization messages |
11 | FTP daemon |
12 | NTP subsystem |
13 | log audit |
14 | log alert |
15 | clock daemon |
16 | local use 0 (local0) |
17 | local use 1 (local1) |
18 | local use 2 (local2) |
19 | local use 3 (local3) |
20 | local use 4 (local4) |
21 | local use 5 (local5) |
22 | local use 6 (local6) |
23 | local use 7 (local7) |
每个syslog消息Priority由Severity值表示,常见Severity值如下表所示。
Numerical Code | Severity |
0 | Emergency: system is unusable |
1 | Alert: action must be taken immediately |
2 | Critical: critical conditions |
3 | Error: error conditions |
4 | Warning: warning conditions |
5 | Notice: normal but significant condition |
6 | Informational: informational messages |
7 | Debug: debug-level messages |
Priority值= Facility值*8+Severity值;
例如:Facility是“local use 4”对应20,Severity是Notice对应5,那么Priority值=20*8+5=165。
参考连接
RFC 3164
http://www.faqs.org/rfcs/rfc3164.html
RFC 5424
http://www.faqs.org/rfcs/rfc5424.html
总结
本期本章就网络安全审计概念、依据和syslog协议进行总结,不足之处,欢迎各位小伙伴留言指正。