防止CSRF攻击

CSRF攻击的工作方式

跨站点请求伪造(CSRF)是一个网站漏洞,有效用户的浏览器用于发送恶意请求(可能通过iFrame)。 由于浏览器按域发送cookie,因此,如果用户当前已登录到应用程序,则用户的数据可能会受到损害。

例如,考虑您登录到浏览器中的管理控制台的情况。 您会收到一封包含链接的电子邮件。 单击链接,该链接将在浏览器中打开一个新选项卡。 您打开的页面包含一个隐藏的iFrame,它使用已验证的AEM forms会话中的cookie向表单服务器发出恶意请求。 由于用户管理收到有效的cookie,因此它会传递请求。

Referer: 请求来自的源页面的地址。例如,site1.com上的网页包含指向site2.com的链接。 单击该链接将请求发布到site2.com。 此请求的引用者为site1.com,因为此请求来自源为site1.com的页面。

列入允许列表的URI:URI标识正在请求的表单服务器上的资源,例如,/adminui或/contentspace。 某些资源可能允许从外部站点请求进入应用程序。 这些资源被视列入允许列表为已URI。 表单服务器从不从的URI执行列入允许列表引用检查。

Null引用 器:打开新的浏览器窗口或选项卡时,键入地址并按Enter,引用器为null。该请求是全新的,并非源自父网页;因此,该请求没有引证人。 表单服务器可以从以下位置接收空引用器:

  • 在Acrobat的SOAP或REST端点上发出的请求
  • 对AEM表单SOAP或REST端点发出HTTP请求的任何桌面客户端
  • 打开新的浏览器窗口并输入任何AEM表单Web应用程序登录页的URL时

允许在SOAP和REST端点上使用空引用器。 还允许对/adminui和/contentspace等所有URI登录页及其相应映射资源使用空引用程序。 例如,/contentspace的映射servlet为/contentspace/faces/jsp/login.jsp,它应为空引用器异常。 仅当为Web应用程序启用GET过滤时,才需要此例外。 应用程序可以指定是否允许空引用器。 请参阅AEM表单的强化和安全中的“防止跨站点请求伪造攻击”。

允许的引用者 异常:允许的引用者异常是允许的引用者列表的子列表,从中阻止请求。允许引用例外是Web应用程序特有的。 如果不允许允许引用者的子集调用特定的Web应用程序,则可以通过允许的引用阻止列表者例外来引用者。 允许的引用例外在应用程序的web.xml文件中指定。 (请参阅帮助和Tutorials页面上的AEM表单的强化和安全性中的“防止跨站点请求伪造攻击”。)

允许的引用程序的工作方式

AEM表单提供引用器过滤功能,有助于防止CSRF攻击。 下面是引用筛选的工作方式:

  1. 表单服务器检查用于调用的HTTP方法:

    • 如果是POST,表单服务器将执行引用器头检查。
    • 如果是GET,则表单服务器会绕过引用器检查,除非CSRF_CHECK_GETS设置为true,在这种情况下,它将执行引用器头检查。 CSRF_CHECK_GETS在应用程序的web.xml文件中指定。 (请参阅强化和安全指南中的“防止跨站点请求伪造攻击”。)
  2. 表单服务器检查请求的URI是否列入允许列表被:

    • 如果URI被列入允许列表,服务器将传递请求。
    • 如果未请求列入允许列表的URI,则服务器检索请求的引用者。
  3. 如果请求中有引用者,服务器将检查它是否为允许的引用者。 如果允许,服务器将检查引用者异常:

    • 如果此请求为例外,则阻止该请求。
    • 如果不是例外,则会通过请求。
  4. 如果请求中没有引用器,服务器将检查是否允许空引用器。

    • 如果允许空引用器,则会传递请求。
    • 如果不允许空引用器,服务器将检查所请求的URI是否为空引用器的例外,并相应地处理该请求。

配置允许的引用者

运行Configuration Manager时,默认主机和IP地址或表单服务器将添加到允许的引用列表。 您可以在管理控制台中编辑此列表。

  1. 在管理控制台中,单击“设置”>“用户管理”>“配置”>“配置允许的引用者URL”。“允许的引用者”列表卡显示在页面底部。

  2. 要添加允许的引用者,请执行以下操作:

    • 在“允许的引用者”框中键入主机名或IP地址。 要一次添加多个允许的引用者,请在新行上键入每个主机名或IP地址。
    • 在“HTTP端口”和“HTTPS端口”框中,指定允许HTTP、HTTPS或同时允许HTTP和/或HTTPS的端口。 如果将这些框留空,则使用默认端口(HTTP的端口80和HTTPS的端口443)。 如果在框中输入0(零),则该服务器上的所有端口都将启用。 您还可以输入特定端口号以仅启用该端口。
    • 单击添加。
  3. 要从允许的引用列表中删除条目,请从列表中选择该项,然后单击删除。

    如果允许的引用列表为空,则CSRF功能将停止工作,并且系统将变得不安全。

  4. 更改允许的引用列表后,重新启动AEM forms服务器。

On this page

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now