当前位置:w88优德官网网文章中心网站运营网站安全 → 从中国菜刀看PHP的运行安全问题

从中国菜刀看PHP的运行安全问题

减小字体 增大字体 作者:admin  来源:本站整理  发布时间:2017-1-10 10:31:44
近些日子,小蒋的一篇博文引起了广大主机商的关注。其原因是小蒋运营的创智主机被提交了漏洞到乌云网上:PHP运行 Chroot 虚拟主机 <a target=网站安全 AMH面板" border="0" onload="return imgzoom(this,550);" onclick="javascript:window.open(this.src);" style="cursor: pointer;"/>在这篇文章中小蒋给出了解决方法,就是采用禁用函数的方法来保证服务器环境的安全。但是,禁用函数真的是最好的选择么?不是的!AMH面板的开发者Amysql告诉我们,更好的选择是Chroot!AMH面板是一款LNMP面板,一方面,为了方便版本升级,另一方面,面板是开发者一个人开发的,所以AMH没有像kangle,WDCP,LUM,webmin等采用二进制文件实现平台的环境,而是使用基于AMP的PHP程序来控制平台。这样,就要考虑到PHP的安全问题了。由于PHP写成的程序,所以需要大量的的使用exec,shell_exec两个函数来实现面板和系统的信息交换处理。显然,小蒋给出的限制函数的方法并不适合AMH这样的面板。那么,Amysql如何解决PHP的运行安全问题呢?Amysql采用了这样的方法。对于AMH下的虚拟主机,一律开启Chroot来保证安全,而控制台PHP则关闭chroot来保证面板的正常运作。说了这么多,那么什么是Chroot呢?据维基百科的词条解释,Chroot本是Unix下的一个命令,但是,在PHP-FPM中,也是引入了这一功能。维基词条
chroot是在unix系统的一个操作,用于对当前的程序和它的子进程改变真实的磁盘根目录。
Chroot的工作原理是什么呢?由于LNMP环境下,PHP-FPM与Nginx的通信只能通过CGI实现,所以,如果你在FPM设置中对文件的根目录进行修改,那么,你的PHP程序就无法跨越这个指定的根目录。而面板所在的虚拟主机,由于没有开启Chroot,所以使用的根目录依然是系统的根目录 /具体解释一下?就拿我用的AMH面板的控制台和普通虚拟主机来说明。
控制台文件放在/home/Wwwroot/Index/Web文件夹下,普通主机的文件放在/home/wwwroot/Domain/web文件夹下。
对于控制台程序,由于没有开启Chroot,所以,这个PHP文件的实际位置和运行位置相同,都是/home/wwwroot/Index/web/,而其根目录就是/对于普通虚拟主机,开启Chroot,那么,虽然,运行的文件的位置是/home/wwwroot/domain/web/index.php,但是经过Chroot的导向,在PHP程序中,实际认为的文件地址是/web/index.php.同时在/home/wwwroot/domain/为了使入侵者认为自己进入的是根系统,而仿照Unix的文件夹命名规则,创建了etc,usr,tmp,lib等文件夹,如同为PHP程序创建了一个沙盒.所以,使用Chroot的用户不用害怕中国军刀,因为他只能在沙盘内起作用,无法对主系统产生影响,从而造成经济损失
沙盒(英语:sandbox),有时也称为沙箱,是为一些来源不可信、具备破坏力或无法判定程序意图的程序提供试验的环境。然而,沙盒中的所有改动对操作系统不会造成任何损失。通常,这种技术被计算机技术人员广泛使用,尤其是计算机杀毒软件行业,沙盒是一个观察计算机病毒的重要环境。
我们都知道,在类Unix系统中,所有程序,甚至设备,都是由文件表示,我们所使用的ls,wget命令,事实上都对应着一个特定的可执行文件,而当我们使用Chroot后,由于/home/wwwwroot/domain/usr下没有相应的文件,也就无法执行相应的命令。从而保证系统信息的安全。与禁用函数相比,Chroot有什么优点呢?禁用函数是针对整个PHP程序而言的,所有需要通过PHP程序进行解析的文件,都会受到禁用函数的设置。网站程序不同,那么有可能需要的函数不同,不同的虚拟主机无法单独设置。而Chroot可以根据不同的虚拟主机,进行特异化设置。对于需要使用特殊函数的程序,可以关闭Chroot,来保证网站程序的正常运转;程序不需要调用特殊的程序,就可以开启Chroot模式;如果只是要启用一个或两个特定的程序,你可以仿照如下的过程添加函数。比如说,当我们开启Chroot时,PHP程序是无法使用sendmail()函数来发信的,我们可以使用mini_sendmail替代sendmail来修复发信。
  • cd /home/wwwroot/www.ixiqin.com/
  • cp -P /bin/bash /bin/sh bin
  • cp /etc/passwd /etc/group etc
  • cd /tmp
  • wget http://centos.googlecode.com/files/mini_sendmail-1.3.6.tar.gz
  • tar xzf mini_sendmail-1.3.6.tar.gz
  • cd mini_sendmail-1.3.6
  • make
  • cp mini_sendmail /home/wwwroot/www.ixiqin.com/usr/sbin/sendmail
以上代码,在/tmp目录下编译mini_sendmail,然后将生成的可执行文件复制到chroot后目录下相应位置,以保证发件系统的正常运行。非AMH用户如何使用Chroot功能如果你是AMH的用户,那
[1] [2]  下一页
本文引用网址:
在下列搜索引擎中搜索“从中国菜刀看PHP的运行安全问题”的相关信息:
谷歌搜索 百度搜索 360搜索 雅虎搜索 搜狗搜索 搜搜搜索 必应搜索 有道搜索
你可能还喜欢以下文章
  • 1王梦溪未经处理照曝光 王梦溪口...
  • 2裸条10g压缩包 百度云 18g裸条...
  • 3女大学生裸贷照片合集[100P/23...
  • 4女学生裸贷资源百度云下载 10G...
  • 5女学生“裸条门”事件曝光 借贷...
  • 12016黑客免费送qq 6位qq号 7位...
  • 22016年最新成年身份证号码大全...
  • 3制作导航下拉菜单的代码-帝国C...
  • 4DEDE"模板文件不存在,无法解...
  • 5彻底解决DedeTag Engine Creat...
  • 1杨晴雨裸条图片 女学生裸贷照片...
  • 2女学生裸贷资源百度云 杨晴雨裸...
  • 3合肥艳照门事件 合肥艳照门全套...
  • 4江苏镇江郦荟艳照门 郦荟自拍高...
  • 5李雪不雅照流出 一字马女神李雪...
  • 1熟悉Linux病毒做好系统的防护工...
  • 2服务器维护更新升级的原则、故...
  • 3linux服务器在运行210天左右宕...
  • 4我教你学 个人SMTP服务器的配置...
  • 5遭遇同步(SYN)攻击的基本解决...
  • 赞助商广告

    图片文章导读