- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
apache目录安全认证
Apache提供了多种的安全控制手段,包括设置Web访问控制、用户登录密码认证及.htaccess文件等。通过这些技术手段,可以进一步提升Apache服务器的安全级别,减少服务器受攻击或数据被窃取的风险。
16.5.1 访问控制
设置访问控制是提高Apache服务器安全级别最有效的手段之一,但在介绍Apache的访问控制指令前,先要介绍一下Diretory段。Diretory段用于设置与目录相关的参数和指令,包括访问控制和认证,其格式如下所示。
<Diretory 目录的路径>
目录相关的配置参数和指令
</Diretory>
每个Diretory段以<Diretory>开始,以</Diretory>结束,段作用于<Diretory>中指定的目录及其里面的所有文件和子目录。在段中可以设置与目录相关的参数和指令,包括访问控制和认证。Apache中的访问控制指令有以下3种。
1.Allow指令
Allow指令用于设置哪些客户端可以访问Apache,命令格式如下所示。
Allow from [All/全域名/部分域名/IP地址/网络地址/CIDR地址]…
q All:表示所有客户端。
q 全域名:表示域名对应的客户端,如。
q 部分域名:表示域内的所有客户端,如。
q IP地址:如。
q 网络地址:如/。
q CIDR地址:如/24。
%注意:Allow指令中可以指定多个地址,不同地址间通过空格进行分隔。
2.Deny指令
Deny指令用于设置拒绝哪些客户端访问Apache,格式跟Allow指令一样。
3.Order指令
Order指令用于指定执行访问规则的先后顺序,有两种形式:
q Order Allow,Deny:先执行允许访问规则,再执行拒绝访问规则。
q Order Deny,Allow:先执行拒绝访问规则,再执行允许访问规则。
%注意:编写Order指令时,Allow和Deny之间不能有空格存在。
现在,假设网站中有一个名为security_info的目录,因为是一个保存有机密信息的目录,所以网站管理员希望该目录只能由管理员自己的机器5来查看,其他用户都不能访问。可以通过以下步骤实现。
(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参数设置允许5客户端访问
Allow from 5
</Directory>
(2)保存后重启Apache服务。
在IP地址为5的机器上直接打开浏览器访问http://demoserver/security_info/进行测试,结果如图16.28所示。在其他机器上访问的结果如图16.29所示。
图16.28 5客户端可以正常访问
图16.29 其他客户端访问被拒绝
可以看出,访问控制的目的已经达到。
16.5.2 用户认证
Apache的用户认证包括基本(Basic)认证和摘要(Digest)认证两种。摘要认证比基本认证更加安全,但是并非所有的浏览器都支持摘要认证,所以本节只针对基本认证进行介绍。基本认证方式其实相当简单,当Web浏览器请求经此认证模式保护的URL时,将会出现一个对话框,要求用户输入用户名和口令。用户输入后,传给Web服务器,Web服务器验证它的正确性。如果正确,则返回页面;否则将返回401错误。
要使用用户认证,首先要创建保存用户名和口令的认证口令文件。在Apache中提供了htpasswd命令用于创建和修改认证口令文件,该命令在<Apache安装目录>/bin目录下。关于该命令完整的选项和参数说明可以通过直接运行htpasswd获取。
要在/usr/local/apache2/conf目录下创建一个名为users的认证口令文件,并在口令文件中添加一个名为sam的用户,命令如下所示。
htpasswd -c /usr/local/apache2/conf/users sam
命令运行后会提示用户输入sam用户的口令并再次确认,运行结果如图16.30所示。
图16.30 创建密码文件和用户访问
认证口令文件创建后,如果还要再向文件里添加一个名为ken的用户,可以执行如下命令:
htpasswd /u
文档评论(0)