Filtrar ips maliciosas con Country IP Blocks

Publicado el 31 agosto 2012 por Security4dev @security4dev

En los últimos días he estado notando un acceso contínuo a la sección de registro del blog. Al tratarse de wordpress la url visitada era wp-login.php?action=register.
Gracias al plugin Firestats pude ver que el país de origen era China, por lo que tomé la decisión final de bloquear a ese país puesto que en mi caso sólo intentaban crear usuarios, posiblemente para utilizarlos como spam.
Bloquear un páis puede ser complicado, así que me puse a googlear y me encontré con Country IP Blocks. Este sistema nos permite crear una ACL (Access Control Lists) en varios formatos con las ips de los países que queramos bloquear. Los formatos soportados son:

  • CIDR
  • Netmask
  • IP Range
  • .htaccess Deny
  • .htaccess Allow
  • Decimal/CIDR
  • Cisco ACL
  • PeerGuardian2
  • Web.config deny
  • Web.config allow

Al estar este blog alojado en un servidor Apache la mejor opción es solicitar las ips en el formato .htaccess Deny, copiar el contenido del archivo y añadirlo a nuestro propio .htaccess. En cambio si nuestro blog está desarrollado en ASP.NET bajo un IIS (Internet Information Service) nos sería útil el archivo Web.config.

Después de dos meses he vuelto a mirar las estadísticas y ni rastro de China ni de accesos “extraños” a la url de registro. Así que ya sabéis una forma sencilla de prevenir accesos a países no autorizados …. y si tenéis un servidor dedicado bajo apache no dudéis en instalar el módulo mod_geoip para un rápido bloqueo :)