Bootstrap

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

🏡作者主页:点击! 

👨‍💻Linux高级管理专栏:点击!

⏰️创作时间:2024年6月3日11点44分

🀄️文章质量:95分


为了更好地控制对网站资源的访问,可以为特定的网站目录添加访问授权。本节将分别介绍客户机地址限制和用户授权限制,这两种访问方式都应用于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的访问全是是对所有客户机全开的

编辑主配置文件

[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 访问 其余所有都可以访问

限制

编辑配置文件

[root@localhost ~]# vim /etc/httpd/conf/httpd.conf 

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 服务器上的特定资源。这对于维护安全性并确保只有授权用户才能访问敏感数据或功能至关重要。

🕉️创建用户密码

htpasswd -c /etc/httpd/conf/.awspwd smqnz

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

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

编辑配置文件

[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服务

🔂访问测试

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

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

字符界面访问的时候

显示需要你进行身份验证

;