今天很多人都收到了阿里云推送的一条短信通知,大意就是存放在上面的WordPress程序有WP_Image_Editor_Imagick漏洞问题,需要登入后台补丁等等的暗示。当然,如果需要在线补丁则需要升级阿里云的安骑士专业版,100元/5台/月,很是很贵的。其实对于我们来说我们没有必要去购买这个服务,因为这个漏洞并不是由于Wordpress程序本身造成的,而是由于ImageMagick这个PHP图像处理模块爆出的“0day”漏洞所引发的。
那先来说下ImageMagick这个模块,ImageMagick是一个免费的创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片。图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线,多边形,椭圆,曲线,附加到图片伸展旋转。ImageMagick是免费软件:全部源码开放,可以自由使用,复制,修改,发布,它遵守GPL许可协议,可以运行于大多数的操作系统,ImageMagick的大多数功能的使用都来源于命令行工具。由于其强大的功能以及超强的可操作性,是的这款作图软件深得广大办公人士喜爱,正因为如此,此次0day漏洞所带来的影响超乎了人们的想象。诸多网站论坛都深受其害,其中不乏百度、阿里、腾讯、新浪等知名网站,一时间,业界各大网站及企业都人人自危,纷纷自查,以免中招。
那么对于我们来说,如果去解决这个漏洞呢?
1.最完善的解决方案是“等”:等ImageMagick的官方更新,并将其升级到最新版本。不过这似乎要等段时间。
2.ImageMagick官方给出了一个临时解决方案:通过配置文件,禁用ImageMagick。可在“/etc/ImageMagick/policy.xml” 文件中添加如下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<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> |
3.关于wordpress的临时解决方法:将wordpress的默认图片处理库优先顺序改为GD优先,这也是阿里云给出的临时解决方案:(不过我就不要钱了,其实也很简单。)
在wp-includes/media.php中搜索
1 |
$implementations = apply_filters( 'wp_image_editors', array( 'WP_Image_Editor_Imagick', 'WP_Image_Editor_GD' ) ); |
修改为:
1 |
$implementations = apply_filters( 'wp_image_editors', array('WP_Image_Editor_GD','WP_Image_Editor_Imagick' ) ); |
1 2 3 4 |
add_filter( 'wp_image_editors', 'cmp_change_graphic_lib' ); function cmp_change_graphic_lib($array) { return array( 'WP_Image_Editor_GD', 'WP_Image_Editor_Imagick' ) |