日期:2014-05-16  浏览次数:20878 次

apache安全配置

安全起见,尽量少显示信息

1、ServerTokens Prod

该参数设置http 头部返回的apache 版本信息。可用的值和含义如下(显示的信息逐渐增加):

Prod:仅软件名称,例如:apache
Major:包括主版本号,例如:apache/2
Minor:包括次版本号,例如:apache/2.0
Min:仅apache 的完整版本号,例如:apache/2.0.54
OS:包括操作系统类型,例如:apache/2.0.54(Unix)
Full: 包括apache 支持的模块及模块版本号, 例如:Apache/2.0.54 (Unix)??mod_ssl/2.0.54?OpenSSL/0.9.7g

?

2、ServerSignature Off

在页面产生错误时是否出现服务器版本信息。推荐设置为 Off

?

3、用户认证

????? 在 APACHE 中,用户的认证可以采用数据来存储用户认证信息,不过我们这里先介绍使用文本来存储用户的信息。例如我们要使用户在访问 /download/ 时需要认证才能访问,需要进行如下的配置:

(1)在配置文件 httpd.conf,需要有如下的配置:
AccessFileName .htaccess #指名访问控制文件的文件名

?

<Files ~ "^\.ht">????? #.ht开头的文件禁止访问
??? Order allow,deny
??? Deny from all
??? Satisfy All
</Files>
.........
Alias /download/ "/var/www/download/"
<Directory "/var/www/download">
Options Indexes
AllowOverride AuthConfig???
</Directory>

?

AllowOverride AuthConfig 就是启用了用户认证


(2) 创建用户信息文件:
/usr/local/apache2/bin/htpasswd -c /var/httpuser/passwords bearzhang

?

用apache的htpasswd命令为bearzhang用户创建访问口令,口令文件存储在/var/httpuser/passwords 文件里


(3)创建用户访问控制文件.htaccess,在本案例中为 /var/www/download/.htaccess文件的内容如下
AuthType Basic #基本认证
AuthName "Restricted Files" #采用文件认证
AuthUserFile /var/httpuser/passwords #用户信息存储位置
Require user bearzhang #只有bearzhang 用户可以访问
#Require valid-user (要求用户认证)