Apache-2.2

當我們擁有所有權、權限和防火牆時,為什麼還需要 Apache 訪問控制

  • February 2, 2022

為什麼我們需要 Apache 訪問控制

Require user <name or UID>
Not require user <name or UID>
Require group <name or GID>
Not require group <name or GID>
Require ip <network IP>
Not require ip <network IP>
Require host <hostname>
Not require host <hostname>
Require all granted
Require all denied
Require local

當我們擁有所有權、權限和防火牆時。

文件權限

apache(任何其他應用程序)提供的文件的權限和所有權決定了該應用程序可以和不可以讀取、寫入和執行的內容。這是對資源的訪問強制執行的。

防火牆

防火牆通過定義的訪問控制列表控制介面(通常是網路介面)之間的入口和出口數據,以限制與受信任方的通信。這是在運輸入站和出站時強制執行的。

阿帕奇訪問控制

Apache 訪問控制是對所服務資源的更精細的控制。它還允許對 apache 進行更精細的權限委派,而不依賴於其他系統強制執行。

例子
範例 1:我想允許所有使用者訪問 wordpress 站點,但我只希望受信任的 IP 訪問 wp-admin。

在這種情況下,我將為配置中的/wp-admin目錄(或目錄中的.htaccess文件)配置以下內容。

<Directory /wp-admin>
 Order deny,allow
 Deny from all
 Allow from x.x.x.x
</Directory>
範例 2:我想只允許某個組的成員將數據發佈到我的網站

我將使用以下內容配置 apache

<LIMIT POST>
 AuthType Basic
 AuthName "Posty Mc Post Face"
 # Optional line:
 AuthBasicProvider file
 AuthUserFile "/usr/local/apache/passwd/passwords"
 AuthGroupFile "/usr/local/apache/passwd/groups"
 Require group canPostApacheGroup
</LIMIT>
以下範例

這些範例中的每一個都有一個防火牆,允許流量通過 apache 和作業系統權限,允許 apache 訪問作業系統上的資源,但現在有特定於應用程序的配置來限制使用者可以在應用程序上執行的操作。

引用自:https://serverfault.com/questions/1092335