设为首页 收藏本站
查看: 1204|回复: 0

[经验分享] 限定某个目录禁止解析php 限制user_agent php相关配置

[复制链接]

尚未签到

发表于 2018-12-11 14:17:36 | 显示全部楼层 |阅读模式
  一、限定某个目录禁止解析php

通过禁止php解析图片目录,来限制网站被×××恶意找到后门获取到数据库权限
#vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

#/usr/local/apache2.4/bin/apachectl -t
#/usr/local/apache2.4/bin/apachectl graceful
#mkdir upload    //在/data/wwwroot/111.com下创建一个upload目录
#cp 123.php upload/
#curl -x127.0.0.1:80 'http://111.com/upload/123.php' -I     //测试

二、限制user_agent

CC×××的原理是:×××者借助代理服务器(肉机)生成指向受害主机的合法请求,实现DDOS和伪装
通过日志分析,遇到user_agent很规律的请求基本可以判定它是CC×××
#vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

#/usr/local/apache2.4/bin/apachectl -t
#/usr/local/apache2.4/bin/apachectl graceful
#curl -A "aminglinux aminglinux" -x192.168.8.131:80 #'http://111.com/123.php' -I        //-A指定user_agent,-e指定rewrite,必须以"http://"开头,-x指定hosts,-I仅仅查看状态码
  三、PHP相关配置

通过浏览器访问,用phpinfo()函数查看网站phpinfo函数文件,如果没有加载php.ini,从源码包复制一个到/usr/local/php/etc/
cp   /usr/local/src/php-5.6.32/php.ini-development   /usr/local/php/etc/php.ini

disable_functions  是安全函数
#vim /usr/local/php/etc/php.ini      //修改配置文件,在disable_functions =后面加如下安全函数,有些企业生产环境上把phpinfo也加入到安全函数,增加安全性
disable_functions =eval,assert,popen,passthru,escapeshellarg,escapeshellcmd,passthru,exec,system,chroot,scandir,chgrp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,leak,popepassthru,stream_socket_server,popen,proc_open,proc_close,phpinfo
#/usr/local/apache2.4/bin/apachectl graceful      //修改完成之后重新加载下文件
在浏览器中刷新http://111.com/index.php网页,出现如下页面提示:phpinfo被禁掉

#vim /usr/local/php/etc/php.ini     //date.timezone定义为亚洲上海或者重庆
date.timezone = Asia/Shanghai
把display_errors = On 修改为 display_errors = Off  ,改为Off后访问http://111.com/index.php将不会输出错误信息,直接变为白页
如果把错误信息输出禁用,需要把错误日志开启,log_errors = On,修改错误日志路径error_log = /tmp/php_errors.log
error_reporting定义错误日志记录级别 ,默认error_reporting = E_ALL,生产环境上一般使用     Show all errors, except for notices
#/usr/local/apache2.4/bin/apachectl -t
#/usr/local/apache2.4/bin/apachectl graceful
#ls /tmp     //可以查看下/tmp下有没有生成php_errors.log文件
#ls -l /tmp/php_errors.log
rw-r--r-- 1 daemon daemon 145 Jun  5 07:34 /tmp/php_errors.log    //可以看到它的属组是daemon
#ps aux |grep httpd

daemon其实是httpd的进程,那么这个错误日志是以这个进程的身份生成的
如果定义了一个错误日志,但是这个错误日志始终无法生成,就需要检查定义的错误路径有没有写的权限
#cat /tmp/php_errors.log     //查看错误日志内容
[05-Jun-2018 07:34:06 Asia/Shanghai] PHP Warning:  phpinfo() has been disabled for security reasons in /data/wwwroot/111.com/index.php on line 2
#vim /data/wwwroot/111.com/2.php      //创建一个2.php
curl -A "a" -x127.0.0.1:80 http://111.com/2.php -I      //报500错误
#cat /tmp/php_errors.log     //提示Parse error错误
[05-Jun-2018 08:14:40 Asia/Shanghai] PHP Parse error:  syntax error, unexpected end of file in /data/wwwroot/111.com/2.php on line 4
  多站点安全配置:
需求:一个服务器跑多个站点,A站点代码可能有问题,有漏洞,结果A站点被黑了,要想使其他站点目录不受影响,可以增加open_basedir
#vim /usr/local/php/etc/php.ini
open_basedir=/data/wwwroot/111.com:/tmp       //如果是在php.ini下定义,只能定义一个open_basedir,是针对所有站点和临时目录
#/usr/local/apache2.4/bin/apachectl graceful
#vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf   // 对每个站点单独限定相互隔离,修改httpd-vhosts.conf 配置文件
php_admin_value open_basedir "/data/wwwroot/111.com:/tmp"    //在111.com站点配置文件中添加
php_admin_value open_basedir "/data/wwwroot/abc.com:/tmp"     //在abc.com站点配置文件中添加
#/usr/local/apache2.4/bin/apachectl -t
#/usr/local/apache2.4/bin/apachectl graceful




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-650201-1-1.html 上篇帖子: php http请求类 下篇帖子: 如何在php中设置cookie,在js中获取
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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