My organization wants to restrict all the plugins/tools like Netcraft and Builtwith to detect all the server side technologies for security reason like platform, operating system name and version, web server name and version. Only configuring the firewall, closing the unnecessary ports and OS hardening doesn't help up to that extent.
1 Answer
Look into how these tools work. Some information may be easy to remove, by e.g. setting the headers for your web server to report more restricted information. This can hide exact version. However, it's far harder to hide that you're running Apache than that you're running Apache 2.4.35, as it may reveal itself in how it reacts to certain inputs.
Sanitize all web applications, and rewrite paths so they do not reveal applications. For instance wp-content
is a dead giveaway for Wordpress. This is a large task, and realistically includes rewriting parts of the application, probably waving good bye to official patches without modification.
Hiding platform you host the system on is even harder, as different kernels implement the TCP stack in slightly different ways. Abstract things, such as TCP sequence numbers, may reveal information about the platform. TCP Syn cookies may reveal information. And so on. Completely obscuring the platform is likely to be hard.
And what do you gain, in terms of security? You spend a lot of resources to hide information. Why not spend that on securing your application, so that it does not matter if an attacker knows that you're running Apache 2.4.35?