Portál AbcLinuxu, 30. dubna 2025 10:28

Dynamic Pre-Shared Key na Unifi

19.7.2024 20:23 | Přečteno: 791× | poslední úprava: 26.7.2024 14:12

V tomto zápisu popíšu jak zprovoznit unikátní Pre-Shared Key spojený s MAC adresou zařízení na access pointech Unifi od Ubiquiti.

Edit po prvních příspěvcích v diskusi: ano jsem si vědoma, že ověřování čistě na základě MAC adresy je vcelku na nic, o tom také blogpost není. Ano, jsem si vědoma, že u PSK je možno podvrhnout AP. Ano, skutečně doma používám klasické WPA2-Enterprise s ověřováním přes EAP-PEAP nebo EAP-TLS, je to dobré pro orientaci v technologiích a případné testování nastavení FreeRADIUSe.

Ale o tom tento zápis není. Je proto zbytečně se mě snažit v diskusi přesvědčovat o výše uvedeném, dobýváte se do otevřených dveří. Berte to tak, že pokud nemáte Unifi či se ho nechystáte pořídit, není tento zápis pro vás. Předpokládám, že sem stále ještě chodí i lidé, kteří dělají síťovou infrastrukturu a s těmito technologiemi do styku přijdou, pro ně to může být užitečné. Konec editu

Dlouhou dobu jsme ve firmě všude používali Mikrotiky jako univerzální švýcarský nožík pro routing i wifi. Bohužel s postupujícím časem se kvalita bezdrátových částí Mikrotiků postupně zhoršovala, stabilita snižovala, navíc obecně docházelo k technickému zastarávání. Protože se nám nechtělo čekat na wifiwave2/Wifi (které mě v současné době, kdy už je k dispozici pro více zařízení, stejně výkonnostně nijak nenadchlo), nakonec jsme dospěli k rozdělení: na routování Mikrotiky, pro bezdráty Ubiquiti.

Do firem zákazníků s tím nebyl problém, pro interní síť se použilo WPA2-Enterprise, pro hosty jeden sdílený klíč nebo hotspot. Nyní jsem se ovšem rozhodla k přechodu i u sebe doma a narazila na potíž. Notebooky i mobily si s WPA-Enterprise poradí snadno, bez problémů jim lze z RADIUSu přidělovat i VLAN ID, ale můj PocketBook konfiguraci s tunelovaným EAP-PEAP prostě nedává. Stejně jako různá IoT zařízení. Řešením je předsdílený klíč (PSK), ovšem ten pro změnu nechci trvale nechávat každému návštěvníkovi, který se mi mihne v domácnosti a bude se chtít připojit na wifi.

Mikrotiky v tomto směru nabízely snadné řešení: pomocí Access Listu se ve Winboxu nebo z promptu nechal každému zařízení přidělit vlastní PSK vázaný na MAC adresu, takže bylo bez problémů možné používat krátkodobé unikátní PSK pro konkrétního uživatele. V nastavení Unifi Network Serveru (UNS) jsem ovšem po podobné funkcionalitě koukala marně.

I nažhavila jsem strýčka Googla a začala pátrat. A vypátrala tuto stránku. která ukazuje, jak dynamické PSK zprovoznit. No a poté, co jsem to celé rozchodila, jsem se rozhodla jednak přepsat celý postup pro případ, že by odkazovaná “kuchařka” zmizela, jednak doplnit některé další postřehy.

Jak na to?

V první řadě je potřeba mít rozběhaný RADIUS a na něm nastavené ověřování pomocí MAC adresy. Osobně používám FreeRADIUS, jeho konfigurace ovšem jde nad rámec tohoto blogpostu, takže jen odkážu na oficiální návod s popisem nastavení.

Na UNS si pak nastavte připojení k RADIUS serveru stejným způsobem, jako u WPA-Enterprise. Vytvořte nové SSID s ověřováním přes WPA2 (WPA3 jsem nezkoušela, nejspíš fugnuje také), povolte u něj volbu RADIUS MAC Authentication, vyberte profil RADIUS serveru a volbu MAC Address Format nastavte na aa-bb-cc-dd-ee-ff.

Vyzkoušejte si, že vám ověřování podle MAC adresy skutečně funguje.

Pokud vše pracuje jak má, změňte PSK na nějaký náhodný, dostatečně dlouhý. Máte k tomu poslední příležitost, po dalších krocích již nepůjde z webového rozhraní přenastavit, přičemž dříve nastavený PSK nadále zůstane funkční. Je proto vhodné ho mít co nejdelší a co nejnáhodnější. Tip pro Linux:

cat /dev/urandom | tr -dc A-Za-z0-9 | head -c${1:-63};echo;

Zazálohujte si pro jistotu aktuální konfiguraci, přihlašte se na terminál UNS a připojte se na MongoDB.

