Gra*_*ray 6 java ssl privileges jetty
我正试图在我的Jetty网络服务器盒上主动安全 - 特别是关于存储SSL密钥信息,尽管我想要一个通用的解决方案.Apache使用权限分离,以便它以root身份启动,以便它可以读取受保护的SSL密钥文件(以及其他安全配置),然后切换到某个普通用户以实际服务HTTP请求.但Java没有这样做的机制.
有关如何在Java Web应用程序中实现相同级别的安全性的任何建议?我的要求包括:
秘密信息只能由root读取.
不应将任何解锁密钥等的密码配置到代码中,以便与服务器具有相同用户级权限的人无法轻松获取密码.
我在Amazon EC2下运行,所以我希望安全性尽可能自动 - 即运营商不输入交互式密码.
一种可能性是使用~LDAP将秘密信息与应用程序分开,并仅将LDAP访问用户名/密码烘焙到应用程序中.但我正在寻找更好的解决方案.
感谢您提供任何信息.
编辑:
我希望解决方案涵盖SSL,但考虑到我想限制访问的其他秘密.我在最初的帖子中没有说清楚.
尽管我很欣赏@Joakim 和@Tony 的答案,但我希望有一个更通用的解决方案,涵盖一般密码保护,无需 JNI/Jetty 特定功能,并且比 SSL 密钥保护更通用。
我能想到的最好的解决方案是一个小的 C 包装程序,它是 setuid root。它会:
作为扩展,小型 C 包装器可以保持运行,并通过使用基于 STDIN/STDOUT 的简单行协议来提供对 JVM 和系统资源的访问。这将使 JVM 以受控方式访问系统上的其他受保护资源。
以下是关于可能的解决方案的一些其他想法。
与往常一样,这两个应用程序都需要保护内存中的密码。将它们存储在系统套接字中或将它们分割成不连续的内存块始终是一个好主意。您还可以生成一个密钥并在内存中对其进行加密。
| 归档时间: |
|
| 查看次数: |
562 次 |
| 最近记录: |