Control de acceso por host y dirección IP en Apache 2.4

Las nuevas versiones de apache 2.4.x montan nuevas características que para gran parte de los usuarios son desconocidas. Una de ellas (probada con excelentes resultados) es permitir o denegar cualquier tipo de restricción y acceso a nuestro servidor, osea nos olvidamos de las directivas allow, deny, etc… y las damos por obsoletas.

Te propongo una serie de ejemplos en los cuales trabajaremos con la directiva «RequireAll».

 

Permitir una única dirección IP o un host tenga acceso a la web:

Recuerda que son datos de ejemplo. Puedes colocar la ip, el host o ambos.

<Directory "/var/www/html/web">
Options All
AllowOverride All
Require all denied
## "Require ip" is used here for IP Address/CIDR/Network
Require ip 192.168.45.40 10.10.1.1

## "Require host" is used here for hostname/FQDN
Require host www.ejemplo.com server01
</Directory>

Otra formula con mismo resultado.
<Directory "/var/www/html/web">
Options All
 AllowOverride All
<RequireAll>
## "Require ip" is used here for IP Address/CIDR/Network
Require ip 192.168.45.40 10.10.1.1

## "Require host" is used here for hostname/FQDN
Require host www.ejemplo.com server01
</RequireAll>
</Directory>

 

Denegar una única dirección IP o un host tenga acceso a la web:

Recuerda que son datos de ejemplo. Puedes colocar la ip, el host o ambos.

<Directory "/var/www/html/web">
Options All
AllowOverride All
<RequireAll>
Require all granted
## "Require ip" is used here for IP Address/CIDR/Network
Require not ip 192.168.45.40 10.10.1.1

## "Require host" is used here for hostname/FQDN
Require not host www.ejemplo.com server01
</RequireAll>
</Directory>

 

Denegar todo el acceso sin discriminación:

En este caso usaremos la directiva «Require all denied».

<Directory "/var/www/html/web">        
Options All
AllowOverride All
## "Require all denied" will deny all to access the website.
Require all denied
</Directory>

 

Permitir todo el acceso sin discriminación:

En este caso usaremos la directiva «Require all granted«.

<Directory "/var/www/html/web">        
Options All
AllowOverride All
## "Require all granted" will allow all to access the website.
Require all granted
</Directory>

 

Reiniciar apache:

Después de realizar cualquier cambio debes reiniciar apache.

### En Ubuntu/Debian/
sudo service apache2 restart

### En CentOS|RHEL 5.x,6x.
service httpd restart

### En CentOS 7/RHEL 7
systemctl restart httpd

 

Mensaje de error:

Control de acceso por host y dirección IP en Apache 2.4 1

Este es el mensaje que verán los usuarios prohibidos.

 

 

Agregar comentario