?十一周二次课(3月7日)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了?十一周二次课(3月7日)相关的知识,希望对你有一定的参考价值。

十一周二次课(3月7日)
11.28 限定某个目录禁止解析php

技术分享图片

  • vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

  • 配置文件增加如下内容:
    <Directory /data/wwwroot/123.com/upload>
    php_admin_flag engine off
    </Directory>

技术分享图片

技术分享图片


  • 重新加载配置文件:
    /usr/local/apache2.4/bin/apachectl -t
    /usr/local/apache2.4/bin/apachectl graceful

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片




11.29 限制user_agent

技术分享图片


  • 配置限制user_agent的方法:

  • vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

  • 配置文件增加如下内容:
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{HTTP_USER_AGENT} .*curl.* [NC,OR]
    RewriteCond %{HTTP_USER_AGENT} .*baidu.com.* [NC]
    RewriteRule .* - [F]
    </IfModule>

  • 以上配置中:
    NC: 表示忽略大小写
    OR: 表示或者之意,不写则各行(条件)是并且的关系
    F: Forbidden之意,禁止访问

技术分享图片

  • 重新加载配置文件:
    /usr/local/apache2.4/bin/apachectl -t
    /usr/local/apache2.4/bin/apachectl graceful

测试

技术分享图片

cure指定use-agent

技术分享图片

技术分享图片




11.30/11.31 php相关配置

技术分享图片

查看php配置文件位置
/usr/local/php/bin/php -i|grep -i "loaded configuration file" 

通过以上语句查到的有时未必正确,更可靠的方法是在站点(比如123.com)目录下创建一个包含phpinfo()函数的php页面,然后在浏览器中访问它,从而来查看到配置文件位置.

技术分享图片

技术分享图片

技术分享图片


技术分享图片

重新加载配置

技术分享图片

技术分享图片

找到php配置文件后,就可编辑它来设置相关配置了

vi /usr/local/php7/etc/php.ini

技术分享图片


安全相关配置--禁用以下函数,这样即使被上转木马,由于相关函数已被禁用,它也无法执行.

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

技术分享图片

phpinfo函数禁用

技术分享图片

时区配置,设为Asia/Shanghai或者Asia/Chongqing
date.timezone = Asia/Shanghai

技术分享图片


错误信息输出off,不把错误信息输出到浏览器中

display-errors=off

技术分享图片

技术分享图片

技术分享图片

错误日志相关配置--便利排障时查看,

错误日志开启

技术分享图片

定义错误日志路径

技术分享图片

定义错误日志级别,all所有级别,生成环境中用error_reporting = E_ALL & ~E_NOTICE

技术分享图片

技术分享图片

技术分享图片

技术分享图片


安全相关参数open_basedir

  • 这个设置表示允许访问当前目录(即PHP脚本文件所在之目录)和/tmp/目录,有效防止php木马跨站运行。

  • 在Apache服务器中,切忌一定要在虚拟主机配置文件中添加以下代码,否则PHP木马脚本可以浏览你服务器上的任意文件,这意味着你的服务器很快会被攻破。

技术分享图片


  • php.ini中的open_basedir参数是对所有的站点都适用的,假如服务器上只有一个站点,直接配置php.ini中的open_basedir参数是能起到作用,但如果不止一个站点,因为各个站点目录不同,而php.ini中的open_basedir参数只能设置一处,

  • 这时就借助apache虚拟主机配置文件来针对特定站点设置open_basedir参数.

  • vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

  • 配置文件增加如下内容:
    php_admin_value open_basedir "/data/wwwroot/123.com:/tmp/"

技术分享图片

不同主机分别限制

技术分享图片


扩展
apache开启压缩  技术分享图片http://ask.apelearn.com/question/5528 
apache2.2到2.4配置文件变更  技术分享图片http://ask.apelearn.com/question/7292 
apache options参数  技术分享图片http://ask.apelearn.com/question/1051 
apache禁止trace或track防止xss  技术分享图片http://ask.apelearn.com/question/1045 
apache 配置https 支持ssl 技术分享图片http://ask.apelearn.com/question/1029 


以上是关于?十一周二次课(3月7日)的主要内容,如果未能解决你的问题,请参考以下文章

2018.3.7 11周2次课

十二周二次课(3月13日)

五周第二次课(3月6日)

linux七周二次课(3月20日)笔记

linux八周二次课(3月27日)

五周第二次课(3月6日)