2013年12月24日

  当服务器/主机【被】提交了漏洞到乌云网上该怎么办?有人给出的答案是采用禁用函数的方法来保证服务器环境的安全。

  但是,禁用函数真的是最好的选择么?不是的!

  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的用户,那你就省心了,因为Amysql将这个功能集成到了模块里,而且默认情况下每一个虚拟主机都是开启了安全模式的,你只需要在后台下载AMChroot模块,管理即可。如果你不是AMH用户,也可以使用这个功能,只需要修改Nginx和PHP-FPM的配置文件即可。由于要把domain站点限制在/home/wwwroot/domain,所以对于php-fpm,此网站根目录已经变成是/web,所以我们需要更改Nginx传递给php-fpm的网站根目录地址。

  找到fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;,更改为fastcgi_param SCRIPT_FILENAME /web$fastcgi_script_name;同时,将php-fpm.conf文件中的Chroot改为chroot = /home/wwwroot/domain

  有什么需要注意的呢?

  Tips One:Chroot模式下,各种探针,如雅黑探针将会失效,报错。

  Tips Two:Chroot模式可用做在线shell模拟器,安全真实。

  综合以上分析,我建议,与其使用死板的禁用函数,我们为什么不试试更加好用的Chroot。

posted @ 2014-05-27 15:35 天才 阅读(190) | 评论 (0)编辑 收藏

  导语:美国《华尔街日报》网络版上周五刊登题为《网购市场受益中国力量》(Internet Shopping Gets a Boost From China)的评论文章称,随着国内市场的竞争日益激烈,中国电子商务网站开始把发展目标瞄向海外。而由于这类计划有望帮助小型出口企业寻找更多客户,因此也得到了政府的支持。

  以下为文章全文:

  中国互联网零售商的根据地今年已经成为全球第一大电子商务市场。他们下一个目标瞄准了美国,以及其他所有地方。

  京东商城披露的数据显示,该公司的国际网站过去一年已经实现了数百万元人民币的销售额。阿里巴巴2010年推出的全球速卖通也在新兴市场实现了迅猛增长,仅在俄罗斯就吸引了70万注册用户。

  中国企业之所以转战海外市场,一定程度上源于本土市场的激烈竞争。“在中国,价格是最重要的因素,根本没有多少用户忠诚度可言。”京东商城出口业务负责人刘思军说,“而在中国以外,服务则更加重要。”

  京东商城在海外的毛利率大约为40%至50%,远高于本土电子商务公司15%至20%的水平。

  一些有探索精神的中国人很早以前就开始通过eBay等平台向海外销售商品。现在,大企业也开始试水这一领域。不过,这些中国公司也都承认,他们目前无法对亚马逊等美国网络零售商产生太大威胁。

  不过,他们还是为消费者提供了某些细分领域的购物选择。兰亭集势最初销售结婚礼服,后来又拓展到根据水温变换光照颜色的水龙头等产品。

  京东商城表示,中文书在海外很畅销。酸奶机和中式面条机等海外市场难得一见的电子产品也卖得很好。

  2013年上半年,接发材料和假发大约占到速卖通美妆和健康类产品总销量的68%。美国买家大约占到75%。

  去年,中国电子商务市场的规模已经与美国市场相似。根据艾瑞咨询的数据,中国市场仍在快速增长,第三季度同比增幅达到42%,远超美国电子市场同期13%的增长。

  在中国大陆企业走向海外的过程中,由于地理位置接近且语言相通,所以中国香港和中国澳门成为了他们的首选目标。唯品会就于本月在香港和澳门成立了网站。

  一年前,海外扩张还不在唯品会董事会的考虑之列,但他们现在已经开始探索这种选择。唯品会董事、红杉资本董事总经理刘星说:“电子商务是一项全球性业务,很多中国电子商务公司都有国际野心。”

  当某投资基金的管理合伙人季卫东准备为他的第一个孩子在香港装修一套公寓时,他的妻子在淘宝网上购买了3盏吸顶灯。他认为,同样的灯在香港的价格要贵上10倍。

  “中国电子商务网站为中国之外的用户提供了价值。”曾经担任摩根士丹利亚洲互联网和媒体研究部门主管的季卫东说。中国政府也希望为这一新的增长领域提供支持,认为这可以帮助小型出口商寻找客户。

posted @ 2013-12-24 14:19 天才 阅读(149) | 评论 (0)编辑 收藏