gpt4 book ai didi

java - java 中的安全日志记录

转载 作者:太空宇宙 更新时间:2023-11-04 08:36:43 26 4
gpt4 key购买 nike

我希望在我的应用程序中进行安全日志记录,以便:

  • 如果我记录某些内容,当且仅当记录成功时,记录函数才会愉快地返回
  • 日志文件不应该被轻易操纵,所以我应该很容易发现是否有人
    • 从日志文件中删除
    • 更改日志文件
    • 在日志文件中创建新条目

所以,它可靠地记录到带有 PKCS 的文件中应该足够了。

是否有适合我需要的库,或者我应该从头开始编写一个库?

编辑应用程序位于服务器上。

最佳答案

首先考虑第二个要求,为了提供完整性保护,您需要对日志消息进行签名或生成消息的 HMAC。这反过来要求应用程序有权访问用于签名的私钥或用于生成身份验证代码的对称 key 。

反过来意味着您需要限制对应用程序的访问,以便无法从中提取 key 。这意味着您已经从信任日志文件上的访问控制转变为信任应用程序上的访问控制。对应用程序的访问受到损害仍然允许第三方以“受支持”的方式修改您的日志文件。

您可以根据应用程序的结构及其部署方式,对日志文件使用强制访问控制,使其仅附加到应用程序的用户,以降低篡改或删除现有消息的可能性。您还可以定期备份日志文件,并比较内容以确保备份之间没有任何更改或删除。这假设对您的备份的访问也受到控制 - 可以篡改您的备份的第三方可以以无法检测的方式篡改您的日志文件。

您没有提及该应用程序是在服务器、台式机还是智能手机上,因此此类访问控制的具体细节不在本答案的范围内。

就确保在应用程序继续之前已成功写入消息而言,Apache 的 log4j 包含支持此 M.O 的附加程序。 (只是不要将它们包装在 AsyncAppender 中...)

关于java - java 中的安全日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6186115/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com