The linked question relates to error pages, although the same information is often available in HTTP headers, if I follow best practise of hiding service banners:
Is displaying what server I am running on the error pages a security risk?
would I be hindering the effectiveness of vulnerability scanners such as Nessus or OpenVAS? For example say I am running the fictitious web server Foobar v1.1
and there is a vulnerability that affects versions of Foobar < v2.0
.
If the NVT works by checking the service banner, hiding the banner would mean that the vulnerability would not be picked up by any automated network vulnerability tests.
What is the general recommendation here? Would it be better for the banner to be hidden and then this vulnerability would be picked up during a manual pen test rather than an automated scan? Would penetration test tools such as Metasploit Pro automatically try to exploit it, even if the banner was missing or spoofed (say somebody changed it to say Foobar v2.0
when it was in fact v1.1
)?
Note that I am not saying that hiding or spoofing the banner would be a good way to handle security flaws, however I'm concerned whether scanners would miss vulnerabilities in similar situations.