Autorizzazione del proxy forward in Apache: Require e AuthMerging
Seguite l'autorizzazione del proxy globale e dell'host virtuale attraverso le regole di fusione delle sezioni di Apache, invece di trattare proxy.conf come un livello di policy separato.
Una regola in proxy.conf non è una classe speciale di regola. Apache legge la configurazione inclusa nel proprio albero di configurazione; la sezione globale, il VirtualHost o la sezione corrispondente che la racchiude determina come partecipa la direttiva.
Partite dal listener e dall'host virtuale che servono la richiesta di proxy forward. Poi raccogliete le sezioni Proxy corrispondenti da quel contesto e dalla configurazione principale. Conta l'ordine di elaborazione delle sezioni, non solo quale file è stato modificato per ultimo.
L'autorizzazione non è sempre cumulativa
Con il comportamento predefinito AuthMerging Off, l'autorizzazione viene ereditata finché una sezione applicabile successiva non fornisce la propria logica di autorizzazione. Quella nuova logica può sostituire i requisiti precedenti invece di aggiungere un'altra restrizione.
| Impostazione | Combinazione con la sezione di autorizzazione precedente più vicina |
|---|---|
| Off | La nuova autorizzazione può prevalere sulla logica ereditata |
| And | Entrambi gli insiemi devono autorizzare |
| Or | Uno qualsiasi degli insiemi può autorizzare |
AuthMerging stesso è locale alla sezione che lo contiene. Non date per scontato che impostare And una volta cambi ogni sezione successiva.
Mantenete esplicita la policy desiderata quando possibile. Due righe Require senza un contenitore di autorizzazione che le racchiuda sono implicitamente alternative, quindi una regola IP più valid-user non significa automaticamente «IP e utente». Usate RequireAll quando entrambe le condizioni appartengono alla stessa decisione.
Esaminate la configurazione corrispondente completa prima di modificare un account proxy o aprire l'accesso. Poi verificate i casi consentiti e quelli negati sul listener in esecuzione. Una richiesta può essere rifiutata—o consentita inaspettatamente—perché un'altra sezione ha fornito l'autorizzazione effettiva.