安全开发之Web应用可视化日志操作审计

admin 2024年7月29日16:22:43评论30 views字数 1898阅读6分19秒阅读模式

今天我顶着白花花的太阳赶到一个客户现场做合规,这个客户是一家大厂旗下的子公司。进去一看,楼道里有一个大屏商业作战(宣传)地图,大屏上以光点显示用户地理位置和设备安装量(是一些专供商家使用的设备,比如摄像头、收银等)。

我想,大厂风格就是不一样哈,天天在楼道里给打工人看地图,激发大家的战斗精神,这种文化顿时让我心生敬畏。

带着深深的敬意我走进了会议室,一边问一边看一边做证明截图,不知不觉就到了中午12点吃饭时间。客户工程师脸露深深的倦意,暗示上午的工作就先到这里,下午1点半再开始。我不知趣的斗志昂扬的说:“行,中午我注册一y个账号登录Web看一下,能自己看的就先过掉"。工程师看我的眼神有点不对劲,估计他心想:哪儿来的一家伙,我可是要休息的。其实我对他的心理也比较了解,毕竟大厂的风格是喜欢优化员工,带着前途未卜的想法,他可不想干只付出没结果的事儿,按点吃饭,按点下班,给多少钱干多少事儿。不过我也并不是想当劳模,只是经常出差没有条件午睡,渐渐给自己炼成了一个能干一整天活儿的家伙。另外是自己在内卷的工作环境中被逐渐异化成了一个无趣的人,除了工作,一时还真找不到太多其他的成就感。(不多说了,说多了都是泪)

中午,我绕过曲曲折折的门禁和玻璃门,到园区找了一家价格能接受的面馆吃了一餐,好家伙,普通一碗红汤面也花了快30大洋。出差除了工作时间比较自由,没同事频繁找我之外,吃饭容易遇到刺客。我时常想念我们那个破旧园区食堂的平价地沟油饭菜,两菜一汤一饭也就18元。

吃完饭,我又绕过曲曲折折的门禁和玻璃门回到了那个小会议室,打开电脑开始我按部就班的合规审核工作。

用自己的手机号注册了账号,登录了web后台,找来找去没找到可视化的日志。就是没日志功能。这让我犯了难了,为啥呢?我找一个通保的要求来看看。

安全开发之Web应用可视化日志操作审计

1、日志记录范围应覆盖到每个用户的关键操作、重要行为、业务资源使用情况等重要事件。如普通用户异常登录、发布恶意代码、异常修改帐号信息等行为,以及管理员在业务功能及帐号控制方面的关键操作;

这种情况下,要求Web应用的日志能有操作用户、操作时间、操作行为、操作结果等记录。我举个例子:

操作用户 作时间 操作行为 IP地址 操作结果
sami 2024.1.2 登录 XX.XX.XX.XX success
jie 2024.1.7 修改密码 XX.XX.XX.XX success
skyline 2024.1.14 留言:<script>alert('弹一个呗')</script> XX.XX.XX.XX success
cherry 2024.1.23 搜索:1' and '1=1' XX.XX.XX.XX failed
shasha 2024.2.1 会员续费 XX.XX.XX.XX failed
admin 2024.3.1 添加用户catfish为收银员角色 XX.XX.XX.XX success

在这个简单的例子中,我们看到其实有两个层面的日志收集要求,一是普通用户的一些关键操作,比如登录啊、登出啊、修改密码啊、订购续费啊、搜索啊、留言啊等。没有记录非关键操作,比如浏览了哪些页面,停留了多长时间,点击了哪些Button等。为啥要记录这些关键操作呢?看表格中的信息,如果有黑客或者内外部恶意人员攻击,那么通过这些行为是可以做追溯的。二是管理员在业务功能及帐号控制方面的关键操作,比如这里我们看到管理员有做授权行为。

2、应禁止在日志中记录用户密码,验证授权标识等敏感信息

这块很容易理解,日志中如果记录了这些敏感信息,能看到后台日志的特权账号人员可能会泄密,或做出其他恶意行为。这样就扩大了风险,而安全是要收拢攻击暴露面,收拢风险的。

3、应防止日志欺骗(Log Spoofing),如果在生成日志时需要引入来自非受信源的数据,则需要进行严格校验,防止日志欺骗攻击

日志欺骗是一种常见的攻击手法,攻击者可以在里面注入恶意代码。感兴趣的可以多查阅相关文章并阅读一下。那么,我们就需要在生成日志时不能有非受信源的数据,如果必须要有,就需要在代码层面进行严格校验。

4、应禁止将日志保存在web目录下,确保日志数据的安全存储并严格限制日志数据的访问权限,可对日志记录进行签名实现防篡改

日志保存在web目录下有一个隐患,因为web目录下的所有文件,按道理都是能被用户浏览到的。那么鉴于日志的重要性,我们要严格限制权限,减少日志被暴露给恶意人员的机会。最后,为了防篡改,我们可以对日志文件内容进行hash散列,生成摘要,对生成的摘要,使用私钥进行加密,形成签名,将得到的签名,附到文件内容后部。

 

原文始发于微信公众号(透明魔方):安全开发之Web应用可视化日志操作审计

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年7月29日16:22:43
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   安全开发之Web应用可视化日志操作审计https://cn-sec.com/archives/3007751.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息