Configurar restricciones por IP en Apache permite controlar el acceso a recursos específicos del servidor, limitando el acceso a ciertas direcciones IP o rangos de IP. Esta medida de seguridad es útil para proteger directorios sensibles o recursos críticos, permitiendo acceso solo desde ubicaciones autorizadas, como redes internas o direcciones de confianza.
Las restricciones por IP en Apache se configuran utilizando el módulo mod_authz_core, permitiendo definir reglas en el archivo .htaccess o en la configuración principal del servidor. Estas reglas especifican qué IPs o rangos de IPs tienen permitido o denegado el acceso a ciertos directorios o archivos.
Para implementar restricciones por IP, se usan las directivas Require, Allow, y Deny. La directiva Require es la más utilizada en versiones de Apache 2.4 y superiores.
El siguiente ejemplo muestra cómo restringir el acceso a un directorio solo a ciertas direcciones IP:
<Directory "/var/www/mi_directorio">
Require ip 192.168.1.10
Require ip 203.0.113.0/24
</Directory>
En este ejemplo:
192.168.1.10 y todas las IPs en el rango 203.0.113.0/24 tendrán acceso al directorio /mi_directorio.
| Directiva | Descripción | Ejemplo |
|---|---|---|
Require ip
|
Permite acceso solo a la IP o rango especificado. |
Require ip 192.168.1.10
|
Require not ip
|
Deniega acceso a la IP o rango especificado. |
Require not ip 203.0.113.5
|
Require all granted
|
Permite el acceso a todas las IPs. |
Require all granted
|
Require all denied
|
Deniega el acceso a todas las IPs. |
Require all denied
|
Es posible combinar múltiples reglas para crear configuraciones más complejas. Aquí un ejemplo:
<Directory "/var/www/mi_directorio">
Require all denied
Require ip 192.168.1.0/24
Require not ip 192.168.1.50
</Directory>
En este caso:
192.168.1.0/24, excepto a la IP 192.168.1.50.
También se puede implementar en el archivo .htaccess para configuraciones de acceso más específicas. Asegúrate de que tu servidor permite la sobrecarga de configuración mediante .htaccess.
Require ip 198.51.100.15
Require not ip 198.51.100.20
Esta configuración permite acceso solo a la IP 198.51.100.15 y bloquea la IP 198.51.100.20.
Para más detalles sobre las restricciones de acceso por IP, visita la documentación oficial de Apache.
Jorge García
Fullstack developer