Forum archive
Suggested extra security measures for LAMP appliance...
I would like to make a security suggestion to the excelent turkey team.. I advise the following security settings.
In the httpd.conf file, making the following entry default upon install:
ServerTokens ProductOnly
ServerSignature Off
This will prevent broadcasting to the world what version of linux and apache you have. The less we inform the hackers, the better I guess.
We should hide the PHP version of X-Powered-By message by changing the php.ini file:
expose_php = Off
I would also suggest the team include the fail2ban app, enabled and working by default. Also hardened for the type of enviroment you made turnkey LAMP as. Securing against ssh, webmin, phpmysql manager, webshell and even apache as examples..
I also just noticed that the webmin is also advertising it is 1.590 when I issue the HEAD / HTTP/1.0 via telnet.. No idea how to turn that off, any help?
I don't see the benefit of advertising version numbers to the public..
My understanding is that it leverages IPTables to enforce it's bans. Assuming that my understanding is right (please correct me if I'm wrong); considering that IPTables is disabled by default it adds very little OOTB (IMO).
The only way to make it generically useful is to also pre-enable IPTables. But that is where it starts getting tricky. Some of our build formats do not include a kernel (e.g. OpenVZ). So IPTables won't work. Although TBH I'm not sure whether it would just fail gracefully or throw a big fat error. Also AWS instances use Amazon's security profile (and not IPTables). So if fail2ban were used AWS users would need to configure both AWS security profile AND IPTables. I can guarantee that would lead to many frustrated users and a rise in support requests...
So I'm certainly not saying don't use it. I'm just saying that I'm not sure that including it by default is a good idea. Instead let's document it's setup config and usage. Despite IPTables not being enabled by default it is configured so enabling it (on systems that support it) is super easy. And apparently fail2ban defaults are pretty sensible and install is fairly straight forward (even more so in the upcoming v14.0 - it's in the Jessie repos).
FWIW the docs are a wiki and you should be able to add a new child page to the tutorial/how to section.
Thoughts?