|
||||||||||||
IntroductionLast month's article discussed technology, the 802.1x and EAP protocols, which can be used to authenticate users and grant or deny access to users of both wired and wireless networks. That article can be found at http://www.netcraftsmen.net/welcher/papers/dot1x.html.This month, I'd like to take a look at what goes into actually
implementing Identity-Based Access Controls. I'm currently involved in
two college/university network design projects for which 802.1x is of
interest. So I'm definitely practicing what I preach here! Basic OrientationThis whole area is undergoing a lot of rapid change, so I'd like to start by covering the Big Picture. Cisco's top-level links tell the story. This whole area can be found under the title Cisco Trust and Identity Management Solutions, at the URL http://www.cisco.com/en/US/netsol/ns463/networking_solutions_package.html. That URL breaks this topic down into three areas, which I list below, along with the relevant links.
For Identity, Cisco's answer is the product, CiscoSecure ACS. This RADIUS and TACACS+ server software comes in Windows and UNIX variants, including a Service Provider product. It can use back-end user databases such as Novell, Windows NT, Active Directory, and LDAP. For Identity-Based Network Services, IBNS, that's where a collection of products allow us to authenticate users via 802.1x and EAP, against CiscoSecure ACS and back-end user databases. RADIUS attributes allow us to then configure the network devices with per-user or per-user-group settings. The recent emphasis appears to be on dynamically-assigned VLAN's. For enterprises, think "employees", "on-campus-consultants#1", "guest", etc. For colleges, think "faculty and admin", "student", "server", "guest", etc. The idea is to issue VLAN's and corresponding addresses, perhaps from different address blocks. These may then provide the basis for all sorts of nifty policy actions, including access lists, routing, QoS, policy-based routing, etc. I see some interesting design challenges lurking here, which
we may get into in future articles. This definitely is venturing into
new territory. What will scale and remain manageable is one of
the big questions. The challenge is tying such user communities
together across a Layer 3 core without getting seduced into large-scale
Layer 2 VLAN's. MPLS VPN or VRF-Lite is one way to do that, a way
that may be equally repulsive to some. L3 tunnels in general seem to
what's currently under consideration to solve this. Identity-Based Access ControlIf you haven't guessed by now, this article fits firmly into
the IBNS space. I want to give you an idea of what's entailed in
getting IBNS working on a real network. Subsequent articles may drill
down in more detail. The ultimate good reference on all this right now appears to
be titled Network
Infrastructure Identity-Based There are three areas requiring setup to get IBNS working.
Plus arguably some follow-on activities. The following diagram shows the main activities required
for IBNS. You've got to install and configure client supplicant
software on the desktop. The switches and WAP's have to be set up to
require 802.1x authentication on appropriate ports. They also have to
be set up to work with the ACS RADIUS server. The intervening
network devices do have to provide connectivity between edge switches
or WAP's and ACS. Then ACS needs to have the edge devices added as
clients, to allow them to query it. ACS also needs to be set up with
users and passwords, or set up to relay unknown user authentication
actions to the appropriate back-end database. It is also helpful to set
up ACS to handle groups of users, so you don't have to do a lot
of repetitive work. If the back-end database uses user groups, they
have to be mapped to ACS user groups. ![]()
I hope I haven't scared anybody. This is mostly doing a little
bit here, a little bit there, and getting it all right. ACS may take
the most work, nothing that hard, but just a bunch of getting it set up
to work with your devices if you haven't already done that. Let's now take a brief look at what's involved for each of the
above 3 areas: supplicant, client edge device, and ACS. SupplicantThe following screen shots are from my PC. I'm running Windows 2000 Pro, SP4. That includes the SP3 support for 802.1x. The little gotcha is that you do have to enable the 802.1x support, which is as a service. My understanding is that the service listens for an 802.1x request and then prompts the user for username/password/domain. Another gotcha is that it doesn't seem to automatically start for my wired port unless Ethernet link state is detected while booting (probably at service startup time).The Microsoft Knowledge database did help me solve the
first of the above gotchas. Some head-scratching did ensue, since the
article helpfully never mentioned the name of the service to start.
It's not named anything obvious, like dot1x or 802.1x Service. In fact,
see the below figure, it's named "Wireless Configuration". Since I
already had 802.1x working on my wireless side without enabling this
(via the Dell driver), I didn't catch on until I expanded the
description column as shown and saw "wired". Ok, maybe that was obvious
to you. It wasn't for me!
Aside from the technical details, the main issues with 802.1
supplicant seem to be (a) obtaining one, and (b) user policy. Neither
is necessarily particularly hard. If one has a wireless card, up-to-date drivers probably take
care of authentication support. Windows XP has 802.1x support. Windows
2000 SP3 or later includes 802.1x support, as noted. I understand free
client support is available for Linux and MacOS. That leaves out
legacy devices (printers, other UNIX variants, etc.). It also leaves
out older versions of Windows. But Funk and Meetinghouse both have
driver support available for older Windows PC's. One can download it
from their websites for around $40-50 per PC. The policy issue arises with colleges because of hesitancy,
either on cost or support. Both can be complex issues. Re cost, it costs money to upgrade Windows, or to buy the Funk or Meetinghouse driver. I've got two kids in college, I understand how sensitive parents are about cost. Colleges are very hesitant to dictate more cost for their students. Part of that goes with being an open environment. Part of it may also relate to staying competitive. Operating systems upgrades may not be feasible, since they may require the cost of a new PC. That's a show-stopper for many families. Concerning purchasing drivers for older Windows variants, one could argue that $40 per student is cheap, compared to the support costs of worm containment. That's where policy becomes a problem.Some colleges feel they cannot afford to support the wide variety of desktops or the sheer number of PC's their students have. And installing drivers or requiring installation of drivers means you own any support problems the student subsequently encounters. So do you provide "legacy support" (see below)? Is a component of it lesser connectivity as an incentive for students to opt for the buy-and-install-drivers solution? One counter-argument is that students who get virii do impose
very real costs on the college. If they get a worm that creates
traffic, it may adversely affect other users or even knock out the
network. Colleges often try to provide anti-viral software to their
students. Who then ignore it, don't install it, turn it off, etc. The
necessary teeth might then be access control (NAC? web-based?), or
it might be a hefty fine if your PC gets infected and starts
trashing the network. I personally think stringent standards up front
("you must have one of the following anti-viral products installed")
with fee for non-compliance may be where we all end up. But even there,
how does one induce the unwilling to periodically update their virus
signatures and refrain from turning the protection off? That's
where NAC will be of intense interest to colleges. This is also why 802.1x arises in college environments right
now. Student PC's are a very scary unknown right now, not under
any anti-viral control. So it is highly desirable to identify
student machines and isolate them (quarantine them?) in student VLAN's.
Then run traffic from those VLAN's through firewalls or IDS's. That at
least addresses damage containment now. To sum that up, what's messy with clients right now is
figuring out what is technically feasible, and what the policy ought to
be. The interaction with culture and expectations of the surrounding
environment make this particularly sensitive for colleges. In a few years, most people will be running OS variants that
support 802.1x. No doubt we'll all have some other hot issue
then. In the meantime, we do have the challenge of transition and
"legacy support". Either users have to have OS upgraded, have to have
supplicants installed, or there has to be some way to support
legacy non-802.1x devices. The latter is another potential article.
I've got two techniques that you may find useful, ones that work right
now. Which to use depends on your policy and needs. Client Edge DeviceHere's most of the captured configuration from the Cisco 3750 I was using to test all this with. It's pretty basic. One very useful option is to set up a guest VLAN, and use that as the default for those who don't successfully authenticate via 802.1x. That seems like a useful topic, but perhaps one for the "legacy support" article.hostname
c3750
I left the addresses in to show that this really was working across an
intervening router. The ACS server was at 172.16.10.6. ! aaa new-model aaa group server radius radserv server 172.16.10.6 auth-port 1645 acct-port 1646 ! aaa authentication login default line enable aaa authentication dot1x default group radserv none aaa authorization config-commands enable password cisco ! ip subnet-zero ip routing ! interface FastEthernet1/0/3 switchport mode access no ip address dot1x port-control auto spanning-tree portfast ! interface Vlan1 ip address 192.168.2.103 255.255.255.0 ! router eigrp 1 network 192.168.2.0 auto-summary ! ip classless ! radius-server host 172.16.10.6 auth-port 1645 acct-port 1646 key trustme radius-server key trustme CiscoSecure ACSThe first key thing here is to make sure ACS knows about the client edge device and will respond to it. See the following screen capture. A client is added by clicking on Network Configuration and then the Add Client button.
There are a good many more options to configuring ACS, but it
feels now that they properly belong in an article about just ACS. So
I'll save those for another time. Troubleshooting 802.1x"Debug dot all" and "debug radius" are two very useful switch commands. I have captures I'd like to include, but no room. The idea is, see if the switch and PC talk, see if you get the login dialog box on the PC, see if that data gets to the switch, and then see if the RADIUS exchange takes place with correct results. If your RADIUS configuration in the switch is wrong, you're either not going to send RADIUS requests, or not going to receive replies.I also found the ACS reports on passed and failed
authentications very useful. The failures often told what the problem
was and how to fix it! SummaryFor details, especially if you get stuck, do see the URL mentioned above, http://www.cisco.com/application/pdf/en/us/guest/netsol/ns178/c649/ccmigration_09186a0080160229.pdf.There was also a good Networkers 2003 presentation on this
topic, complete with many ACS screen captures. See http://www.cisco.com/networkers/nw03/presos/docs/SEC-2005.pdf. I've decided to go ahead and post the ACS screen captures I have, pending writing an article on ACS. They are intended more as a visual tour of ACS than as showing the specifics of how to set up for 802.1x, PEAP, dynamic VLAN's, etc. See http://www.netcraftsmen.net/welcher/papers/acs-3.2-cap.pdf. Possible upcoming topics: Troubleshooting 802.1x. Dynamic VLAN's via 802.1x (also known as "How I Really Did It"?). CiscoSecure ACS. NAC. PKI: MS Active Directory and router IOS-based PKI, what networking folks need to know. Alternatives when 802.1x isn't the answer ("legacy support"). WAP authentication configuration. Cisco Wireless Domain Services (WDS), which help scale and cache wireless authentication information and RF reporting. Let me know what you think of those topics! Dr. Peter J. Welcher (CCIE #1773, CCSI #94014, CCIP) is a
Senior Consultant with Chesapeake NetCraftsmen. NetCraftsmen is a
high-end consulting firm and Cisco Premier Partner dedicated to quality
consulting and knowledge transfer. NetCraftsmen has eight CCIE's, with
expertise including large network high-availability routing/switching
and design, VoIP, QoS, MPLS, IPSec VPN, wireless LAN and
bridging, network management, security, IP multicast, and other
areas. See
http://www.netcraftsmen.net for more information about
NetCraftsmen. Pete's links start at
http://www.netcraftsmen.net/welcher . New articles will be posted
under the Articles link. Questions, suggestions for articles, etc. can
be sent to pjw
<at> netcraftsmen <dot> net. Copyright (C) 2004 Peter J. Welcher |
||||||||||