基于centos7搭建apache网站后的访问控制配置详解(代码片段)

author author     2022-12-08     643

关键词:

在一台centos7上搭建apache网站后,一般都是允许所有人访问的,那么可能会有一些特殊情况,需要对访问网站的人进行限制,出于这种情况,apache可以通过Require配置项,来对客户端进行一些访问限制,可以基于IP地址、网段、主机名或域名。使用名称“all”时表示任意地址。

安装apache服务的参考博文:https://blog.51cto.com/14154700/2391114

1、客户机地址限制:

限制策略的常用格式有下面几种:

  • Require all granted:表示允许所有主机访问(也是默认的);
  • Require all denied:表示拒绝所有主机访问;
  • Require local:表示仅允许本地主机访问;
  • Require [not] host <主机名或域名列表>:表示仅允许或拒绝指定主机或域名访问;
  • Require [not] ip <地址或网段列表>:表示仅允许或拒绝指定IP地址或网段访问;

定义限制策略时,多个不带not的require配置语句之间是或的关系,就是满足任意一条require配置语句就可以访问;

若即有不带not的require配置语句,又出现了带not的require配置语句,则语句之间是与的关系,即同时满足所有require配置语句才可访问。

来吧,举个栗子(只要更改了服务的配置文件,必须重启服务,才可生效):

做一个策略,仅允许ip地址为192.168.1.2的主机能够访问/usr/local/httpd/htdocs网页目录下的内容,则策略如下(进入网站主配置文件httpd.conf后,在末行模式下输入:/Directory,按n查找到相应的位置):

<Directory "/usr/local/httpd/htdocs">
    ................   #省略部分内容
    Require ip 192.168.1.2           #仅允许192.168.1.2的主机访问网站服务
</Directory>

OK了,现在只有上面这个1.2的ip地址可以访问该网站了。

那么,现在换一个策略,禁止192.168.1.0网段的主机不能访问网站,但是别的网段的主机都可访问,策略如下:

<Directory "/usr/local/httpd/htdocs">
    ................   #省略部分内容
   <RequireAll>
   Require   all  granted                      #允许所有主机访问
     Require  not  ip  192.168.1.0/24                      #但1.0网段不可访问
     </RequireAll>
</Directory>

在上面的配置中,需要注意的是只有访问规则中出现了not语句,那么必须把规则放在 <RequireAll> </RequireAll>标签中。

2、用户授权限制:

基于用户的访问控制包含认证和授权两个过程,httpd服务器支持使用摘要认证(Digest)和基本认证(Basic)两种方式。使用摘要认证的话需要在编译http之前添加“--enable-auth-digest”选项,但并不是所有的浏览器都支持摘要认证,所以不推荐使用;而基本认证是httpd服务的基本功能,不需要预先配置特别的选项。

这里就写一下基本认证方式吧

1、创建用户认证数据文件:

[[email protected] httpd]# cd /usr/local/httpd/                    #切换至网站安装根目录
[[email protected] httpd]# bin/htpasswd -c /usr/local/httpd/conf/.aaa webadmin              #使用
htpasswd工具创建用户,该用户与系统用户无关,.aaa文件以.开头,表示为隐藏目录,该
目录默认不存在,所以要加-c选项,在以后需要添加用户时,不能加-c选项,
否则会覆盖原来的内容
New password:                                         #输入密码
Re-type new password:                             #确认密码
Adding password for user webadmin                             #提示添加成功

可以确认用户是否添加:


[[email protected] httpd]# cat conf/.aaa
webadmin:$apr1$YCIyEmlx$R57m0/9Tc/SbZLsLiAGev/                    #用户webadmin的信息

2、添加用户授权配置:

[[email protected] httpd]# vim /usr/local/httpd/conf/httpd.conf             #编辑网站主配置文件

         .............

<Directory "/usr/local/httpd/htdocs">
    authname "bbb"                 #定义受保护的领域名称
    authtype basic                   #设置认证类型,basic表示基本认证
    authuserfile /usr/local/httpd/conf/.aaa               #设置用于保存用户账号、密码的认证文件路径
    require valid-user                          #要求只有认证文件中的合法用户才可访问。
        其中valid-user表示所有合法用户,若只授权给单个用户,可改为指定的用户名,
        如webadmin。

需要注意的是,用户访问授权与主机访问控制同时设置时,设置的主机访问控制优先生效。所以在进行用户授权限制时,需要删除掉其中的require语句。要不然,用户访问授权不会生效。

浅析钓鱼网站原理及模拟搭建

文章目录前言一、环境准备1.目标Windows72.攻击机Centos7二、原理解析三、实验步骤1.Centos7安装并配置DHCP服务2.Centos7安装并配置DNS服务3.Centos7安装apache并部署jd.com网站4.Centos7安装mysql用来储存用户数据5.windows7访问模拟网站提交用户... 查看详情

svn+apache搭建一个版本控制服务器

实验环境:服务端:Centos7  IP:192.168.56.133客户端:window7服务概述:SVN(subversion)是版本管理工具,是CVS的接班人。目前,绝大多数开源软件都使用SVN作为代码版本管理软件。常见的版本管理软件有CVS、SVN、Git。SVN运行模... 查看详情

flutterweb基于dockernginx的网站搭建教程

