Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: ✔️ Gateway di applicazione V2
Il gateway applicazione di Azure Web application firewall (WAF) v2 include un set di regole preconfigurato e gestito dalla piattaforma che protegge da molti tipi diversi di attacchi. Questi attacchi includono cross-site scripting, SQL injection e altri. Gli amministratori WAF possono scrivere regole personalizzate per aumentare le regole del set di regole di base. Le regole personalizzate possono bloccare, consentire o registrare il traffico richiesto in base ai criteri corrispondenti. Se si imposta il criterio WAF sulla modalità di rilevamento e i trigger di una regola di blocco personalizzata, la richiesta viene registrata e non viene eseguita alcuna azione di blocco.
Usare regole personalizzate per creare le proprie regole che il WAF valuta per ogni richiesta. Queste regole hanno una priorità più alta rispetto al resto delle regole nei set di regole gestite. Le regole personalizzate contengono un nome, un valore di priorità e una serie di condizioni di corrispondenza. Se queste condizioni vengono soddisfatte, il WAF esegue un'azione per consentire, bloccare o registrare. Se una regola personalizzata viene attivata e WAF esegue un'azione di autorizzazione o blocco, WAF non esegue altre azioni da regole personalizzate o gestite. Nel caso di una regola personalizzata che attiva un'azione di autorizzazione o blocco, potrebbero essere visualizzati alcuni eventi di log per le corrispondenze delle regole dal set di regole configurato (set di regole di base/set di regole predefinite), ma tali regole non vengono applicate. Gli eventi del log vengono visualizzati semplicemente a causa dell'ottimizzazione applicata dal motore WAF per l'elaborazione parallela delle regole e possono essere ignorati in modo sicuro. È possibile abilitare o disabilitare regole personalizzate su richiesta.
Ad esempio, è possibile bloccare tutte le richieste da un indirizzo IP nell'intervallo 192.168.5.0/24. In questa regola, l'operatore è IPMatch, matchValues è l'intervallo di indirizzi IP (192.168.5.0/24) e l'azione consiste nel bloccare il traffico. È anche possibile impostare il nome, la priorità e lo stato abilitato o disabilitato della regola.
Le regole personalizzate supportano l'uso della logica di raggruppamento per rendere più avanzate le regole che rispondono alle esigenze di sicurezza. Ad esempio, è possibile usare due regole personalizzate per creare la logica seguente ((rule1:Condition 1 e rule1:Condition 2) o rule2:Condition 3). Questa logica indica che se la condizione 1 e la condizione 2 vengono soddisfatte o se viene soddisfatta la condizione 3, il WAF deve eseguire l'azione specificata nelle regole personalizzate.
Le diverse condizioni di corrispondenza all'interno della stessa regola vengono sempre composte usando e. Ad esempio, bloccare il traffico da un indirizzo IP specifico e solo se usano un determinato browser.
Se si desidera utilizzare o tra due condizioni diverse, le due condizioni devono essere in regole diverse. Ad esempio, bloccare il traffico da un indirizzo IP specifico o bloccare il traffico se usano un browser specifico.
Le regole personalizzate supportano anche espressioni regolari, proprio come nei set di regole CRS. Per esempi, vedere Esempi 3 e 5 in Creare e usare regole Web application firewall personalizzate.
Note
È possibile creare fino a 100 regole personalizzate WAF. Per altre informazioni sui limiti di gateway applicazione, vedere Sottoscrizione di Azure e limiti, quote e vincoli dei servizi.
Attenzione
Tutte le regole di reindirizzamento applicate a livello di gateway applicazione ignorano le regole personalizzate WAF. Per altre informazioni, vedere Panoramica del reindirizzamento del gateway applicazione.
Consentire e bloccare
È possibile consentire o bloccare facilmente il traffico usando regole personalizzate. Ad esempio, è possibile bloccare tutto il traffico da un intervallo di indirizzi IP. È possibile creare un'altra regola per consentire il traffico se la richiesta proviene da un browser specifico.
Per consentire un elemento, impostare il -Action parametro su Consenti. Per bloccare un elemento, impostare il -Action parametro su Block.
$AllowRule = New-AzApplicationGatewayFirewallCustomRule `
-Name example1 `
-Priority 2 `
-RuleType MatchRule `
-MatchCondition $condition `
-Action Allow `
-State Enabled
$BlockRule = New-AzApplicationGatewayFirewallCustomRule `
-Name example2 `
-Priority 2 `
-RuleType MatchRule `
-MatchCondition $condition `
-Action Block `
-State Enabled
Il precedente $BlockRule mappa alla regola personalizzata seguente in Azure Resource Manager:
"customRules": [
{
"name": "blockEvilBot",
"priority": 2,
"ruleType": "MatchRule",
"action": "Block",
"state": "Enabled",
"matchConditions": [
{
"matchVariables": [
{
"variableName": "RequestHeaders",
"selector": "User-Agent"
}
],
"operator": "Contains",
"negationCondition": false,
"matchValues": [
"evilbot"
],
"transforms": [
"Lowercase"
]
}
]
}
],
Questa regola personalizzata contiene un nome, una priorità, un'azione e la matrice di condizioni di corrispondenza che devono essere soddisfatte affinché l'azione venga eseguita. Per altre spiegazioni di questi campi, vedere le descrizioni dei campi seguenti. Per altri esempi di regole personalizzate, vedere Creare e usare regole di Web Application Firewall personalizzate.
Note
Le regole personalizzate waf non supportano l'autorizzazione o il blocco delle richieste in base a nomi file o tipi di file.
Campi per regole personalizzate
Nome [facoltativo]
Nome della regola. Viene visualizzato nei log.
Abilitare la regola [facoltativo]
Attivare o disattivare questa regola. Le regole personalizzate sono attivate per impostazione predefinita.
Priorità [obbligatorio]
- Determina l'ordine di valutazione delle regole. Più basso è il valore, più presto sarà la valutazione della regola. L'intervallo consentito è compreso tra 1 e 100.
- Deve essere univoco in tutte le regole personalizzate. Una regola con priorità 40 viene valutata prima di una con priorità 80.
Tipo di regola [obbligatorio]
Attualmente deve essere MatchRule.
Variabile di corrispondenza [obbligatorio]
Deve essere una delle variabili:
- RemoteAddr – indirizzo o intervallo IPv4 della connessione del computer remoto
- RequestMethod - Metodo di richiesta HTTP
- QueryString: variabile nell'URI
- PostArgs: argomenti inviati nel corpo POST. Le regole personalizzate che usano questa variabile di corrispondenza si applicano solo se l'intestazione 'Content-Type' è impostata su 'application/x-www-form-urlencoded' o 'multipart/form-data'. CRS versione 3.2 o successiva supporta un tipo di contenuto aggiuntivo di
application/json, insieme al set di regole di protezione bot e alle regole personalizzate di corrispondenza geografica. - RequestUri: URI della richiesta
- RequestHeaders: intestazioni della richiesta
- RequestBody: questa variabile contiene l'intero corpo della richiesta nel suo complesso. Le regole personalizzate che usano questa variabile di corrispondenza si applicano solo se l'intestazione 'Content-Type' è impostata sul
application/x-www-form-urlencodedtipo di media. CRS versione 3.2 o successiva supporta tipi di contenuto aggiuntivi diapplication/soap+xml, application/xml, text/xml, insieme al set di regole per la protezione dai bot e alle regole personalizzate di geocorrispondenza. - RequestCookies: cookie della richiesta
Selettore [facoltativo]
Descrive il campo dell'insieme matchVariable. Ad esempio, se matchVariable è RequestHeaders, il selettore potrebbe trovarsi nell'intestazione User-Agent.
Operatore [obbligatorio]
Usare uno degli operatori seguenti:
-
IPMatch- Usare solo quando la variabile match è RemoteAddr e supporta solo IPv4. -
Equal- Usare quando l'input è uguale a MatchValue. -
Any- Usare quando non è presente matchValue. È consigliabile trovare laa variabile di corrispondenza con un selettore valido. -
Contains- Usare quando MatchValue è solo un valore esplicito. I caratteri jolly e le espressioni regolari non sono supportati. LessThanGreaterThan- LessThanOrEqual
- GreaterThanOrEqual
- BeginsWith
EndsWithRegexGeomatch
Condizione di negazione [facoltativo]
Nega la condizione corrente.
Trasforma [facoltativo]
Elenco di valori stringa che specificano le trasformazioni da applicare prima di tentare una corrispondenza. Le trasformazioni disponibili includono:
- Lettere minuscole
- Maiuscolo
- Trim
- UrlDecode
- UrlEncode
- RemoveNulls
- HtmlEntityDecode
Valori di corrispondenza [obbligatorio]
Un elenco di valori con cui confrontare, che può essere considerato come se fosse OR-ato. Ad esempio, l'elenco può contenere indirizzi IP o altre stringhe. Il formato del valore dipende dall'operatore precedente.
Note
Se il WAF esegue il Core Rule Set (CRS) 3.1 o qualsiasi altra versione precedente di CRS, il valore di corrispondenza accetta solo lettere, numeri e segni di punteggiatura. Le virgolette ", ' e gli spazi non sono supportati.
I valori dei metodi di richiesta HTTP supportati includono:
- GET
- HEAD
- POST
- OPZIONI
- PUT
- ELIMINA
- PATCH
Azione [richiesta]
In modalità di rilevamento dei criteri WAF, se viene attivata una regola personalizzata, l'azione viene sempre registrata indipendentemente dal valore dell'azione impostato sulla regola personalizzata.
- Consenti: autorizza la transazione, ignorando tutte le altre regole. La richiesta specificata viene aggiunta all'elenco consenti e, una volta trovata una corrispondenza, la richiesta interrompe un'ulteriore valutazione e viene inviata al pool back-end. Le regole incluse nell'elenco consenti non vengono valutate per altre regole personalizzate o regole gestite.
- Blocca: blocca o registra la transazione in base a SecDefaultAction (modalità di rilevamento o prevenzione).
- Modalità di prevenzione: blocca la transazione in base a SecDefaultAction. Proprio come l'azione
Allow, dopo che la richiesta viene valutata e aggiunta all'elenco di blocchi, la valutazione si arresta e la richiesta viene bloccata. Qualsiasi richiesta dopo che soddisfa le stesse condizioni non viene valutata e viene bloccata.- Modalità di rilevamento: registra la transazione in base a SecDefaultAction dopo la quale la valutazione viene arrestata. Qualsiasi richiesta successiva che soddisfi le stesse condizioni non viene valutata e viene registrata.
- Log: consente alla regola di scrivere nel log, ma consente di eseguire il resto delle regole per la valutazione. Le altre regole personalizzate vengono valutate in ordine di priorità, seguite dalle regole gestite.
Copia e duplicazione di regole personalizzate
È possibile duplicare regole personalizzate all'interno di una determinata politica. Quando si duplica una regola, è necessario specificare un nome univoco per la regola e un valore di priorità univoco. È anche possibile copiare regole personalizzate da un criterio WAF di un Gateway Applicazione a un altro, purché i criteri si trovino entrambi nella stessa sottoscrizione. Quando si copia una regola da un criterio a un altro, è necessario selezionare il criterio dell'Application Gateway WAF in cui copiare la regola. Dopo aver selezionato il criterio WAF, è necessario assegnare alla regola un nome univoco e assegnare un rango di priorità.
Regole personalizzate di corrispondenza geografica
Le regole personalizzate consentono di creare regole su misura per soddisfare le esigenze specifiche delle applicazioni e dei criteri di sicurezza. È possibile limitare l'accesso alle applicazioni Web in base al paese o all'area geografica. Per altre informazioni, vedere Regole personalizzate di corrispondenza geografica.