Qualche rischio per la sicurezza con l'innalzamento di client_max_body_size nginx?

5

Mi chiedevo se c'è qualche rischio di sicurezza coinvolto nell'innalzare il client_max_body_size in nginx da 1 MB a 20 GB?

    
posta Daniel Guldberg Aaes 21.07.2015 - 07:27
fonte

1 risposta

5

L'impostazione di client_max_body_size a 20 GB è, ovviamente, non ragionevole e mi chiedo perché permetteresti (agli utenti? tu stesso?) di caricare file così enormi.

client_max_body_size governa il corrispondente parametro HTTP Header. Come buona pratica di sicurezza, dobbiamo sempre limitare l'intestazione e il corpo del messaggio ad una lunghezza minima ragionevole. Perché ? 20 GB sono così grandi che hai messo il tuo server nello stesso scenario di 2013 quando Django consentito agli utenti di utilizzare una password molto lunga forzando Django (piuttosto il server in cui è ospitato) a eseguire calcoli hash molto costosi che portano, come si può intuire, a un denial-of-service attacco contro l'intero framework di autenticazione di Django.

Si dice, ci sono altre cose a cui devi pensare se aumenti troppo le dimensioni di client_max_body_size . Ad esempio, come imposterai il parametro keepalive_timeout ? Come si può calcolare in base al fatto che client_max_body_size è impostato su 20 GB? Possono essere 20 secondi? 20 minuti ? Due ore ? La stessa domanda riguarda client_header_timeout e client_body_timeout che impostano, rispettabilmente, il tempo massimo che Nginx attenderà sul client per specificare un'intestazione di richiesta o chiedere che un oggetto sia servito.

    
risposta data 21.07.2015 - 08:29
fonte

Leggi altre domande sui tag