Como evitar ataques de China

China con su 20% de poblacion con acceso a internet representa sin embargo casi el 40% de usuarios de internet en el mundo.

36bfda6e1d2ee33f7a83133d034acf04 (1)

 

Tanto asi que no solo en lo economico, sino tambien en lo tecnologico si China estornuda … nosotros nos enteramos. Lamentablemente, dado que una actividad importante que proviene de las redes Chinas son los ataques a servidores es necesario evitar el mas minimo contacto con China. ( La verdad, atender un servicio web de un cliente con visitas desde China seria cuando menos complicado )

Limitar accesos a lo indispensable

Cuando hablamos de servidores  ( ya sea si estan en un datacenter de un tercero o si tu mismo los administras al interno de tu institucion ) debemos evitar que este disponible cualquier servicio que no haya sido explicitamente requerido.

Es mas, todos los puertos no utilizados deben ser activamente bloqueados. Esto porque en tu servidor hay 65K puertos disponibles, si ellos no estan bloqueados, tus atacantes trataran de acceder a ellos una y otra vez aumentando tu trafico de red. Si tienes tu servidor en un datacenter externo, eso significara una mayor factura Read More Here. Y si lo tienes en tu propia insitucion, dada las velocidades de conexion que ofrecen Telefonica y Claro, eso significara que tu servidor no sera accesible por otras personas.

Por ejemplo, si tenemos un servidor web que solo atiende por el puerto 80

iptables -I INPUT -p tcp –dport 80 -j ACCEPT
iptables -I INPUT -p tcp –dport 22 -j ACCEPT

iptables -I INPUT  -j DROP

Hemos incluido el puerto 22, ya que es necesario para seguir configurandolo.

 

Configurar acceso SSH por Keys

Hoy en dia el acceso SSH es la unica forma de realizar mantenimiento y supervision de tus servidores. Existen dos formas de tener acceso por SSH a un servidor:

  • Utilizando un password, lo que implica teclearlo cada vez que necesites realizar una operacion. El password debe ser lo mas complicado posible para que otras personas no accesan sin permiso a tu servidor y lo mas sencillo posible para que no te estes equivocando al momento de ingresarlo.
  • Utilizar una SSH Key, las ssh key son unicas por maquina y nos permiten acceder sin utilizar una clave.

 

Bloquear accesos no autorizados

Si ya tenemos acceso por SSH KEY, nuestro nivel de error al tratar de acceder por SSH se vuelve 0. En este momento cualquier acceso por SSH erroneo ( que se equivoque en la clave ) es un acceso no autorizado y mal intencionado.

Para esto podemos usar el paquete fail2ban. Este paquete lo que hace es detectar cuando alguien ha tratadode realizar un acceso no autorizado al servidor y lo bloquea por un tiempo determinado. En este caso, puede ser desde minutos, horas, semanas o incluso para siempre.

 

Bloquea todo acceso desde China

Seamos sinceros, no todo el mundo le vende a China, entonces para que exponerte a tus botnets ? Para bloquear acceso a todo un pais debes obtener todas las ips asignadas a ese pais. Esta informacion necesita actualizarse de tanto en tanto y ademas es muy probable que no sea 100% exacta.

Ademas, tambien es posible que los chinos esten utilizando servidores externos ( previamente hackeados ) y tengan ips de otros paises.

Desde IPDeny podemos descargarnos la lista de ips asignadas por pais.  En esa lista cada linea representa un numero determinado de ips. Y debemos ejecutar un comando de iptables por cada linea de ese archivo. Para China son 5500 lineas, para hacer mas productivo este proceso simplemente lo programamos en  bash

#!/bin/bash
# Simple iptables IP/subnet block script
# ————————————————————————-
# Copyright (c) 2004 nixCraft project <http://www.cyberciti.biz/fb/>
# This script is licensed under GNU GPL version 2.0 or above
# ————————————————————————-
# This script is part of nixCraft shell script collection (NSSC)
# Visit http://bash.cyberciti.biz/ for more information.
# ———————————————————————-
IPT=/sbin/iptables
SPAMLIST=”spamlist”
SPAMDROPMSG=”SPAM LIST DROP”
BADIPS=$(egrep -v -E “^#|^$” /root/deny.china)

# create a new iptables list
$IPT -N $SPAMLIST

for ipblock in $BADIPS
do
$IPT -A $SPAMLIST -s $ipblock -j LOG –log-prefix “$SPAMDROPMSG”
$IPT -A $SPAMLIST -s $ipblock -j DROP
echo $ipblock
done

$IPT -I INPUT -j $SPAMLIST
$IPT -I OUTPUT -j $SPAMLIST
$IPT -I FORWARD -j $SPAMLIST

Se que no hace falta aclararlo, pero por si las dudas. Nunca bloquees las IPs del pais donde te encuentras. Seras inmediatamente expulsado del servidor y no podras conectarte a repararlo. ?

Add new comment