Salta al contenuto

Come posso rilevare i falsi positivi causati da AWS Managed Rules?

6 minuti di lettura
0

Le richieste legittime alla mia applicazione vengono bloccate da un gruppo di regole AWS Managed Rules in AWS WAF. Desidero capire come queste regole causino falsi positivi. Desidero inoltre mantenere valide le regole gestite e consentire il passaggio del traffico legittimo.

Risoluzione

Prima di tutto, identifica i falsi positivi causati da AWS Managed Rules. Quindi utilizza le etichette o un'istruzione scope-down per aggiungere i falsi positivi alla lista degli elementi consentiti.

Rileva i falsi positivi dei gruppi di regole gestite

Completa i seguenti passaggi:

  1. In terminatingRuleId nei log di AWS WAF, individua il gruppo di regole gestite che blocca la richiesta legittima. Di seguito è riportato un esempio di log di AWS WAF:

    "timestamp": 1712236911743,
    "formatVersion": 1,
    "webaclId": "arn:aws:wafv2:us-west-2:***:regional/webacl/WAFtester/3c372***-***",
    "terminatingRuleId": "AWS-AWSManagedRulesCommonRuleSet",
    "terminatingRuleType": "MANAGED_RULE_GROUP",
    "action": "BLOCK",
    "terminatingRuleMatchDetails": [],
    "ruleGroupList": [{
    "ruleGroupId": "AWS#AWSManagedRulesCommonRuleSet",
    "terminatingRule": {
    "ruleId": "SizeRestrictions_BODY",
    "action": "BLOCK",
    "overriddenAction": "BLOCK",
    "ruleMatchDetails": null
    },
    "nonTerminatingMatchingRules": [],
    "excludedRules": null,
    "customerConfig": null
    }],
  2. In terminatingRule, individua ruleId per identificare la regola che blocca la richiesta legittima. Ad esempio: ****"SizeRestrictions_Body".

  3. Identifica l'attributo o il criterio che causa il falso positivo. Ad esempio, se un amministratore di database esegue le procedure archiviate in remoto, le sue richieste potrebbero contenere un grande volume di dati. Il gruppo di regole ManagedRulesCommonRuleSet blocca queste richieste a causa della regola SizeRestrictions_Body.

Aggiungi i falsi positivi alla lista di elementi consentiti

Configura la lista di controllo degli accessi web (ACL web) per consentire le richieste legittime tramite il gruppo di regole gestite che causa il falso positivo. Per modificare il gruppo di regole gestite, utilizza etichette o istruzioni scope-down.

Nota: è consigliabile utilizzare le etichette per regole esplicite granulari. L'istruzione scope-down non esamina le richieste che non rientrano nell'ambito rispetto a tutte le regole di un gruppo di regole.

Etichette

Utilizza le etichette aggiunte da AWS Managed Rules per prevenire falsi positivi. Quando crei regole personalizzate che corrispondono alle richieste con queste etichette, modifica l'azione predefinita delle regole all'interno del gruppo di regole gestite.

