Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 存储敏感信息_Java_Security_Jakarta Ee_Encryption - Fatal编程技术网

Java 存储敏感信息

Java 存储敏感信息,java,security,jakarta-ee,encryption,Java,Security,Jakarta Ee,Encryption,我的一个java类将连接到另一个服务器,并使用rest服务执行一些操作。Java类需要-用户名和密码才能连接到远程服务器。在其他机器上,我们使用oracle cwallet.sso存储凭据,但这不是当前机器的选项。我正在考虑在属性文件中添加一些盐来存储加密的密码。我还需要把钥匙和盐串放在安全的地方。我们在RHEL中是否有其他密码管理方法,如cwallet,或者有什么建议可以最好地实现这一点 请注意,我将使用shell脚本调用这个类 谢谢这很棘手,因为如果有人访问你的服务器,游戏已经结束了。因此,

我的一个java类将连接到另一个服务器,并使用rest服务执行一些操作。Java类需要-用户名和密码才能连接到远程服务器。在其他机器上,我们使用oracle cwallet.sso存储凭据,但这不是当前机器的选项。我正在考虑在属性文件中添加一些盐来存储加密的密码。我还需要把钥匙和盐串放在安全的地方。我们在RHEL中是否有其他密码管理方法,如cwallet,或者有什么建议可以最好地实现这一点

请注意,我将使用shell脚本调用这个类


谢谢

这很棘手,因为如果有人访问你的服务器,游戏已经结束了。因此,解决方案不仅仅是加密数据,因为它不会做很多事情,而是需要深入的安全性

要把它放在上下文中,你可以对密码进行加密,加盐,不管什么。。。当攻击者访问服务器时,他将无法读取任何这些文件(即使使用加密密码),除非他能够成为运行应用程序的用户。如果他能做到这一点,他只需要做一个内存转储,然后搜索密码(这并不难)

因此,现实世界的解决方案是:

  • 仅允许有限数量的用户登录服务器
  • 只允许更小的用户成为运行应用程序服务器的用户。
    • 这组人可以读取/更新属性文件
  • 对包含机密的文件禁用任何类型的备份
同样,加密文件上的密码可能会给你一种安全感,但同样,如果你按照上述步骤操作,任何能够读取文件的人也将能够读取应用程序的内存内容。即使有人做对了事情并将密码存储在一点堆外内存中,一些linux工具也可以读取进程的整个内存映射,所以游戏结束了


在这种情况下使用加密只会增加模糊性,没有真正的保护。

这很棘手,因为如果有人访问您的服务器,游戏已经结束。因此,解决方案不仅仅是加密数据,因为它不会做很多事情,而是需要深入的安全性

要把它放在上下文中,你可以对密码进行加密,加盐,不管什么。。。当攻击者访问服务器时,他将无法读取任何这些文件(即使使用加密密码),除非他能够成为运行应用程序的用户。如果他能做到这一点,他只需要做一个内存转储,然后搜索密码(这并不难)

因此,现实世界的解决方案是:

  • 仅允许有限数量的用户登录服务器
  • 只允许更小的用户成为运行应用程序服务器的用户。
    • 这组人可以读取/更新属性文件
  • 对包含机密的文件禁用任何类型的备份
同样,加密文件上的密码可能会给你一种安全感,但同样,如果你按照上述步骤操作,任何能够读取文件的人也将能够读取应用程序的内存内容。即使有人做对了事情并将密码存储在一点堆外内存中,一些linux工具也可以读取进程的整个内存映射,所以游戏结束了


在这种情况下使用加密只会增加模糊性,没有真正的保护。

你打算使用Wich吗?你打算使用Wich吗?我同意没有什么是安全的。基础设施/安全团队将确保有限的访问权限。作为一名程序员,我正在寻找一些关于实现安全性的最佳方法的建议。在服务器上使用双因素身份验证。仔细控制谁有第二个因素,很容易忘记删除授权。如果第二个因素是短信或电子邮件,请使用公司发行的手机。硬令牌是最好的,您可以根据用户跟踪序列号。你可以借一个代币然后取回,你不能借一个密码。我同意没有什么是安全的。基础设施/安全团队将确保有限的访问权限。作为一名程序员,我正在寻找一些关于实现安全性的最佳方法的建议。在服务器上使用双因素身份验证。仔细控制谁有第二个因素,很容易忘记删除授权。如果第二个因素是短信或电子邮件,请使用公司发行的手机。硬令牌是最好的,您可以根据用户跟踪序列号。你可以借一个代币然后取回,你不能借一个密码。