Or copy link
Copy link
IP blocking is a security technique that prevents users from accessing a website or web application based on their IP address. It can be used to block individual IP addresses, IP address ranges, or even entire countries. IP blocking is a simple but effective way to enhance website security. By blocking specific IP addresses, you can prevent malicious attacks from accessing your site.
In this post, we will guide you on how to block IP addresses in Apache and Nginx. We will also discuss some of the best practices for using IP blocking to protect your website.
IP blocking is an effective way to increase protection of your website from various threats, including:
To block an IP address in an Apache server, you can edit the server’s main configuration file, typically found in /etc/httpd/conf/httpd.conf or /etc/apache2/apache2.conf for Debian and Ubuntu servers depending on your setup.
You can edit the Apache configuration file with the following command:
sudo nano /etc/apache2/httpd.conf
You can use the deny directive in your server configuration file. The deny directive takes the IP address or IP address range that you want to block as its argument. For example, to block the IP address 192.168.1.100, you would add the following line to your configuration file:
deny from 192.168.1.100
To block a range of IP addresses, you would use the following format:
deny from 192.168.1.100 to 192.168.1.200
You can also use the allow directive to allow access from specific IP addresses, even if you have blocked all other IP addresses. For example, to allow access from the IP address 192.168.1.100, you would add the following line to your configuration file:
allow from 192.168.1.100
Once you have added the deny and allow directives to your configuration file, you need to save the file and reload Apache. You can do this by running the following command:
sudo systemctl reload apache2
Test to make sure the IP is blocked. You can try to access your website from the blocked IP, and it should return a 403 Forbidden error.
To block an IP address in Nginx, you can use the deny directive in your Nginx configuration file.
The location of your Nginx configuration file is commonly found in the /etc/nginx/ directory. The main configuration file is named nginx.conf, and server-specific configuration files are stored in the sites-available or conf.d directory.
You can edit the nginx configuration file with the following command:
sudo nano /etc/nginx/nginx.conf
For example, to block the IP address 192.168.1.100, you would add the following line to your Nginx configuration file:
deny 192.168.1.100;
deny 192.168.1.100-192.168.1.200;
You can also use the allow directive to allow access from specific IP addresses, even if you have blocked all other IP addresses. For example, to allow access from the IP address 192.168.1.100, you would add the following line to your Nginx configuration file:
allow 192.168.1.100;
Once you have added the deny and allow directives to your Nginx configuration file, you need to save the file and reload Nginx. You can do this by running the following command:
sudo systemctl reload nginx
When using IP blocking to protect your website, it is important to follow some practices:
IP blocking is an effective way to enhance website security in Apache and Nginx. By blocking known malicious IP addresses, you can prevent them from accessing your website and launching attacks. This can help to protect your website from a variety of threats, including DDoS attacks, and brute force attacks. You can also use rdp guard for Windows servers to protect against brute force attacks
Ultahost provides the best web hosting solution which uses a web stack that includes Apache and Nginx as web servers, and PHP-FPM and MySQL/MariaDB as databases, for improved performance and scalability.
IP blocking is crucial in website security, filtering u...
Burp Suite is a powerful tool security professionals us...
Securing your website with SSL stands for Secure Socket...
SSL/TLS certificates are important to secure your websi...
Securing your website with an SSL certificate is import...
In many cases, you might want to restrict access to cer...
Save my name, email, and website in this browser for the next time I comment.
Δ