Bloqueá también a Rusia
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
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
Otros posts que podrían llegar a gustarte...
Comentarios
-
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!
-
¡¡¡NO SE META CON FRANCIA!!!
Fabio Baccaglioni dijo:
Dal dijo:
Bloqueá también a Rusia
si ,también lo hago
-
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...
-
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!
-
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
-
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/
-
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 bah, no creo
-
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 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
-
Para mi lo mejor fue ines instalar DenyHost. Es automatico, banea las ips desde donde se reciban ataques.
-
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