php、Apache网站常用安全配置
2013-12-05 22:51
435 查看
一、Apache配置
1、隐藏Apache签名在请求服务器后返回的文档签名会输出服务器签名,包含了服务器的版本等信息。在http.conf文件中将ServerSignature配置为Off时可以不发送相应信息:
ServerSignature = Off
将ServerTokens可以设置为以下几个基本的值:Full、Major、Minimal、Os、Prool、Minor。
2、修改文档扩展名
AddType application/x-http-php xxx(其他扩展名)
3、隐藏文档根目录
将服务器的配置文件放在DocumentRoot文件夹之外,一般将DocumentRoot与Apache服务器安装路径也分开。
4、拒绝范围某些扩展名的文件
<Files *.inc> Order allow,deny Deny from all </Files>
上述配置可以限制访问所有的inc配置文件。
5、使用加密传输
如md5、hash算法、mcrypt包等。
6、使用php伪静态
在http.conf文件中开启Rewrite模块,找到如下:#LoadModule rewrite_module modules/mod_rewrite.so,开启rewrite,去点前面"#"。然后设置Allow Overide All。查找apache配置文件找到如下
<Directory /> Options FollowSymLinks AllowOverride None </Directory> 将AllowOverride None改为 AllowOverride All
可以使用.htaccess文件实现Url重写和伪静态:
<IFMODULE mod_rewrite.c> RewriteEngine On #RewriteBase / (若文件在根目录下不必定义) #RewriteRule ^t_(.*).html$ test.php?id=$1 [NC](打开test.php以t_id.html 比如 t_2.html 页面输出 id=2) RewriteRule ^([0-9]+)$ test.php?id=$1 [NC](直接输入id 比如 localhost/test/2 页面输出 id=2) RewriteRule ^index.html$ index.php [NC](直接输入index.html可打开index.php这个页面) </IFMODULE>
二、php配置
1、隐藏php版本信息隐藏php就是隐藏返回给客户端的Header中的“X-Powered-By:php/5.3”项的信息。将php.ini文件中的expose_php设置为0,(默认为1表示添加到服务器签名)
expose_php = 0
2、禁用部分函数
disable_functions = system,exec,shell_exec,passthru,popen,dl,phpinfo该指令接受一个用逗号分隔的函数名列表,以禁用特定的函数。
3、不显示错误
display_errors = Off是否将错误信息作为输出的一部分显示。在最终发布的web站点上,强烈建议关掉这个特性,并使用错误日志代替。打开这个特性可能暴露一些安全信息,例如web服务上的文件路径、数据库规划或别的信息。
4、关闭远程访问
allow_url_open = Off是否允许打开远程文件,建议关闭,如果网站需要采集功能就打开。
5、开启安全模式
safe_mode = On是否启用安全模式。打开时,PHP将检查当前脚本的拥有者是否和被操作的文件的拥有者相同,相同则允许操作,不同则拒绝操作。开启安全模式的前提是你的目录文件权限已完全分配正确。
6、目录权限
open_basedir = /var/www/html/aaa:/var/www/html/bbb目录权限控制,aaa目录中的php程序就无法访问bbb目录中的内容。反过来也不行。在Linux/UNIX系统中用冒号分隔目录,Windows中用分号分隔目录。
以上仅限本人在平时开发过程中的一些总结,转载请注明出处,欢迎大家讨论交流。
相关文章推荐
- 网站安全优化 - 隐藏网站目录结构&隐藏Apache版本信息&隐藏PHP版本信息
- php apache配置多个网站(即多个虚拟路径)
- php网站配置apache
- PHP+Apache怎样监控多个port和配置多网站
- 阿里云Ubuntu系统从0搭建LAMP(Apache+MySQL+PHP)以及服务器生产环境常用配置
- Linux下PHP网站服务器安全配置加固防护方法【推荐】
- 第四篇(1):企业常用Linux web环境安装配置(apache、php、mysql)
- Apache和PHP的安装配置以及外网访问自己的网站
- Apache部署PHP常用配置
- Apache+PHP+MySql -- 常用配置地址
- Ubuntu 常用配置 (Apache、PHP、FTP)
- PHP网站在Linux服务器上面的安全配置
- LINUX+APACHE+MYSQL+PHP安全加固配置说明
- 教你如何配置Apache的PHP网站开发环境(如有疑问,敬请留言)
- Apache如何配置php网站虚拟目录
- apache安全配置及常用配置
- 阿里云Ubuntu系统从0搭建LAMP(Apache+MySQL+PHP)以及服务器生产环境常用配置
- 阿里云Ubuntu系统从0搭建LAMP(Apache+MySQL+PHP)以及服务器生产环境常用配置
- 基础篇:源码 Linux+Apache+PHP+MySQL环境配置方法-08CMS网站
- xampp+apache+php:局域网中访问网站配置过程