16.5.1 访问控制

16.5.1  访问控制

设置访问控制是提高Apache服务器安全级别最有效的手段之一,但在介绍Apache的访问控制指令前,先要介绍一下Diretory段。Diretory段用于设置与目录相关的参数和指令,包括访问控制和认证,其格式如下所示。

 

<Diretory 目录的路径>

    目录相关的配置参数和指令

</Diretory>

 

每个Diretory段以<Diretory>开始,以</Diretory>结束,段作用于<Diretory>中指定的目录及其里面的所有文件和子目录。在段中可以设置与目录相关的参数和指令,包括访问控制和认证。Apache中的访问控制指令有以下3种。

1Allow指令

Allow指令用于设置哪些客户端可以访问Apache,命令格式如下所示。

 

Allow from [All/全域名/部分域名/IP地址/网络地址/CIDR地址]…

 

q      All:表示所有客户端。

q      全域名:表示域名对应的客户端,如www.domain.com

q      部分域名:表示域内的所有客户端,如domain.com

q      IP地址:如172.20.17.1

q      网络地址:如172.20.17.0/255.255.255.0

q      CIDR地址:如172.20.17.0/24

%注意:Allow指令中可以指定多个地址,不同地址间通过空格进行分隔。

2Deny指令

Deny指令用于设置拒绝哪些客户端访问Apache,格式跟Allow指令一样。

3Order指令

Order指令用于指定执行访问规则的先后顺序,有两种形式:

q      Order Allow,Deny:先执行允许访问规则,再执行拒绝访问规则。

q      Order Deny,Allow:先执行拒绝访问规则,再执行允许访问规则。

%注意:编写Order指令时,AllowDeny之间不能有空格存在。

现在,假设网站中有一个名为security_info的目录,因为是一个保存有机密信息的目录,所以网站管理员希望该目录只能由管理员自己的机器172.20.17.55来查看,其他用户都不能访问。可以通过以下步骤实现。

1)打开httpd.conf配置文件并添加以下内容:

 

#使用Diretory段设置/usr/local/apache2/htdocs/secure_info目录的属性

<Directory "/usr/local/apache2/htdocs/secure_info">

    Options Indexes FollowSymLinks

AllowOverride None

#使用Order参数设置先执行拒绝规则,再执行允许规则

Order deny,allow

#使用Deny参数设置拒绝所有客户端访问

Deny from all

#使用Allow参数设置允许172.20.17.55客户端访问

    Allow from 172.20.17.55

</Directory>

 

2)保存后重启Apache服务。

IP地址为172.20.17.55的机器上直接打开浏览器访问http://demoserver/security_info/进行测试,结果如图16.28所示。在其他机器上访问的结果如图16.29所示。

 

16.28  172.20.17.55客户端可以正常访问

 

 

 

 

16.29  其他客户端访问被拒绝

可以看出,访问控制的目的已经达到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值