如果我们有关注服务器、网站安全方面信息的肯定在上周有看到关于ImageMagick安全漏洞的相关文章,如果我们的服务器、VPS是自己运维的那就需要注意这方面的问题。如果我们的WEB环境有安装过ImageMagick组件,那就需要检查是否有漏洞的存在。
同时,上午肯定很多网友有得到阿里云服务器安全提示,存放在上面的WordPress程序有WP_Image_Editor_Imagick漏洞问题,需要登入后台补丁等等的暗示。如果需要在线补丁则需要升级阿里云的骑士专业版,当然是需要收费的,其实我们即便要补丁安全也没有必要这样操作。因为这个WP_Image_Editor_Imagick漏洞本不是WP程序的,而是如果我们服务器环境中有安装ImageMagick且没有补丁的才会被利用。
第一、检查是否有ImageMagick漏洞
convert ‘https://example.com”|ls “-la’ out.png
如果提示有执行成功且没有错误,则说明有漏洞,我们需要升级组件。如果提示错误,或者我们压根没有安装ImageMagick,那就没有问题。
第二、补丁修复WP_Image_Editor_Imagick
如果是自己架设的服务器,且有安装ImageMagick存在漏洞最好的方法是升级最新版本。临时解决WP漏洞的方法只需要修改一行代码就可以。
1、找到wp-includes/media.php2898行
2、修改代码:
$implementations = apply_filters( 'wp_image_editors', array( 'WP_Image_Editor_Imagick', 'WP_Image_Editor_GD') );
为:
$implementations = apply_filters( 'wp_image_editors', array( 'WP_Image_Editor_GD', 'WP_Image_Editor_Imagick' ) );
将2个库优先级对调就可以了。这样我们在阿里云后台再验证下就可以看到被修复。
总结,这个仅仅是临时解决方法,最为直接的方法还是要升级WP到最新版本,如果有安装ImageMagick组件也需要升级。
PS:补充信息
如果我们是虚拟主机,这个就需要主机提供商负责解决,咨询服务商是否有安装ImageMagick组件且是否有更新到最新版本的补丁。如果有安装ImageMagick且升级到最新版本一般是没有问题的。这里,根据官方提供的解决方法,如果我们是自建服务器,也可以通过这个方法解决:
1、修改配置文件
/etc/ImageMagick/policy.xml
2、添加脚本
<policymap> <policy domain=”coder” rights=”none” pattern=”EPHEMERAL” /> <policy domain=”coder” rights=”none” pattern=”URL” /> <policy domain=”coder” rights=”none” pattern=”HTTPS” /> <policy domain=”coder” rights=”none” pattern=”MVG” /> <policy domain=”coder” rights=”none” pattern=”MSL” /> </policymap>
这个是官方给予的方法,禁止ImageMagick。