前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Linux中Apache网站基于Http服务的访问限制(基于地址/用户)

Linux中Apache网站基于Http服务的访问限制(基于地址/用户)

作者头像
神秘泣男子
发布于 2024-06-07 07:32:56
发布于 2024-06-07 07:32:56
50500
代码可运行
举报
文章被收录于专栏:运维知识运维知识
运行总次数:0
代码可运行

为了更好地控制对网站资源的访问,可以为特定的网站目录添加访问授权。本节将分别介绍客户机地址限制和用户授权限制,这两种访问方式都应用于httpd.conf 配置文件中的目录区域范围内。

🫸1.客户机地址限制

通过Require配置项,可以根据主机的主机名或IP地址来决定是否允许客户端访问,在httpd服务器的主配置文件的<Location>,<Directory>,<Fires>,<Limit>配置段中均可以试用Reuire配置项来控制客户端的访问。试用Require配置,需要设置客户端地址以构成完整的限制策略,地址的形式可以是用IP地址,网络地址,主机名或域名,使用名称all 时候表示任意地址。

限制策略的常用格式:

Require all granted 表示允许所有主机访问

Require all denied 表示拒绝所有主机访问

Require local 表示仅允许本地主机访问

Require [not] host <主机名或域名列表> 表示允许或拒绝指定主机或域访问

Require [not] ip<ip地址或网段列表>: 表示允许或拒绝指定IP地址或网段访问

默认情况下httpd的访问全是是对所有客户机全开的

编辑主配置文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf 
➡️允许访问限制
限制

基于IP地址限制,只允许192.168.93.112 主机访问

重启服务

该指令将限制对当前上下文(例如整个服务器或特定网站)的访问,仅允许来自指定 IP 地址的请求。

Apache 重新启动后,对 Web 服务器的访问将被限制为仅允许来自 IP 地址 192.168.93.112 的请求。来自任何其他 IP 地址的请求都将被拒绝。

测试

192.168.93.112

192.168.93.113

访问出现403的情况

⬅️禁止IP访问

禁止192.168.93.112 访问 其余所有都可以访问

限制

编辑配置文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf 
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
systemctl restart httpd
重启Httpd服务

  • Require all granted :该行默认允许任何IP地址访问。
  • Require not ip 192.168.93.112 :此行专门拒绝对 IP 地址 192.168.93.112 的访问。
测试

192.168.93.112 无法访问因为我们 设置了拒绝的流量

报错403无法访问

192.168.93.113访问是可以的 因为我们没有拒绝它访问httpd

🫷2.用户授权限制

Apache HTTP Server (httpd) 中的用户授权限制涉及控制谁可以访问 Web 服务器上的特定资源。这对于维护安全性并确保只有授权用户才能访问敏感数据或功能至关重要。

🕉️创建用户密码
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
htpasswd -c /etc/httpd/conf/.awspwd smqnz

将在 /etc/httpd/conf/ 目录中创建一个名为 .awspwd (隐藏文件)的新密码文件,并使用哈希密码添加名为 smqnz 的用户。 以下是该命令的详细说明:

  • htpasswd :这是一个实用程序,用于管理 Apache HTTP 身份验证的密码文件。
  • -c :此选项告诉 htpasswd 创建一个新的密码文件(如果它不存在)。
  • /etc/httpd/conf/.awspwd :指定新密码文件的路径和文件名。请注意,文件名以点 (.) 开头,使其成为目录中的隐藏文件。
  • smqnz :这是密码文件中新条目的用户名。
  • 需要注意的是 如果你在创建用户的时候 不需要-c 选项

编辑配置文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf 

  AuthName "smqnz"
    AUthType Basic
    AuthUserFile /etc/httpd/conf/.awspwd
    Require valid-user
  • AuthName "smqnz": 设置认证提示的名称。当用户尝试访问受保护的资源时,浏览器会显示这个名称,提示用户输入用户名和密码。
  • AuthType Basic: 指定基本认证方式。基本认证要求用户提供用户名和密码进行访问。
  • AuthUserFile /etc/httpd/conf/.awspwd: 指定存储用户名和密码的文件路径。这个文件需要使用 htpasswd 工具来创建和管理。
  • Require valid-user: 允许所有在 AuthUserFile 中存在的有效用户访问受保护的资源。

