If you are using an Apache webserver to host your application in the production environment, then it is recommended to disable the Apache server signature to hide the Apache version number. Attackers can use Nmap or another tool to find the Apache version number before performing an attack. After detecting the Apache version number, attackers find the vulnerability of a specific Apache version and perform the attack.

In this post, we will show you how to disable the Apache server signature on CentOS 8.

Step 1 – Install Apache Server

Before starting, the Apache webserver must be installed on your server. If not installed, you can install it with the following command:

dnf install httpd -y

Once installed, start the Apache service and enable it to start at system reboot:

systemctl start httpd
systemctl enable httpd

Step 2 – Verify Apache Server Signature

Next, you will need to check whether the Apache signature is on or off. You can check it by running the following command:

curl --head http://localhost

You should see the following output:

HTTP/1.1 403 Forbidden
Date: Wed, 24 Mar 2021 12:24:45 GMT
Server: Apache/2.4.37 (centos)
Content-Location: index.html.zh-CN
Vary: negotiate,accept-language
TCN: choice
Last-Modified: Fri, 14 Jun 2019 03:37:43 GMT
ETag: "fa6-58b405e7d6fc0;5be475f323d62"
Accept-Ranges: bytes
Content-Length: 4006
Content-Type: text/html; charset=UTF-8
Content-Language: zh-cn

The above output shows the Apache version number that means the Apache signature is enabled in your system.

Step 3 – Disable Apache Signature

You can disable the Apache signature by editing the Apache main configuration file:

nano /etc/httpd/conf/httpd.conf

Add the following line at the end of the file:

ServerTokens Prod

Save and close the file when you are finished. Then, restart the Apache service to apply the changes:

systemctl restart httpd

Step 4 – Verify the Apache Signature

At this point, the Apache signature is disabled on your system. Next, you will need to verify whether the Apache signature is disabled or not.

To check it, run the following command:

curl --head http://localhost

You should see the following output:

HTTP/1.1 403 Forbidden
Date: Wed, 24 Mar 2021 12:26:25 GMT
Server: Apache
Content-Location: index.html.zh-CN
Vary: negotiate,accept-language
TCN: choice
Last-Modified: Fri, 14 Jun 2019 03:37:43 GMT
ETag: "fa6-58b405e7d6fc0;5be475f323d62"
Accept-Ranges: bytes
Content-Length: 4006
Content-Type: text/html; charset=UTF-8
Content-Language: zh-cn

The above output does not show the Apache version, which means the Apache signature is disabled in your system.

Conclusion

In the above guide, you learned how to disabled the Apache signature on CentOS 8. Ideally, this will increase your Apache web server security; try it today on your dedicated server from Atlantic.Net.