V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dreammes
V2EX  ›  PHP

Ubuntu 安装 php5.6.9 免疫 Multipart/form-data 远程拒绝服务漏洞[转载]

  •  
  •   dreammes · 2015-05-25 00:03:45 +08:00 · 2770 次点击
    这是一个创建于 3506 天前的主题,其中的信息可能已经有所发展或是发生改变。

    PHP Multipart/form-data 远程拒绝服务 的安全漏洞。
    攻击者可以构造并持续发送畸形HTTP请求,恶意占用系统资源。

    简单测试,多线程持续发包,可以让一些性能较低的网站延长响应时间,甚至是直接出错。在我的测试机上,一旦攻击开始,CPU占用率会很快飙升至99%。
    最新释出的 php http://php.net/downloads.php
    已经修复了这个问题。

    虽然攻击过程必须持续发包,并且性能好的服务器很难被打挂,但仍然大家建议更新修复这个问题。

    我在自己vps上更新了php 5.6.9(配合apache),简单记录一下基本的操作步骤:

    已经修复了这个问题。

    虽然攻击过程必须持续发包,并且性能好的服务器很难被打挂,但仍然大家建议更新修复这个问题。

    我在自己vps上更新了php 5.6.9(配合apache),简单记录一下基本的操作步骤:

    php -v     #可以先检查下自己当前的版本

    apt-get install libxml2-dev

    apt-get install apache2-dev

    wget http://cn2.php.net/distributions/php-5.6.9.tar.bz2

    tar -xvf php-5.6.9.tar.bz2

    cd php-5.6.9/

    which apxs    # 确认找到apxs的路径

    ./configure --with-apxs2=which apxs --with-mysql

    make

    make install

    php -v    #再次检查php的版本

    cp .libs/libphp5.so /usr/lib/apache2/modules/

    service apache2 restart

    原文链接 http://www.lijiejie.com/ubuntu-install-php5-6-9-to-avoid-remote-dos/
    我只是转载,感谢作者

    第 1 条附言  ·  2015-05-25 12:47:37 +08:00
    以上方式只适合自己编译PHP的情况。如果是用的系统包,请绕道。
    7 条回复    2015-05-25 14:04:38 +08:00
    belin520
        1
    belin520  
       2015-05-25 00:27:15 +08:00 via Android
    v2不允许全文转载,但是你这个好像又不是全文哦
    msg7086
        2
    msg7086  
       2015-05-25 04:22:50 +08:00
    这只适合自己编译PHP的情况。如果是用的系统包,是不能这么搞的。
    另外这也只是修复了apache的mod_php,如果是小型系统用的PHP-FPM也不能这么搞。
    orzfly
        3
    orzfly  
       2015-05-25 04:53:18 +08:00   ❤️ 2
    如果用的 Ubuntu 的系统包,那么,这里是如何自己下载包代码、打补丁、再编译成包的步骤……

    apt-get install devscripts
    apt-get source php5
    apt-get build-dep php5
    cd php-*
    curl https://gist.github.com/smalyshev/da7fce7fdebed433184b/raw/fccff684cd54accf710d17a8af053bf8b4df2a37/gistfile1.txt | patch -p1
    dpkg-source --commit
    # 然后会让你自己输入一个补丁文件名,版本说明什么的,其实你也可以不改版本号……
    DEB_BUILD_OPTIONS=nocheck debuild -uc -us -nc

    然后就会开始全自动编译了……最后会生成一堆 .deb 文件在一开始的目录,挑所需的用 dpkg -i 装上即可。如果你没有改包的版本号,那么下次 apt-get update 检查到新版之后,你自己编译的就会被官方源覆盖啦。

    我不知道现在 Ubuntu 有没有推出包含补丁的版本了,但是这个过程可以供大家今后打其他补丁参考。
    另外这篇文章挺好的,也可以一看: http://cs-people.bu.edu/doucette/xia/guides/debian-patch.txt
    orzfly
        4
    orzfly  
       2015-05-25 04:55:25 +08:00
    @Livid 发帖的时候没有注意,结果上一层楼里有一个 Gist 链接在并不需要展开的场合展开了。这种时候有什么方式可以避免吗?如果可以希望帮忙编辑一下,以免影响后来的访客,感谢。
    vibbow
        5
    vibbow  
       2015-05-25 05:32:21 +08:00
    root@PVKQ001:~# dpkg -l | grep php
    ii libapache2-mod-php5 5.6.9+dfsg-1+deb.sury.org~trusty+2 amd64 server-side, HTML-embedded scripting language (Apache 2 module)
    ii php-pear 5.6.9+dfsg-1+deb.sury.org~trusty+2 all PEAR - PHP Extension and Application Repository
    ii php5 5.6.9+dfsg-1+deb.sury.org~trusty+2 all server-side, HTML-embedded scripting language (metapackage)
    ii php5-cli 5.6.9+dfsg-1+deb.sury.org~trusty+2 amd64 command-line interpreter for the php5 scripting language
    ii php5-common 5.6.9+dfsg-1+deb.sury.org~trusty+2 amd64 Common files for packages built from the php5 source
    ii php5-curl 5.6.9+dfsg-1+deb.sury.org~trusty+2 amd64 CURL module for php5
    ii php5-gd 5.6.9+dfsg-1+deb.sury.org~trusty+2 amd64 GD module for php5
    ii php5-geoip 1.1.0-2+deb.sury.org~trusty+1 amd64 GeoIP module for php5
    ii php5-json 1.3.6-1+deb.sury.org~trusty+2 amd64 JSON module for php5
    ii php5-mcrypt 5.6.9+dfsg-1+deb.sury.org~trusty+2 amd64 MCrypt module for php5
    ii php5-mysqlnd 5.6.9+dfsg-1+deb.sury.org~trusty+2 amd64 MySQL module for php5 (Native Driver)
    ii php5-readline 5.6.9+dfsg-1+deb.sury.org~trusty+2 amd64 Readline module for php5
    ii php5-sqlite 5.6.9+dfsg-1+deb.sury.org~trusty+2 amd64 SQLite module for php5


    用第三方源无压力...
    winterbells
        6
    winterbells  
       2015-05-25 08:03:23 +08:00 via Android
    hhvm怎么样?
    Livid
        7
    Livid  
    MOD
       2015-05-25 14:04:38 +08:00
    @orzfly Gist 的 lazy load 功能很快会有。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1805 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 16:25 · PVG 00:25 · LAX 08:25 · JFK 11:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.