Uživatelské nástroje

Nástroje pro tento web


Majordomo

Majordomo je nástroj, který jsme vyvinuli jako reakci na kauzu chytrých televizí některých výrobců, které odesílají data o uživatelské aktivitě.

Cílem Majordomo je poskytnou uživateli nástroj, s jehož pomocí získá snadno přehled nad děním ve své lokální síti.

Možná využití

Protože se nástroj Majordomo nasazuje na routeru, tedy hlavním přístupovém bodu, tak zaznamenává veškerou komunikaci. Mimo hlavního plánovaného využití, tj. poskytnutí přehledu s jakými servery komunikují zařízení ve vaši síti se nabízí i další aplikace: k rodičovskému dohledu nebo k poměrnému rozdělení výdajů na připojení k internetu podle skutečně spotřebovaných dat, pokud jedno připojení sdílíte např. se sousedy.

Pokud tento nástroj nasadíte, mějte vždy na mysli, že se jedná o jistý zásah do soukromí, který může být přijatelný v rodině, ale v jiných případech nikoliv.

Sběr dat

Majordomo sbírá informace o tom, jaké zařízení v lokální síti komunikovalo s jakým serverem na internetu a kolik dat si vyměnili. Data tedy připomínají standardní netflow, ale s několika významnými rozdíly:

Předně jde o agregace dat v rámci sledovaného časového úseku. Pokud pravidelně komunikuje zařízení s konkrétním serverem, na měsíčním pohledu na data se tato komunikace projeví jako jeden záznam se součtem dat a nikoliv mnoho záznamů rozesetých s odstupem hodin.

Další výraznou změnou je základní filtrování provozu. Majordomo zpracovává provoz mezi počítači v lokální síti a internetem a nevšímá si provozu mezi počítači v lokální síti.

Posledním rozdílem je párování zařízení podle lokální MAC adresy a vzdálené IP. Motivací tohoto kroku byla jednoznačná identifikace zařízení bez nutnosti nastavovat statické adresy v celé síti.

Důležitá nastavení

Konfiguraci nástroje Majordomo naleznete na záložce Statistiky / Majordomo / Nastavení.

Majordomo má několik základních a pro provoz důležitých konfiguračních voleb.

Ze všeho nejdůležitější jsou položky, které se týkají databáze Majordomo. Všechna data jsou v adresáři, který je označen jako majordomo_db. Protože se očekává častější přístup k této databázi, je umístěna v adresáři /tmp, který je umístěn v paměti zařízení. Tím předcházíme opotřebovávání interních flash pamětí. Data ovšem nejsou perzistentní a při restartu zařízení dojde k jejich ztrátě. Pro smysluplnější provoz nástroje Majordomo je velmi doporučeno připojit k routeru Turris nějakou externí paměť (SD kartu, flash disk, externí disk) nebo použít existující síťové úložiště v lokální síti.

Dalšími parametry ke konfiguraci jsou počty uchovávaných souborů. Pravidlo je jednoduché. Pokud bude nastaveno uchování posledních 10 denních souborů bude možné zobrazit pro daný měsíc detail pouze za posledních 10 dní. Zbytek dat bude viditelný pouze jako souhrnná měsíční statistika. Počty souborů je vhodné zvolit jako kompromis mezi dostupnou velikostí úložiště a intenzitou využívání nástroje Majordomo.

Zajímavou možností, kterou Majordomo poskytuje, je překlad IP adres na doménová jména podle reverzních záznamů a překlad MAC adres jména výrobců síťových karet. Pro překlad IP adres je použitý DNS resolver v routeru. Pro překlad MAC adres je použitá lokální databáze.

Za zmínku stojí, že výsledky vyhledávání si Majordomo ukládá do cache a nebude tak zbytečně vytěžovat vaše připojení k internetu. Pro lepší uživatelskou přívětivost se cache buduje i na pozadí, aby nebylo nutné dlouho čekat na načtení stránek s přehledem.

Jak data číst

Samotný přenos se identifikuje čtveřicí zdrojová MAC adresa, cílová IP adresa (přeložena na hostname), port, protokol. Na první pohled tedy vidíte, které zařízení komunikovalo s jakým serverem a o jakou komunikaci se pravděpodobně jednalo. Mezi známé porty patří např. 80/TCP (http), 443/TCP (https), 993/TCP (šifrovaný IMAP - tj. elektronická pošta), 123/UDP (NTP - synchronizace času po internetu) apod. Seznam nejznámější portů lze nalézt např. na wikipedii (http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers) a ty méně známe jde obvykle velmi dobře vyhledat.

Data, která v přehledu uvidíte, jsou: počet paketů, celková přenesená velikost a velikost přenesených dat. Stejná data jsou dostupná shodně pro download i upload.

Analýzu dat je vždy nutné provést v návaznosti na zařízení a jeho používání. Nedá se přesně definovat, co je dobré a co je špatné. Pokud se budeme bavit o televizi, která zvládá streamování z internetu, je v pořádku vysoký download, ale vysoký upload by již mohl být nápadný. V tomto případě je vhodné prošetřit, na jaké adresy a případně porty se data odesílají. Velký počet přenesených dat s některou z populárních streamovacích služeb bude určitě méně nápadný než přenos na servery výrobce daného zařízení.

Na tomto místě je důležité udělat jednu poznámku, abychom předešli nedorozuměním. Protokol TCP (a často se toto chování napodobuje i při implementaci nějaké služby nad UDP) funguje tak, že příjemce potvrzuje přijaté pakety odesilateli, aby byla zajištěna konzistence dat. Uveďme si příklad:

Stažení 2 GB souboru přes protokol http (80/TCP) vygeneruje následující provoz:

  • Počet paketů (download): 888878
  • Celková velikost (download): 2.06 GB
  • Velikost dat (download): 2.00 GB
  • Počet paketů (upload): 746777
  • Celková velikost (upload): 53.15 MB
  • Velikost dat (upload): 1.42 MB

Z tohoto výpisu je patrné, že jsme přenesli data skutečně o velikosti 2 GB. Celkově jsme ovšem přenesli 2.06 GB, kde 0.06 GB navíc představuje hlavičky paketů (ty říkají odkud kam paket směřuje apod.) Tento přenos vyvolal 53 MB upload v podobě paketů které potvrzovaly přijetí. Dobrým vodítkem je i fakt, že z přenesených 53 MB bylo reálných dat pouze zlomek, cca 1.5 MB. To odpovídá funkci protokolu, protože potvrzení (tzv. ACK) jsou uloženy pouze v hlavičkách.

Zde se jedná o přenos relativně malých dat, ale podobné věci se přirozeně budou dít i při řádově větších přenosech. Z příkladu by tedy mělo být patrné, že vysoký upload nemusí být problém, pokud odpovídá i velikost downloadu. Stejně tak nemusí být problém vysoký upload, pokud se přenášejí převážně hlavičky a téměř žádná data.

Co s podezřelým zařízením

Majordomo slouží pouze pro detekci problému. Jeho řešení závisí již na uživateli samotném. Nejzákladnější možností je zablokovat danou adresu na firewallu, aby zařízení na dané adrese nemohlo nadále komunikovat.