欢迎来到千学网!
您现在的位置:首页 > 实用文 > 其他范文

Nginx多站点防止跨目录浏览WEB安全

时间:2022-08-07 08:04:56 其他范文 收藏本文 下载本文

下面是小编整理的Nginx多站点防止跨目录浏览WEB安全,本文共2篇,希望能帮助到大家!

Nginx多站点防止跨目录浏览WEB安全

篇1:Nginx多站点防止跨目录浏览WEB安全

Nginx跨站攻击很让人头疼,在多个网站运行的主机上如果攻破其中一个上传了类似webshell之类的木马程序后可以轻松浏览到相邻别的网站程序目录,由于nginx是后端FCGI程序处理php,统一设置open_basedir后会导致访问出现问题,只能通过每站分别处理的方式来设置,当然还有通过修改PHP程序等方式实现,贴上一个我目前正在使用的方法。

这种方式最好把网站集中到一个目录下,另外网站目录名字最好规范统一方便辨认。否则启动和维护起来非常麻烦容易混淆。

第一步修改php-fpm配置文件,为每个站点单独建立一个配置文件,

cd /usr/loca/php/etc/

cp php-fpm.conf php-fpm-www.zhaoyi.info.conf

修改其中

Pid file

/usr/local/webserver/php/logs/php-fpm-www.zhaoyi.info.pid

Error log file

/usr/local/webserver/php/logs/php-fpm-ww.zhaoyi.info.log

以及

/tmp/php-cgi-站点目录名.sock 若使用TCP端口传输方式每个都使用单独的端口

4 此处可根据主机情况来,配置点的就不需要开多了

第二步修改php-fpm启动脚本

cd /usr/local/php/sbin

# vim /usr/local/sbin/php-fpm

vhost=$2 ###

php_fpm_BIN=/usr/local/bin/php-cgi

php_fpm_CONF=/usr/local/etc/php-fpm-$vhost.conf ##

php_fpm_PID=/usr/local/logs/php-fpm-$vhost.pid ###

#php_opts=”–fpm-config $php_fpm_CONF”

php_opts=“-d open_basedir=/www/$vhost/ --fpm-config $php_fpm_CONF” #此处为网站目录

启动方式为php-fpm start www.zhaoyi.info 多个虚拟主机以此类推

第三步修改网站conf配置文件中

fastcgi_pass unix:/tmp/php-cgi-www.zhaoyi.info.sock; 要与php-fpm配置中的对应,tcp方式的启单独端口

OK,测试一下

/usr/local/php/sbin/php-fpm stop

/usr/local/php/sbin/php-fpm start www.zhaoyi.info

ps -ef | grep php中可以看到open_basedir=/www/www.zhaoyi.info就成功了

reload一下nginx的配置文件基本就可以实现各个主机隔离了,

我用phpspy测试已经访问不到别的目录了

nginx配置文件最好也采用每个网站单独一个的方式统一放在vhosts下

为了方便启动php-fpm可以写个脚本一起启动

#!/bin/bash

auto=$1

/bin/bash /usr/local/webserver/php/sbin/php-fpm $auto www.zhaoyi.info &&

/bin/bash /usr/local/webserver/php/sbin/php-fpm $auto www.xx.com &&

/bin/bash /usr/local/webserver/php/sbin/php-fpm $auto www.xxxx.com

保存为start.sh

开启sh start.sh start

关闭sh start.sh stop

在放入/etc/rc.local中开机启动

篇2:Nginx下多网站单独phpfpm进程目录权限防跨站WEB安全

Nginx下开多个虚拟机网站防跨站是首要的任务,PHP5.3之前的版本不支持open_basedir,只能通过控制PHP-cgi进程及目录用户权限进行限制,防止跨站访问,

先了解一下网站正常运行所用到的用户、目录权限:

Nginx进程运行用户:接收用户请求,处理静态文件,如果是PHP则转给PHP-CGI处理,网站目录拥有读权限。

PHP-cgi进程用户:处理PHP文件,网站目录拥有读权限,个别目录需要写入权限。

让每个网站使用单独的PHP-CGI进程,创建PHP-FPM配置文件,修改以下:

/usr/local/php/logs/php-fpm.pid

/usr/local/php/logs/php-fpm.log

/tmp/www.myhack58.com.sock

www.onovp.com #PHP-CGI运行用户组

www.myhack58.com

启动PHP-CGI进程:

/usr/local/php/bin/php-cgi --fpm --fpm-config /usr/local/php/etc/www.myhack58.com.conf

设置网站目录权限,设Nginx运行用户为www:

chown -R www.myhack58.com:www /home/wwwroot/www.myhack58.com

chmod -R 550 /home/wwwroot/www.myhack58.com

chmod 701 /home/wwwroot/

再修改Nginx网站配置文件,解析PHP所使用的PHP-CGI进程:

location ~ .*.(php|php5)?$

{

fastcgi_pass unix:/tmp/www.myhack58.com.sock;

fastcgi_index index.php;

include fcgi.conf;

}

Linux下PhpMyAdmin程序目录的安全管理WEB安全

限制目录的文件执行权限保障服务器安全WEB安全

活动目录系列之四:单域环境的实现(多站点)基本配置

如何防止装修公司多报价

防止溺水安全知识标语

web安全学习之xss个人总结

通过nginx配置文件抵御攻击WEB安全

安全保证书多篇保证书

如何防止黑客访问路由器安全密码?

Windows通用四招对付捆绑木马WEB安全

《Nginx多站点防止跨目录浏览WEB安全(精选2篇).doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式

点击下载本文文档