LinuxParty

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado
 

Me preocupa que mi servidor Memcached se utilice para realizar o amplificar ataques DDoS. ¿Entonces cómo aseguro el servidor de Memcached en un sistema Linux o Unix para evitar que un atacante explote mis servicios Memcached como un vector de amplificación?

Memcached es un sistema de caché de objetos de memoria distribuida de fuente abierta y gratuita. Uno puede usarlo para acelerar las aplicaciones web dinámicas al mitigar la carga de la base de datos. El servidor Memcached es un almacén de valores-clave en memoria. Esta página muestra cómo proteger la ejecución de memcached en sistemas Linux o Unix .

Cómo instalar el servidor Memcached

Use el comando apt-get comando / apt en un Debian / Ubuntu Linux:

$ sudo apt install memcached

Si está usando un CentOS / RHEL, intente el comando yum :

$ sudo yum install memcached

El usuario de Fedora Linux debe usar el comando dnf:

$ sudo dnf install memcached

Cómo configurar Memcached

Necesita editar el siguiente archivo según su distribución de Linux:

  • Debian/Ubuntu/Mint Linux –
  • /etc/memcached.conf
  • CentOS/RHEL/Fedora/Oracle Linux –
  • /etc/sysconfig/memcached

Para obtener información detallada sobre la configuración de memcached, consulte las preguntas frecuentes:

Ataque Memcached y DDoS

De forma predeterminada, el servidor de memcached usa el número de puerto TCP / UDP 11211. Ataques de amplificación DDoS (Denegación distribuida de servicio) realizados mediante la explotación de servidores Memcached expuestos a la dirección pública de Internet IPv4 / IPv6. Un aumento significativo en el vector de ataque de amplificación, utilizando el protocolo Memcached, proveniente del puerto UDP 11211 .

Cómo proteger un servidor memcached

El procedimiento para asegurar el servidor memcached es el siguiente:

1. Configure un firewall

Ejemplo de Debian / Ubuntu Linux

Puede usar ufw en Debian / Ubuntu Linux de la siguiente manera para permitir solo el tráfico desde el puerto 11211 a una dirección IP privada:

$ sudo ufw allow from 172.16.3.2 to 172.16.3.1 port 11211 proto tcp comment 'Allow memcached tcp port'
### [ uncomment the following if you are using tcp port ] ###
$ #sudo ufw allow from 172.16.3.2 to 172.16.3.1 port 11211 proto udp comment 'Allow memcached udp port'

CentOS / RHEL versión 6.x / 5.x

Si está utilizando CentOS / RHEL 6.x / 5.x, edite /etc/sysconfig/iptables :

$ sudo /etc/sysconfig/iptables

Agregue la siguiente línea de ENTRADA:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 11211 -s 172.16.3.2 -d 172.16.3.1 -j ACCEPT
# uncomment the following if you are using udp
#-A INPUT -m state --state NEW -m udp -p udp --dport 11211 -s 172.16.3.2 -d 172.16.3.1 -j ACCEPT

Guarde y cierre el archivo. Reinicie el firewall, ejecute:
$ sudo service iptables restart

RHEL / CentOS versión 7.xy Fedora Linux

Para la última versión de CentOS / RHEL / Fedora Linux, use la siguiente regla firewall-cmd:

# firewall-cmd --permanent --zone=public --add-rich-rule='
rule family="ipv4"
source address="172.16.3.2/24"
port protocol="tcp" port="11211" accept'

Recargar el firewall:

# firewall-cmd --reload

2. Deshabilitar UDP

Para deshabilitar UDP y escuchar loopback ip 127.0.0.1/172.16.3.1, solo agregue lo siguiente al archivo de configuración de memcached en un archivo CentOS / RHEL / Fedora Linux llamado / etc / sysconfig / memcached:

OPTIONS="-U 0 -l 127.0.0.1,172.16.3.1"

Agregue lo siguiente en un archivo Debian / Ubuntu Linux llamado /etc/memcached.conf:

-U 0
-l 127.0.0.1,172.16.3.1

Dónde,

  • -U 0 : Escuche en el puerto UDP {num}, el valor predeterminado es el puerto 11211. Establézcalo en 0 para desconectarlo, es decir, deshabilite UDP si NO es necesario.
  • -l 127.0.0.1,172.16.3.1 : Especifique qué dirección IP escuchar. El valor predeterminado es escuchar en todas las direcciones IP. Este parámetro es una de las únicas medidas de seguridad que tiene Memcached, así que asegúrese de que esté escuchando en una interfaz cortafuegos.

3. Forzar a memcached a escuchar en la dirección IP LAN / VLAN privada

Como se discutió anteriormente, configure la opción -l .

¿Cómo pruebo la configuración de seguridad de mi servidor memcached?

Asegúrese de que sus puertos Memcached cortafuegos y TCP / UDP se hayan cerrado desde Internet público. Solo permita que su servidor / aplicación web acceda al servidor Memcached utilizando el comando nc / telnet / nmap:

$ nc your-public-IP-here 11211
$ nc -u your-public-IP-here 11211
$ telnet your-public-IP-here 11211
$ sudo nmap your-public-IP-here -p 11211 -sU -sS --script memcached-info

Cómo proteger un servidor memcached en un Linux o Unix
Verifique los puertos abiertos con el comando ss o el comando netstat:

$ ss -tulpn | grep :11211
$ netstat -tulpn | grep :11211

Cómo proteger el servidor memcached y verificarlo

Un mensaje de firewall de muestra que indica un ataque bloqueado

[ 72551.977597 ] [ UFW BLOCK ] IN = eth0 OUT = MAC = f2: 3c: 91: 60: 1d: 71: 00: 26: 51: c4: 00: 41: 08: 00 SRC = 184.105.139.71 DST = 45. xxx.xxx.xxx LEN = 40 TOS = 0x00 PREC = 0x00 TTL = 246 ID = 54321 PROTO = TCP SPT = 55298 DPT = 11211 VENTANA = 65535 RES = 0x00 SYN URGP = 0
[ 74893.874472 ] [ UFW BLOCK ] IN = eth0 OUT = MAC = f2: 3c: 91: 60: 1d: 71: 00: 1b: 54: c2: 50: c1: 08: 00 SRC = 216.75.62.8 DST = 45. xxx.xxx.xxx LEN = 40 TOS = 0x08 PREC = 0x20 TTL = 243 ID = 54321 PROTO = TCP SPT = 57239 DPT = 11211 VENTANA = 65535 RES = 0x00 SYN URGP = 0 

Referencias

  • Memcrashed : grandes ataques de amplificación desde el puerto UDP 11211
Pin It

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Nos obligan a moslestarte con la obviedad de que este sitio utiliza Cookies. Ver política