Que fait le service résolu par systemd et doit-il écouter sur toutes les interfaces? [fermé]

11

Je travaille sur un projet qui implique un périphérique IOT (désormais obsolète Intel Galileo). Je cherche à durcir ces appareils et j'ai remarqué que le systemd-resolvedservice écoute sur toutes les 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

Après avoir lu la description freedesktop.org du service ici , il déclare que,

systemd -olved est un service système qui fournit une résolution de noms de réseau aux applications locales.

J'ai couru un test où j'ai couru pingjusqu'à l' google.comendroit où systemd-resolvedcourait. J'ai ensuite désactivé le service et envoyé un pingà yahoo.com. Il n'y a eu aucune perte de paquets pour l'une ou l'autre demande.

Ma ou mes questions sont les suivantes:

  1. Que fait ce service?

  2. S'il fournit une résolution de noms aux applications locales, pourquoi écoute-t-il sur l' 0.0.0.0interface?

  3. Est-ce un problème de sécurité?

  4. Quels sont les impacts potentiels de la désactivation de ce service?

Merci d'avance pour toute information / aide. Toutes mes excuses si je ne me suis pas conformé au format de question, première fois. Veuillez modifier au besoin.

jeeves
la source
Il y a actuellement un problème de sécurité avec systemd-resolver et je voudrais donc rester à jour avec les correctifs pour ce service et en attendant le désactiver, c'est possible. La meilleure option serait de créer un banc d'essai et de vérifier que tout fonctionne comme prévu. Systemd-resolver est conçu pour la communication inter-processus de systemd mais de nombreuses applications héritées n'ont pas été écrites pour systemd et ne référenceront donc pas systemd-resolver.
Raman Sailopal
1
Merci pour la réponse @Raman. Nous sommes en train de tester la désactivation. J'étais au courant d'un exploit publié sur Ubuntu par rapport à la résolution de systemd. Merci encore
jeeves

Réponses:

11

systemd-resolvedest nécessaire à systemd. Sauf si vous installez un résolveur DNS alternatif, vous devez le conserver.

Il est important de noter qu'il écoute réellement les paquets UDP 127.0.0.53:53pour effectuer la résolution DNS pour vous:

# 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

Les 5355sockets de port doivent implémenter la résolution de nom de multidiffusion locale (LLMNR) qui est une fonctionnalité utile uniquement dans les réseaux locaux.

Pour le désactiver, éditez /etc/systemd/resolved.confet changez la ligne

#LLMNR=yes

à

LLMNR=no

puis redémarrez le service avec service systemd-resolved restartet vérifiez à nouveau:

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