4 ms·
> Hide your versions > Another super simple, but often overlooked adjustment to make is to prevent the server from broadcasting too much information about itse
by zalew 14y ago
> Hide your versions
> Another super simple, but often overlooked adjustment to make is to prevent the server from broadcasting too much information about itself. Whilst attackers maybe able to source the information in other ways the harder we make it the more likely potential attackers are to give up and move onto a softer target. It is similar to introducing yourself to someone and giving them specific details about yourself such as "I rarely lock the back window when I pop into town".
newsflash: exploits will hit the vulnerability anyway, without asking about your name and version.
could somebody explain to me why these security by obscurity measures are still popular? especially in an age when running bots hitting every public facing piece of equipment is so cheap?
- lifeguard 14y agoSure, PCI DSS.
- laumars 14y agoWhile you're true, it's only takes 5 seconds to change the config. Plus some security certifications (eg PCI) check those signatures during their automated scans. My problem is when people think hiding their signatures makes their systems more secure rather than equally secure but with less garbage broadcast
- nisa 14y ago> especially in an age when running bots hitting every public facing piece of equipment is so cheap? For me exactly that is a reason to disable versions. If I would be the attacker I would probably do a SELECT hostname FROM scanresults WHERE webserver == vulnerable-version Besides that, a header like: Server: Apache/2.2.16 (Debian) DAV/2 SVN/1.6.12 PHP/5.3.19 mod_ssl/2.2.16 OpenSSL/0.9.8o X-Powered-By: PHP/5.3.19 ...gives me a lot of clues for adjusting my exploit payload. In practice it may be an obscure attack vector - who knows. But more information is always helping the attacker. If there is a database somewhere (it is) - I don't want to have my specific versions in there. Who knows that kind of exploit is on the HN frontpage tomorrow. "Security by Obscurity" is a concept used by bad cryptographic ciphers. See Kerckhoff's Principle. I don't see how this applies to server information disclosure.
- mhurron 14y agoExploits that would 'need' to know the version are scripted. They spew the attempt anyway. If it works it works, if it doesn't the script moves on. You don't really get anything by disabling the server from reporting it's version. On the other hand, it doesn't take any time to do it. But don't think you gained anything by disabling it.
- themstheones 14y agoI suppose even a hypothetical expensive exploit (requiring ten minutes per attempt for example) would not deter someone with a large botnet from trying it against every server. So while hiding version info might save from some attackers in some scenarios it doesn't provide real protection.
- nisa 14y agoI did not wanted to say that disabling version information is a security measure. It is not. Sorry if I was not clear on that. I just wanted to say it may give you some time. That's debatable. You and others disagree. I remember an exploit for ProFTPd that required different payloads for different builds (OS, Version, Architecture). Having a database with version data und using that database would maximize the attackers chance to own the machine. Before checking the whole internet, why not at first try all machines where the exploit would work more likely. After that try all other machines. Another issue I remember was PLESK¹. They added some versions ago a Header "Powered-By Plesklin". There were a few PLESK exploits in the wild where an attacker with a database of versions and headers for services could quickly attack them. That is a reason for me to disable versions. It is totally unrelated to other security measures. I just don't want to give the attacker any additional clue. The more time he needs to spend probing my server the more time I have to notice him. I'm not sure how easy it is to order a botnet to execute an exploit for the whole internet. Other comments suggest it is no problem anymore. If that is indeed the case, it's probably really not relevant to disable versions or not. However I think I outlined my reasoning. 1: I know, don't use it. This was not up to me.
- raesene2 14y agoThere are some benefits to removing things like banner headers especially where there is limited effort required to do so.. If the version headers are removed a manual attacker would have to try harder (make more requests) to attempt to identify whether the server software is a vulnerable version or not. this increases the opportunities for detective software controls (e.g. IDS) to detect the attacker and to potentially allow for defensive actions (e.g. IP blocking) Also if a server version banner is present an at vuln. is discovered in that version its much more efficient for attackers to only hit known vulnerable versions and those can be mined from either things like shodan or the Internet census 2012 data. A smart attacker would probably want to only hit known vulnerable targets to maximise the time before their attack is noticed and analyzed by defensive organisations and if you hit all servers, that'll include all the honeypots out there, making it more likely that your attack gets noticed and new signatures are pushed to alert/block it.