A cosa serve il campo di risposta-header HTTP "Server"?

33

Solo di recente ho iniziato a mettere in dubbio l'utilizzo del campo Server nell'header di risposta HTTP.

Ho fatto qualche ricerca:

Stati RFC 2616:

14.38 Server

The Server response-header field contains information about the software used by the origin server to handle the request. The field can contain multiple product tokens (section 3.8) and comments identifying the server and any significant subproducts. The product tokens are listed in order of their significance for identifying the application.

   Server         = "Server" ":" 1*( product | comment )

Example:

   Server: CERN/3.0 libwww/2.17

If the response is being forwarded through a proxy, the proxy application MUST NOT modify the Server response-header. Instead, it SHOULD include a Via field (as described in section 14.45).

  Note: Revealing the specific software version of the server might
  allow the server machine to become more vulnerable to attacks
  against software that is known to contain security holes. Server
  implementors are encouraged to make this field a configurable

Questo, tuttavia, non fa menzione dello scopo di questo campo. Mi sembra divulgazione di informazioni . Queste stringhe server forniscono molte informazioni utili a chiunque tenti di impronte digitali sul server. Gli strumenti di scansione automatica identificherebbero rapidamente i server privi di patch o vulnerabili. Avere il mio server web presenta le informazioni sulla versione per se stesso e moduli come OpenSSL sembrano una cattiva idea.

  • È necessario questo campo ... per qualsiasi cosa? Se sì, cosa?
  • È già prassi migliore / luogo comune disattivare o modificare questo campo sui server?

Penserei che, dal punto di vista della sicurezza, vorremmo dare al nemico (cioè: Tutti) meno informazioni possibili pur continuando a consentire agli affari di continuare. Qui è un interessante articolo sulla guerra dell'informazione.

    
posta ZnArK 26.10.2012 - 19:36
fonte

2 risposte

24

Le informazioni sul server dovrebbero essere rimosse dalle risposte HTTP, e il suo default è insicuro per la perdita di questi dati. Questo non è un grosso rischio per la sicurezza, o anche un rischio medio di sicurezza - ma non mi sento a mio agio solo annunciando tali dettagli ai miei avversari. Avere un numero di versione esatto perde quando e con quale frequenza aggiusti i tuoi sistemi di produzione - anche se la versione è attuale. Un avversario che conosce il ciclo di patch, significa che sa quando sei il più debole.

L'intestazione Host HTTP probabilmente più utile per il Netcraft Web Server Survey . Ma in termini di HTTP non dovrebbe avere importanza. Ecco perché abbiamo degli standard, in modo che client e server scritti da diversi fornitori possano lavorare insieme.

    
risposta data 26.10.2012 - 19:54
fonte
11

È usato per qualunque cosa tu voglia usare. Ho trovato utile in passato per problemi di conformità di reverse engineering; per esempio. IIS interrompe HTTP / 1.1 ( RFC 2616 ) in molti modi, ma la maggior parte è a vantaggio dell'utente in termini di prestazioni e supportati dalla maggior parte dei browser. In realtà i browser più attuali non rispettano più le regole in RFC 2616 (ora 13 anni).

Ho avuto problemi con bug nel codice e nella configurazione del server HTTP in passato. Sapere cosa è in esecuzione al terminale remoto è di grande aiuto per diagnosticare e risolvere questi problemi.

Sì, nella Sicurezza 101 ti viene detto che oscurare questo tipo di informazioni migliora la sicurezza, IME i benefici sono limitati:

  • Gli script kiddies / gli attacchi automatici non si preoccupano di vedere quale software stai usando: sparano tutte le loro pistole e sperano per il meglio.

  • Chiunque sia ragionevolmente competente dovrebbe essere in grado di determinare il tipo di server (anche se non l'ho provato con i server HTTP, alcuni anni fa stavo conducendo un'indagine sui server SMTP - con una media di 2.1 comandi, ho potuto trovare il tipo e fare una buona ipotesi sul numero di versione principale di MTA da 12 diversi fornitori).

risposta data 29.10.2012 - 11:06
fonte

Leggi altre domande sui tag