LMAP安全配置
时间:2010-04-22 来源:r.g.y
转自http://key0.cn/index.php/lamp%e5%ae%89%e5%85%a8%e5%85%a8%e6%94%bb%e7%95%a5/
lamp安全全攻略
之前写过pdf发布在linux520,排版不好,很多朋友说看起来不舒服,于是我就写个书面的
首先参考
Securing_&_Hardening_Linux_v1.0
L.A.M.P环境配置文档更新
CentOS下Apache 2.x的安装、优化及安全设置
做完配置,接下来开始入正题
apache方面:
1.修改banner
编译源代码,修改默认的banner
ServerTokens ProductOnly
ServerSignature Off
在apache的源码包中找到ap_release.h将
#define AP_SERVER_BASEPRODUCT “Apache”
修改为
#define AP_SERVER_BASEPRODUCT “Microsoft-IIS/6.0”
os/unix下的os.h文件
#define PLATFORM “Unix”
修改为
#define PLATFORM “Win32“
2.修改默认的http状态响应码404,503等默认页面
3.Apache的访问权限控制
htpasswd -b -c /(存放密码文件路径)/.htpasswd username password
Alias /hack “/var/www/html/hack/”
<Directory “/var/www/html/hack”>
authname “test”
authtype basic
authuserfile /var/www/html/hack/.htpasswd
require user kindle
</Directory>
4.关闭危险指令
清除FollowSymlinks指令
关闭索引目录
Options Indexes FollowSymLinks
关闭CGI执行程序
5.open_basedir 限制目录
用法:php_admin_value open_basedir /var/www
php_admin_value open_basedir 引起的上传文件失败解决方法
将上传文件的临时目录加入到php_admin_value open_basedir后面,最后看起来是这样的:
<VirtualHost *:80>
php_admin_value open_basedir “/usr/local/apache/htdocs/www/:/tmp/”
</VirtualHost>
注意:两个目录之间是冒号隔开。
把PHP脚本操作限制在web目录可以避免程序员使用copy函数把系统文件拷贝到web目录。move_uploaded_file不受open_basedir的限制,所以不必修改php.ini里upload_tmp_dir的值。
6.掌握Apache的Order Allow Deny判断原则
1. 首先判断默认的;
2. 然后判断逗号前的;
3. 最后判断逗号后的;
4. 最终按顺序叠加而得出判断结果。
ex:
apache的php扩展名解析漏洞
<Files ~ ”\.(php.|php3.)”>
Order Allow,Deny
Deny from all
</Files>
apache设置上传目录无执行权限
<Directory “/www/home/upload”>
<Files ~ %