参考技术ANginx是一个高性能的HTTP和反向代理web服务器,我们可以把我们应用发布到Nginx上,提供IP地址给外部访问。①进入容器:②切换到容器的配置文件目录③查看配置文件或者安装并通过vim打开在默认配置下,网页文件位于/... 查看详情

基于linux搭建apache网站服务配置详解(代码片段)

Apache作为一款开源软件,是广泛应用的web应用之一,Apache有两个主要版本1.X和2.X,一般我们使用2.X版本,比起1.X版本它支持很多新的功能,下载Apache源码包的地址为:https://httpd.apache.org,下载到源码包后开始准备安装:1、为避... 查看详情

基于华为云轻松搭建属于自己的网站(linux,apache,mysql,php)(代码片段)

前言 本文使用华为云服务,向大家搭建属于自己的网站,搭建过程会详细介绍。搭建网站的过程亲自走了3遍,确认没问题才写这篇博客的,大家放心地根据步骤流程一步一步。如果大家担心自己能不能搭建成功&... 查看详情

[个人网站搭建]·极简方式统计个人网页访问量(基于百度统计)

[个人网站搭建]·极简方式统计个人网页访问量(基于百度统计)个人主页--> https://xiaosongshine.github.io/ 个人网站搭建github地址:https://github.com/xiaosongshine/djangoWebs 建好了网站,我们可以利用百度统计,可以很简... 查看详情

centos7搭建nginx服务使得别人能够访问自己的个人网站(代码片段)

搭建nginx服务step1测试你的服务器有没有nginxnginx我的出现以下问题说明没有安装接下来我们来安装试试安装nginx服务首先我执行了换源操作具体操作可以参考小弟我之前的文章如果你是阿里云就可以不用配置yum源了传送门如下图#... 查看详情

Apache Shiro 中的实例级访问控制

...功实现了身份验证和授权。该框架的一个吸引人的特性是基于实例的安全性。我刚刚从Shiro网站复制了示例。以下权限存储在数据库中。printer:query:lp7200pr 查看详情

访问控制列表原理加实验

访问控制列表原理加实验标准访问控制列表:基于源IP地址过滤数据包;标准访问控制列表的访问控制列表号是1-99;实验内容:设置访问控制列表,允许192.168.10.10访问,不允许192.168.10.11访问。结果:扩展访问控制列表:基于源I... 查看详情

快速部署apache服务静态网站(代码片段)

...ython等解释器编译到服务器中.配置Apache访问控制Apache可以基于原主机名,原IP地址,或原主机上的浏览器特征,对网站上的资源进行访问控制,它通过Allow指令允许某个主机访 查看详情

搭建静态网站——基于http协议的静态网站(代码片段)

目录403错误搭建一个web服务器基于ip地址访问的网站(1)添加两个ip地址(2)创建两个网页文件根目录,并定义网页内容(3)定义基于不同ip地址来访问网站的配置文件(4)调试并查看 403错误... 查看详情

centos7搭建svn并通过http访问

安装httpd安装httpd服务:yuminstallhttpd检查httpd是否安装成功:httpd-versionServerversion:Apache/2.4.6(CentOS)Serverbuilt:Jul18201615:30:14安装svnserve安装svnserve服务:yuminstallsubversion检查svnserve是否安装成功:svnserve--versions 查看详情

基于centos7搭建nginx网站服务器(包含虚拟web主机的配置)(代码片段)

Nginx专为性能优化而开发,其最大的优点就是它的稳定性和低系统资源消耗,以及对http并发连接的高处理能力,单台物理服务器可支持20000~50000个并发请求,正是如此,大量提供社交网络、新闻资讯、电子商务及虚拟主机等服务... 查看详情

centos7搭建lamp环境

LAMP代表的就是:Linux系统下Apache+MySQL/Mariadb+PHP这种网站服务器架构。 1.安装apacheyuminstall-yhttpdhttpd-devel2.编辑apache配置文件vim/etc/httpd/conf/httpd.conf95ServerName192.168.200.101:80103AllowOverrideAll(允许.htaccess 查看详情

centos7搭建vsftp服务器

今天简单配置匿名访问及用户验证的相关配置,基于虚拟用户的配置敬请期待下一篇搭建vsftp服务器首先要确保虚拟机的防火墙和seLinux防火墙都是关闭的一、ftp文件传输服务1.ftp连接的端口号21:传输控制使用,进行身份验证授... 查看详情

centos7运维管理笔记----apache基于ip的虚拟主机配置

...务绑定在不同的IP上。(1)绑定IP:  在虚拟机中搭建的CentOS7服务器的IP被自己设置为了静态IP192.168.1.210,现在使用ifconfig在同一个网络接 查看详情

docker基于php:7.2-apache搭建微擎网站,及gd扩展开启方法-白又白的个人空间-oschina

原文:Docker基于php:7.2-apache搭建微擎网站,及GD扩展开启方法-白又白的个人空间-OSCHINA 下载微擎源码http://s.we7.cc/store-static-install.html下载稳定离线版本解压至文件夹:/var/www/we7_test/webdocker构建php:7.4-apache容器dockerrun-d-p8801:80--namew... 查看详情

使用apache搭建一个个人静态网站

把光盘中的系统镜像挂在到/media/cdrom目录使用vim编辑器编辑yum配置文件安装Apache服务,使用yum命令安装启动httpd服务程序并将其加入到开机启动项中,使其能够跟随系统开机而运行,从而持续为用户提供Web服务访问网站向/var/www/h... 查看详情