Nginx + php-fpm服务器存在远程代码执行漏洞,请及时更新修复!

最近看到Nginx + php-fpm服务器存在远程代码执行漏洞的消息。自己检查了下配置文件还好有宝塔面板,已经排除了这种威胁的可能性。

漏洞描述

仅启用了 PHP-FPM 的 NGINX 服务器容易受到攻击。PHP-FPM 代表 FastCGI Process Manager,是具有某些附加功能的 PHP FastCGI 替代实现。它不是 nginx 的标准组件,但部分 Web 托管商仍会将其作为标准 PHP 托管环境的一部分。

所以并不是所有Nginx都需要修补漏洞。

据外媒 ZDNet 的报道,PHP 7.x 中最近修复的一个远程代码执行漏洞正被恶意利用,并会导致攻击者控制服务器。编号为 CVE-2019-11043 的漏洞允许攻击者通过向目标服务器发送特制的 URL,即可在存在漏洞的服务器上执行命令。漏洞利用的 PoC 代码也已在 GitHub 上发布。

一旦确定了易受攻击的目标,攻击者便可以通过在 URL 中附加 ‘?a=’ 以发送特制请求到易受攻击的 Web 服务器。

对于我们菜鸟先解决漏洞问题,一时半会要掌握如何利用漏洞攻击是不可能了,但是必须了解。

影响范围

Nginx + php-fpm 的服务器,在使用如下配置的情况下,都可能存在远程代码执行漏洞。

location ~ [^/]\.php(/|$) {
...
fastcgi_split_path_info ^(. ?\.php)(/.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass php:9000;
...
}

解决方法

1.配置文件

看到大鸟博客上说宝塔面板不用担心,因为有文件检查配置

try_files $uri =404;

所以正确的配置是下面这样的

location ~ [^/]\.php(/|$)
{
try_files $uri =404;
fastcgi_pass unix:/tmp/php-cgi-72.sock;
fastcgi_index index.php;
include fastcgi.conf;
include pathinfo.conf;
}

看看我的文件配置

nginx + php-fpm服务器漏洞

2.更新到最新版本

对于使用PHP7.*的用户如果还不放心,那就更新到最新版

修复建议

将 PHP 7.1.X 更新至 7.1.33 https://github.com/php/php-src/releases/tag/php-7.1.33

将 PHP 7.2.X 更新至 7.2.24 https://github.com/php/php-src/releases/tag/php-7.2.24

将 PHP 7.3.X 更新至 7.3.11 https://github.com/php/php-src/releases/tag/php-7.3.11

还是通过宝塔面板来更新。因为我使用的是PHP7.2版本,所以如下操作我都是基于此版本来更新的。

宝塔面板更新PHP版本

点击更新后就会弹出提示框“更新过程可能会导致服务中断,您真的现在就将[PHP-7.2]更新到[7.2.24]吗?” ,

宝塔面板更新PHP版本

输入验证码,点击确定即可。

现在坐等更新完毕即可。

 

 

人已赞赏
系统运维

阿里云提示服务器漏洞怎么修复

2019-10-29 14:59:46

系统运维

使用Nginx缓存后,为什么同一网站不同浏览器显示不同的缓存结果?

2019-11-2 10:45:55

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索