Registrace MAC

From NMS
Jump to: navigation, search

Popis řešení

Povinné registrace síťových zařízení jsou na FJFI (v Trojance) řešeny (primitivně) na úrovni přidělování různých adres DHCP serverem. Sice se toto řešení dá lehce obejít, ale primárním účelem není zabezpečit síť proti neoprávněnému používání (možnosti zabezpečení jsou uvedeny na konci) nýbrž možnost jednoduše dohledat správce zařízení v případě podivného chování na síti nebo přímo stížností.

Stroje, které nejsou zaregistrovány v databázi dostávají pouze IPv4 adresy ze Privátní adresy na default VLAN fjfi-*-def|speciálního rozsahu, který není normálně routován do internetu. S touto adresou se uživatel dostane pouze na web stránku s registračním formulářem (a pár základních informačních stránek ČVUT/FJFI). Po vyplnění tohoto formuláře s ověřením identity je ihned povolen přístup "ven". Uživatel má sice stále privátní adresu (změnu adresy totiž nelze vynutit a dojde k ní do 10 minut expirací DHCP leasu), ale na nms.fjfi.cvut.cz je přidáno pravidlo povolující NAT do internetu pro danou IP a MAC. Toto pravidlo je automaticky smazáno, když dané zařízení není delší dobu (hodinu) dostupné pomoci ARPingu.

Konfigurace DHCP/DHCPv6 serveru se (zatím) updatuje každých 5 minut na základě informací o zaregistrovaných zařízení. Po update DHCP bude dostávat každé zaregistrované zařízení IP adresy z vyhrazeného rozsahu rozsahu (např. veřejné adresy 147.32.7.0/24 v Trojance). Výhledově je v plánu dynamická konfigurace DHCP serveru, takže se změny v konfiguraci projeví okamžitě (tedy z pohledu klienta samozřejmě až po nejbližší žádosti o DHCP adresu). Standardní doba platnosti pro dynamicky přidělované adresy je jedna hodina.

Administrátor může zlobivá zařízení "zablokovat" a takové zařízení bude dostávat stejné adresy jako neregistrovaná (smazaná) zařízení. Narozdíl od neregistrovaných (smazaných) zařízení ale uživatel nemá možnost provést novou registraci a bude pouze informován o blokaci s kontakty na správce. Pokud má zařizení zkonfigurovanou statickou adresu, potom tento způsob blokace není funkční a je potřeba IP resp MAC adresu nechat zablokovat přímo na switch (disablovat port) nebo na routeru.

Registrace se samozřejmě "netýkají" WiFi sítí (Eduroam, WiFiFJFI), protože tam je zařízení automaticky zaregistrováné při přihlášení uživatele k této síti. Z tohoto důvodu je také potřeba mít WiFi sítě na zvláštních VLANách (pro Eduroam by se to ještě dalo vyřešit bez VLAN, ale u WiFiFJFI to bez VLAN nejde). Vzhledem k samostatně routovaným VLANám pak mají tyto sítě i vlastní IP rozsahy (Eduroam, WiFiFJFI, ...).

Ještě je nutné zajistit, aby blokovaná resp. smazaná zařízení něměla přístup ani přes WiFiFJFI a Eduroam sít. K tomu je vyhrazen rozsah privátních adres z nichž opět nelze komunikovat do internetu a zobrazí se captive portál s informací o blokaci zařízení + kontakty na správce. Stejně jako při registracích ani v tomto případě klientovi nepřidělí DHCPv6 žádnou IPv6 adres, takže stačí mít registrační procesy zkonfigurované a funkční pouze pro IPv4. Samozřemě, že až se rozšíří IPv6-only zařízení bude nutné provést revizi aktuálního přístupu, který taková zařízení přímo nepodporuje.

Použité komponenty

Registrace

Registruje-li zařízení běžný uživatel přes rozhraní nmsui nebo libovolný uživatel přes captive portál, potom je možné nastavit pouze základní parametry. Bez speciálních práv tak nelze provádět rezervaci vlastní IP adresy nebo například automatické přidání jména zařízení do DNS. Pro běžného uživatele se registrace chová tak, jako kdyby požadoval IP adresu "auto" a ta je vyhodnocena na základě pravidel zajišťujících přiřazení konkrétních rezervovaných IP adres. Použité pravidlo pro přiřazení IPv4/IPv6 adres může být i prázdné a v takovém případě bude zařízení přidělována adresa z dynamického DHCP poolu (pokud je pro daný subnet podporován). Při uživatelské registraci také nedochází k žádným modifikacím záznamů v DNS.

