Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.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
由KERBEROS保护的Java应用程序_Java_Kerberos - Fatal编程技术网

由KERBEROS保护的Java应用程序

由KERBEROS保护的Java应用程序,java,kerberos,Java,Kerberos,我想通过KERBEROS保护我的Java web应用程序。有人知道需要做什么吗?如果我的当前用户存储在MySQL数据库中,我需要更改多少应用程序?是否需要使用VPN?如果我理解正确,每个客户端都通过同一域中的KDS进行身份验证,但我的应用程序位于远程服务器上(不在同一域?)。您必须向我们提供有关应用程序和环境的更多详细信息。kerberos所做的是,它为用户提供了一种方式来证明他确实是他所声称的那个人。或者,您可以验证他是否来自他声称来自的IP地址,尽管由于NAT/代理/负载平衡器的原因,后者很

我想通过KERBEROS保护我的Java web应用程序。有人知道需要做什么吗?如果我的当前用户存储在MySQL数据库中,我需要更改多少应用程序?是否需要使用VPN?如果我理解正确,每个客户端都通过同一域中的KDS进行身份验证,但我的应用程序位于远程服务器上(不在同一域?)。

您必须向我们提供有关应用程序和环境的更多详细信息。kerberos所做的是,它为用户提供了一种方式来证明他确实是他所声称的那个人。或者,您可以验证他是否来自他声称来自的IP地址,尽管由于NAT/代理/负载平衡器的原因,后者很少是用户

你的应用程序运行在哪个容器中?大多数现代servlet容器(JBoss/Websphere)都提供了现成的kerberos身份验证。您只需调整web.xml,如果是websphere,则只需正确配置应用程序

您有kerberos基础设施吗?如果您在具有Active Directory域控制器的企业windows环境中,则您已经使用了Active Directory域控制器。在这种情况下,您需要将工作站配置为位于域上。最简单的情况是,如果您的工作站是域的成员,并且active directory控制器也是您的DNS服务器,并且您的应用程序正在本地域中运行,并且您的浏览器是IE或Chrome。否则,您需要进行一些额外的配置

VPN是没有必要的,虽然如果你有一个它会简化一些事情

至于你的域名问题,有很多困惑,尤其是对于Windows管理员来说,域名到底是什么。域可以是类似stackoverflow.com的DNS域,域可以是完全不同的active directory域。在经典的Unix kerberos中,kerberos域称为领域,并且有一个配置文件将DNS域映射到kerberos领域

您的应用程序可以位于您想要的任何DNS域中,也可以位于任何Active Directory域中,但在这种情况下,必须在不同域之间建立信任关系

底线是,您至少必须配置两件事。DNS服务器必须具有SRV记录,以便浏览器可以找到KDC服务器。你必须在KDC中注册你的应用程序


有关更多详细信息,请谷歌搜索:

我的应用程序正在Tomcat上运行。没有任何KDC。每个用户都位于世界上不同的地方(不同的本地网络)。我的目标是使用kerebros进行安全通信。但是kerberos需要对用户进行身份验证,我不需要它。我的应用程序现在不安全,我的主管告诉我必须找到任何方法通过kerberos来保护它。只检查它是否困难,以及我们需要修改多少应用程序。所以我不想解决周围的服务器问题,只想实现应用程序的kerberos。如果您使用的是标准的java安全模块和角色,那么问题只是将身份验证模块替换为具有kerberos功能的模块。否则,您需要编写一些代码。如果您不在企业环境中,Kerberos的设置有点棘手,但这是可能的。一个挑战是用户必须相应地配置他们的浏览器,这对于您的情况可能不是一件好事。另一方面,kerberos的优点是它对每个请求进行身份验证,因此很难窃取会话。你是说JAAS吗?那么,当我没有任何安全性时,是否可以定义使用kerberos的一般步骤?使用它的基本步骤是什么?单靠JAAS是不行的。JAAS对HTTP一无所知。因此,您需要实现一个自定义过滤器。在tomcat中,这种过滤器称为阀。这是一个试图做你需要的事情的项目,我不确定它是否有效,因为我不太与tomcat合作。JBoss和Websphere有相当成熟的kerberos模块,所以它不依赖于Java应用程序设置,而是依赖于应用程序运行的服务器?正确选择或设置容器。我只需要在Tomcat中创建过滤器,并使用Windows本机身份验证插件将kerberos与MySQL数据库连接起来。对吗?