VPS侦探论坛

标题: LNMP下防跨站、跨目录安全设置初探,仅支持PHP 5.3.3以上版本 [打印本页]

作者: licess    时间: 2012-10-5 16:21
标题: LNMP下防跨站、跨目录安全设置初探,仅支持PHP 5.3.3以上版本
如果是php 5.3.3以上的可以修改/usr/local/php/etc/php.ini在末尾里加入
  1. [HOST=www.vpser.net]
  2. open_basedir=/home/wwwroot/www.vpser.net/:/tmp/
  3. [PATH=/home/wwwroot/www.vpser.net]
  4. open_basedir=/home/wwwroot/www.vpser.net/:/tmp/
复制代码
每个域名一个,按上面的这个修改成你自己的域名和目录


最后重启/etc/init.d/php-fpm restart


这样设置即可防跨站或跨目录,如有问题可以直接回帖讨论。其实5.3.3以上还有其他更多的安全设置方法,欢迎交流。
php升级可参考:https://www.vpser.net/manage/lnmp-upgrade-php-script.html 或直接用lnmp0.9下载包里的upgrade_php.sh 进行升级。


升级有风险,且有些程序在PHP 5.3.*下可能会存在问题。
作者: tearszhu    时间: 2012-10-5 17:55
军哥辛苦了!顶了
作者: id886    时间: 2012-10-5 18:04
这个不错。。

一直没找着怎么给网站分配目录, 原来可这样单独分配。  暂时还没发现问题。

原来用  ./:/tmp/  时,发现有些小问题, 一直没找到解决方法。


还有想要探针显示信息,大家加上 :/proc/
作者: id886    时间: 2012-10-5 18:07
还有要防止直接IP访问,   不然用IP访问/home/wwwroot/ 一样跨。

PHP 5.2 的话,  也可用 ../:/tmp/  加 修改目录权限来简单防跨。
作者: licess    时间: 2012-10-5 19:53
标题: 回复 4# 的帖子
对于默认虚拟主机可以修改一下目录,下个版本会修改一下默认目录
作者: star826    时间: 2012-10-5 21:11
标题: 回复 5# 的帖子
下个版本军哥可以考虑下直接安装数据库就是mysql5.5以上。。貌似处理数据更快哈
作者: ronald    时间: 2012-10-8 01:28
原帖由 id886 于 2012-10-5 18:07 发表
还有要防止直接IP访问,   不然用IP访问/home/wwwroot/ 一样跨。

PHP 5.2 的话,  也可用 ../:/tmp/  加 修改目录权限来简单防跨。


新手请教:
怎么防止直接IP访问?
用 ../:/tmp/  加 修改目录权限来简单防跨的具体操作步骤是?

非常感谢~
作者: ronald    时间: 2012-10-8 01:31
希望军哥能多多发表对于LNMP安全设置一类的文章,谢谢!
作者: piaoyun    时间: 2012-10-10 21:08
希望下一个版本的mysql可以做了选择呢
比如选择的 5.1  5.5等。让用户自己选择安装那个版本的。
挑选几个比较稳定的来安装
作者: imnpc    时间: 2012-10-11 17:06
PHP 5.2.X是不是无法用这个防止跨目录?
作者: id886    时间: 2012-10-12 23:14
军哥 的这个 每个域名 都添加限制脚本,  很难实现自动批量完成。  

如:一次添加多个域名, 清除域名。   看来也只能手动一个一个添加。
作者: id886    时间: 2012-10-12 23:15
标题: 回复 10# 的帖子
用这这个限制就会存在问题,  如PHP页打不开。 只能使用  ../:/tmp/  加 修改目录权限来简单防跨
作者: id886    时间: 2012-10-12 23:31
标题: 回复 7# 的帖子
直接访问IP,修改 nginx.cnf 就成了。  搜索空主机头


这里有个问答贴:给网站目录授予权限后
https://bbs.vpser.net/thread-8621-1-3.html
作者: 54wz    时间: 2013-2-15 16:43
独立服务器,6个站,8个域名,添加如上之后, 访问站点子目录提示 No input file specified.

[ 本帖最后由 54wz 于 2013-2-15 16:57 编辑 ]
作者: id886    时间: 2013-2-22 10:32
标题: 回复 14# 的帖子
你的是  PHP5.2 吧?


在php.ini  中加  ../ 这类的应该可行。

不过,你的网站目录得做多层。   

希望军哥下个版本中能这么考虑多层目录 防跨站。

[ 本帖最后由 id886 于 2013-2-22 10:33 编辑 ]
作者: scofier    时间: 2013-2-23 12:44
php5.4 都出来了,为什么还不更新呢,更新到5.3也行啊,每次安装 还都要进行php版本升级
作者: licess    时间: 2013-2-23 13:07
标题: 回复 16# 的帖子
那就升级上去试试

5.4会让你抓狂的
作者: cyr11    时间: 2013-5-28 17:50
php 5.2 要能防跨站就比较完美了!
一站挂马!全服务器挂马!比较蛋疼的事情!哈哈
作者: kiah    时间: 2013-7-12 09:28
标题: 回复 18# 的帖子
确实 没有办法解决吗
作者: licess    时间: 2013-8-1 12:57
php 5.2下可以在php.ini里添加 open_basedir=../:/tmp/:/proc/ 这个,但是所有的网站目录都需要修改,需要在原有目录的基础上加上一层或多层目录。
作者: 星叔    时间: 2013-9-5 10:38
军哥,那现在最新的lnmp1.0配置的不是5.3.17么
那针对跨站要如何设置呢?
作者: nevernet    时间: 2013-9-26 17:35
这个会导致错误:
CURLOPT_FOLLOWLOCATION cannot be activated when safe_mode is enabled or an open_basedir is set

当然前提是你使用cURL。

http://stackoverflow.com/questions/10138289/curl-setopt-curlopt-followlocation-issue-with-tcpdf
作者: client    时间: 2014-3-5 00:38
   安全很重要,我现在试试看
作者: chao1314    时间: 2014-4-15 22:04
标题: lnmp1.0可以执行shell命令
php.ini 中没有禁用popen函数,可以执行shell命令
作者: 蔡和清    时间: 2014-4-30 11:31
不错,谢谢军哥,学习了
作者: iTimer    时间: 2014-7-17 22:49
[HOST=www.iamle.com]
open_basedir=/home/wwwroot/www.iamle.com:/tmp/:/proc/
[PATH=/home/wwwroot/www.iamle.com]
open_basedir=/home/wwwroot/www.iamle.com:/tmp/:/proc/

请教php.ini末尾添加,这个方法,要是同一个虚拟主机多域名呢,怎么配置,复制N个么?
作者: licess    时间: 2014-7-18 09:36
标题: 回复 26# 的帖子
复制多个




欢迎光临 VPS侦探论坛 (https://bbs.lnmp.com/) Powered by Discuz! X3.4