AEM 调度程序规则中的安全问题
在将配置移至生产之前,应始终修改 Adobe Experience Manager (AEM) Dispatcher 附带的默认规则。开箱即用,存在几个可能引起安全问题的漏洞。大多数 AEM 架构师都知道,任何良好的调度程序配置的第一条规则是“全部拒绝”规则。对于任何生产系统来说都是这种情况,始终阻止所有内容,然后只允许打开 所需的 路径。
然而,即使有“全部拒绝”规则,仍有许多规则可能导致问题并允许意外访问 AEM 的敏感区域。例如,Adobe Dispatcher 的多个示例包含允许使用精心设计的 URL 进行访问的问题。例如,向请求添加;.css
可以绕过大多数规则并允许用户访问被认为是安全的敏感区域(例如 CRX 管理员!)。
在您的网站上检查此 URL,看看您是否可以看到 CRX 管理屏幕: http:///crx/explorer/index.jsp;.css
。如果您能看到这个页面,哎呀!您有一个安全漏洞!
如何修复这个问题!
那么我们如何解决添加;.css
即可授予您访问敏感位置的权限的问题?检查您的 dispatcher.any 过滤规则。有这样的规则吗?
# Enable specific mime types in non-public content directories
/0041 { /type "allow" /url "*.css" } # enable css
/0042 { /type "allow" /url "*.gif" } # enable gifs
/0043 { /type "allow" /url "*.ico" } # enable icos
/0044 { /type "allow" /url "*.js" } # enable javascript
/0045 { /type "allow" /url "*.png" } # enable png
/0046 { /type "allow" /url "*.swf" } # enable flash
/0047 { /type "allow" /url "*.jpg" } # enable jpg
/0048 { /type "allow" /url "*.jpeg" } # enable jpeg
/0049 { /type "allow" /url "*.svg" } # enable svg
许多 dispatcher.any 示例中都提供了这些内容,作为启用您的图像和包含内容的一种方式。然而,这些规则也正是造成安全漏洞的原因之一!
在随版本4.3.3
附带的最新 dispatcher.any 中,Adobe 已将这些规则更改为如下所示:
# Enable extensions in non-public content directories, using a regular expression
/0041
{
/type "allow"
/extension '(clientlibs|css|gif|ico|js|png|swf|jpe?g|woff2?)'
}
我们仍在测试此更新是否修复了已知问题,我们将在此博客中更新我们的结果。与此同时,我们制定了这些规则来阻止一些最严重的问题(感谢 Rackspace 的 Dwayne Hale!):
#vuln 1
/9990 { /type "deny" /url "*.infinity.*" }
#vuln2
/9991 { /type "deny" /url "/crx*" }
/9992 { /type "deny" /url "/system*" }
#vuln3 block querybuilder
/9993 { /type "deny" /url "/bin/querybuilder*" }
#vuln4
/9994 { /type "deny" /url "*/.*"}
希望这些规则能够帮助您在使用 AEM Dispatcher 时保护您的企业站点。
如需帮助修复任何 AEM Dispatcher 漏洞,请立即通过 1-877-AEM-4502 联系 Arbory Digital 的 AEM 专家!