LinuxParty
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 IP.PROPIA to IP.PROPIA 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
- Conexión Segura NFS en Linux, Tunelizar NFS sobre SSH y Configuración de NFS sobre SSH para Mayor Seguridad
- Utilizar ssh sin contraseña con ssh-keygen y ssh-copy-id
- Millones de teléfonos móviles podrían ser vulnerables a la vigilancia del gobierno chino
- Cómo limitar las conexiones SSH a la red local en Linux
- Los televisores inteligentes son como un «caballo de Troya digital» en los hogares
- Snort para Windows, detección de Intrusos y seguridad.
- Detección de Intrusiones con las herramientas: BASE y Snort.
- El Sistema de Detección de Intrusos: Snort. ( Windows y Linux )
- Configuración con Ejemplos de Snort para Windows, detección de intrusiones
- ¿El gobierno de EE. UU. ignoró la oportunidad de hacer que TikTok fuera más seguro?
- ¿Qué es SSH y cómo se utiliza? Los conceptos básicos de Secure Shell que necesitas saber
- Asegurar memcached del servidor, para evitar amplificar ataques DDoS
- Consejos de Seguridad para Pagos Móviles en España: Protege tus Transacciones con Estos Consejos Prácticos
- 22 herramientas de seguridad de servidores Linux de código abierto en 2023
- 8 hábitos que deben tomar los teletrabajadores altamente seguros