captive portal registration
user registration
admin registration

Oprávnění správcí mohou na stránce s registracemi přímo přesně specifikovat IPv4/IPv6 adresy a VLANy (standardně je správna VLAN přiřazena automaticky a není doporučeno specifikovat vlastní jména). Jako IP adresu lze tedy zvolit:

  • auto - defaultní volba, která vybere automaticky adresy dle pravidel (je možné vytvářet nová pravidla s novými jmény a různými filtry)
  • auto@vlan - vybere automaticky adresy, ale pouze z VLAN daného jména
  • 192.0.2.123 - přiřazení konkrétní IP adresy s automatickým výběrem VLAN (adresa musí být ze známého rozsahu)
  • 192.0.2.123@VLAN - přiřazení konkrétní IP adresy na VLAN daného jména
  • 2001:DB8::123 - přiřazení konkrétní IP adresy s automatickým výběrem VLAN (adresa musí být ze známého rozsahu)
  • 2001:DB8::123@VLAN - přiřazení konkrétní IP adresy na VLAN daného jména
  • 192.0.2.123,2001:DB8::123 - přiřazení více adres jednomu rozhraní (nebo v případě více rozhraní/MAC bude první adresa přidělena prvnímu rozhraní/MAC, ...)
  • auto,192.0.2.123,2001:DB8::123 - kombinace "auto" pravidla + přidání dalších dvou specifických adres
  • "prázdné pole" - zařízení nebude mít rezervovanou žádnou adresu a bude dostávat dynamicky přidelované adresy

Pravidla pro automatické vytváření rezervovaných adres

Pokud uživatel registruje zařízení pomocí captive portálu nebo administrátor při ruční registraci zvolí jako IP adresu klíčové slovo "auto" (resp. libovolný název pravidla ze seznamu) dojde k automatickému výběru rezervované IPv4/IPv6 adresy. Aktivní pravidla s odpovídajícím jménem jsou vyfiltrována podle zadefinovaných vlastností zařízení (vlastníka, typu zařízení, umístění, ...) a seřazena sestupně podle váhy. Pravidlo s největší vahou je následně použito pro automatický výběr volných IPv4/IPv6 adres z uvedených rozsahů.

Jedním pravidlem můžeme zařízení přiřadit libovolný počet IPv4/IPv6 adres z různých VLAN. Při aplikaci konkrétního pravidla se postupně zpracují všechny zadefinované IPv4/IPv6 rozsahy a pro každou VLAN se vybere první volná adresa z uvedeného rozsahu. Pokud je již přidělený rozsah plně obsazen (resp. jsou plně obsazeny všechny rozsah na dané VLAN), zařízení nezíská žádnou rezervovanou adresu. Při vytváření pravidel není nutné uvádet z jaké VLAN je konkrétní IP rozsah a v takovém případě se vybere správná VLAN odpovídající IP rozsahu.

Filter u pravidel může obsahovat jak základní vlastnosti zařízení (vlastníka, typ, umístění, status), tak i položky nepřímo související s registovaným zařízením:

  • VLAN - administrátor může jako IP adresu zařizení zvolit nejen "auto", ale i adresu z konkrétní vlany jako například "auto@fjfi-tr-def" a pomocí VLAN filtru pak můžeme přiřazovat různé adresy v závislosti na požadavku na konkrétní VLAN
  • users - tento filtr může obsahovat seznam uživatelských jmen oddělených čárkou a uživatel registrující zařízení musí být v seznamu uveden, aby se na něj toto pravidlo aplikovalo (např.: "vokacpet,keroupav,schlopet")
  • groups - podobně jako filtr users může obsahovat seznam skupin a uživatel registrující zařízení musí být členem jedné z uvedených skupin (např.: "km_all,kf_all")
  • priv - tento filtr lze aplikovat na práva přidělená správcům přímo pro toto web rozhraní (např. "mac_ro")

Dohledání speciálních zařízení

U počítačů, notebooků, PDA, ... by neměla registrace dělat problém, protože tyto zařízení obsahují web browser přesměrovaný automaticky na captive portál (některé adresy/porty jsou dostupné i pro neregistrovaná zařízení - informační weby ČVUT/FJFI, služby FJFI AD pro joinutí stroje do domény, ...). Jiné je to pro ostatní zařízení jako jsou například síťové tiskárny, VoIP telefony, ... Ty je potřeba registrovat předem (MAC adresa bývá většinou u síťového rozhraní uvedena) nebo je potřeba nastavit statickou IP adresu z přiděleného rozsahu.

