Cómo proteger su servidor del servicio de Memcached

Descripción de la vulnerabilidad

De forma predeterminada, memcached está disponible para todo el mundo en el puerto TCP 11211.   Entre otras utilidades, es posible usar algo tan simple como telnet para conectarse a memcached  y enviar un comando "stat" para obtener información sobre el servicio en sí y otros comandos para recuperar los datos que se almacena en la caché del servicio.   Dependiendo de la finalidad que este servicio tenga en su infraestructura, las políticas de manejo de información y los estándares de programación dentro de su organización, este servicio puede almacenar en caché información muy confidencial.  Un servicio disponible de manera pública podría brindar información confidencial a terceros sin que usted lo sepa.  

A pesar de que su configuración esté predeterminada, este servicio nunca debería estar a disposición del público y su acceso debería restringirse solo a su infraestructura.

Versiones afectadas:

Todas las versiones de memcached

Cómo verificar si su servidor es vulnerable

Puede probar la IP de su servidor con el comando (Reemplace <ipaddress> con la dirección IP de su servidor): 

echo "stats items" | nc <ipaddress> 11211

 


OR:
$ nmap -p 11211 <ipaddress> --script memcached-info

This is the output if it's open:

Starting Nmap 6.40 ( http://nmap.org ) at 2015-04-01 10:09 EDT
Nmap scan report for xx.xx.xx.xx
Host is up (0.063s latency).
PORT      STATE SERVICE
11211/tcp open  unknown
| memcached-info:
|   Process ID           1726
|   Uptime               43215969 seconds
|   Server time          2015-04-01T14:09:03
|   Architecture         32 bit
|   Used CPU (user)      0.728889
|   Used CPU (system)    1.032842
|   Current connections  10
|   Total connections    1678
|   Maximum connections  1024
|   TCP Port             11211
|   UDP Port             11211
|_  Authentication       no
Nmap done: 1 IP address (1 host up) scanned in 0.36 seconds

 

Solución:

1) Si su organización no necesita memcached, debe deshabilitar este servicio y por último desinstalarlo desde el servidor.

2) Si memcached solo es necesario en el servidor en el que se ejecuta el servicio:

Edite el archivo de configuración:  /etc/sysconfig/memcached
y cambie:

OPTIONS=""

Con lo siguiente:

OPTIONS="-l 127.0.0.1"

y reinicie el servicio memcached con el comando:

service memcached restart

Asegúrese de actualizar los servicios que están utilizando este servicio de memcached para conectarse a través de la dirección IP "127.0.0.1" o "localhost", dado que la dirección IP del servidor o el servicio pueden dejar de estar accesibles.  

3) Si memcached debe estar disponible para otros servidores de su organización:

La mejor opción en este caso es bloquear el acceso del público a este servicio y permitir solo el acceso de determinadas direcciones IP mediante un filtrado de paquetes (por ejemplo, iptables) o un firewall para hardware, si está disponible.

Otra opción:

Se puede usar una configuración más avanzada para permitir el acceso de hosts autorizados con autenticación SASL:

http://www.shanison.com/2014/04/29/setup-memcached-with-sasl-authentication/

¿Tiene más preguntas? Enviar una solicitud

0 Comentarios

El artículo está cerrado para comentarios.
Tecnología de Zendesk