码迷,mamicode.com
首页 > Web开发 > 详细

Apache安全配置

时间:2015-06-08 11:41:55      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:安全   web   apache   

安全策略

1.1 安全目录

.htaccess做目录安全保护的,欲读取这保护的目录需要先键入正确用户帐号与密码。这样可做为专门管理网页存放的目录或做为会员区等。

AllowOverride All

LoadModule rewrite_module modules/mod_rewrite.so

自动要认证的目录下建立. htaccess文本(windows中用记事本另存为建立)

1.1.1 .htaccess配置:

(.htaccess文件可以相当于当前目录的httpd.conf配置,设置时尤其注意.htaccess文件的访问权限,避免被有心人恶意修改,后果不堪设想)

AuthName HIHIHI指的是要求你输入用户名和密码时的提示信息

AuthType Basic表示需要的认证类型

AuthUserFile c:\ss指的是保存用户名和密码的文件位置(.htpasswd),在这个例子中指的是.htpasswd文件,位置和我们的.htaccess文件相同

Require valid-user指定只有.htpasswd文件包含的合法用户才能访问。

1.1.2 .htpasswd配置

用户名:密码

aaa:aaa

 

不一定在.htaccess文件下配置,也可以在httpd.conf(主配置)下进行配置,这样可以提高apache工作效率,否则客户端访问WebApache都会在每一个目录下寻找.htaccess文件,会降低Apache效率,而且.htaccess被有心人修改了就危险了

1.2 错误页面

ErrorDocument 500 "The server made a boo boo."

ErrorDocument 404 /missing.html

ErrorDocument 404 "/cgi-bin/missing_handler.pl"

ErrorDocument 402 http://www.js.com/subscription_info.html

安全隐患

2.1 目录泄露

<Directory "/usr/local/apache/htdocs"> 

Options -Indexes FollowSymLinks 

AllowOverrride None 

Order allow,deny 

Allow from all 

</Directory>

Indexes前加-或去掉

2.2 符号连接追踪

<Directory "/usr/local/apache/htdocs"> 

Options Indexes -FollowSymLinks 

AllowOverrride None 

Order allow,deny 

Allow from all 

</Directory>

FollowSymLinks前加-或去掉

2.3 Listen指令具体化

httpd.conf包含一个"Listen 80”指令。应将其改变为指定邦定的IP,如果在多IP的环境下尤其注意

2.4 版本泄露

httpd.conf中添加:

ServerTokens ProductOnly 

ServerSignature Off

2.5 运行权限

Apachewindows中的默认运行权限是系统权限,若黑客找到漏洞,就可以将整个服务控制,所以必须将Apache运行权限降到最低,这样可以避免发生安全事故

2.6 清除httpd.conf中默认的注释

在这400行中,只有一小部分是实际的Apache指令,其余的仅是帮助用户如何恰当地在httpd.conf中放置指令的注释。根据笔者的经验,这些注释有时起负面作用,甚至将危险的指令留存于文件中。笔者在所管理的许多 Apache服务器上将httpd.conf文件复制为其它的文件,如httpd.conf.orig等,然后完全清除多余的注释。文件变得更加容易阅读,从而更好地解决了潜在的安全问题或者错误地配置文件。

2.7 欺骗攻击者

修改版本名:

修改系统名:

2.8 apache解析漏洞:

<FilesMatch ".(php.|php3.)">

Order Allow,Deny

Deny from all

</FilesMatch>

2.9 apache设置上传目录无执行权限

关闭路径/www/home/uploadphp解析:

<Directory “/www/home/upload”>

<Files ~ “.php”>

Order allow,deny

Deny from all

</Files>

</Directory>

2.10 apache限制目录

php_admin_value open_basedir /var/www

2.11 http 请求方法安全

OPTIONS 方法可以检测出当前资源可以请求的方法,关闭该方法的配置:

<Location />

<Limit OPTIONS>

Deny from all

</Limit>

</Location>

2.12 允许访问指定扩展名

<Files ~”\..inc$”>

Order allow,deny

Deny from all

</Files>

2.13 禁止访问某些指定目录

<Directory ~“^/var/www/(.+/)*[0-9]{3}”>

Order allow,deny

Deny from all

</Directory>

2.14 通过文件匹配进行禁止

<FilesMatch \.(? i: gif| jpe? g| png)$>

Order allow,deny

Deny from all

</FilesMatch>

2.15 禁止针对URL相对路径的访问

<Location /dir/ >

Order allow,deny

Deny from all 

</Location>

其他安全配置

3.1 Options

Options参数代表的意思

ALL用户可在此目录中做任何事

ExecCGI允许在此目录中执行CGI script

FollowSymLinksSever可利用symbolic link链接到不在此目录中的档案或目录

IndexesSever可以产生此目录中的档案列表

Includes提供SSI的功能

IncludesNOEXEC可使用SSI功能,但取消#exec#include CGI 功能

MultiViews允许经由交谈而取得不同的文件,例如可由浏览器要求传送法文版的网页`

None安全不允许存取此目录

SymLinkslfOwnerMatch允许存取symbolic links链接的目录,但仅限于该目录的拥有人

3.2 AllowOverride

AllowOverride None表示不要读取.htaccess文档

AllowOverride AuthConfig允许做基本的用户名和口令验证

AllowOverride Allall表示以.htaccess的内容为准,改变原来的访问权限

3.3 Location

#<Location /server-status>          <Location><Directory>类似,但是是用來限制URL

#SetHandler server-status

#order deny,allow

#deny from all

#allow from .your_domain.com

#</Location>

 

#<Location /server-info>           此区块可显示出服务程序的设定,必须有加入mod_info.c模块才有作用

#SetHandler server-info

#order deny.allow

#deny from all 

#allow from .your_domain.com

#</Location>

 

#<Location /cgi-bin/phf*>          ←此区块是因为Apache以前版本的bug,有些人会用来攻击

#deny from all                                系统,启用此区块可将其导向到ErrorDocument指定的网页。

#ErrorDocument 403 http://phf.apache.org/phf_abuse_log.cgi

#</Location>

3.4 from

allow from all    ←允許所有使用者存取

# allow from flag.com.tw           ←只允許來自於flag.com.tw domain存取,但要先"deny from all"才能拒絕其它地方連進來

# deny from 203.74.205            ←拒绝来自于203.74.205

3.5 减少CGISSI风险

减少SSI脚本风险,如果用execSSI命令运行外部程序,也会存在类似CGI脚本风险,除了内部调试程序时,应使用 

option命令禁止其使用: 

Option IncludesNOEXEC

若要使用CGISSI可以使用suEXEC进行配置

3.6 使用ssl加固Apache 

Apache安全配置

标签:安全   web   apache   

原文地址:http://blog.csdn.net/killapper/article/details/46409161

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!