Si por cualquier razón necesitáis bloquear el tráfico de un servidor desde algún país en concreto en http://www.countryipblocks.net/ mantienen una lista actualizada de los rangos de ips de cada país.
Puedes descargar varios formatos, incluso uno preparado para insertar directamente en un fichero .htaccess, aunque a mi no me parece el mejor formato ya que obligas a que el servidor web revise una lista de ips que puede llegar a ser muy grande antes de que muestre la página y eso podría hacer que la navegación se enlenteciera demasiado, además un servidor web no es el más adecuado para realizar esa función.
Os pongo varios ejemplo de como realizar el bloqueo desde la línea de comandos. Para los ejemplos he utilizado korea, no se os ocurra utilizar rangos de ips de el país en el que estáis por que os podéis bloquear el acceso. Como diría un amiguete, «no seáis gañanes»
Con iptables:
. /usr/bin/wget -O /tmp/pais.txt https://www.countryipblocks.net/e_country_data/KR_cidr.txt; for i in $(/bin/cat /tmp/pais.txt | /bin/grep -v '#'); do sbin/iptables -A INPUT -s $i -j DROP; done; /bin/rm /tmp/pais.txt |
Con apf:
. /usr/bin/wget -O /tmp/pais.txt https://www.countryipblocks.net/e_country_data/KR_cidr.txt; for i in $(/bin/cat /tmp/pais.txt | /bin/grep -v '#'); do /etc/apf/apf -d $i; done; /bin/rm /tmp/pais.txt |
ACTUALIZACIÿN
countryipblocks.net ya no permite descargar esos ficheros así que ahora utilizo el listado de maxmind.com
Como lo dan en otro formato he tenido que cambiar la rutina que lo proceso, ahora en una sola línea, aunque tiene el inconveniente de que necesitas tener instalada la aplicación ipcalc (sudo apt-get install ipcalc) para calcular el cidr.
Tened en cuenta que sólo permite descargar la base de datos unas pocas veces al día.
En esta rutina bloquea todo el tráfico que viene de china (CN)
curl http://geolite.maxmind.com/download/geoip/database/GeoIPCountryCSV.zip | funzip | grep CN | tr -d '"' | awk '{split($0,a,","); print "ipcalc -r "a[1]" "a[2]" | head -2 | tail -1"}' | sh | awk '{print "iptables -A INPUT -s "$0" -j DROP"}' | sh |
Como podéis ver está casi casi en correcto español aunque llama un poco la atención la forma de expresarse. La dirección de origen no se corresponde con bancaja, Pero lo que realmente llama mas la atención es que todavía aparezca el logo de bancaja en esta página ya que si se mira el fuente del html se puede ver claramente que está alojado en los servidores de bancaja. Hay cosas tan sencillas y rápidas como cambiar esas imágenes por otras con un aviso de que están viendo un intento de robo, p.e., que son tremendamente efectivas. Alguna entidad ya ha utilizado este método y les ha funcionado a las mil maravillas. Algunos podéis pensar que como alguien puede picar con estos mensajes a estas alturas. Yo creo que es lo mas normal del mundo teniendo en cuenta que hoy en día hay un porcentaje altísimo de personas con ordenador en casa y sin apenas conocimientos del medio en que se mueven. Muchas veces lo comento aunque se que a mucha gente le parece prepontente pero pienso que es totalmente cierto. Un ordenador no es una lavadora, es algo mucho mas complicado y delicado, no por lo la máquina en sí, si no por la información que contiene o que nos puede llegar. Si para poder conducir un coche necesitas pasar un un aprendizaje previo, un psicotécnico y un examen, para manejar un ordenador pues lo mismo. Y no os riáis que lo del psicotécnico no es ninguna broma, mirad barrapunto, lo que era y lo que es hoy en día. Por hoy ya está bien, dos meses sin escribir ni una palabra y en un sólo día una parrafada del copón. Voy a pillar tendinitis. =;-) Saludos.