Securing
Wireless Campus Networks
Clark Gaylord and Steven Lee
While no Ethernet-based network can be considered a "secure"
communications medium, network operators take some solace that the
exposure of traffic for a LAN is limited to those stations that
have "physical access" to it. With a wireless LAN (WLAN),
there is not even this meager security, as physical access to radio
waves is defined by nothing stronger than geographic proximity.
Unfortunately, the standard method for addressing this proximity
vulnerability, "Wired Equivalent Privacy" (WEP), is not
suitable for large-scale networks due to its shared-key nature and
deficiencies in the encryption algorithm. As a result, enterprises
and service providers alike have struggled with how to control access
to their WLAN infrastructures so that the network is both usable
and no worse than wired Ethernet in terms of data privacy.
The first order of business with network security is access control
-- that is, how do we know that the user accessing the network
is authorized for this use? At Virginia Tech, we currently have
more than 2700 registered wireless users and 125 wireless access
points. We need an approach to access control that is supportable
to a large and diverse user community, that is manageable for a
fairly large number of access points, and that provides reasonable
assurance that network users are in fact authorized. Our approach
so far has been based on the Ethernet media access control (MAC)
address, both with DHCP and filtering at the access point. This
article will provide implementation details for our approach, as
well as a design for user-level access based on Virtual Private
Networks (VPNs).
Overview
Access control requires a method whereby users are identified
for this access. This could be a process where the user registers
for the service and provides, or is provided, relevant data for
this access. This may be assigning a username and password for login
access, or it could be identifying the MAC address of the wireless
network interface card (NIC) the user owns, or both. While the complete
specification of a telecommunication database is very complex and
has many elements that are specific to the organization, a simplified
relational database structure would include tables that identify
the user, their MAC address, and the wireless access points. A skeleton
of some of the relevant relational database tables is shown in Figure
1. Our business and network engineering databases use Oracle, but
other SQL-based relational databases could also be used.
To make our wireless LAN easy to support while maintaining some
level of access control, we wanted to provide our access control
with no end-user intervention or assumptions of end-user configuration.
We also wanted as little reliance on vendor-specific features as
possible. The one thing that all users have, by definition, is a
wireless network interface card, which has a globally unique Ethernet
address. This gives us a token to use as a proxy for the user, if
we can find a way to use it that is vendor-neutral. One attribute
of wireless LAN users is their inherent mobility, making DHCP an
obvious requirement. So, by only supporting DHCP for IP assignment,
and only allowing registered MAC addresses to be served an IP address
by the DHCP server, a level of access control is achieved.
Advantages to this approach are that it is very straightforward
to implement and it makes no assumptions about either the end-user
configuration or the wireless access point. The most obvious disadvantage
is that it is not a very strong access control mechanism. Any would-be
user who desires unauthorized access need simply configure an IP
address that is valid for the network and not currently in use,
although even this is an overt act of misconduct. This is a trivial
proposition for even novice users, so we wanted a stronger access
control method.
Moving the access control closer to the user could reduce some
of the exposure from a DHCP-only approach. Since the early days
of Ethernet bridging, most managed bridges have had the ability
to configure a list of MAC addresses assigned to an interface, and
the bridge will only forward frames for those stations on the allowed
list. With only one access point, such as one might have in a residence,
a static list of allowed MAC addresses could be configured on the
access point, and indeed this is a very good feature to use in a
residential network. However, for a network of several access points
with mobile users, such a static list on all access points would
be a difficult network management problem.
To be manageable, this configuration must be dynamic, with the
access points checking MAC addresses via some client-server protocol.
Following the approach taken by Lucent, several vendors implement
this feature by using the RADIUS protocol; the Enterasys access
points that we use at Virginia Tech are such products. With this
feature, the access point asks the RADIUS server whether the MAC
address is a valid user (with plain-text password of "NOPASSWORD").
Thus, we can extract the authorized MAC addresses from our database
and construct configuration files for the RADIUS server.
RADIUS Configuration
The model for RADIUS is that a network access server (NAS) will
have users connecting to it. The NAS then receives authentication
data from the user and sends requests to a RADIUS server based on
the data to determine whether the user is authentic and is authorized
for the network; hence, the NAS is a RADIUS "client".
The NAS encrypts communication with the RADIUS server using a shared
key (which can be client-specific).
If the MAC address is a valid RADIUS user, the MAC address is
considered authorized to use the wireless LAN. For ease of integration,
we wanted to use a RADIUS server that would support plain-text configuration
files. There are two files that are relevant for our purposes: one
for the user database (with the MAC addresses of authorized users),
and the other to identify the RADIUS clients (i.e., the wireless
access points) and their associated encryption keys.
We have used two popular open source RADIUS servers -- FreeRADIUS
and OpenRADIUS -- both of which are licensed using the GNU General
Public License. Each of these has been effective, and each can readily
be configured to use text-file databases with slightly different
file formats. FreeRADIUS has a large installed base and active user
community, and it is closely modeled on legacy RADIUS servers from
Livingston and Cistron. OpenRADIUS is written and maintained by
Emile van Bergen.
As its name implies, OpenRADIUS is designed to be an open, modular
system, with child processes forked for the various methods of performing
authentication, authorization, logging, accounting, etc. The distribution
includes a module for text-file configuration similar to the legacy
RADIUS servers. It could also be readily extended with a module
to do direct database lookups, but we use the provided "ascfile"
module. Note that, as shipped, OpenRADIUS has some back-door users
configured in the main configuration file; these should be removed
before using this server in production. Both FreeRADIUS and OpenRADIUS
built easily from the distribution tarballs on the FreeBSD and Solaris
systems on which we installed them.
We use the oratcl package to access our Oracle database from Tcl
programs. Listing 1 shows programs for extracting users and clients
from the database into the text configuration files. The extractUsers.tcl
script populates the RADIUS users file, and extractClients.tcl populates
the RADIUS clients (or FreeRADIUS's preferred clients.conf)
file. Each of these scripts allows the respective configuration
files to be prepended and appended with other files, thereby making
it possible to integrate them easily into an organization's
workflow. For example, an organization might already have a RADIUS
user database for remote access. This existing file could be the
users.top file in our scenario, and MAC addresses for wireless LAN
access will be appended to this file. The resulting users file will
contain all of the original remote access users plus the wireless
LAN MAC addresses. These files need to exist so, if they are not
needed, a simple touch on each would be necessary. We run these
scripts via cron on a different system than our RADIUS server, and
distribute the RADIUS configuration files via CVS. The code supports
both FreeRADIUS and OpenRADIUS servers by specifying the server
at the command line, for example, "extractClients.tcl [open|free]".
Using Virtual Private Network for Access Control
The two limitations of using the MAC-based filtering are: MAC
addresses are user-configurable (though this may not be common knowledge
among as many users as IP address configurability); it relies on
features of the Lucent-style access points (though other vendors
may have similar methods for doing MAC-based filtering). A stronger
access control method can be achieved, sacrificing some of the user
convenience of the MAC-based methods, by using a Virtual Private
Network (VPN)-based approach in conjunction with appropriate network
access control.
Although this approach does require some explicit user sign-on
process, it is a straightforward design to implement and support.
For this approach to be manageable, the wireless LAN must be a different
Ethernet broadcast domain (subnet) from the wired LAN. This is commonly
done using virtual LANs (VLANs), so that the same Ethernet cabling
and switching can be used for both the wireless and wired LANs in
a building. By using a different VLAN for wireless, user mobility
can also be better supported. Areas in a building or between several
buildings may have different wired LAN subnets but might be geographically
close enough that wireless users could seamlessly roam among these
areas. While the use of separate VLANs for wireless does not in
itself provide any inherent security to the wireless LAN, it does
provide a convenient way to implement different network policies
on the respective router interfaces. This fact is especially useful
in using VPN as a wireless access control method.
Many organizations already have some form of VPN for their users
who are at arbitrary points on the Internet to be able to access
resources internal to their campus networks. This "location
transparency" of VPNs can also be used for wireless access
control. Another benefit for any network user, but especially popular
for wireless networks, is that VPNs can offer encryption between
the user and the VPN server (though thereafter the traffic travels
from the VPN server to its final destination with whatever privacy
the application uses). While this approach is weaker than application
or socket-layer encryption, it does mitigate some of the risk for
clear-text applications (e.g., standard POP3 traffic).
VPNs operate by encapsulating entire packets into the payload
of other packets. In this way, the encapsulated packets are "tunneled"
through a transport network of another point (the destination of
the carrying packet, i.e., the other end of the tunnel), where they
are decapsulated and forwarded to their ultimate destination. There
are numerous specific tunneling protocols for VPNs; the most common
ones are Point-to-Point-Tunneling Protocol (PPTP), Layer2 Tunneling
Protocol (L2TP), and the many associated protocols collectively
referred to as IPsec. For ease of support and ubiquity, we use PPTP,
but for the purpose of providing access control to the wireless
LAN, any of these could be used.
In addition to the tunneling protocol itself, there are two different
modes of operation for VPNs: client-initiated and network-initiated.
Network-initiated VPNs are sometimes referred to as LAN-to-LAN VPNs;
they are not useful as a way of controlling access to a wireless
LAN infrastructure. The client-initiated VPNs can be viewed as a
"virtual dial-up" approach, where the transport network
plays the role of the modem connection in traditional dial-up. The
client-initiated mode is also one that suits the portable Internet
user well, allowing users to establish VPN tunnels from wherever
they may be on the Internet back to the campus.
Any VPN service has its own access control mechanisms, and these
are used indirectly for regulating access to the wireless LAN infrastructure.
Using the virtual dial-up approach, the end system will have two
network interfaces -- the (native) physical WLAN interface,
and the virtual VPN interface. Each of these will have an IP address.
The usual VPN configuration would establish the default IP route
via the VPN interface. Once the tunnel is established, the only
traffic that would be sent through the router of the wireless LAN
subnet would be destined for the VPN server. By applying access
lists to this router interface to prevent any traffic from the wireless
LAN other than that destined for the VPN server(s), a strong access
control to the wireless LAN is established. It is true that would-be
unauthorized users would have access to the wireless LAN itself
(although the MAC-based controls could still apply), but these users
would not be able to access anything off the wireless LAN subnet.
The following listing shows a typical access-control list (ACL)
for the router interface of a Cisco 6000:
ip access-list extended only-to-vpn
! allow native traffic to vpn land
permit ip 10.0.1.0 0.0.0.255 192.168.47.0 0.0.0.255
! allow native traffic to dhcp/dns land
permit ip 10.0.1.0 0.0.0.255 192.168.53.0 0.0.0.255
! no other native traffic. Everything must go to vpn.
deny ip any any
interface VLAN945
description Wireless LAN
ip address 10.0.1.1 255.255.255.0
ip access-group only-to-vpn in
interface VL530
description DHCP/DNS network
ip address 192.168.53.1 255.255.255.0
interface VL147
description VPN network
ip address 192.168.47.1 255.255.255.0
The above access control list only allows traffic from hosts on the
wireless LAN (VLAN 945) to send traffic to two other networks: the
DNS/DHCP network (VLAN 530) and the VPN network itself (VLAN 147).
Figure 2 shows the network architecture for this scenario. When a
computer enters the wireless subnet, the DHCP server issues an IP
address in the wireless network (VLAN 945). The DNS server would likely
need to be consulted in order to establish the VPN concentrator. Once
the tunnel has been established, traffic to the DNS/DHCP network will
be via the tunnel, as this is the default IP route.
Note that the above router access control requires all wireless
LAN users to establish a VPN tunnel to access anything off the wireless
LAN. Without this requirement, WLAN users could still voluntarily
choose to use a VPN service for any encryption or location transparency
it might offer. This would not make the VPN an effective access
control method for the wireless LAN, but it may be of value in some
organizations. Also, the VPN only controls access to resources off
the wireless LAN; using this approach does not prevent users from
accessing others on the wireless LAN without using the VPN tunnel.
To accomplish this, some link-layer access control, such as that
described above using MAC addresses, would also have to be used.
Conclusion
The implementation described in this article is an effective means
of providing a scalable yet manageable method for access control.
The MAC authentication solution allows quick unimpeded access to
the network while still giving a reasonably effective means for
controlling access. Although the TCL code provided is intended to
create the RADIUS users and clients files, organizations that use
the ISC DHCP server could easily adapt extractUsers.tcl to generate
host entries for MAC-based DHCP access as well.
VPN tunnels provide an optional authentication method and can
also offer privacy of data but necessitate the additional task of
logging on to the network. It sacrifices the automatic user login
of a MAC-based authentication, which all users find convenient,
and it adds another point of failure for the users network service.
Hence, we plan to initially offer VPNs to the university community
as an optional service, thereby necessitating the use of MAC-based
authentication as the primary access control mechanism. As we gain
more confidence in the robustness of end-user VPN software, it may
become viable to make this a mandatory component for wireless LAN
users. An organization wanting to enforce the use of VPN tunnels
for wireless users could take advantage of the VLAN network architecture.
Moreover, the VPN service is useful to users from any insecure network,
whether at some arbitrary Internet location or on a campus-wired
Ethernet.
To address the state of wireless LAN security, the IEEE commissioned
a task group within 802.11, known as TGi, to develop methods for
wireless LAN security. In the meantime, several vendors have proposed
proprietary extensions to 802.11 networks to address these matters.
There are numerous examples, including some that try to address
some of WEP's deficiencies, such as methods for rapidly changing
WEP keys, using per-client WEP keys, and others. All these suffer
from being non-standard methods and relying on vendor-specific solutions.
Given the enormous popularity of 802.11b networking over the last
two years, it is unlikely that users and organizations will want
to replace all of their existing investments if a suitable method
can be devised to address these matters. TGi and others have been
looking at 802.1x as a likely candidate to address many of these
concerns. The 802.1x protocol specifies a port-based client-server
access control mechanism that restricts unauthenticated users at
the network port, whether it is an edge switch or a wireless access
point. At this time, it is only supported in access points by a
few vendors, and end-user operating system support is still immature.
Still, this an encouraging development that could be an important
advance for both wired and wireless LANs as it matures.
As standards for stronger wireless LAN security, such as 802.11i,
mature, they may supplement and augment the approaches given here.
The methods described in this article can readily be deployed today.
When used together, they give a reasonable and effective approach
to wireless LAN security, making this medium no worse than wired
Ethernet; indeed with the additional support for encrypted VPN tunnels,
such an approach offers a level of data privacy beyond that of the
usual wired Ethernet. On the other hand, not deploying a well-managed
wireless LAN service could be a serious liability to any organization.
In the absence of any well-managed alternatives, users will deploy
their own wireless LAN networks, with highly variable awareness
and ability to secure them.
References
Borisov, Nikita, Ian Goldberg, and David Wagner. Security of the
WEP Algorithm. 2001. Available from: http://www.isaac.cs.berkeley.edu/isaac/wep-faq.html
Eisinger, Jochen. Exploiting known security holes in Microsoft's
PPTP Authentication Extensions (MS-CHAPv2). 2001. Available from:
http://www.counterpane.com/
Ferguson, Niels and Bruce Schneier. A Cryptographic Evaluation
of IPsec. 1999. Available from: http://www.counterpane.com/
FreeRADIUS software -- http://www.freeradius.org/
Fluhrer, S., I. Mantin, and A. Shamir. Weaknesses in the key scheduling
algorithm of RC4. Eighth Annual Workshop on Selected Areas in Cryptography
(August 2001).
Gast, Matthew S. 802.11 Wireless Networks: The Definitive Guide.
O'Reilly & Associates. 2002.
Gaylord, Clark and Steven Lee. Wireless LAN Security in a Campus
Environment. 2002. Available from: http://rdweb.cns.vt.edu/~cgaylord/
Microsoft. Privacy Protected Network Access: Virtual Private Networking
and Intranet Security. 1999. Available from: http://www.microsoft.com/windows2000/techinfo/howitworks/security/comsec.asp
Northcutt, Stephen, et al. Inside Network Perimeter Security.
New Riders. 2003.
OpenRADIUS software -- http://www.openradius.net/
Oratcl software -- http://oratcl.sourceforge.net/
Schneier, Bruce and Mudge. Cryptanalysis of Microsoft's Point-to-Point
Tunneling Protocol (PPTP). 1998. Available from: http://www.counterpane.com/
Schneier, Bruce and Mudge. Cryptanalysis of Microsoft's PPTP
Authentication Extensions (MS-CHAPv2). 1999. Available from: http://www.counterpane.com/
Stubblefield, Adam, John Ionnidis, and Aviel D. Rubin. Using the
Fluhrer, Mantin, and Shamir Attack to Break WEP. AT&T Labs Technical
Report TD-4ZCPZZ. 2001.
Clark Gaylord is a Senior Research Engineer with Virginia Tech's
Communications Network Services department. In addition to architecting
Virginia Tech's wireless LAN service, he leads engineering of
capacity planning, bandwidth management, and other network management
efforts for the Virginia Tech campus network and Network Virginia.
Steven Lee is a Wireless Network Engineer with Virginia Tech's
Communications Network Services department. He is responsible for
the deployment engineering of Virginia Tech's wireless LAN
and DHCP services.
|