Назад | Перейти на главную страницу

Что делает служба systemd-resolved и нужно ли ей прослушивать все интерфейсы?

Я работаю над проектом, который включает устройство IOT (ныне устаревшее Intel Galileo). Я смотрю на усиление защиты этих устройств и заметил, что systemd-resolved сервис прослушивает все интерфейсы (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

После прочтения описания услуги freedesktop.org Вот, в нем говорится, что,

systemd-resolved - это системная служба, которая обеспечивает разрешение сетевых имен для локальных приложений.

Я провел тест, где я бегал ping к google.com где systemd-resolved бегал. Затем я отключил службу и отправил ping к yahoo.com. Ни для одного из запросов не было потери пакетов.

Мои вопросы заключаются в следующем:

  1. Что делает эта служба?

  2. Если он предоставляет разрешение имен локальным приложениям, почему он прослушивает 0.0.0.0 интерфейс?

  3. Это проблема безопасности?

  4. Каковы потенциальные последствия отключения этой службы?

Заранее благодарим за любую информацию / помощь. Приносим извинения, если я не соблюдал формат вопроса, первый пост. Пожалуйста, отредактируйте по мере необходимости.

systemd-resolved требуется systemd. Если вы не устанавливаете альтернативный преобразователь DNS, вы должны оставить его.

Важно отметить, что на самом деле он прослушивает UDP-пакеты на 127.0.0.53:53 чтобы сделать разрешение DNS для вас:

# 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

Порт 5355 сокеты должны реализовывать Link-Local Multicast Name Resolution (LLMNR), которая является функцией, полезной только в локальных сетях.

Чтобы отключить его, отредактируйте /etc/systemd/resolved.conf и измените строку

#LLMNR=yes

к

LLMNR=no

а затем перезапустите службу с помощью service systemd-resolved restart и еще раз проверьте:

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