一、说明
本篇文章主要说一说windows系统中安全审计的控制点的相关内容和理解。
二、测评项
a)应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计;
b)审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息;
c)应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等;
d)应对审计进程进行保护,防止未经授权的中断。
三、测评项a
a)应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计;
对于windows而言,在服务器管理器或事件查看器或计算机管理中都可以查看到审计日志的具体内容以及一些策略:
分别可以在运行框中输入CompMgmtLauncher、eventvwr、compmgmt.msc打开。
按照测评要求里的内容,该测评项存在三个递进的要求:
首先默认状况下,日志审计功能都是开启的,因为Windows Event Log服务器都是默认开启的,而且一般情况下也关不掉(所以一般情况下开启安全审计功能这个要求是符合的):
不过网上说将日志文件夹的权限全部去掉,系统也无法记录日志,一般没人这么干:
对于第2个要求,也就是是否覆盖到每个用户,在默认状况下是否符合就不好说的。
至于第3个要求,对重要的用户行为和重要安全事件进行审计,肯定就不符合了,因为默认的审核策略都是未开启:
对于审核策略中应该开启哪些策略,初级教程说得挺明白的,我就直接截图了:
四、测评项b
b)审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息;
对于这个测评项,其主旨是审计的内容应至少包含事件的日期、时间,涉及事件的主体、客体,事件的结果以及事件的内容这些信息,以便用于在发生安全事件时进行追溯。
4.1. 时间信息
这里第一个要注意的就是日期和时间,如果服务器是联网的,那么可以自己通过网络进行时间同步,时间的准确性不成问题:
但是如果服务器本身不联网,本机上时间的是否准确就不能保证,也就无法保证事件中日期、时间等信息的准确性。
所以对于局域网内的服务器,可以设置一台ntp服务器,该ntp服务器对外联网,其余服务器的时间与这台服务器的时间进行同步,以该ntp服务器的时间为准。
具体ntp服务器如何设置,百度上有:https://jingyan.baidu.com/article/b0b63dbf5d84334a483070fa.html
最后,设置完ntp服务器后,在internet时间设置中将服务器的ip改为ntp服务器的ip即可:
4.2. 其余信息
其余信息的话,windows的审计记录是包括要求字段的,理论上默认就符合该测评项。
但是我个人理解有些测评项是递进的,对于安全审计控制点而言,如果审计功能没有开启,或者开启了但是没有达到审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计的要求。
那么这个地方就不应该给符合的结论,顶多只能给部分符合。
另外插一句嘴,在写测评记录表的时候,要按照实际情况来写,而不是直接复制测评项中的文字。
比如windows的安全审计的测评项b,要写就写实际的审计记录中包含的字段,如级别、用户、记录时间等。而不是去直接复制测评项中的内容,比如事件的日期和时间、用户、事件类型等。
五、测评项c
应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等;
5.1. 日志的内容
windows中的日志一般我们比较关注应用程序日志、安全日志、系统日志(其中最重要的是安全日志),其包含内容为:
5.2. 文件权限
这里首先应该是查看审计记录文件的权限,是否会被未授权用户删除。
windows中的日志一般我们比较关注应用程序日志、安全日志、系统日志(其中最重要的是安全日志),其存储文件分别是:
这三个文件的权限,在windows2008 r2中默认为:
三个文件的所有者均为:LOCAL SERVICE
每个文件的权限拥有者eventlog是啥我也不很清楚,应该是Windows里的一个内置安全体。
也就是从默认情况来看,只有隶属于administrators组的用户才拥有直接对文件进行删除的权限。
5.3. 事件查看器的权限
另外,在事件查看器中可以直接清空日志,对于一个隶属于users的普通用户而言,在事件查看器中,安全日志看都看不了,其余的日志可看,但均不可操作:
对于任何一个日志,都无权进行清空以及属性设置:
将该普通用户添加到event log reader组后,可以查看安全日志了,但对于所有日志仍然不能操作:
如果给该普通用户加上管理审核和安全日志的权限,则仅对于安全日志则具备清除日志的权限,其他权限仍然不具备:
如果给该普通用户加上生成安全审核的权限,则权限方面没啥变化:
5.4. 避免受到未预期的删除、修改或覆盖
从文件权限和事件查看器的权限来看,拥有管理审核和安全日志的权限,则可以在事件查看器中清除安全日志。
而隶属于administrators组的用户,则可以直接删除日志文件,以及在事件查看器中清除任何日志,以及设置日志的存储策略。
至于administrators组在事件查看器中的权限是在哪设置的,我不知道,哪位知道可以告诉我……
因为就算在管理审核和安全日志的权限中移除掉administrators组(该权限默认赋予给administrators组的),administrators组的权限仍然没有变化……
对于日志的存储策略,默认都是如下图所设置:
一是按需要覆盖事件(旧事件优先)。也就是说,当日志文件达到上限时,会把一些旧的日志文件记录删除掉,以存储新的日志信息
二是日志满时将其存档,不覆盖事件。这个选项是2003操作系统中没有的,在Windows7操作系统中新增加的选项。如果选择了这个选项,那么到日志文件的大小达到上限时,操作系统不会覆盖原有的日志记录。而是先把旧的日志记录进行存档,然后再利用新的日志信息来覆盖旧的日志信息。
三是不覆盖事件。当日志文件达到上限值之后,系统不会继续记录新的事件信息。需要系统管理员手工清楚日志文件后,系统才会记录记录日志信息。
所以,日志大小应该按照被测评单位的实际需求进行设置,太小肯定是不符合的,而存储策略应该选第一项或者第二项,第三项可能会导致系统无法保存最新的记录。
5.5. 定期备份
对日志进行定期备份就不用多说了吧?
无论是自己手动去拷贝,或者将日志推送到日志综合审计平台等第三方系统或者备份一体机等备份工具去备份,都可以。
六、测评项d
应对审计进程进行保护,防止未经授权的中断。
这里实际上在测评项a那一部分说过了,默认就是开启的,Windows Event Log服务无法在一般情况下关闭。
顶多就是在存储策略下动手脚,比如去除掉日志文件的所有权限,亦或者在事件查看器中对日志的存储策略进行设置,比如将日志最大大小设置为极小等。
否则,这一项理论上默认满足,但是我觉得测评项的要求是递进的,前面的测评项不符合的话,这个顶多给部分符合吧(个人理解)。
七、日志综合审计系统
日志审计系统有两种:
一种是将各个设备(操作系统、网络设备等)的日志都推送到这个系统当中,一般都是syslog协议。
如果是这种,那么关于安全审计控制点中的所有测评项,还是要以windows上自己的策略设置为准,因为这个系统做的仅仅是将各个设备的日志抓取过来,如果windows本身没有开启安全审计或者审计策略未设置,那么该系统也没啥用,该没有就是没有。
另外一种是基于流量解析的审计,通过解析网络流量中的信息,进行事件记录,这种最常见的是各种数据库日志审计系统。但是对于操作系统特别是windows系统存不存在这种,我不知道。
对于linux系统,你操作的时候主要靠各种命令,那么对这些命令进行审计存在可能。
对于各类数据库,你也要用各类sql语句来进行交互,对于这些语句进行审计也是可能的。
但是对于windows系统,基本上都是图形化界面,顶多我输入账户、口令的时候能审计下,其余操作如果全用鼠标点击,这是没办法通过解析来进行审计的。
不过换一种设备的话,像很多堡垒机都存在录像功能,直接将windows的操作进行录像化保存,这种算不算日志审计,我也不清楚,看具体情况吧。
*本文原创作者:起于凡而非于凡,本文属于FreeBuf原创奖励计划,未经许可禁止转载