了解如何管理尽管私密开发环境中需要但在AEM Forms on JEE的生产环境中不需要的用户帐户和服务。
通常,开发人员不使用生产环境来构建和测试其应用程序。 因此,您必须管理用户帐户和服务,虽然这些用户帐户和服务在专用开发环境中是必需的,但在生产环境中却不是必需的。
本文介绍了通过AEM Forms on JEE提供的管理选项来减少整体攻击表面的方法。
安装并配置JEE上的AEM Forms后,许多服务都可用于通过SOAP和Enterprise JavaBeans™ (EJB)进行远程调用。在本例中,远程一词是指对应用程序服务器的SOAP、EJB或操作消息格式(AMF)端口具有网络访问权限的任何调用方。
虽然JEE服务上的AEM Forms要求为授权调用方传递有效凭据,但您应仅允许远程访问您需要远程访问的服务。 要实现有限的可访问性,您应该尽可能减少可远程访问的服务的数量,以便系统正常运行,然后启用远程调用所需的其他服务。
JEE服务上的AEM Forms始终至少需要SOAP访问权限。 这些服务通常是Workbench使用的必需服务,但也包括Workspace Web应用程序调用的服务。
使用Administration Console中的“应用程序和服务”网页完成以下过程:
在Web浏览器中键入以下URL以登录到Administration Console:
https://[host name]:'port'/adminui
单击 服务>应用程序和服务>首选项.
设置“首选项”可在同一页面上查看最多200个服务和端点。
单击 服务 > 应用程序和服务 > 端点管理.
选择 EJB 从 提供商 列表,然后单击 筛选条件.
要禁用所有EJB端点,请选中列表中每个端点旁边的复选框,然后单击 禁用.
单击 下一个 并对所有EJB端点重复上一步骤。 在禁用端点之前,请确保EJB列在“提供程序”列中。
选择 SOAP 从 提供商 列表,然后单击 筛选条件.
要删除SOAP端点,请选中列表中每个端点旁边的复选框,然后单击 移除. 请勿删除以下端点:
单击 下一个 并对不在上述列表中的SOAP端点重复上一步骤。 在删除端点之前,请确保在提供程序列中列出SOAP。
某些表单服务器服务允许对某些操作进行未经身份验证(匿名)的调用。 这意味着服务公开的一个或多个操作可以作为任何经过身份验证的用户或根本不作为经过身份验证的用户调用。
在Web浏览器中键入以下URL以登录到管理控制台:
https://[host name]:'port'/adminui
单击 服务>应用程序和服务>服务管理.
单击要禁用的服务的名称(例如,AuthenticationManagerService)。
单击 “安全”选项卡,取消选择 允许匿名访问,然后单击 保存.
完成以下服务的步骤3和4:
如果您打算公开这些服务的任何服务以进行远程调用,则还应该考虑禁用这些服务的匿名访问。 否则,任何对此服务具有网络访问权限的调用者都可以在不传递有效凭据的情况下调用该服务。
对于任何不需要的服务,应禁用匿名访问。 许多内部服务都要求启用匿名身份验证,因为它们可能需要由系统中的任何用户调用,而不需要获得预授权。
最终用户可以通过Workbench、AEM Forms Web应用程序或调用AEM Forms服务器服务的自定义应用程序来验证AEM Forms。 一个全局超时设置用于指定此类用户在被迫重新进行身份验证之前可以与AEM Forms交互的时间(使用基于SAML的断言)。 默认设置为2小时。 在生产环境中,时间量需要减少到可接受的最小分钟数。
在Web浏览器中键入以下URL以登录到管理控制台:
https://[host name]:'port'/adminui
单击 设置>用户管理>配置>导入和导出配置文件.
单击 导出 以使用现有AEM Forms设置生成config.xml文件。
在编辑器中打开XML文件,并找到以下条目:
<entry key="assertionValidityInMinutes" value="120"/>
将该值更改为大于5的任何数字(以分钟为单位)并保存文件。
在管理控制台中,导航到导入和导出配置文件页面。
输入修改后的config.xml文件的路径,或单击“浏览”导航到该文件。
单击 导入 上传修改后的config.xml文件,然后单击 确定.