Co Ubuntu wie o Twoim sprzęcie?
Napisał: Patryk Krawaczyński
16/01/2020 w Bezpieczeństwo Brak komentarzy. (artykuł nr 716, ilość słów: 577)
W
szystko zaczęło się od jednego tweeta, który uświadomił nagle wielu osobom, że mechanizm w dystrybucji Linuksa Ubuntu za pomocą skryptów odpowiedzialnych za generowanie zawartości pliku /etc/motd (ang. Message of the Day) pobiera informacje z serwerów firmy Ubuntu. Nic by nie było w tym dziwnego, gdyby nie fakt, że podczas tego procesu wysyła też sporo „osobistych” i możliwych do zidentyfikowania informacji z Twojej stacji roboczej lub serwera. Za każdym razem kiedy logujemy się na maszynę dowolnego Linuksa uruchamiamy logikę w „MOTD”. Jest to komunikat dnia, który może być ustawiony przez administratora w celu przekazania informacji użytkownikom lub różne skrypty w celu poinformowania administratora o roli i innych metadanych serwera:
Welcome to Ubuntu 18.04.3 LTS (GNU/Linux 5.0.0-37-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
Ubuntu 18.04.3 LTS
System information as of Wed Jan 15 20:59:36 CET 2020
System load: 0.07 Processes: 147
Usage of /home: 0.1% of 427.62GB Users logged in: 1
Memory usage: 26% IP address for eth0: 10.10.10.1
Swap usage: 0%
* Overheard at KubeCon: "microk8s.status just blew my mind".
https://microk8s.io/docs/commands#microk8s.status
2 packages can be updated.
1 update is a security update.
Your Hardware Enablement Stack (HWE) is supported until April 2023.
*** System restart required ***
You have mail.
Last login: Wed Jan 15 20:59:40 2020 from 10.10.10.2
agresor@darkstar:~$
Jakie dane są wysyłane?
Jak widać oprócz nazwy serwera, wersji jądra i innych metainformacji, Ubuntu umieszcza nawet krótkie reklamy (KubeCon). Nic dziwnego. We współczesnych dystrybucjach komunikat MOTD jest budowany dynamicznie i składa się z kilku niezależnych elementów. Cała logika informacji z pliku /etc/motd znajduje się w katalogu /etc/update-motd.d/. Jest tam kilkanaście skryptów, które zajmują się budowaniem wiadomości w MOTD. Nas będzie interesował skrypt /etc/update-motd.d/50-motd-news:
root@darkstar:~# cat /etc/update-motd.d/50-motd-news | grep curl USER_AGENT="curl/$curl_ver $lsb $platform $cpu $uptime cloud_id/$cloud_id" curl --connect-timeout "$WAIT" --max-time "$WAIT" -A "$USER_AGENT" -o- "$u" >"$NEWS" ...
Jak widzimy niestandardowy agent użytkownika generowany jest na podstawie danych z takich zmiennych jak: $lsb, $platform, $cpu, $uptime oraz $cloud_id. Sprawdźmy jakie dokładnie dane zostaną wysłane do serwera motd.ubuntu.com:
# strace -o showme -ff -s 9999 /bin/sh /etc/update-motd.d/50-motd-news --force
# egrep ^execve showme* | grep /usr/bin/curl
showme.18653:execve("/usr/bin/curl",
["curl", "--connect-timeout", "60", "--max-time", "60", "-A",
"curl/7.58.0-2ubuntu3.8
Ubuntu/18.04.3/LTS
GNU/Linux/5.0.0-37-generic/x86_64
Intel/Xeon/E3-12xx/v2/(Ivy/Bridge)
uptime/3283420.80/13036313.54
cloud_id/ec2",
"-o-", "https://motd.ubuntu.com"], 0x5592b31a2070 /* 18 vars */) = 0
Na liście mamy:
- wersję programu curl
- pełną wersję dystrybucji
- szczegóły modelu procesora
- uptime serwera
- rodzaj platformy chmury publicznej lub prywatnej
Więc Ubuntu jest w stanie powiedzieć: jakie aktualizację bezpieczeństwa zostały zainstalowane na naszym serwerze; czy jesteśmy podatni na Spectre / Meltdown; gdzie (IP + cloud_id) i na jakiej platformie uruchomiona jest nasza maszyna.
Jak wyłączyć motd-news?
Czy nasz serwer powinien udostępniać takie dane, czy nie – zależy wyłącznie od nas. Jeśli nie interesuje nas dostarczanie tego typu metadanych o naszym komputerze wystarczy zmodyfikować plik /etc/default/motd-news i ustawić ENABLED=0. Zapisać zmiany w pliku i gotowe. Następne logowanie nie będzie już pobierać i wysyłać naszych danych przez internet.
Więcej informacji: What exactly is being sent to Ubuntu in the MOTD?, Disabling Ubuntu MOTD Spam