Není-li MAC adresa známa a nelze-li nakonfigurovat ručně statickou IP adresu (dohledatelnou přes online historii), potom pro zjištění MAC může posloužit online přístup k informacím o DHCP požadavcích. V horším případě mohou posloužit logy DHCP serveru nebo by hledání mohl usnadnit seznam zařízení podle typu výrobce nebo nakonec běžící zařízení v rozsahu neregistrovaných zařízení (tyto rozsahy lze dohledat na stránce s informacemi o využití IP adres pro neregistrovaná/blokovaná/smazaná zařízení).

Zaregistrované adresy

Zaregistovat je nutné nejen všechny MAC adresy objevující se na FJFI síti (optimálně všechny MAC jednoho zařízení přidat k jedné registraci), ale také všechny používané IPv4/IPv6 adresy a to i pro zařízení, které mají IPv4/IPv6 adresy zkonfigurovány staticky lokálně a nevyužívají DHCP (např. servery). Pokud zařízení nevyžaduje stálou IP adresu, nemusí být pro dané síťové rozhraní (MAC) zaregistrována žádná adresa a v takovém případě bude zařízení dostávat adresu z rozsahu vyhrazeného pro dynamickou alokaci IP adres (některé speciální VLAN nemusí dynamickou alokaci podporovat). Dynamická alokace IPv4 adres je vhodná zvláště pro zařízení, která nejsou připojena do síťě pernamentně (notebooky studentů, ...), jelikož těchto adres není neomezené množství. U kancelářských počítačů používaných denně je doporučeno využívat rezervované (stálé) adresy. Stejně tak na IPv6 je vzhledem k prakticky neomezenému množství adres doporučeno používat/rezerovat konkrétní adresu (minimálně pro VLAN/budovu, kde se zařízení často vyskytuje).

Součástí registrace konkrétní adresy je i VLAN na níž se bude adresa používat. Standardně ji při registraci není potřeba uvádět, protože se automaticky vybere správná VLAN dle hodnoty IPv4 resp. IPv6 adresy (IP rozsahy pro různé VLAN mají prázdný průnik a VLAN tak lze jednoznačně určit). Uživatel má ale možnost specifikovat uvést libovolné jmeno VLAN bez ohledu na to jestli vůbec existuje nebo odpovídá hodnotě IP adresy (nedoporučeno - opravdu musíte vědět co děláte) a aplikace využívající data z registrací si s tim musí nějak rozumně poradit (např. takové "nesprávné" záznamy adres/VLAN ignorovat).

Toto není dostatečně dokončno/otestováno - pokud chcete tuto vlastnost využívat kontaktujte [1]. Existuje také možnost zakázat přidělování IPv4 resp. IPv6 adres a to buď globálně na všech VLAN nebo pro konkrétní VLAN. K tomu slouží speciální klíčové slovo "disabled4" resp. "disabled6", které se uvede místo IP adresy u registrovaného zařízení. Dále máte možnost specifikovat pomocí klíčových slov "nat4" a "nat6", že si přejete dostávat privátní NATované adresy z dynamicky přidělovaného rozsahu.

Registrované adresy jsou používány nejen ke konfiguraci DHCP, ale také k monitorování, jestli dané zařízení není chybně zkonfigurováno a nevyužívá náhodou cizí adresu. To by mohlo potenciálně vést k problémům se síťovým připojením a proto je na takovou situaci upozorněn správce zařízení a daného subnetu. Více informací je na stránce týkající se monitoringu.

Podporované hodnoty pro zaregistrovanou adresu:

  • IPv4 adresa - rezervovaná IPv4 adresa pro zařízení / interface
  • IPv6 adresa - rezervovaná IPv6 adresa pro zařízení / interface
  • disabled4 - nepřidělovat IPv4 adresu, viz. výše
  • disabled6 - nepřidělovat IPv6 adresu, viz. výše
  • nat4 - používat privátní IPv4 adresu, viz. výše
  • nat6 - používat privátní IPv6 adresu, viz. výše

Registrační data - detaily

Uživatelsky definované příznaky "Flags"

