Para lograr este bloqueo puede haber una variedad de técnicas, pero una de las más sencillas es a través de la dirección IP, con este dato podemos bloquear terminales en particular, ISPs e incluso países, todo esto simplemente configurando algunas opciones en Nginx.
Módulo GeoIP
Al momento de determinar que un grupo de IPs no debería ser capaz de ver nuestro servidor por la causa que determinemos, podemos bloquear su acceso a nuestro servidor, para lograr esto existen muchas formas, pero una de las más completas es a través de la utilización del módulo GeoIP.
Además del módulo GeoIP, también podemos utilizar en conjunto el módulo geo que nos permite establecer una interfaz básica para asociar variables basadas en las direcciones IP de las conexiones con los clientes.
Ejemplo Práctico
Imaginemos que por un momento estamos construyendo una infraestructura para un banco suizo, aquí vamos a necesitar que las partes públicas sean visibles para efectos del SEO en los buscadores, sin embargo solo queremos que quien pueda acceder pertenezca al país.
Adicionalmente debemos establecer una serie de exclusiones ya que hemos contratado un servicio de auditoría que se va a asegurar que nuestro servicio esté de la forma adecuada, para esto se va a establecer una variable para tal fin, que por defecto estará definida como 0 impidiendo que sea visible el sitio y solo después de pasar las comprobaciones necesarias se coloca en 1 para permitir el acceso al servicio.
Veamos cómo nos debería quedar nuestro archivo de configuración en la siguiente imagen:
Ya con esto hemos protegido nuestro servidor utilizando la dirección IP del cliente como elemento discriminatorio, lo interesante de esto es que podemos hacer una selección totalmente personalizada de quien puede o no acceder al servicio, permitiendo así la posibilidad de generar más capas de seguridad.