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:
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.