Protegiendo nuestro servidor (algo mas que iptables)

Hace unos meses estuve recibiendo un ataque de Fuerza bruta, durante una semana seguida. Como sabéis, ese ataque no es de los mas peligrosos ya que se basa en ir probando combinaciones de letras, símbolos y números para ver si hay alguna cuenta que exista con la palabra formada, y a continuación, deberán hacer lo mismo para encontrar la contraseña. Mucho tiempo usado para un beneficio pequeño.

Conseguir abrir este tipo de brecha en un servidor tan discreto como el mio, no hubiera proporcionado demasiados beneficios. Sin embargo, las molestias causadas por el ataque son grandes, ficheros de logs enormes, ocupando disco, recursos de disco y cpu malgastados en rechazar el ataque, y el riesgo que acierten, que siempre existe.

Aparte de ese ataque, según registra mi correo electrónico, cada día mi servidor bloquea un centenar de direcciones de distintas partes del mundo, no todos serán ordenadores atacantes; muchos serán maquinas capturadas, pero el hecho es que hay un consumo de ancho de banda importante, ya que antes de bloquear una dirección, el sistema permite que realice varios intentos.

Todo eso, unido a que pienso que la gente que se puede conectar a mis paginas son de países conocidos, me hizo pensar en bloquear las direcciones de los países mas activos en spam y ataques y de los que no espero visitas.

Para hacerlo, en Linux tengo dos herramientas básicas: iptables y htaccess

Para hacerlo con iptables, necesito tener acceso root, Básicamente solo lo podré hacer si dispongo de un servidor; ya sea virtual o físico. La ventaja es que el bloqueo se realiza en la misma entrada, y para todos los servicios; por el contrario, si no tengo acceso total, o no quiero realizar un bloqueo total, entonces, puedo utilizar el fichero .htaccess, que protegerá la web.

También, si tengo acceso completo, me interesa algún programa que me ayude en la labor de protección. Para ello, os aconsejo CSF & LFD, tenéis la información y el programa en el enlace. Es una herramienta que se integra perfectamente en CPanel y en Virtualmin (por lo menos; esos los he probado) y se puede encargar de multitud de trabajos, como el detectar intentos fallidos para bloquear IPs….

Si no podéis instalar CSF & LFD, os queda la posibilidad de utilizar fail2ban, y  tenéis un añadido aquí, para según que configuraciones.

Y por ultimo, necesitamos tambien conocer las direcciones IP que tenemos que bloquear, esa informacion la he encontrado esta mañana, y me he apresurado a copiarla, y a compartir con vosotros.

En un mundo perfecto, las IPs se hubieran repartido de forma que cada país tuviera un rango, pero en la realidad, y debido a la forma en que nació Internet, las IPs se repartieron de una forma bastante incomprensible, y ahora cada país tiene un montón de rangos, lo que hace que controlar la situación geográfica de una IP sea complejo y requiera bases de datos para buscarla entre multitud de rangos.

En nuestro trabajo, nos vamos a enfrentar al mismo problema, y para bloquear un país deberemos bloquear un montón de rangos. Afortunadamente, hay webs que se han adelantado al problema y nos han aportado esas listas.

Si disponéis de un gestor (CSF & LFD o fail2ban) solo necesitas los rangos para introducirlos en los ficheros “deny” (/etc/csf/csf.deny o  /etc/ hosts.deny), las listas las podéis sacar de aquí:

Si no tenéis un gestor, y las tenéis que cargar directamente en IPTables, este enlace os facilita un interesante script con las direcciones de China y Corea

Si no tenéis acceso total a vuestra maquina, aun podéis proteger vuestro web, modificando el fichero .htaccess con esta información:

Quiero recordaros lo delicado que es hacer esto, y que nunca lo deberíais hacer hasta no comprobar que vuestra dirección IP no esta en ninguno de los rangos que vais a bloquear, ya que de ser así, os quedaríais sin acceso a vuestra maquina.

En entornos profesionales, debéis ser conscientes de la responsabilidad que puede representar para vuestra empresa, cerrar el acceso a mercados potenciales, y sopesar las ventajas e inconvenientes.

Por ultimo, y como una medida mas, aunque no puedo aconsejarla, en ese mismo web, proporcionan una tabla de direcciones de los servidores que han sido detectados haciendo SPAM o utilizando Exploit.

Aunque aumentaría nuestra seguridad, esos servidores pueden ser maquinas totalmente legales, que en algún momento fueron capturadas y empleadas como bots, pero que puede que esten actuando como servidores de correo perfectamente validos en este momento, y si los bloqueamos, puede que estemos renunciando a un trafico que deberíamos recibir

Acerca de Miguel Garcia

Programador, Desarrollador web, Formador en distintas areas de informatica y director de equipos multidisciplinares.
Esta entrada fue publicada en Formacion, Instalar linux, Linux, Redes y etiquetada , , , , , , , . Guarda el enlace permanente.

Una respuesta a Protegiendo nuestro servidor (algo mas que iptables)

  1. Pingback: Calculando mascaras IPs | Recursos para formacion

Deja un comentario