Tyto položky mohou obsahovat libovolná uživatelská data sloužící dalším aplikacím využívajícím registrace (např. PXE bootovací volby aplikované na konfiguraci DHCP serveru). Jedná se v podstatě o key/value seznam, kde klíč určuje typ záznamu a hodnota může obsahovat libovolná data využívaná cílovou aplikací. Pro každý typ záznamu je možné nadefinovat přístupová práva (aktuálně jsou uložena přímo v konfiguračním souboru RESTful API) pomocí nichž lze specifikovat kdo má mít přístup pro čtení/zápis (god/admin/user/anonym).

Device registration Flags
name scope acl (read/write) owner date data
description
notify device admin/admin vokacpet 2010 -
pošli mail správci subnetu (případně na zadanou adresu) pokud se toto zařízení objeví na síti
ad device admin/god vokacpet - DN
automaticky nastavovaný příznak podle zařazení počítače joinutého do AD
pxe device admin/admin vokacpet 2010 [147.32.9.2] [/gpxelinux.0] [xx:xx:xx:xx:xx:xx]
zkonfiguruj DHCP server, aby posílal informace o síťovém bootování ze serveru 147.32.9.2 (default) a jeho souboru /gpxelinux.0 (default) přístupném přes TFTP protokol (pří existencí více síťových rozhraní lze specifikovat konkrétní MAC adresu rozhraní, které má použít tuto konfiguraci)
pxe device admin/admin vokacpet 2010 template_name [xx:xx:xx:xx:xx:xx]
zkonfiguruj DHCP server, aby posílal informace o síťovém bootování podle předdefinovaných šablon s volitelným výběrem konkrétního síťového rozhraní

dostpné šablony:

  • default ('147.32.9.2', '2001:718:2:1900::2', '/gpxelinux.0')
voip device admin/admin vokacpet 2016 template_name|address1 [address2 [...]]
specifikace TFTP serveru pro IP telefony odkud budou stahovat konfiguraci Cisco Call Manager (CCM), nespecifikujete-li žádnou hodnotu pak se použije standardní "default" šablona s IPv4 a IPv6 adresami ČVUT CCM. Můžete také uvést více IPv4 resp. IPv6 adres oddělených mezerami. Pokud u registrovaného zařízení nastavíte více příznaků "voip" potom bude výsledný seznam obsahovat sjednocení všech zadaných adres. Pro IP telefony od Cisco identifikující se jako "Cisco Systems, Inc. IP Phone" resp. "Cisco IP Phone" bude i bez konfigurace příznaku "voip" automaticky posílán seznam ČVUT CCM TFTP adres.

dostupné šablony:

  • default [ '147.32.240.199', '147.32.240.200', '2001:718:2:2201::199', '2001:718:2:2201::200' ]

Řešení stížnosti / blokací

  • neplatné údaje
  • IDS detekce
  • stížnost od abuse@cvut.cz
    • přichází do konference nightwatch@lists.fjfi.cvut.cz
    • podle informací o běžících (NATovaných) a registrovaných zařízení je potřeba dohledat viníka
      • u problémů se zařízeními ze sítě Eduroam řešíme incidenty pouze pro uživatele z @fjfi.cvut.cz realm
      • u ostatních realm totiž nemáme (spolehlivou) informaci o pravé vnitřní identitě
      • pro realmy z domény cz správce Eduroam pošle incident přímo na správce dané real podle informací z CAAS
      • pro uživatele z ciziny lze je možné odpovědět pouze zpět CESNETu, at jako správce národního Eduroamu vykomunikuje daný incident s cizinou (je potřeba přiložit příslušné logy lokálního Eduroam RADIUS serveru vztahující se k IP problematického zařízení)
    • přeposlat došlou stížnost viníkovi s požadavkem na nápravu a do kopie vždy dát nightwatch@lists.fjfi.cvut.cz, aby byla dohledatelná informace, že se incident řeší
    • v případě stížností, které mají přiřazený CESNET ticket je potřeba neprodleně informovat i certs@cesnet.cz o řešení incidentu (max 1-2 dny)
    • uživatelská zařízení s CESNET ticketem blokovat (a tak si vynutit reakci uživatele)
    • informaci o incidentu případně datum zablokování/odblokování poznamenat do poznámky v registraci zařízení

Možnosti zabezpečení proti neoprávněnému přístupu

  • současné řešení + informace o problematických registrací z monitorovacího daemona arpmon
  • povolení routovaní na CISCO pouze adres přidělených od DHCP (nutné precizní zařazení do VLAN - netriviální resp. trošku pracné, ale možné realizovat)
  • autentizace LAN klientů přes RADIUS (nemožné realizovat bez switchů s podporou RADIUS autentizace)