Ate*_*ral 10 language-agnostic security logging privacy
你如何隐藏敏感信息进入日志文件?是的,您可以有意识地选择不首先记录敏感的信息位,但是可能会出现一些情况,您在调查问题等时会在发生故障或跟踪消息时盲目地记录错误消息,并最终导致敏感信息登陆您的日志文件.
例如,您可能尝试将包含客户信用卡号的订单记录插入数据库.在数据库发生故障时,您可能希望记录刚刚执行的SQL语句.然后,您将在日志文件中获得客户的信用卡号.
是否有一种设计范例可用于将某些信息"标记"为敏感信息,以便通用日志管道可以过滤掉它们?
我目前针对该案例的做法是记录这些敏感信息的哈希值.这使我们能够识别属于特定声明的日志记录(例如特定的信用卡号),但不会让任何人只能抓取日志并将敏感信息用于其恶意目的.
当然,这样做始终涉及良好的编码实践.我通常选择使用它们的toString重载(在Java或.NET中)来记录所有对象,这些重载序列化了用Sensitive应用于它们的属性标记的字段的值的散列.
当然,SQL字符串更成问题,但我们更多地依赖于ORM来实现数据持久性,并在各个阶段记录系统状态,然后记录SQL查询,因此它变得没有问题.
| 归档时间: |
|
| 查看次数: |
6101 次 |
| 最近记录: |