LinuxParty
NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
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:
Cómo instalar y configurar Memcached en CentOS 8 (pero sirve para cualquier distro, también)
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
Verifique los puertos abiertos con el comando ss o el comando netstat:
$ ss -tulpn | grep :11211
$ netstat -tulpn | grep :11211
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 (traudico) : grandes ataques de amplificación desde el puerto UDP 11211
- Memcrashed (original)

-
Seguridad
- Añadir una capa adicional de seguridad en la interfaz de inicio de sesión de PhpMyAdmin
- Cómo configurar HTTPS (certificados SSL) para asegurar el inicio de sesión de PhpMyAdmin
- Cómo cambiar y asegurar la URL de inicio de sesión predeterminada de PhpMyAdmin
- 4 herramientas útiles para ejecutar comandos en múltiples servidores Linux
- Por fin, conseguir el certificado digital sin salir de casa ya es posible
- ¿Puede C++ ser más seguro? Bjarne Stroustrup sobre garantizar la seguridad de la memoria.
- 5 herramientas de Hacking ético que bien te gustaría aprender.
- Cómo quitar la contraseña de un archivo PDF usando las opciones de la línea de comandos de Linux
- Restringir acceso a usuarios SSH a cierto directorio mediante chroot jail
- Las 5 mejores prácticas para prevenir ataques de inicio de sesión de fuerza bruta SSH en Linux
- Script para hacer copia de seguridad de los Usuarios, Bases de Datos y /var/www/html
- Cómo recuperar un disco o partición de Linux o Windows. NTFS
- Linux/UNIX elimina la sesión SSH colgada que no responde
- Cómo configurar la autenticación de dos factores para SSH en Linux
- IPTables para limitar las conexiones al servidor FTP