# mongo --port 27117

Nyní je potřeba nastavit pro dané SSID atribut attr_hidden_id na hodnotu UidIot, atribut wpa_psk_radius na required a pokud pomocí RADIUSu nastavujete VLAN ID, přepnout atribut vlan_wlan_mode též na hodnotu required (což je můj setup, bez toho jsem to nezkoušela).

use ace
db.wlanconf.update(
    {name: "TvojeSSID"},
    {
        $set: {
            "attr_hidden_id": "UidIot",
            "vlan_wlan_mode": "required",
            "wpa_psk_radius": "required"
        }
    }
)

Řetězec TvojeSSID samozřejmě nahraďte svým SSID, pro které unikátní PSK nastavujete, a pokud nepoužíváte RADIUS pro nastavení VLAN, odmažte z příkazu řádek “vlan_wlan_mode”: “required”.

V USN obnovte stránku s konfigurací SSID. Položka Password by nyní měla mít u sebe zaškrtnutý neaktivní škrtbox s popiskem Auto a položka RADIUS MAC Authentication by neměla být dostupná. Pokud vidíte něco jiného, je to chyba a nejprve ji odstraňte.

Nyní je potřeba uploadovat konfiguraci do AP. Jednoduchý restart AP nepomůže, já nakonec šla cestou nejmenšího odporu a jednoduše přepla tam a zase zpátky hodnotu Wifi Band v nastavení SSID. AP se restartoval a zaktualizoval si konfiguraci z UNS.

Doplněno: v legacy UI je možné vnutit konfiguraci jednomu konkrétnímu AP přes Devices -> vybrat AP -> vpravo pod Manage volbou "Force provision".

Na FreeRADIUSu nyní do souboru authorized_macs (pokud jste použili výše odkazovaný návod, v případě jiných konfigurací to může být jinde) ke každé MAC adrese doplňte nastavení atributu Tunnel-Password. Pokud nastavujete i VLANu, doplňte i atributy s ní související.

aa:bb:cc:dd:ee:ff Cleartext-Password := "aa:bb:cc:dd:ee:ff"
    Tunnel-Type = 13,
    Tunnel-Medium-Type = 6,
    Tunnel-Private-Group-Id = 1234,
    Tunnel-Password = NejakyPSKProDaneZarizeni

(pokud VLAN nenastavujete, můžete atributy Tunnel-Type, Tunnel-Medium-Type a Tunnel-Private-Group-Id vynechat)

Restartujte FreeRADIUS a vyzkoušejte svoje zařízení, jestli se připojí.

S čím je nutno počítat

Závěr

Osobně nechápu, proč není tato možnost k dispozici přímo ve WebUI UNS a je nutné ručně upravovat nastavení v databázi. UNS tuto konfiguraci očividně interně zná a počítá s ní, stejně tak aktuální firmware APček. V každém případě je dobře, že už lze kýženého výsledku dosáhnout alespoň ručním zásahem do MongoDB; dříve se musel upravovat konfigurák Hostapd přímo v APčku a změny pak nepřežily restart AP. Což nebylo v ostrém provozu příliš použitelné.

Testováno na

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

19.7.2024 22:10 RealJ | skóre: 8
Rozbalit Rozbalit vše Re: Dynamic Pre-Shared Key na Unifi
Odpovědět | Sbalit | Link | Blokovat | Admin
“nastavené ověřování pomocí MAC adresy” - fakt?
19.7.2024 22:18 Jana J. | skóre: 4 | blog: Sem_vlozte_jmeno_blogu | Praha
Rozbalit Rozbalit vše Re: Dynamic Pre-Shared Key na Unifi
OK, jak byste jakou formulaci pro toto byste tedy navrhoval? Možná "fitrování", když je to v kombinaci s PSK? Nevím, v angličtině se pro to běžně používá "authentication".
19.7.2024 22:20 Jana J. | skóre: 4 | blog: Sem_vlozte_jmeno_blogu | Praha
Rozbalit Rozbalit vše Re: Dynamic Pre-Shared Key na Unifi
Ostatně i v té konfigurační volbě v UNS je "RADIUS MAC Authentication". Tak nevím.
20.7.2024 00:33 RealJ | skóre: 8
Rozbalit Rozbalit vše Re: Dynamic Pre-Shared Key na Unifi
Hele, nevim, jake mas nastaveni, pokud mas na to nejakou vlanu ktera ma pristup do internetu a nikam jinam tak to klidne pouzivej. Predpokladam, ze ten pocketbook nema zadne certifikaty kterymi by se overoval dale. 802.1x je trochu slozitejsi a doma ho predpokladam nemas implementovane. Na iot a podobne obsolete zarizeni mam vlanu ktera nema nikam pristup. Pokud ti chodi domu spousta navstevniku kteri nutne potrebuji wifi pristup k internetu tak od toho je guest wifi a to rozhodne nesdilim s iot nebo obsolete vecma.
20.7.2024 01:16 Jana J. | skóre: 4 | blog: Sem_vlozte_jmeno_blogu | Praha
Rozbalit Rozbalit vše Re: Dynamic Pre-Shared Key na Unifi
Boha jeho, nepředpokládejte, čtěte text. Píšu, že běžně používám EAP-PEAP (plus EAP-TLS, o tom jsem nepsala, ale mám to tam taky), čili klasické WPA2-Enterprise s certifikátama na straně RADIUSe a částečně i na straně klientů. Berte to tak, že to mám zároveň jako domácí testovací laboratoř.