配置完成之后重启httpd服务

🔂访问测试

这次访问的时候需要输入账户和密码才能进行访问

用户就是我们刚刚创建的用户和密码

字符界面访问的时候

显示需要你进行身份验证

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-06-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
CentOS 7安装部署Apache网站后配置详解
在一台CentOS 7上搭建Apache网站后,一般都是允许所有人访问的,那么可能会有一些特殊情况,需要对访问网站的人进行限制,出于这种情况,Apache可以通过Require配置项,来对客户端进行一些访问限制,可以基于IP地址、网段、主机名或域名。使用名称“all”时表示任意地址。
星哥玩云
2022/07/26
1.1K0
Web网站服务(apache的权限设置)
1、httpd服务的访问控制 作用: 1)控制对网站资源的访问 2)为特定的网站目录添加访问授权 常用访问控制方式: 1) 客户机地址限制 2) 用户授权限制 2、基于客户端地址的访问控制: 可控制:ip地址、网络地址、域名、主机名 Order配置项,定义控制顺序: 1) 先允许后拒绝(拒绝优先)默认拒绝所有:order allow,deny 2) 先拒绝后允许(允许优先)默认允许所有:order deny,allow Allow,deny配置项,设置允许或拒绝的地址: Allow from addre
L宝宝聊IT
2018/06/20
2K0
浅谈 Apache 的访问控制配置
为了更好地控制对网站资源的访问,所以需要为特定的网站目录添加访问授权。 客户机地址限制: 通过 Require 配置项,可以根据主机的主机名或IP地址来决定是否允许客户端访问,在 httpd服务器的主配置文件的 <Location>、<Directory>、<Files>、<Limit> 配置段中均可以使用 Require 配置项来控制客户端的访问。 常用格式如下: Require all granted :表示允许所有主机访问 Require all denied :表示拒绝所有主机访问 Require local :表示仅允许本地主机访问 Require [not] host <主机名或域名列表> :表示允许或拒绝指定主机或域访问 Require [not] IP <IP地址或网段列表> :表示允许或拒绝制定IP或网段访问 具体用法: 路径:/usr/local/httpd/conf/httpd.conf 1、允许所有
小手冰凉
2019/09/10
2.7K0
浅谈 Apache 的访问控制配置
手把手教你,嘴对嘴传达----Apache的访问控制
HTTP协议是基于TCP协议之上的,在进行HTTP连接之前,要先进行TCP连接,每个TCP连接都要进行三次握手与四次挥手。建立与关闭连接对于HTTP协议而言会消耗很多的内存与CPU资源。 解决办法是HTTP连接保持。就是尽量地保持客户端的连接,通过一个TCP连接传送多个HTTP请求响应,对于客户端可以提高50%以上的响应时间,对于服务器可以降低建立与关闭连接时的资源消耗。
不吃小白菜
2020/09/03
4220
手把手教你,嘴对嘴传达----Apache的访问控制
CentOS 7 中httpd服务的用户限制详解
Apache HTTP Server 之所以受到众多企业的青睐,得益于其代码开源、跨平台、功能模块haul、可灵活定制等诸多优点,其不仅性能稳定,在安全性方面的表现也十分出色。
星哥玩云
2022/07/28
7790
CentOS 7 中httpd服务的用户限制详解
CentOS-Apache的增值服务
1) AuthName:定义提示信息,用户访问时提示信息会出现在认证的对话框中  2) AuthType:定义认证类型,在HTTP1.0中,只有一种认证类型:basic。在HTTP1.1中有几种认证类型,如:MD5  3) AuthUserFile:定义包含用户名和密码的文本文件,每行一对  4) AuthGroupFile:定义包含用户组和组成员的文本文件。组成员之间用空格分开,如:group1:user1 user2  5) require 命令:定义哪些用户或组才能被授权访问。如:   require user user1 user2 (只有用户user1和user2可以访问)   requires groups group1 (只有group1中的成员可以访问)   require valid-user (在AuthUserFile指定的文件中的所有用户都可以访问)
偏有宸机
2020/11/04
5800
CentOS 7.4安装配置Apache网站服务和构建虚拟主机
为了更好地控制对网站资源的访问。可以为特定的网站目录添加访问授权。主要分为客户机地址限制和用户授权限制,这两种访问控制方式都应用于httpd.conf配置文件中的目录区域范围内。
星哥玩云
2022/07/31
2K0
CentOS 7.4安装配置Apache网站服务和构建虚拟主机
Apache 配置与应用
Apache HTTP Server 之所以受到众多企业的青睐,得益于其源代码开源,跨平台、功能模块化、可灵活定制等优点,其不仅性能稳定,在安全性方面的表现也十分出色。
全栈程序员站长
2022/09/14
4890
Apache 配置与应用
Apache用户认证,域名跳转,Apache访问日志
用户认证是在你打开网页的时候就需要进行认证,如果没有通过认证就不允许访问网页,和网站上的登录账户不一样。这样的做法虽然可以增加安全性,但是会导致用户体验很差,因为总是要你认证完了才能访问网页,也是挺麻烦的。不过这样的需求还是有可能会遇到的,因为有些网页需要比较高的安全保证,例如后台管理员登录的入口网页。
端碗吹水
2020/09/23
10.6K0
Apache用户认证,域名跳转,Apache访问日志
Apache与SVN整合
[root@localhost ~]# yum install httpd mod_dav_svn
星哥玩云
2022/06/13
5650
Apache与SVN整合
linux学习第三十九篇:Apache用户认证,域名跳转,Apache访问日志
Apache用户认证 虚拟主机的配置文件: vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 把111.com那个虚拟主机编辑成如下内容 <VirtualHost *:80> DocumentRoot "/data/wwwroot/111.com" ServerName 111.com <Directory /data/wwwroot/111.com> //指定认证的目录,只要111.com这个目录下面的都要认证
用户1215343
2018/02/05
1.4K0
linux学习第三十九篇:Apache用户认证,域名跳转,Apache访问日志
Centos 7.2搭建HTTP服务,并进行相关配置
关闭防火墙 #systemctl stop firewalld #systemctl disable firewalld
指剑
2022/07/15
9830
Centos 7.2搭建HTTP服务,并进行相关配置
Apache用户认证、域名跳转、访问日志格式 原
注意: 本章使用浏览器进行检测的前提是在物理机hosts文件添加虚拟机IP和虚拟主机域名。
阿dai学长
2019/04/03
1.7K0
Apache Web服务器安全配置全攻略[通俗易懂]
作为最流行的Web服务器,Apache Server提供了较好的安全特性,使其能够应对可能的安全威胁和信息泄漏。 Apache 服务器的安全特性   1、 采用选择性访问控制和强制性访问控制的安全策略   从Apache 或Web的角度来讲,选择性访问控制DAC(Discretionary Access Control)仍是基于用户名和密码的,强制性访问控制MAC(Mandatory Access Control)则是依据发出请求的客户端的IP地址或所在的域号来进行界定的。对于DAC方式,如输入错误,那么用户还有机会更正,从新输入正确的的密码;如果用户通过不了MAC关卡,那么用户将被禁止做进一步的操作,除非服务器作出安全策略调整,否则用户的任何努力都将无济于事。   2、Apache 的安全模块   Apache 的一个优势便是其灵活的模块结构,其设计思想也是围绕模块(Modules)概念而展开的。安全模块是Apache Server中的极其重要的组成部分。这些安全模块负责提供Apache Server的访问控制和认证、授权等一系列至关重要的安全服务。   mod_access模块能够根据访问者的IP地址(或域名,主机名等)来控制对Apache服务器的访问,称之为基于主机的访问控制。   mod_auth模块用来控制用户和组的认证授权(Authentication)。用户名和口令存于纯文本文件中。mod_auth_db和mod_auth_dbm模块则分别将用户信息(如名称、组属和口令等)存于Berkeley-DB及DBM型的小型数据库中,便于管理及提高应用效率。   mod_auth_digest模块则采用MD5数字签名的方式来进行用户的认证,但它相应的需要客户端的支持。   mod_auth_anon模块的功能和mod_auth的功能类似,只是它允许匿名登录,将用户输入的E-mail地址作为口令。   SSL(Secure Socket Lager),被Apache所支持的安全套接字层协议,提供Internet上安全交易服务,如电子商务中的一项安全措施。通过对通讯字节流的加密来防止敏感信息的泄漏。但是,Apache的这种支持是建立在对Apache的API扩展来实现的,相当于一个外部模块,通过与第三方程序的结合提供安全的网上交易支持。 Apache服务器的安全配置   Apache具有灵活的设置,所有Apache的安全特性都要经过周密的设计与规划,进行认真地配置才能够实现。Apache服务器的安全配置包括很多层面,有运行环境、认证与授权设置等。Apache的安装配置和运行示例如下:   1、以Nobody用户运行   一般情况下,Apache是由Root 来安装和运行的。如果Apache Server进程具有Root用户特权,那么它将给系统的安全构成很大的威胁,应确保Apache Server进程以最可能低的权限用户来运行。通过修改httpd.conf文件中的下列选项,以Nobody用户运行Apache 达到相对安全的目的。   User nobody   Group# -1   2、ServerRoot目录的权限   为了确保所有的配置是适当的和安全的,需要严格控制Apache 主目录的访问权限,使非超级用户不能修改该目录中的内容。Apache 的主目录对应于Apache Server配置文件httpd.conf的Server Root控制项中,应为:   Server Root /usr/local/apache   3、SSI的配置   在配置文件access.conf 或httpd.conf中的确Options指令处加入Includes NO EXEC选项,用以禁用Apache Server 中的执行功能。避免用户直接执行Apache 服务器中的执行程序,而造成服务器系统的公开化。   Options Includes Noexec   4、阻止用户修改系统设置   在Apache 服务器的配置文件中进行以下的设置,阻止用户建立、修改 .htaccess文件,防止用户超越能定义的系统安全特性。   AllowOveride None   Options None   Allow from all   然后再分别对特定的目录进行适当的配置。   5、改变Apache 服务器的确省访问特性   Apache 的默认设置只能保障一定程度的安全,如果服务器能够通过正常的映射规则找到文件,那么客户端便会获取该文件,如 http://loc
全栈程序员站长
2022/11/17
1.6K0
11.18 Apache用户认证
httpd的用户认证目录 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //把123.com那个虚拟主机编辑成如下内容 <VirtualHost *:80> DocumentRoot "/data/wwwroot/www.123.com" ServerName www.123.com <Directory /data/wwwroot/www.123.com> //指定认证的目录 AllowOverride AuthConfig //这个相当于打开
运维小白
2018/02/06
7450
Apache配置与应用
4、修改自动生成的awstats访问权限,加载CGI模块(Apache2.4以上版本需要加载CGI模块)
全栈程序员站长
2022/09/06
5400
Apache配置与应用
部署Apache网站服务以及访问控制的实现
创建yum仓库的步骤详细步骤请参考 Linux下通过rdesktop远程登陆Windows系统
星哥玩云
2022/07/25
7200
部署Apache网站服务以及访问控制的实现
CentOS 7下Apache实现HTTP访问SVN资源库
在搭建了我的笔记SVN资源库之后,我又想如果直接在手机查看笔记多好,前提是能支持http访问svn资源库。通过自己尝试成功后,在此分享给大家。
星哥玩云
2022/07/13
5250
Linux基础(day43)
11.18 Apache用户认证 httpd的用户认证目录 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //把123.com那个虚拟主机编辑成如下内容 <VirtualHost *:80> DocumentRoot "/data/wwwroot/www.123.com" ServerName www.123.com <Directory /data/wwwroot/www.123.com> //指定认证的目录
运维小白
2018/02/06
7670
Linux Apache 给AWStats 创建 访问密码
CentOS7 安装最新版本 AWStats,在httpd.conf 中加入了alias,可以直接访问网址就进入 浏览。十分不安全。
星哥玩云
2022/07/03
1.1K0
相关推荐
CentOS 7安装部署Apache网站后配置详解
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验