2.1.httpd服务的访问控制 为了跟多的控制对网站资源的访问,可以为特定的网站目录添加访问授权 2.1.1客户机地址受限 通过Require配置项,可以根据主机的主机名或者IP地址来决定是否允许客户机访问。在httpd服务器的主配置文件的<Location><Directory>,<Files>,<Limit>配置段中均可以使用Require配置项来空竹客户端的访问。使用Require配置项时,需要设置客户机地址以构成完整的限制策略,地址的形式可以是IP地址,网络地址,主机名和域名,使用名称“all”表示任意地址。 格式如下: Require all granted:表示允许所有主机访问 Require all denied:表示拒绝所有主机访问 Require local:表示仅允许本地主机访问 Require 【not】 host <主机名或域名列表>:表示允许或者拒绝指定主机或域访问 Require [not] ip <ip地址或网段列表>:表述允许或指定IP地址或网段访问 通常情况下,网站服务器对所有客户机开放的,网页文档目录并未做任何限制,使用Require all granted策略,允许所有客户机访问 配置如下 image.png 定义限制策略是,多个不带not的Require配置语句之间是或的干系,任意一条Require配置语句满足条件均可以访问。若出现了不带not的Require配置语句,又出现了带not的Require配置语句,则语句之间是与的关系,即同时满足所有Require配置语句才可以访问 如仅允许173.17.17.173的主机访问 image.png 反之,需要使用仅拒绝的限制策略时,灵活使用Require与Require not配置语句设置拒绝策略,只禁止一部分主机访问。在使用not禁止访问时要将其于<RequireAll> </RequireAll> 容器中,并在容器中指定相应的限制策略 列如:禁止网段192.168.0.0/24,192.168.1.0/24的主机访问,允许其他主机访问 image.png 当未被授权的客户机访问网站目录时,将会被拒绝访问。不同的浏览器,拒绝的消息可能会略有差异. 列如:Edge浏览器 image.png 2.1.2用户授权限制 基于用户的访问控制包含认证和授权两个过程,是Apache允许指定用户使用用户名和密码访问特定资源的一种方式。认证指识别用户身份的过程,授权指允许特定用户访问特定目录区域的过程 httpd服务支持摘要认证和基本认证。基本认证是httpd服务的基本功能,摘要认证需要在编译之前添加“--enable-auth-digest”,并不是所有浏览器都支持摘要认证 1.创建用户认证数据文件 httpd的基本认证通过校验用户名,密码来判断是否允许用户访问,授权访问的的用户账号要先建立并保存在固定的数据文件中 使用htpasswd工具指定用户数据文件位置,添加-c新建此文件 image.png 若无-c选项则表示指定的用户数据文件以存在,用于添加新的用户或者修改现有用户的密码 列如:向.awspwd数据文件中添加一个新用户tsengyia时 image.png 2.添加用户授权配置 授权用户账号,需要修改httpd.conf配置文件,在特定的目录区域中添加授权配置,启用基本认证设置允许那些用户访问。 列如:允许.awspwd数据文件中的任一用户访问网页 image.png 上述配置内容中,相关配置项含义 AuthName:定义受保护的领域名称,将内容在浏览器弹出的认证对话框中显示 AuthType:设置认证的类型,Basic表示基本认证 AuthUserFile:设置用于保存用户账号,密码的认证文件路径 Require Valid-user:要求只有认证文件中的合法用户才能访问。若授权给单个用户,可指定用户名 注意:用户访问授权与主机访问控制同时设置时,设置的主机访问控制优先生效