V blogpostu ale jde o úpravu Unifi tak, aby pro speciální případy byl k dispozici pro každou MAC adresu separátní PSK, přičemž základem je RADIUS nastavený na filtrování podle MAC adresy (v angličtině běžně používaný termín MAC-Based Authorization, proto jsem to v češtině použila takto), který APčku na základě této adresy posílá PSK vyžadovaný pro dané spojení. Jiné značky to umí samy o sobě; Mikrotik to zvládá i bez RADISe, další běžně akceptují atribut Tunnel-Password. Unifi se pro tenhle setup musí trošku nestandardně přiohnout a o tom je celý blogpost.

Měla jsem za to, že to je z textu zřejmé. Nevím jestli je chyba u mě nebo u vás.
20.7.2024 01:05 GeorgeWH | skóre: 42
Rozbalit Rozbalit vše Re: Dynamic Pre-Shared Key na Unifi
Skor tym chcel povedat, ze overovat na zaklade MAC adresy, je asi ako overovat na zaklade farby vlasov.
20.7.2024 01:20 Jana J. | skóre: 4 | blog: Sem_vlozte_jmeno_blogu | Praha
Rozbalit Rozbalit vše Re: Dynamic Pre-Shared Key na Unifi
Já fakt nemůžu za to, že se pro filtrování používá tahle terminologie. Standardně se to kombinuje s dalšími metodami, v tomto případě s PSK. Akorát mám pocit, že tady někdo nepochopil, že celý zápis je o tom, jak to PSK mít pro každé zařízení nastaveno jiné. Případně že se diskutující zasekli u věty Vyzkoušejte si, že vám ověřování podle MAC adresy skutečně funguje a nečetli dál.
20.7.2024 07:16 panika
Rozbalit Rozbalit vše Re: Dynamic Pre-Shared Key na Unifi
mne to dava smysl. je to napsany velmi dobre dekuju. (trollu si nevsimej, kdyz jim budes odpovidat budou akorat prudit vic..)
20.7.2024 08:39 Jana J. | skóre: 4 | blog: Sem_vlozte_jmeno_blogu | Praha
Rozbalit Rozbalit vše Re: Dynamic Pre-Shared Key na Unifi
Díky.
26.7.2024 09:34 Vantomas | skóre: 32 | Praha
Rozbalit Rozbalit vše Re: Dynamic Pre-Shared Key na Unifi
Odpovědět | Sbalit | Link | Blokovat | Admin
Když se otevře Devices, vybere jedno Unifi, tak pak vpravo pod Manage je volba "Force provision". Tím by se do toho měla ta konfigurace vnutit také.
26.7.2024 09:40 Jana J. | skóre: 4 | blog: Sem_vlozte_jmeno_blogu | Praha
Rozbalit Rozbalit vše Re: Dynamic Pre-Shared Key na Unifi
Příloha:
Hmm, tak to tam nemám. Možná záleží na verzi (v mém případě aktuálně 8.3.32).
26.7.2024 14:00 Vantomas | skóre: 32 | Praha
Rozbalit Rozbalit vše Re: Dynamic Pre-Shared Key na Unifi
Aha, ono to v novém UI není :-)

Tak to pardon za zmatky, stále se držím starého UI a do nového přepínám jen, když potřebuji nastavit něco, co ze starého nejde.
26.7.2024 14:07 Jana J. | skóre: 4 | blog: Sem_vlozte_jmeno_blogu | Praha
Rozbalit Rozbalit vše Re: Dynamic Pre-Shared Key na Unifi
Ajo, v legacy UI to je.

Nevím, jestli to doplňovat do textu. Pokud člověk používá nové UI (což jsem, přiznám se, předpokládala), je to přes ruku oboje. :-)
26.7.2024 14:13 Jana J. | skóre: 4 | blog: Sem_vlozte_jmeno_blogu | Praha
Rozbalit Rozbalit vše Re: Dynamic Pre-Shared Key na Unifi
PS: nakonec jsem to tam zmínila.
Díky.

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.