Ho avuto una lunga conversazione con un cliente in cui eseguono una scansione di sicurezza Rapid7 che poi avverte riguardo ai checksum TCP MD5 mancanti sulla porta 80. Questo è quello che penso di sapere:
- RFC 2385 è stato progettato per proteggere BGP , e per estensione protocolli di tipo BGP (ovvero connessioni TCP a lunga esecuzione).
- BGP utilizza connessioni TCP di lunga durata, HTTP no.
- Encryption / IPSec ha sostituito RFC 2385 per proteggere BGP.
- L'attacco RST TCP è contro connessioni TCP a lunga esecuzione perché l'attacco si basa sulla probabilità.
- L'impatto sulla reimpostazione di una connessione keep-alive HTTP è che la richiesta successiva lo riavvierà.
- La maggior parte delle connessioni trasferisce i dati in millisecondi, la finestra di attacco è troppo piccola per consentire a HTTP di mirare in modo efficace. L'attacco dipende dalle dimensioni della finestra e dalla larghezza di banda dell'aggressore contro il server e sembra richiedere alcuni secondi anche in buone condizioni, in base alla pagina 25 di Scivolando nella finestra: TCP resetta gli attacchi )
- Una visualizzazione web è in genere costituita da più connessioni per ciascun client connesso che rende questo tipo di denial of service poco attraente rispetto alle alternative.
- Linux (in particolare RHEL o Debian) ha il supporto per rfc2385 ma non può essere globalmente abilitato.
- NGINX e Apache non dispongono di opzioni di configurazione per aprire socket con checksum tcp-md5 abilitati.
- Anche se rfc2385 era attivo per HTTP, non risolveva un problema, ma aumentava il carico sul server. Che è solo un piccolo punto laterale.
Ho cercato di spiegare che rfc2385 non è rilevante per i server web, ma stanno dicendo che è un problema con TCP che, pur vero, semplifica che si tratti di un attacco contro una specifica natura del Connessione TCP.
Ho cercato di spiegare che né Apache né Nginx possono abilitare ciò che stanno chiedendo. Continuano a inviarmi documenti della knowledge base che menzionano Windows, Cisco, NetBSD, BGP, ma mai nulla che si riferisca ad apache né a nginx.
Oltre ai documenti collegati, li ho inviati LWN spiegandoli:
It would be hard to use this technique to shut down a web server; HTTP connections tend to be short-lived to begin with.
C'è una patch disponibile su Windows che corregge l'avviso che stanno inviando come suggerimento, ma chiaramente non ha nulla a che fare con linux.
Sto parlando di sciocchezze? Quale sarebbe il tuo suggerimento di convincere il cliente a rispettare la sicurezza a preoccuparsi di entrare nella mia stessa pagina?