Limitación de acceso por host dinámico - Apache y Nginx
Introducción
Muchas veces necesitamos usar mecanismos de seguridad para el acceso a determinadas areas, más cuando nos encontramos con software que ya ha tenido más de una incidencia de seguridad o conocemos la baja calidad de su software como WHMCS.
Uno de los mejores mecanismos es la aplicación de seguridad mediante al acceso a la zona que queremos proteger, mediante el uso de Host dinámicos
Apache
Con apache usaremos .htaccess para cerrar todas las conexiones a la zona web que queremos proteger.
Requerimientos
- authz_host_module, generalmante forma parte del binario de nuestro sistema o esta cargado como módulo. Apache Module mod_authz_host
Implementación
Require forward-dns mi.hostdinamico.tld
También si tenemos IP fija podemos usarla (aunque en nueysro tip anterior indico mi preferencia por los host dinámicos)
Require forward-dns 00.00.00.00
Nginx
** pendiente de testing ** Nginx tiene otros mecanismos, y lo describe en HTTP rDNS
Requerimientos
- módulo ngx_http_rdns_module
server {
resolver 127.0.0.1; # Si tienes activado dns localhost, sino pon tu resolver preferido
rdns_allow mi\.hostname\.tld;
location /path {
echo_exec $protegido
}
location
}
Compilación
En mi blog tengo una entrada sobre LEMP en la que hago compilación de modulos como este.
Para compilar ete modulo de forma dinámica:
$ cd ~/soft/
$ git clone git@github.com:flant/nginx-http-rdns.git
## $version ya estaba declarada en la compilacion sino, poner la que corresponda. Ten en cuenta que este post
## entiende que se esta siguiente el modelo del enalce de más arriba
$ cd ninx-$version/
$ /configure --with-compat --add-dynamic-module=../nginx-http-rdns
$ make
$ make modules
$ sudo mv objs/ngx_http_rdns_module.so /usr/lib/nginx/modules/
Añadir la carga del módulo a nginx en /etc/nginx/modules-enabled/51-mod-http_rdns.conf
load_module modules/ngx_http_rdns_module.so;
Configurar en los sitios que se requiera segun su configuración.
$sudo nginx -t # Para verificar que todo esta correcto
Aviso
Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad. El contenido el contenido se entrega, tal y como esta, sin que ello implique ningún obligación ni responsabilidad por parte de Castris
Si necesitas soporte profesional puedes contratar con Castris soporte profesional.