Error Page Discloses Web Server Version


When you install Apache with source or any other package installers like yum, it displays the version of your Apache web server installed on your server with the Operating system name of your server in Errors. It also shows the information about Apache modules installed in your server.

This can be a major security threat to your web server .


Apache

To prevent Apache to not to display these information to the world, we need to make some changes in Apache main configuration file.
ServerSignature Off
ServerTokens Prod


IIS

A Web site's error pages are often set to show detailed error information for troubleshooting purposes. However, to prevent unauthorized users from viewing privileged information, you should make sure that detailed error pages will not be seen by remote users. To prevent IIS7 hijacking your error pages, set existingResponse="PassThrough" in your httpErrors section in your web.config file. For example:
<configuration>
<system.webServer>
<httpErrors existingResponse="PassThrough" />
</system.webServer>
</configuration>

To set the custom errors error mode to DetailedLocalOnly or Custom

  • Click Start, click Control Panel, and then click Administrative Tools.
  • Right-click Internet Information Services (IIS) Manager and select Run as administrator.
  • In the Connections pane on the left, expand the computer, then expand the Sites folder.
  • Select the Web site or application that you want to configure.
  • In Features View, select Error Pages. In the Actions pane, select Open Feature.
  • In the Actions pane, select Edit Feature Settings.
  • In the Edit Error Pages Settings dialog, under Error Responses, select either Custom error pages or Detailed errors for local requests and custom error pages for remote requests.
  • Click OK to exit the Edit Error Pages Settings dialog.

Tomcat

Using a configuration where the webapp is deployed into the Tomcat ROOT context and assuming you have a custom error 500 and 404 page already developed, you would add the following to your ROOT web applications's web.xml configuration, which is typically located in $CATALINA_HOME/webapps/ROOT/:

<error-page>
<error-code>500</error-code>
<location>/errors/500.html</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/errors/404.html</location>
</error-page>