Pregunta ¿Qué hace el servicio resuelto de systemd y necesita escuchar en todas las interfaces?


Estoy trabajando en un proyecto que involucra un dispositivo IOT (el ahora desaprobado Intel Galileo). Estoy buscando endurecer estos dispositivos y noté que la systemd-resolved El servicio está escuchando en todas las interfaces (0.0.0.0).

root@hostname:~# netstat -altnp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:5355            0.0.0.0:*               LISTEN      240/systemd-resolve

Después de leer la descripción freedesktop.org del servicio. aquí, se afirma que,

systemd-resolution es un servicio del sistema que proporciona resolución de nombres de red a aplicaciones locales.

Corrí una prueba donde corrí ping a google.com donde el systemd-resolved estaba corriendo. Entonces deshabilité el servicio y envié un ping a yahoo.com. No hubo pérdida de paquetes para ninguna de las dos solicitudes.

Mis preguntas son las siguientes:

¿Qué está haciendo este servicio?

Si proporciona resolución de nombres a las aplicaciones locales, ¿por qué escucha en la 0.0.0.0 ¿interfaz?

¿Es esto un problema de seguridad?

¿Cuáles son los impactos potenciales de deshabilitar este servicio?

Gracias de antemano por cualquier información / ayuda. Disculpas si no he cumplido con el formato de la pregunta, primera vez post. Por favor, edite según sea necesario.


6
2017-07-03 08:27


origen


Actualmente hay un problema de seguridad con systemd-resolver y, por lo tanto, me mantendría al día con los parches para este servicio y, mientras tanto, deshabilitarlo es posible. La mejor opción sería crear una plataforma de prueba y probar que todo funciona como se espera. Systemd-resolver está diseñado para la comunicación entre procesos de systemd, pero muchas de las aplicaciones heredadas no se han escrito para systemd y, por lo tanto, no hacen referencia a systemd-resolver. - Raman Sailopal
Gracias por la respuesta @Raman. Estamos en el proceso de prueba de desactivación. Estaba al tanto de un exploit publicado en Ubuntu wrt para systemd-resolvido. Gracias de nuevo - jeeves


Respuestas:


systemd-resolved es necesario por systemd. A menos que esté instalando una resolución DNS alternativa, debe mantenerla.

Es importante tener en cuenta que en realidad está escuchando paquetes UDP en 127.0.0.53:53 Para hacer la resolución de DNS para usted:

# netstat -npa | grep systemd-resolve
tcp        0      0 0.0.0.0:5355            0.0.0.0:*               LISTEN      205/systemd-resolve
tcp6       0      0 :::5355                 :::*                    LISTEN      205/systemd-resolve
udp        0      0 127.0.0.53:53           0.0.0.0:*                           205/systemd-resolve
udp        0      0 0.0.0.0:5355            0.0.0.0:*                           205/systemd-resolve
udp6       0      0 :::5355                 :::*                                205/systemd-resolve

El puerto 5355 los sockets deben implementar la Resolución de nombres de multidifusión de enlace local (LLMNR), que es una característica que solo es útil en las LAN.

Para desactivarlo, edita /etc/systemd/resolved.conf y cambiar la linea

#LLMNR=yes

a

LLMNR=no

y luego reiniciar el servicio con service systemd-resolved restart y vuelva a comprobar:

# netstat -npa | grep systemd-resolve
udp        0      0 127.0.0.53:53           0.0.0.0:*                           404/systemd-resolve

1
2017-09-05 22:53