Rischio di sicurezza dell'aggiunta di un'intestazione HTTP con identificatore del server

6

Stiamo per implementare un'applicazione web in una web farm di diversi server web. Durante i nostri test abbiamo riscontrato problemi in uno dei server ma non in altri. Molti di loro a causa di errori di configurazione nei server Web.

L'identificazione del server che si comporta in modo anomalo risulta dispendiosa in termini di tempo. Ho pensato di aggiungere un'intestazione HTTP alla risposta con un identificativo del server. In questo modo possiamo vedere rapidamente dal browser quale server ha elaborato la richiesta.

Dì che i nostri server web sono nominati seguendo lo schema:

  • prodweb1
  • prodweb2
  • prodweb3
  • e così via

L'intestazione HTTP della risposta per prodweb1 sarebbe:

X-ServerID: 1

e per prodweb2:

X-ServerID: 2

C'è una vulnerabilità di sicurezza nel specificare nella risposta il server che ha elaborato la richiesta? Qualcuno potrebbe approfittare di questo in qualche modo per un attacco?

    
posta epignosisx 14.02.2013 - 16:24
fonte

4 risposte

5

Questo rivela maggiori informazioni a un potenziale aggressore? Sì. Ti rende vulnerabile a un attacco che non sei vulnerabile al contrario? No. Potresti averli aiutati ad attaccarti un po 'più velocemente. Tuttavia, devono ancora trovare un difetto da sfruttare. In realtà, sei sicuro quanto lo sarebbe stato senza utilizzare un sistema di bilanciamento del carico (o più correttamente sei sicuro quanto utilizzare un server dietro un sistema di bilanciamento del carico come anche il bilanciamento del carico potrebbe essere attaccato). È il punto della sicurezza del servizio di bilanciamento del carico, o per consentire più carico di un singolo server in grado di gestire?

Ora probabilmente già si registrano le richieste di accesso nei file di registro o in un database di qualche tipo; generalmente memorizzando cose su ciascun server come IP / timestamp / richiesta GET / stato HTTP, dimensione risposta e stringa agente utente. Sarebbe possibile eseguire il debug per eseguire un rapido grep sui log rilevanti per identificare il server che non funziona? Ad esempio, cambia User-Agent nel tuo browser mentre esegui il test su qualcosa come "DEBUG_14_Feb_2013", cerca quell'agente utente in tutti i registri e identifica il server + richieste che funzionano male in base alla dimensione della risposta o al timestamp o all'IP?

O forse potresti attivare questa intestazione HTTP, ma solo mentre esegui il debug avendo ricevuto un flag set dal servizio di bilanciamento del carico (o in alternativa impostato su ciascun server), quindi viene visualizzato solo quando si esegue attivamente il debug di un problema?

    
risposta data 14.02.2013 - 18:56
fonte
3

Come al solito, più dati ottiene un attaccante sulla tua architettura, più le cose diventano facili per lui. Le informazioni di debug aiutano allo stesso modo sviluppatori e autori di attacchi. Tuttavia, il vantaggio di conoscere la propria architettura server dettagliata non è grande come spesso si presume; e sarebbe un suicidio affidarsi all'architettura "oscurità" per la sicurezza.

Vedi questo post di blog per ulteriori opinioni e suggerimenti.

    
risposta data 14.02.2013 - 16:42
fonte
3

Se un singolo server manca una patch, o ha un problema di configurazione, può essere facilmente identificato dall'attaccante.

Se l'utente malintenzionato sta tentando di mirare a quella macchina, sarà più facilmente deducibile quale approccio di bilanciamento del carico si sta utilizzando (cookie standard, IP sorgente, hash di autenticazione). Può utilizzare queste informazioni per attaccare ogni server individualmente.

    
risposta data 14.02.2013 - 16:53
fonte
2

Qualsiasi informazione non necessaria non dovrebbe essere data al mondo. Se potrebbe essere utilizzato in qualche exploit concatenato e potrebbe essere utile correlato con altre informazioni isolate.

Ex: Se esegui il bilanciamento del carico delle connessioni, sarebbe più semplice per l'autore dell'attacco identificarsi e provare a bloccare la sessione sul server.

    
risposta data 14.02.2013 - 16:42
fonte

Leggi altre domande sui tag