前端日志如何接入SIEM系统做安全审计?
我们团队最近要配合安全组把用户操作日志接入公司的SIEM平台,但我搞不清前端该怎么做才合规。尝试过在Vue里直接发日志到后端接口,但安全同事说字段格式不对,还可能泄露敏感信息。
比如下面这段代码,我把按钮点击事件和用户ID都记下来了,这样写会不会有风险?应该过滤哪些字段?有没有通用的日志规范可以参考?
<template>
<button @click="logAndSubmit">提交订单</button>
</template>
<script>
export default {
methods: {
logAndSubmit() {
fetch('/api/log', {
method: 'POST',
body: JSON.stringify({ action: 'submit_order', userId: this.$store.state.uid })
});
// ...实际提交逻辑
}
}
}
</script>
首先你的代码里直接把用户ID发出去了,这很危险。我们需要对日志内容做严格过滤和格式化。这里有个改造方案:
这么做有几个好处:一是通过白名单控制日志字段;二是对可能暴露隐私的字段做了脱敏处理;三是加入了时间戳便于后续分析。
关于通用规范,可以参考NIST SP 800-92这类标准,不过最实用的是要跟你们SIEM平台的要求对齐。建议找安全组确认他们的日志格式要求,比如是不是需要特定的消息头、是否要求分级等。
另外还要注意传输安全,最好用HTTPS协议传输日志,并且在后端对接收到的日志做二次验证和存储加密。
记住,日志不是越多越好,关键是要有价值且安全。这需要持续调整优化,有时候还挺费脑子的。