Completa i seguenti passaggi:

  1. Apri la console AWS WAF.
  2. Nel pannello di navigazione scegli AWS WAF.
  3. Scegli Resources & protection packs (Risorse e pacchetti di protezione).
  4. In Protection packs (Pacchetti di protezione), seleziona il menu a discesa Managed sets and groups (Set e gruppi gestiti) e scegli Manage IP sets (Gestisci set di IP).
  5. Nel pannello di destra, scegli Create new IP set (Crea nuovo set di IP).
  6. Inserisci un nome in IP set name (Nome set di IP).
    Se utilizzi questo IP impostato in CloudFront, in Scope (Ambito) scegli CloudFront.
    (Facoltativo) Inserisci una Description (Descrizione).
    Scegli la versione di indirizzo IP.
    Inserisci l'indirizzo IP.
  7. Scegli Save (Salva).
  8. Individua il pacchetto di protezione e scegli View and edit (Visualizza e modifica) accanto a Rules (Regole).
  9. Nel pannello destro, seleziona il gruppo di regole AWS Managed Rules che blocca le richieste.
  10. In Rule Overrides (Sostituzioni delle regole), modifica l'azione in Count (Conta) per la regola che blocca la richiesta.
  11. Scegli Save rule (Salva regola).
  12. Nel pannello destro, scegli Add rules (Aggiungi regole).
    Scegli Custom rule (Regola personalizzata) e seleziona Next (Avanti).
    Scegli nuovamente Custom rule (Regola personalizzata) e seleziona Next (Avanti).
  13. Imposta l'Azione della regola su BLOCK (BLOCCA).
  14. Inserisci il Rule name (Nome della regola).
  15. Per If a request (Se una richiesta), espandi l'elenco a discesa e scegli matches all the statements (AND) (corrisponde a tutte le istruzioni (AND)).
  16. In Statement 1 (Istruzione 1), completa quanto segue:
    Per Inspect (Ispeziona), scegli Has a label (Ha un'etichetta).
    Per Statement (Istruzione), scegli Label (Etichetta).
    Per Match key (Chiave corrispondenza), seleziona l'etichetta per la regola del gruppo di regole AWS Managed Rules che blocca le richieste.
  17. In Statement 2 (Istruzione 2), completa quanto segue:
    Per Inspect (Ispeziona), scegli Originates from IP address in ( Proviene da un indirizzo IP in).
    In Statement (Istruzione), per IP address list (Lista indirizzi IP), seleziona il set di IP.
    Espandi Rule configuration (Configurazione della regola) e, in Negate statement (NOT) (Istruzione negativa (NOT), scegli Negate statement results (Risultati dell'istruzione negativa).
    Per utilizzare l'indirizzo IP come indirizzo di origine, scegli Source IP address (Indirizzo IP di origine).
  18. Scegli Create rule (Crea regola).
  19. Per impostare la priorità delle regole, seleziona Edit Rule Order (Modifica ordine delle regole) nel pannello destro e trascina la regola sotto il gruppo di regole AWS Managed Rules.
    Nota: le regole vengono applicate nell'ordine in cui appaiono.
  20. Scegli Save Rule order (Salva l'ordine delle regole).

Istruzione scope-down

Utilizza un'istruzione scope-down per restringere l'ambito delle richieste valutate dalla regola o dal gruppo di regole. Quando aggiungi un'istruzione scope-down a un gruppo di regole, le richieste possono essere ispezionate. L'istruzione ignora gli indirizzi IP legittimi inclusi nell'istruzione.

Completa i seguenti passaggi:

  1. Apri la console AWS WAF.
  2. Nel pannello di navigazione scegli AWS WAF.
  3. Scegli Resources & protection packs (Risorse e pacchetti di protezione).
  4. In Protection packs (Pacchetti di protezione), fai clic su Managed sets and groups (Set e gruppi gestiti) e scegli Manage IP sets (Gestisci set di IP).
  5. Nel pannello di destra, scegli Create new IP set (Crea nuovo set di IP).
  6. Inserisci un nome in IP set name (Nome set di IP).
    Se utilizzi questo IP impostato in CloudFront, in Scope (Ambito) scegli CloudFront.
    (Facoltativo) Inserisci una Description (Descrizione).
    Scegli la versione di indirizzo IP.
    Inserisci l'indirizzo IP.
  7. Scegli Save (Salva).
  8. Individua il pacchetto di protezione e scegli View and edit (Visualizza e modifica) accanto a Rules (Regole).
  9. Nel pannello destro, seleziona il gruppo di regole AWS Managed Rules che blocca le richieste.
  10. In Inspection (Ispezione), seleziona Match statement (Istruzione corrispondenza).
  11. In If a request (Se una richiesta), seleziona doesn't match the statement (NOT) (non corrisponde all'istruzione (NOT)).
  12. Per Inspect (Ispeziona), seleziona Originates from IP address in ( Proviene da un indirizzo IP in).
  13. In Statement (Istruzione), per IP address list (Lista indirizzi IP), seleziona il set di IP.
  14. Espandi Rule configuration (Configurazione della regola) e seleziona Source IP address (Indirizzo IP di origine) come origine.
  15. Scegli Save rule (Salva regola).
AWS UFFICIALEAggiornata un anno fa