Jak funguje captive portal na Wi-Fi?

wep

Jak funguje captive portal na Wi-Fi?
« kdy: 13. 08. 2012, 23:07:52 »
Zdravim!

Muzete mi prosim nekdo pomoct pochopit, jak funguje WiFi captive portal?
  • Uzivatel uvidi verejnou sit a klikne na pripojit
  • AP (server) ho pripoji a na FW mu zablokuje vsechny porty krome TCP 80 a ten presmeruje na prihlasovaci stranku
  • Klient se uspesne prihlasi a server pro jeho MAC adresu prida vyjimku na FW a povoli mu plny pristup do site
  • Po urcite dobe AP odebere z FW pravidlo a klient je vykopnut
Chapu to dobre?

Shanim nejaky jednoduchy software na captive portal, ktery pobezi na OpenWrt. Potrebuju mit v databazi, idealne SQLite hesla, idealne jen hesla a ne jmena - prihlasovani pouze vygenerovanym retezcem.
Velke programy jako chillispot nebo coova-chilli nechci, shanim neco maleho. Zaujal me nodogsplash, ale ten neumi tahat hesla z DB.
Mate nejaky napad na jiny captive portal aby sel pod OpenWrt?

Dalo by moc prace napsat v PHP captive portal? Co vsechno by musel umet?

Dekuji za pomoc.
« Poslední změna: 13. 08. 2012, 23:18:56 od Petr Krčmář »


podloudnik

Re:Jak funguje captive portal na Wi-Fi?
« Odpověď #1 kdy: 13. 08. 2012, 23:38:12 »
Plus minus ruzne nuance funguje CP timhle zpusobem.

Trochu si protirecis - na jednu stranu nechces pouzit dost lehkotonnazni veci jako chillispot nebo nodogsplash(nebo ti nevyhovuji) a na druhou stranu chces pachat implementaci v php kterou na necem s 16-32 mb ram a ~200 bogomips rozbehas tezko. IMO mas dve moznosti a to bud implementovat captive portal na brane centralne (pfsense, monowall, mikrotik atp) a napr na jednotlivych AP vytvorit pres VAPy odpovidajici omezenou podsit NEBO to resit samostanym captive portalem na kazdem zarizeni a pouzit nejaky (ne)centralizovany system overovani uzivatelu proti db/ldap atp.

Jenda

Re:Jak funguje captive portal na Wi-Fi?
« Odpověď #2 kdy: 14. 08. 2012, 00:06:20 »
PHP na 32 MiB RAM běží a dá se to. Databáze, to už je horší. Nešlo by to držet v souboru? :)

Upozorňuji, že CP je by-design nebezpečný, neboť k identifikaci přihlášeného klienta nepoužívá žádný kryptograficky bezpečný mechanismus, nýbrž MAC adresu, která se přenáší nešifrovaně a každý si ji může odposlechnout a posléze nastavit.

Implementace by teoreticky měla jít dát přes noc, skript najde zadaný řetězec v texťáku, podívá se na IP adresu, která k ní patří, zjistí odpovídající MACku (ip neigh || arp) a přidá pravidlo do iptables. Případně se jednou za čas spustí nějaký cron a pročistí neaktivní klienty.

wep

Re:Jak funguje captive portal na Wi-Fi?
« Odpověď #3 kdy: 14. 08. 2012, 00:53:16 »
Databáze, to už je horší. Nešlo by to držet v souboru? :)
Slo a asi by to bylo i nejlepsi.

Upozorňuji, že CP je by-design nebezpečný, neboť k identifikaci přihlášeného klienta nepoužívá žádný kryptograficky bezpečný mechanismus, nýbrž MAC adresu, která se přenáší nešifrovaně a každý si ji může odposlechnout a posléze nastavit.
S tim pocitam.

Implementace by teoreticky měla jít dát přes noc, skript najde zadaný řetězec v texťáku, podívá se na IP adresu, která k ní patří, zjistí odpovídající MACku (ip neigh || arp) a přidá pravidlo do iptables. Případně se jednou za čas spustí nějaký cron a pročistí neaktivní klienty.
Presne tak jsem to myslel. Jednoducha PHP stranka ktera bude pomoci PHP exec() spoustet vsechny prikazy.
Jen me zajimalo, jestli uz neco takoveho neni hotove - nechci znova vynalezat kolo. :-)


Moje pozadavky:
  • Do DB/textoveho souboru si vlozim/vygeneruju hesla a jejich platnost (1h,8h,24h)
  • Klient zada heslo, CP ho smaze/oznaci ze souboru a pusti klienta na net. Pomoci cronu nebo at si prida jeho odpojeni
Nic vic nechci. Existuje neco takoveho?

Jose D

  • *****
  • 897
    • Zobrazit profil
Re:Jak funguje captive portal na Wi-Fi?
« Odpověď #4 kdy: 28. 08. 2012, 14:13:12 »
kup si nejaky nejlevnejsi mikrotik, tam je funkce "hotspot", coz je captive portal, ktery si umi lizat pristupy (mimojine)  z Radiusu.
No a kdyz pouzijes freeradius, tak ten si to zase umi lizat z mysql a jsme tam kde jsme chteli byt :)


faha42

Re:Jak funguje captive portal na Wi-Fi?
« Odpověď #5 kdy: 28. 08. 2012, 15:40:27 »
Hmm,

pokud je o neco velmi velmi jednoducheho, takze zacnete treba zde.
http://www.andybev.com/index.php/Using_iptables_and_PHP_to_create_a_captive_portal
http://aryo.info/labs/captive-portal-using-php-and-iptables.html

Pripadne juknete na sadu NoCat, ale nevim jestli projekt zive, posledni release vidim z 2005, kdysi j
jsem v tom neco delal.
http://nocat.net