Joomla 中存在一个新的零日漏洞。 详细信息请参阅CVE-2015-8562 。
我们建议您立即更新 Joomla,但如果您无法执行此操作或无法更改后端服务器上的文件,则可以在前端的 NGINX 或 NGINX Plus 中应用修复。
笔记: 我们强烈建议尽快更新您的 Joomla 安装,即使您今天使用此 NGINX 配置修补您的网站。
您可以在Sucuri 博客或Ars Technica等网站上阅读有关该漏洞和补丁的信息。
最初的攻击来自这些 IP 地址:
攻击通常通过修改User-Agent
标头来执行,可以通过标头内的这些值来识别: JDatabaseDriverMysqli
和O:(
大写字母 O 后跟冒号)。
Joomla 提供了来自一次攻击的以下示例日志条目。
2015 年 12 月 12 日 16:49:07 clienyhidden.access.logSrc IP: 74.3.XX.XX / CAN / 阿尔伯塔
74.3.XX.XX [12/Dec/2015:16:49:40 -0500] GET /contact/ HTTP/1.1 403 5322 http://google.com/ }__test|O:21:x22JDatabaseDriverMysqlix22:3:..{s:2:x22fcx22;O:17:x22JSimplepieFactoryx22:0:..{}s:21:x22x5C0x5C0x5C0disconnectHandlersx22;a:1:{i:0;a:2:{i:0;O:9:x22SimplePiex22:5:..{s:8:x22sanitizex22;O:20:x22JDatabaseDriverMysqlx22:0:{}s:8:x22feed_urlx22;s:60:..
使用此 NGINX 配置代码片段来阻止原始 IP 地址以及User-Agent
标头包含O:
或JDatabaseDriverMysqli
的任何请求。 要阻止其他 IP 地址,请将它们添加到第二个地
图块中的列表中。
http { 映射 $http_user_agent $blocked_ua {
~(?i)O: 1;
~(?i)JDatabaseDriverMysql 1;
默认 0;
}
映射 $remote_addr $blocked_ip {
74.3.170.33 1;
146.0.72.83 1;
194.28.174.106 1;
默认 0;
}
服务器 {
监听 80;
如果 ($blocked_ua) { 返回 403; }
如果 ($blocked_ip) { 返回 403; }
# ...
}
}
有关限制访问您网站的更多信息,请参阅NGINX Plus 管理指南。
在下面的评论中发表您的经历。
“这篇博文可能引用了不再可用和/或不再支持的产品。 有关 F5 NGINX 产品和解决方案的最新信息,请探索我们的NGINX 产品系列。 NGINX 现在是 F5 的一部分。 所有之前的 NGINX.com 链接都将重定向至 F5.com 上的类似 NGINX 内容。”