7、Apache安全配置
Apache 提供了多种的安全控制手段,包括WEB访问控制,用户登录密布认证以及.htaccess文件等。
1)访问控制
在配置文件中,Direcotry段用于设置与目录相关的参数和指令,包括访问控制和认证
目录相关的配置参数和指令
相关指令:1.Allow指令用于设置哪些客户端可以方问Apache,格式如下
Allow from [All/全域名/部分域名/IP地址/网络地址/CIDR地址]
2.Deny指令用于设置拒绝哪些客户端访问Apache,格式跟Allow一样
3.Order指令用于指定执行访问规则的先后顺序
Order Allow,Deny :先执行充许访问规则,再执行拒绝访问规则
Order Deny,Allow
2)用户认证
Apache的用户认证包括基本(Basic)认证和摘要(Digest)认证两种。这里我们只探讨一下基本认证
基本认证:当Web浏览器请求经此认证模式保护的URL时,将会出现一个对话框,要求用记输入用户名和口令。如果正确,则返回页面,否则返回401错误
要使用用户认证,首先要创建保存了用户名和口令的认证口令文件。可以用如下命令:
#htpasswd -c /etc/httpd/conf/users lopn *在/etc/httpd/conf目录下创建一个名为users 的认证口令文件,并加入一个名为lopn的用户
#htpasswd /etc/httpd/conf/users xrp *表示加入一个xrp用户
有了认证口令文件,接下来我们需要更改配置文件
#
# Options Indexes FollowSymlinks
# AllowOverride None
#
# AuthType Basic *使用authtype参数设置认证类型
# AuthName 领域名称 *用天设置受保护领域的名称,此处没有限制,用户可根喜好设置
# AuthUserFile /etc/httpd/conf/users *使用AuthUserFile参数设置认证口令文件的位置
# Require user lopn *设置lopn用户可以访问
# Require valid-user *授权给认证口令文件中的所有用户 ,与上一个选一种即可
#
# Order ……
# ……
#
3)分布式配置文件.htaccess
.htaccess,该文件可以覆盖httpd.conf文件中的配置,但是它只能设置对目录的访问控制和用户认证。.htaccess文件可以有多个,每个.htaccess文件的作用范围仅限于该文件所存放的目录以及该目录下的所有子目录。.htaccess所能实现的功能在配置文件中都能实现,但是因为在.htaccess修改配置后并不需要重启服务就能生效,所以有时候是非常有用的1,操作如下
打开配置文件在,设置
#
# *允许.htaccess文件覆盖httpd.conf文件中对该目录的配置
# AllowOverride All
#
然后到指定的目录,创建一个.htaccess文件,写入配置,不用重启就可以生效
8、虚拟主机(基于主机名)下面为配置文件中的说详细说明,挺简单,这里就不重复了
#NameVirtualHost *:80
#所有接口都接受该请求
# NOTE: NameVirtualHost cannot be used without a port specifier
# (e.g. :80) if mod_ssl is being used, due to the nature of the
# SSL protocol.
#
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
#
# ServerAdmin webmaster@dummy-host.example.com
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-host.example.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#