Pomoc zdalna
  • tag
  • fleetdm
Pexels, Jonathan Reynaga
Tag

#fleetdm

Fleet odpytuje komputery, telefony i serwery językiem zapytań, a potem wymusza na nich ustawienia. Opis mechanizmu, licencji i kosztu utrzymania własnej instalacji.

1 wpis z tym tagiem

Zadaniem Fleeta jest odpowiedzieć na dwa pytania o każde urządzenie w firmie: w jakim jest stanie i czy da się ten stan zmienić z jednego miejsca. Pierwsza część to odczyt, druga to polecenie. Projekt występuje pod adresem fleetdm i tak też bywa zapisywany w rozmowach, żeby odróżnić go od słowa oznaczającego po prostu flotę.

Dyspozytor na jednej częstotliwości

Baza transportowa ma pięćdziesiąt ciężarówek w trasie. Dyspozytor nie ogląda żadnej z nich i nie wie, gdzie która stoi. Za to potrafi zadać jedno pytanie na wspólnej częstotliwości, na przykład o poziom paliwa poniżej ćwierci baku, i w kilkanaście sekund dostaje odpowiedzi od wszystkich kierowców naraz. Każdy odczytuje własne wskaźniki, dyspozytor tylko formułuje pytanie i zbiera wyniki. Kiedy trzeba, ten sam kanał niesie polecenie, a nie pytanie.

Ta dwoistość opisuje całe narzędzie. Odczyt idzie od urządzenia, decyzja i polecenie idą do urządzenia, a obie drogi biegną tym samym połączeniem, zestawianym przez komputer, nie do niego.

Komputer odpowiadający zapytaniem SQL

Pod spodem pracuje osquery, otwarty program, który pokazuje stan systemu operacyjnego jako zestaw tabel. Lista procesów jest tabelą, zainstalowane programy są tabelą, użytkownicy, porty nasłuchujące, stan szyfrowania dysku, wersja poprawek, podpięte urządzenia USB: wszystko to odpytuje się zdaniem w języku znanym z baz danych.

Konsekwencja jest praktyczna. Nowe pytanie nie wymaga nowej wersji agenta ani niczyjej zgody producenta, bo jest tylko innym zapytaniem. Pytanie o to, na ilu maszynach stoi konkretna wersja przeglądarki, powstaje w minutę i zwraca wynik z całej floty.

Pytania mają dwa tryby. Zaplanowane chodzą w stałym rytmie i budują historię. Zapytanie na żywo idzie do włączonych w tej chwili urządzeń i odpowiada wtedy, kiedy ktoś stoi nad problemem, a nie nazajutrz.

Co siedzi na urządzeniu, a co po stronie serwera

Na urządzeniu instaluje się pakiet o nazwie fleetd. Składa się z osquery, z zarządcy pilnującego jego wersji i konfiguracji oraz z niewielkiego programu widocznego dla pracownika przy zegarze, pokazującego, co jest z jego komputerem nie tak. Urządzenia z ChromeOS obsługuje osobne rozszerzenie.

Po stronie serwera stoi sama usługa, baza MySQL i Redis. Baza bywa pierwszym wąskim gardłem przy dużej liczbie hostów, więc granicę pojedynczej instalacji wyznacza ona, nie sama usługa. Urządzenia grupuje się w zespoły, a do zespołu przypina zestaw reguł, skryptów i oprogramowania.

Osobną warstwą jest spis oprogramowania z dopasowaniem do publicznych numerów podatności. Lista programów przestaje wtedy być listą i staje się zestawieniem maszyn, na których stoi wersja z opisaną dziurą.

Reguła zapisana jako pytanie o tak lub nie

Polityka w tym narzędziu to zapytanie zwracające jedną z dwóch odpowiedzi. Dysk zaszyfrowany: tak albo nie. Zapora włączona: tak albo nie. Hasło ekranu blokady ustawione: tak albo nie. Z takich pytań składa się obraz zgodności całej floty, a każdy host jest w nim albo po jednej, albo po drugiej stronie, bez miejsca na ocenę opisową.

Druga połowa to wymuszanie. Fleet obsługuje protokoły zarządzania urządzeniami Apple oraz Windows, więc potrafi rozesłać profil konfiguracyjny, uruchomić skrypt, zainstalować pakiet i wymusić aktualizację systemu do wskazanej wersji. Reguła i wymuszenie łączą się w parę: pytanie wykrywa maszynę odstającą, przypisana akcja ją naprawia.

Skan podsieci a program pytany od środka

Narzędzia inwentaryzacyjne oparte na przeszukiwaniu adresów widzą to, co odpowiada w firmowej sieci, i widzą to bez instalowania czegokolwiek. Ich zaletą jest zasięg na sprzęt, do którego niczego nie da się wgrać: przełączniki, drukarki, kamery, zasilacze z kartą sieciową. Ich granicą jest laptop, który od pół roku łączy się wyłącznie z mieszkania i nigdy nie trafia w zakres skanowania.

Podejście agentowe ma odwrotny profil. Nie zobaczy drukarki, bo na drukarce nic nie stanie, za to laptop odzywa się z każdego łącza i przynosi dane, których z sieci nie widać wcale: zawartość dysku, stan szyfrowania, wersje bibliotek. Zestaw rozproszony wypada tu lepiej, biuro pełne sprzętu sieciowego wypada gorzej, a firma mająca jedno i drugie zwykle utrzymuje oba źródła.

Otwarty kod z płatnym kluczem

Większość kodu jest udostępniona na licencji MIT, a część funkcji odblokowuje kupiony klucz. Do tego dochodzi wariant z hostowaniem po stronie producenta i wsparciem z gwarantowanym czasem odpowiedzi. Samodzielne uruchomienie darmowej wersji jest przewidziane wprost, nie jest wersją okrojoną do prezentacji i obsługuje pełne zarządzanie urządzeniami.

Koszt przesuwa się wtedy w stronę utrzymania. Serwer, baza, Redis, certyfikaty, kopie zapasowe bazy i aktualizacje samego serwera, do tego uwaga przy podnoszeniu wersji, bo obsługa najnowszych wydań systemów bywa dowiązana do konkretnej wersji fleetdm. Instalacja postawiona raz i zostawiona sama sobie zaczyna po roku raportować stan sprzed roku.

Firmy, dla których to za ciężkie narzędzie

Biuro na dziesięć osób z samymi komputerami Apple i wykupioną usługą zarządzania od producenta niewiele zyska na budowaniu własnego serwera z bazą. Podobnie firma, która ma już wdrożone zarządzanie stacjami z chmury i traktuje je jako źródło prawdy: drugi mechanizm wymuszający ustawienia potrafi walczyć z pierwszym o ten sam parametr, a przegrywa zwykle ten, który ktoś ustawiał później.

Samo narzędzie nie zastępuje też ochrony urządzeń końcowych. Zapytanie potrafi wykryć wyłączony antywirus i uruchomiony podejrzany proces, ale nie obserwuje ciągu zdarzeń w czasie rzeczywistym i nie odetnie maszyny w trakcie ataku. To dwie różne rzeczy, kupowane osobno.

Tomasz Kaczmarek
Tomasz Kaczmarek

Mogę Ci jakoś pomóc?