Bloqueando a China por IPTables



Ya les conté hace poco cómo me ahorré hasta un 10% de tráfico bloqueando IPs de oriente, de público que obviamente español no habla y que tan sólo hacía pasear sus bots por este blog para infectarlo.

Pero no todo el tráfico es por el puerto 80, muchos de nuestros servidores son sistemáticamente atacados en otros puertos que no son ni el 80 ni el 443, un ejemplo de esto es el SSH y justo hoy un lector me preguntaba por e-mail ¿Qué hacer?

Pues es más bien sencillo, no voy a copypastear la solución aquí pero sí voy a recomendarles un par de instructivos muy útiles.

En todo servidor Linux podemos configurar el firewall con bastante detalle, el famoso IPTables, si nos estan masacrando el server con ataques podemos bloquearlos desde alli. Es el primer nivel de defensa, el segundo sería desde el mismo hosting que bloqueen desde sus routers estos rangos de IP porque una cosa es resolver el tema desde tu propio servidor y otra a un nivel más bajo en el firewall de infraestructura.

Pero supongamos que no estamos recibiendo un DDOS sino que tan sólo nos quieren hackear, aquí Matt Willcox explica como bloquearlo, si, en su caso era un DDOS pero momentaneo, es decir, en cada ataque le bombardeaban el sitio y como no siempre los hostings se molestan en protegerte, la mejor forma es por IPTables.

Hay otro artículo un poco más viejo de Vivek Gite explicando lo mismo con otro ejemplo de configuración de IPTables aquí, y para todo tipo de router aquí tienen listados para configuración de routeres.

Obviamente pueden caer muchos usuarios legítimos que estaban utilizando algún proxy que, casualmente, se encontrase en uno de estos países, pero ¿Qué me importa? Si esa persona se quiere comunicar puede cambiar de proxy o simplemente entrar directamente porque nadie de habla hispana necesita un proxy chino o coreano, es obviamente alguien que está queriendo ocultar su identidad. Yo lo ayudo un poquito más, la va a ocultar del todo :D

En síntesis, no dejen que les volteen el servidor para sembrarles basura, esta es una buena forma de protegerlo además, claro, de mantenerlo actualizado y con passwords fuertes.

Si tienen más métodos para bloquear se agradecen Guiño

Otros posts que podrían llegar a gustarte...

