- Captive portal
The captive portal technique forces an
HTTP client on a network to see a special web page (usually forauthentication purposes) before surfing theInternet normally. A captive portal turns aWeb browser into an authentication device. [http://wiki.personaltelco.net/index.cgi/CaptivePortal CaptivePortal] ] This is done by intercepting all packets, regardless of address or port, until the user opens a browser and tries to access the Internet. At that time the browser is redirected to a web page which may require authentication and/or payment, or simply display anacceptable use policy and require the user to agree. Captive portals are used at mostWi-Fi hotspots, and it can be used to control wired access (e.g. apartment houses, hotel rooms, business centers, "open"Ethernet jacks) as well.Since the login page itself must be presented to the client, either that login page is locally stored in the gateway, or the
web server hosting that page must be "whitelist ed" via a walled garden to bypass the authentication process. Depending on the feature set of the gateway, multiple web servers can be whitelisted (say foriframe s or links within the login page). In addition to whitelisting the URLs of web hosts, some gateways can whitelistTCP ports . TheMAC address of attached clients can also be set to bypass the login process.Implementation
There is more than one way to implement a captive portal.
Redirection by HTTP
If an unauthenticated client requests a website, DNS is queried by the browser and the appropriate IP resolved as usual. The browser then sends an
HTTP request to thatIP address . This request, however, is intercepted by afirewall and forwarded to a redirect server. This redirect server responds with a regular HTTP response which contains HTTP status code 302 to redirect the client to the Captive Portal. To the client, this process is totally transparent. The client assumes that the website actually responded to the initial request and sent the redirect.IP Redirect
Client traffic can also be redirected using IP redirect on the layer 3 level. This is not recommended as the content served to the client does not match the URL
Redirection by DNS
When a client requests a website, DNS is queried by the browser. The firewall will make sure that only the DNS server(s) provided by DHCP can be used by unauthenticated clients (or, alternatively, it will forward all DNS requests by unauthenticated clients to that DNS server). This DNS server will return the IP address of the Captive Portal page as a result of all DNS lookups.
Some naive implementations don't block outgoing DNS requests from clients, and therefore are very easy to bypass; a user simply needs to configure their computer to use another, public, DNS server. Implementing a firewall or ACL that ensures no inside clients can use an outside DNS server is critical.
oftware Captive Portals
*
Hotspot Studio - Commercial Windows based captive portal for South Africa only
* Air Marshal - software based for Linux platform (commercial)
*ChilliSpot - open source Linux daemon [abandoned]
* [http://www.dnsredirector.com/ DNS Redirector] - Free or commercially licensed Windows based captive portal
* [http://patronsoft.com/firstspot FirstSpot] - commercial Windows based captive portal with numerous hotspot management features
*pfSense -FreeBSD 6.2 based firewall software derived fromm0n0wall
*SweetSpot - Linux user-space, layer-3 daemon (open source)
* WiFiDog Captive Portal Suite - small C based kernel solution (embeddable)
*Wilmagate - C++ based and is executable both in Linux and Windows/Cygwin environmentsCaptive portals are gaining increasing use on free open wireless networks where instead of authenticating users, they often display a message from the provider along with the terms of use. Although the legal standing is still unclear (especially in the USA) common thinking is that by forcing users to click through a page that displays terms of use and explicitly releases the provider from any liability, any potential problems are mitigated. They also allow enforcement of payment structures.
Hardware Captive Portals
* [http://www.sinaptica.cl/PayBridge.htm PayBridge] is a carrier-class captive portal appliance developed by [http://www.sinaptica.cl Sinaptica] (acquired in 2005 by [http://www.antica.cl Antica] ). This platform is used for 3G/Wimax prepaid internet.
Limitations
Most of these implementations merely require users to pass an SSL encrypted login page, after which their IP and
MAC address are allowed to pass through the gateway. This has been shown to be exploitable with a simplepacket sniffer . Once the IP and MAC addresses of other connecting computers are found to be authenticated, any machine can spoof the MAC address and IP of the authenticated target, and be allowed a route through the gateway. For this reason some captive portal solutions created extended authentication mechanisms to limit the risk for usurpation.Platforms that have
Wi-Fi and aTCP/IP stack but do not have a web browser that supportsHTTPS cannot use many captive portals. Such platforms include theNintendo DS running a game that usesNintendo Wi-Fi Connection . Non browser authentication is possible usingWISPr , anXML -based authentication protocol for this purpose, or MAC-based authentication or authentications based on other protocols.There also exists the option of the platform vendor entering into a service contract with the operator of a large number of captive portal hotspots to allow free or discounted access to the platform vendor's servers via the hotspot's walled garden, such as the deal between Nintendo and Wayport. For example, VoIP SIP ports could be allowed to bypass the gateway to allow phones to work.
See also
*
HTTP proxy
* Service Oriented ProvisioningReferences
Wikimedia Foundation. 2010.