Apa yang dilakukan oleh layanan yang diselesaikan oleh systemd dan apakah perlu mendengarkan semua antarmuka? [Tutup]

11

Saya sedang mengerjakan proyek yang melibatkan perangkat IOT (Intel Galileo yang sekarang sudah tidak digunakan lagi). Saya melihat pengerasan perangkat ini dan saya perhatikan bahwa systemd-resolvedlayanan mendengarkan pada semua antarmuka ( 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

Setelah membaca deskripsi freedesktop.org tentang layanan di sini , dinyatakan bahwa,

systemd-resolved adalah layanan sistem yang menyediakan resolusi nama jaringan untuk aplikasi lokal.

Saya menjalankan tes di mana saya berlari pingke google.comtempat systemd-resolvedberlari. Saya kemudian menonaktifkan layanan dan mengirim pingke yahoo.com. Tidak ada paket loss untuk salah satu permintaan.

Pertanyaan saya adalah sebagai berikut:

  1. Apa yang dilakukan layanan ini?

  2. Jika itu memberikan resolusi nama untuk aplikasi lokal, mengapa ia mendengarkan pada 0.0.0.0antarmuka?

  3. Apakah ini masalah keamanan?

  4. Apa dampak potensial dari menonaktifkan layanan ini?

Terima kasih sebelumnya atas segala informasi / bantuan. Permintaan maaf jika saya belum mematuhi format pertanyaan, posting pertama kali. Harap edit sesuai kebutuhan.

jeeves
sumber
Saat ini ada masalah keamanan dengan systemd-resolver dan jadi saya akan tetap up to date dengan tambalan untuk layanan ini dan sementara itu menonaktifkannya dimungkinkan. Opsi terbaik adalah membuat rig uji dan menguji apakah semuanya berfungsi seperti yang diharapkan. Systemd-resolver dirancang untuk komunikasi antar proses systemd tetapi banyak dari aplikasi lawas belum ditulis untuk systemd dan karenanya tidak akan merujuk pada systemd-resolver.
Raman Sailopal
1
Terima kasih atas balasannya @Raman. Kami sedang dalam proses pengujian penonaktifan. Saya menyadari eksploit yang dikeluarkan pada Ubuntu wrt untuk systemd-diselesaikan. Terima kasih lagi
ampun

Jawaban:

11

systemd-resolveddibutuhkan oleh systemd. Kecuali Anda menginstal resolver DNS alternatif, Anda harus menyimpannya.

Penting untuk dicatat bahwa sebenarnya mendengarkan paket UDP 127.0.0.53:53untuk melakukan resolusi DNS untuk Anda:

# 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

5355Soket port harus menerapkan Link-Local Multicast Name Resolution (LLMNR) yang merupakan fitur yang hanya berguna dalam LAN.

Untuk menonaktifkannya, edit /etc/systemd/resolved.confdan ubah jalurnya

#LLMNR=yes

untuk

LLMNR=no

dan kemudian restart layanan dengan service systemd-resolved restartdan periksa lagi:

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