Comentarios

  • Dal    

    Bloqueá también a Rusia

    • Responder
    • Citar
    • Comentado:
  • Gustavo V    

    Bloqueate las IPs de organismos publicos :D

    • Responder
    • Citar
    • Comentado:
  • Dal dijo:

    Bloqueá también a Rusia


    si ,también lo hago

    • Responder
    • Citar
    • Comentado:
  • ezeq    

    Estos posts siempre son para agradecer!!

    Saluds

    • Responder
    • Citar
    • Comentado:
  • Diego    

    Quizas tambien les sea util fail2ban.
    Ademas de ssh, sirve para otros ports

    https://github.com/fail2ban/fail2ban

    Aca un resumen para Ubuntu con un ejemplo de jail para sshd: https://help.ubuntu.com/community/Fail2ban

    Saludos!

    • Responder
    • Citar
    • Comentado:
  • ¡¡¡NO SE META CON FRANCIA!!!
    :D

    Fabio Baccaglioni dijo:

    Dal dijo:
    Bloqueá también a Rusia


    si ,también lo hago

    • Responder
    • Citar
    • Comentado:
  • Sebastian    

    Yo prefiero tcp.wrappers que hacerlo a nivel firewall.
    Es más flexible y me queda el log.
    Había hecho un script hace tiempo para tomar el archivo de networks de lacnic y generar el /etc/hosts.allow, permitiendo solo los paises latinoamericanos. Habría que hacer un paquete que tenga algún script que permita generarlo seleccionando paises...

    • Responder
    • Citar
    • Comentado:
  • Avrah    

    Un tip con el que siempre insiste un amigo es deshabilitar el root en el ssh.
    Para conectarse hay que usar un usuario sin previlegios en ssh y luego usar su.
    Con esto nos ahorramos un dolor de cabeza ya que si alguien logra por puta casulidad ingresar al ssh va a tener el segundo reto, loguearse como root.

    Otro tip que tambien es del mismo ser en cuestion es bloquear los ping (icmp) asi si es un bot el que intenta colarse no va a tener ni una sola respuesta. Es mi unico aporte, que ni siquiera es mio... jajaja!

    • Responder
    • Citar
    • Comentado:
  • Diego dijo:

    Quizas tambien les sea util fail2ban.

    Fail2ban es una masa, sobre todo poniéndolo bien estricto! Tambien esta bueno csf (y lfd) http://configserver.com/cp/csf.html

    • Responder
    • Citar
    • Comentado:
  • HR    

    Sebastian dijo:

    Yo prefiero tcp.wrappers que hacerlo a nivel firewall.
    Es más flexible y me queda el log.
    Había hecho un script hace tiempo para tomar el archivo de networks de lacnic y generar el /etc/hosts.allow, permitiendo solo los paises latinoamericanos. Habría que hacer un paquete que tenga algún script que permita generarlo seleccionando paises...


    Esa es la opcion mas elegante. Se puede hacer un script consultando por GeoIP.
    De aqui tome el ejemplo que estoy usando
    http://www.axllent.org/docs/view/ssh-geoip/

    • Responder
    • Citar
    • Comentado:
  • HR dijo:

    Sebastian dijo:
    Yo prefiero tcp.wrappers que hacerlo a nivel firewall.
    Es más flexible y me queda el log.
    Había hecho un script hace tiempo para tomar el archivo de networks de lacnic y generar el /etc/hosts.allow, permitiendo solo los paises latinoamericanos. Habría que hacer un paquete que tenga algún script que permita generarlo seleccionando paises...


    Esa es la opcion mas elegante. Se puede hacer un script consultando por GeoIP.
    De aqui tome el ejemplo que estoy usando
    http://www.axllent.org/docs/view/ssh-geoip/


    el problema ahí es la base de datos de GeoIP de MaxMind que es bastante pedorra (en su versión lite, claro) o desactualizada, que se yo, temo quedarme afuera de mi server :D bah, no creo

    • Responder
    • Citar
    • Comentado:
  • HR    

    el problema ahí es la base de datos de GeoIP de MaxMind que es bastante pedorra (en su versión lite, claro) o desactualizada, que se yo, temo quedarme afuera de mi server :D bah, no creo

    Imagino que puede podria pasar lo que comentas. No sabia que era tan mala, solo que la version gratuita ofrece la minima informacion de la IP. En mi caso entro principalmente desde una IP interna.
    Saludos

    • Responder
    • Citar
    • Comentado:
  • Matias    

    Para mi lo mejor fue ines instalar DenyHost. Es automatico, banea las ips desde donde se reciban ataques.

    • Responder
    • Citar
    • Comentado:
  • Eddie    

    Avrah dijo:

    Un tip con el que siempre insiste un amigo es deshabilitar el root en el ssh.
    Para conectarse hay que usar un usuario sin previlegios en ssh y luego usar su.
    Con esto nos ahorramos un dolor de cabeza ya que si alguien logra por puta casulidad ingresar al ssh va a tener el segundo reto, loguearse como root.

    Otro tip que tambien es del mismo ser en cuestion es bloquear los ping (icmp) asi si es un bot el que intenta colarse no va a tener ni una sola respuesta. Es mi unico aporte, que ni siquiera es mio... jajaja!


    A eso le agregaría cambiar el puerto por default de SSH y utilizar un password bien largo y complejo

    • Responder
    • Citar
    • Comentado:

Deje su comentario:

Tranquilo, su email nunca será revelado.
La gente de bien tiene URL, no se olvide del http/https
Para evitar bots, si se tardó mucho en leer la nota seguramente no sirva y tenga que intentar dos veces

Negrita Cursiva Imagen Enlace


comentarios ofensivos o que no hagan al enriquecimiento del post serán borrados/editados por el administrador