本文在 SAP S/4 HANA 1709 下测试通过
在日常BASIS运维工作中,我们可以使用 SM21 查看系统日志,但如果希望获得一些更详细的日志,如用户登录记录(Dialog/RFC),RFC调用记录,事务/报表执行记录,系统操作记录等各项工作,我们可以开启 安全审计日志(Security Audit Log),这样在出现安全问题时,我们可以通过该日志查看是谁进行的操作。 本文介绍了Security Audit Log 的配置,查看和清理方法。
本文参考自官方手册:“System Security for SAP NetWeaver AS for ABAP Only”->"Security Audit Log"章节(https://help.sap.com/viewer/280f016edb8049e998237fcbd80558e7/1709%20000/en-US/4d41bec4aa601c86e10000000a42189b.html),有英文能力的同学可以仔细阅读下该手册。
使用事务码 SM19,可以打开审计日志配置界面,首先我们会看到三个页签,首先我们应点击 Kernel Parameters 这个页签,配置 Kernel Parameters。
Kernel Parameters 用来控制安全审计日志的全局参数,如是否启用审计日志,是否启用用户筛选,日志记录方法(每日一个文件或每日多个文件) 和文件大小限制等;所做的修改保存后立刻生效,无需重启SAP,此外我们也可以在RZ10 中配置审计日志参数(不推荐),Kernel Parameters 一旦配置后,优先级高于RZ10,如果我们坚持要在RZ10中配置,需要先点击此界面右上角的"删除"按钮,RZ10的设置才会生效,具体各参数的含义,及对应的RZ10中的参数,请查阅 “System Security for SAP NetWeaver AS for ABAP Only”->"Security Audit Log"->“Preparing the Security Audit Log"。
如下图所示,创建 Kernel Parameters,按照自己的需求修改后,保存。审计文件即可生效。
然后我们切换到 Static Configuration 页签,此处我们可以创建 审计参数文件,并将其激活,激活的参数文件需重启SAP后才可生效,我们可以在此界面创建多个版本的审计参数文件,但每次只能激活一个
1) 创建 Profile 起个合适的名字
2) 在下方 我们可以设置多个Filter,Filter 的数量取决于" Kernel Parameters"页签中定义的参数"Number of Selection Filters"(该配置需重启SAP才生效),本例中,我配置两个Filter,用于满足对不同用户组配置不同的审计级别
Filter1 审计所有用户的登录和RFC调用:
Filter2 审计管理员(SUPER用户组的用户)对用户主记录的修改和授权记录:
3) 然后保存该Profile,建议部署给所有的服务器,一旦选择了Yes,则该Profile对所有实例立刻生效,且无需重启SAP(具体原因将在下面的 Dynamic Config 中解释)。
按照如上方法,我们可以创建多个Profile,然后选中一个,激活该Profile(只允许激活一个):
在如上配置之后,该审计日志 profile已被激活,理论上重启SAP服务器后即可生效
和 Static Configuration 页签不同,Dynamic Config 页签的配置 无需重启服务器,激活后立刻生效,一旦配置且激活了"Dynamic Config","Static Configuration"页签中配置的 Profile 将不会生效。
我们切换到 ”Dynamic Config“页签,一般情况下,我们会发现已经有一个处于激活状态的配置了,且配置和"Static Configuration"中的完全一样:
还记得在我们配置 Static Profile 的时候,第3步,保存时弹出的那个窗口吗?一旦选择了"Yes",则SAP会将该Profile复制到 Dynamic Config. 下 并将其激活,因此我们即使不重启SAP服务器,审计配置也会立刻生效!
我们也可以手工修改 Dynamic Config,然后激活,配置将立即生效
需注意的是,一旦重启了SAP服务器,"Dynamic Config"的配置会失效且丢失!!,系统将会使用"Static Configuration"页签下,激活的 Profile,因此对Dynamic Config 的配置仅用于临时测试,请及时在 Static Congifuration中修改Profile并激活。
接下来我们可以使用事务码 SM20 设置筛选条件,查看审计日志
建议将结果导出到 Excel中,用Excel进行分析会更加的方便。
SAP的日志存储位置,由参数"DIR_AUDIT"决定存储位置,由参数"FN_AUDIT"决定文件命名规则,我们可以用RZ11 查看这两个参数,并在服务器上找到该目录下的文件,如果我们想要保留大量的,详细的审计日志的话,建议修改该参数,将日志目录改到单独的存储服务(如单独磁盘、NFS服务器、NAS服务器等) 上。
我们可以使用 事务码 SM18,清理旧的安全审计日志,设置好日期范围和 实例范围后,点击”执行“按钮即可,也可以勾选"Simulation Only"进行模拟运行,仅进行统计而不实际清理。
执行清理后,SAP会提供一个统计报告,告诉对于每个服务器,删除了多少日志,保留了多少,此处是使用RFC调用的。