VPS侦探论坛

 找回密码
 注册
查看: 8104|回复: 5

如何设置网站目录只能读取不能写入和解析PHP

[复制链接]
发表于 2011-10-12 16:10:36 | 显示全部楼层 |阅读模式

如何设置网站目录只能读取不能写入和解析PHP
WIN2003系统可以设置单个目录只能读取不能写入和解析PHP还有ASP
LNMP安装的CENTOS怎么设置目录只能读取和禁止解析PHP
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
发表于 2011-10-12 17:23:04 | 显示全部楼层


设为只读的话 chmod 444 -R 目录

禁止解析:https://www.vpser.net/security/lnmp-remove-nginx-php-execute.html
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
 楼主| 发表于 2011-10-13 12:41:36 | 显示全部楼层

我在网站目录传了一个PHP木马,但发现可以通过木马跳转到任何目录
如何现在单个站点下的程序跳转不到其他目录
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
发表于 2011-10-13 15:03:33 | 显示全部楼层



那就要借用于服务器的CHROOT这一个功能了,让你的NGINX在这一个进程里面运行。
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
 楼主| 发表于 2011-10-13 15:31:18 | 显示全部楼层

原帖由 yuweitaocn 于 2011-10-13 15:03 发表
那就要借用于服务器的CHROOT这一个功能了,让你的NGINX在这一个进程里面运行。

能不能说的具体点啊,新手,麻烦帮忙

军哥运维代购:http://shop63846532.taobao.com/

发表于 2011-10-14 10:51:04 | 显示全部楼层

回复 5# 的帖子


 【IT168  专稿】本篇介绍了如何在OpenSUSE 11.2系统中为Apache2安装mod_chroot模块。使用mod_chroot模块,可以让Apache2运行在安全的chroot环境下,从而让你的服务器在面对系统漏洞攻击和利用Web应用程序入侵时更具抵抗力。
准备工作
  假定你电脑上装有OpenSUSE11.2系统,并且Apache2在此环境中可以正常工作。本教程使用的系统环境为:OpenSUSE 11.2 x86_64 [ISPConfig 2]。另外你还需要在/srv/www路径下建立1个或者多个站点。
  1. 安装mod_chroot
  OpenSUSE11.2中没有mod_chroot包,因此我们必须要自己生成一个。首先要安装一些准备内容,如下代码所示:
  yast2 -i libgcc glibc-devel gcc flex lynx compat-readline4 db-devel wget gcc-c++ make vim
  yast2 -i apache2-devel
  2. 接下来按照以下命令来生成mod_chroot:
  cd /tmp
  wget http://core.segfault.pl/~hobbit/ ... d_chroot-0.5.tar.gz
  tar xvfz mod_chroot-0.5.tar.gz
  cd mod_chroot-0.5
  apxs2 -cia mod_chroot.c
  3. 然后重启Apache:
  /etc/init.d/apache2 restart
配置Apache
  设定/srv/www为chroot jail的存储路径。OpenSUSE系统中的Apache使用/var/run/http2.pid路径下的PID文件;当apache服务器chroot到/srv/www目录,/var/run/httpd2.pid会被理解为 /srv/www/var/run/httpd2.pid。用以下命令来创建目录:
  mkdir -p /srv/www/var/run
  chown -R root:www /srv/www/var/run
  现在我们必须先告诉Apache,使用/srv/www目录作为chroot目录。首先打开/etc/apache2/httpd.conf,在该文件的Include/etc/apache2/sysconfig.d/loadmodule.conf 行下面添加一行:ChrootDir /srv/www;在字段下面的Options None注释掉,添加一行:Options +FollowSymLinks。步骤如下所示:
         //打开httpd.conf  
        vi /etc/apache2/httpd.conf
       //打开httpd.conf 文件后,文件内容如下:
  [...]
  # generated from APACHE_MODULES in /etc/sysconfig/apache2
  Include /etc/apache2/sysconfig.d/loadmodule.conf
  ChrootDir /srv/www
  [...]
  # forbid access to the entire filesystem by default
  #Options None
  Options +FollowSymLinks
  AllowOverride None
  Order deny,allow
  Deny from all
  [...]
  接下来要告诉vhost:文档目录被修改了(举个例子来说,将DocumentRoot/srv/www改为DocumentRoot/).我们也可以通过修改每个vhost的DocumentRoot指示,更简单的方式是创建一个文件符号链接。
创建符号链接两种方式
  第一种方式:改变文档根目录(DocumentRoot)
  我们假设我们有一个使用/srv/www做为vhost的文档根目录。我们必须打开vhost的配置文件,然后将文档根目录由/srv/www改为/。于是,目录/srv/www/web1/web就会被理解为/web1/web等。如果你想使用这种方法,那么你必须更改所有vhost的文档根目录。
  第二种方式:创建一个系统文件符号链接
  这种方式很简单,因为你只需要修改一次,而且不需要修改vhos所有的t配置文件。你只需要在/srv/www/srv/www 和 /srv/www之间建立一个符号链接。
  mkdir -p /srv/www/srv
  cd /srv/www/srv
  ln -s ../ www
  最后,停止Apache,在/var/run/httpd2.pid 和 /srv/www/var/run/httpd2.pid之间建立一个符号链接后在再启动Apache,命令如下所示:
  /etc/init.d/apache2 stop
  ln -sf /srv/www/var/run/httpd2.pid /var/run/httpd2.pid
  /etc/init.d/apache2 start
  这样就完成了,你可以和之前一样浏览网页,只要你浏览的页面是静态的html文件或者使用mod_php·应该都没有问题了。

  如果你使用CGI,比如suPHP,Ruby,etc.,那么你必须复制解释器(e.g. /usr/bin/perl, /usr/sbin/suphp, etc.)和解释器需要的库文件到chroot jail中。你可以使用Idd命令找到解释器需要的所有库文件。
  ldd /usr/sbin/suphp
  server2:/var/www/web1/log# ldd /usr/sbin/suphp
  linux-gate.so.1 => (0xffffe000)
  libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7e34000)
  libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7e0f000)
  libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7e03000)
  libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7cd2000)
  /lib/ld-linux.so.2 (0xb7f23000)
  server2:/var/www/web1/log#
  如果你拷贝了所有需要的文件后,网页还不能打开的话,你该查看下Apache 日志。日志常常会告诉我们浏览器哪里出错了。同时,你也可以阅读http://core.segfault.pl/~hobbit/mod_chroot/caveats.html 上面的FAQ。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|VPS侦探 ( 鲁ICP备16040043号-1 )

GMT+8, 2024-9-21 12:29 , Processed in 0.039111 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表