- 10.6 Apache的访问控制
- 为您推荐一些与本文相关的文章:
- 为您推荐一些与本文相关的文章:
10.6 Apache的访问控制
Apache可以基于源主机名、源IP地址或源主机上的浏览器特征等信息对网站上的资源进行访问控制。它通过Allow指令允许某个主机访问服务器上的网站资源,通过Deny指令实现禁止访问。在允许或禁止访问网站资源时,还会用到Order指令,这个指令用来定义Allow或Deny指令起作用的顺序,其匹配原则是按照顺序进行匹配,若匹配成功则执行后面的默认指令。比如“Order Allow, Deny”表示先将源主机与允许规则进行匹配,若匹配成功则允许访问请求,反之则拒绝访问请求。
第1步:先在服务器上的网站数据目录中新建一个子目录,并在这个子目录中创建一个包含Successful单词的首页文件。
- [root@linuxprobe ~]# mkdir /var/www/html/server
- [root@linuxprobe ~]# echo "Successful" > /var/www/html/server/index.html
第2步:打开httpd服务的配置文件,在第129行后面添加下述规则来限制源主机的访问。这段规则的含义是允许使用Firefox浏览器的主机访问服务器上的首页文件,除此之外的所有请求都将被拒绝。使用Firefox浏览器的访问效果如图10-18所示。
- [root@linuxprobe ~]# vim /etc/httpd/conf/httpd.conf
- ………………省略部分输出信息………………
- 129 <Directory "/var/www/html/server">
- 130 SetEnvIf User-Agent "Firefox" ff=1
- 131 Order allow,deny
- 132 Allow from env=ff
- 133 </Directory>
- ………………省略部分输出信息………………
- [root@linuxprobe ~]# systemctl restart httpd
- [root@linuxprobe ~]# firefox
图10-18 火狐浏览器成功访问
除了匹配源主机的浏览器特征之外,还可以通过匹配源主机的IP地址进行访问控制。例如,我们只允许IP地址为192.168.10.20的主机访问网站资源,那么就可以在httpd服务配置文件的第129行后面添加下述规则。这样在重启httpd服务程序后再用本机(即服务器,其IP地址为192.168.10.10)来访问网站的首页面时就会提示访问被拒绝了,如图10-19所示。
- [root@linuxprobe ~]# vim /etc/httpd/conf/httpd.conf
- ………………省略部分输出信息………………
- 129 <Directory "/var/www/html/server">
- 130 Order allow,deny
- 131 Allow from 192.168.10.20
- 132 </Directory>
- ………………省略部分输出信息………………
- [root@linuxprobe ~]# systemctl restart httpd
- [root@linuxprobe ~]# firefox
图10-19 因IP地址不符合要求而被拒绝访问
出现问题?大胆提问!
因读者们硬件不同或操作错误都可能导致实验配置出错,请耐心再仔细看看操作步骤吧,不要气馁~
Linux技术交流请加A群:560843(满),B群:340829(推荐),C群:463590(推荐),点此查看全国群。
*本群特色:通过口令验证确保每一个群员都是《Linux就该这么学》的读者,答疑更有针对性,不定期免费领取定制礼品。
本章节的复习作业(答案就在问题的下一行哦,用鼠标选中即可看到的~)
1.什么是Web网络服务?
答:一种允许用户通过浏览器访问到互联网中各种资源的服务。
2.相较于Nginx服务程序,Apache服务程序最大的优势是什么?
答:Apache服务程序具备跨平台特性、安全性,而且拥有快速、可靠、简单的API扩展。
3.httpd服务程序没有检查到首页文件,会提示报错信息吗?
答:不会,httpd服务在未找到网站首页文件时,会向访客显示一个默认页面。
4.简述Apache服务主配置文件中全局配置参数、区域配置参数和注释信息的作用。
答:全局配置参数是一种全局性的配置参数,可作用于对所有的子站点;区域配置参数则是单独针对于每个独立的子站点进行设置的;而注释信息一般是对服务程序的功能或某一行参数进行介绍。
5.简述SELinux服务的作用。
答:为了让各个服务进程都受到约束,使其仅获取到本应获取的资源。
6.在使用getenforce命令查看SELinux服务模式时,发现其配置模式为permissive,这代表强制开启模式吗?
答:不是,强制开启模式是enforcing,而permissive是只发出警告而不强制拦截的模式。
7.在使用semanage命令修改了文件上应用的SELinux安全上下文后,还需要执行什么命令才可以让更改立即生效?
答:还需要restorecon命令即可让新的SELinux安全上下文参数立即生效。
8.要想查询并过滤出所有与HTTP协议相关的SELinux域策略有哪些,应该怎么做呢?
答:可以结合管道符来实现,即执行getsebool -a | grep http命令。
9. Apache服务程序可以基于哪些资源来创建虚拟主机网站呢?
答:可以基于IP地址、主机名(域名)或者端口号创建虚拟主机网站。
10.相对于基于IP地址和基于主机名(域名)配置的虚拟主机网站来说,使用端口号配置虚拟主机网站有哪些特点?
答:在使用端口号来配置虚拟主机网站时,必须要考虑到SELinux域对httpd服务程序所用端口号的控制策略,还要在httpd服务程序的主配置文件中使用Listen参数来开启要监听的端口号。
本文原创地址:https://www.linuxprobe.com/chapter-10.html 编辑:刘遄,审核员:暂无
为您推荐一些与本文相关的文章:
- 干货!Oracle解密“零丢失”的数据保护
- Ubuntu环境下检查CPU 的温度
- Wine-Staging 4.9 发布,增添一些新补丁
- 运维监控工具zabbix概述
- 华为引领数字技术服务于人更加完善,正式发布数字包容倡议
- 【技术快报】10.10–10.17
- 设置nginx+php上传大文件教程
- Linux下高效指令
- Google Chrome 72带来的黑暗主题简直酷毙了
- 《VMware网络技术原理与实践》pdf电子书免费下载
转载必需保留本文链接:https://www.linuxprobe.com/chapter-10.html
本文依据CC-BY-NC-SA 3.0协议发布,竭诚为读者提供Linux视频教程、Linux学习资料以及红帽考试资料等优质学习资源。