Cost Effective RADIUS Authentication for Wireless Clients
Total Page:16
File Type:pdf, Size:1020Kb
Database Systems Journal vol. I, no. 2/2010 27 Cost Effective RADIUS Authentication for Wireless Clients Alexandru ENACEANU Faculty of Computer Science, Romanian-American University, Bucharest, Romania [email protected] Gabriel GARAIS Faculty of Computer Science, Romanian-American University, Bucharest, Romania Network administrators need to keep administrative user information for each network device, but network devices usually support only limited functions for user management. WLAN security is a modern problem that needs to be solved and it requires a lot of overhead especially when applied to corporate wireless networks. Administrators can set up a RADIUS server that uses an external database server to handle authentication, authorization, and accounting for network security issues. Keywords: RADIUS, WLAN, Wireless Authentication, Wireless Access Control totally inadequate for a corporate wireless or Introduction Corporate wireless a campus network. That is because a 1 networks are in general the primary corporate wireless network has a lot of source of hacking into the corporate access points to reconfigure for changing the systems. The risks to users of wireless access key or adding a new MAC address to technology have increased lately, as the the allowed clients list. service has become more popular. There WLAN security can be significantly were relatively few dangers when wireless strengthened by using 802.1X to control technology was first introduced. Crackers access point access and deliver dynamic had not yet had time to latch on to the new keys to authenticated users. Authentication technology and wireless was not commonly Servers based on the RADIUS protocol play found in the work place. However, there are a key role in 802.1X [1]. a great number of security risks associated with the current wireless protocols and 2. Authentication, Authorization, and encryption methods. Accounting Many early access points cannot discern whether or not a particular user has 2.1 RADIUS Protocol authorization to access the network. The Remote Authentication Dial In User Although this problem reflects issues that Service (RADIUS) protocol was originally have long troubled many types of wired defined to enable centralized authentication, networks (it has been possible in the past for authorization, and access control (AAA) for individuals to plug computers into randomly SLIP and PPP dial-up sessions. Instead of available Ethernet outlets and get access to a requiring every Network Access Server local network), this did not usually pose a (NAS) to maintain a list of authorized significant problem, since many usernames and passwords, RADIUS Access- organizations had reasonably good physical Requests were forwarded to an security. However, the fact that radio signals Authentication Server, commonly referred travel outside of buildings makes physical to as an AAA Server (AAA stands for security largely irrelevant to hackers. authentication, authorization, and Common wireless encryption using accounting). This architecture made it WEP or a WPA key combined with static possible to create a central user database, MAC entries is good for small offices, but consolidating decision-making at a single 28 Cost Effective RADIUS Authentication for Wireless Clients point, while allowing calls to be supported to encrypt data. At that point, the access by a large, physically distributed set of point unblocks the port and the wireless NASs.[2] station can send data and receive data to and When a user connects, the NAS sends a from the attached network. If the AAA RADIUS Access-Request message to the Server issues an Access-Reject message, the AAA Server, relaying information like the access point disassociates the station. The user's name and password, type of failed station can try to authenticate again, connection (port), NAS identity, and a but the access point prevents the station message Authenticator [3]. from actually sending data through the Upon receipt, the AAA Server uses the access point into the adjacent network. packet source, NAS identity, and Authenticator to determine whether the NAS 2.3 Cost of RADIUS servers is permitted to send requests. If so, the AAA There are many options on the market for Server tries to find the user's name in its setting up a RADIUS server. database. It then applies the password and RADIUS server software has a price range perhaps other attributes carried in the from $400 and up to several thousand Access-Request to decide whether access dollars, depending on your implementation, should be granted to this user. Depending number of clients and reports. upon the authentication method being used, Commercial RADIUS Servers for a campus the AAA Server may return a RADIUS network or mid-sized organization vary in Access-Challenge message that carries a price as following: random number. The NAS relays the - Interlink RADIUS server cost about challenge to the remote user (for example, $2375; [7] using CHAP). The user must respond with - $2800 is also the cost for one Odyssey the correct value to prove its asserted Server; [8] identity (for example, encrypting the - VOP Radius Small Business starts at challenge with its password), which the $2100; [9] NAS relays to the AAA Server inside - Radiator license will cost about $720. another RADIUS Access-Request [10] message.[2] If the AAA Server verifies that the user is authentic and authorized to use the requested service, it returns a RADIUS Access-Accept message. If not, the AAA Server returns a RADIUS Access-Reject message and the NAS disconnects the user. [3] 2.2 RADIUS and Wireless LANs In a wireless network that uses 802.1X Fig. 1 . Price comparison for commercial Access Control, the wireless station plays RADIUS software the role of the Remote User and the wireless access point plays the role of the Network Taking into consideration the above Access Server. Instead of connecting to the mentioned prices and also the specifications NAS with a dial-up protocol like PPP, of each software package, Radiator is the wireless stations associate to the access most cost-effective solution for a campus point using 802.11 protocols. network. If the AAA Server issues an Access- RADIUS servers are also available in Accept message, the access point and hardware/software combo packages. wireless station complete a handshake to generate session keys used by WEP or TKIP Database Systems Journal vol. I, no. 2/2010 29 For example, a Juniper Networks Steel- authorization). There can be different Belted Radius (SBS) solution for a campus configurations of the RADIUS server for network is available for $7500. [8] different needs; fortunately most of the Meanwhile LeapPoint AiroPoint 3600-SE configurations are similar. appliance starts at $12000. [9] • Configuring the server FreeRADIUS configuration files are usually stored in the /etc/raddb folder. First we need to modify the radiusd.conf file and uncomment the $INCLUDE sql.conf line. Other options from radiusd.conf file should then look like: authorise { preprocess chap mschap suffix Fig. 2. Price comparison for commercial eap RADIUS combo packages files sql pap The above high priced combo solutions are } least cost-effective solutions when compared to open source applications. A very cost accounting { detail effective RADIUS solution is FreeRADIUS. sql FreeRADIUS is a powerful RADIUS server } on Linux from the open source community Next, we have to edit /etc/raddb/sql.conf, which can fit in today's distributed and and direct it to the appropriate database heterogeneous computing environment. (PostgreSQL, MySQL, etc.), by modifying FreeRADIUS supports LDAP, MySQL, the line: database = "mysql". PostgreSQL, and Oracle databases and is Also we need to edit the connection zone compatible with such network protocols as and specify the IP address of the SQL server EAP and Cisco LEAP. FreeRADIUS is we are going to use, the port and login currently being deployed in many large- credentials: scale production network systems being server = "a.b.c.d" port = 3306 very efficient. login = "raduser" password = "radpass" 2.4 Installing and configuring FREERADIUS Database table name configuration for Depending on your Linux distribution you PostgreSQL, MySQL can be altered using can download FreeRADIUS as a binary the following line radius_db = "radius" . package or as a source. Both methods are If using Oracle, then the above line changes straightforward and require minimum Linux into: radius_db= operating system knowledge. "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HO Building from source implies the following ST=localhost)(PORT=1521))(CONNECT_DATA=( steps: SID=your_sid)))" [6] - Download the latest archive from ftp://ftp.freeradius.org Clients are configured in - Unzip and untar the archive /etc/raddb/clients.conf . There are two ways - Run the following commands: to configure RADIUS clients. You can ./configure ; make; make install group the NAS by IP subnet or you can list Configuring the RADIUS server consists of the NAS by hostname or IP address [4]: configuring the server, the client, and the user (both for authentication and - Grouping the NAS by IP subnet 30 Cost Effective RADIUS Authentication for Wireless Clients client 192.168.0.0/24 { Password' attribute with a value of secret = mysecret1 - the "secret" should be the same as their password. configured on NAS • In radreply , create entries for each shortname = mylan - the user-specific radius reply attribute "shortname" can be used for logging nastype = cisco - the against their username "nastype" is used for checkrad and is • In radgroupreply , create attributes to optional be returned to all group members } At a minimum, only for authentication - Listing the NAS by hostname or IP purpose with no options, the only table we address need to edit is radcheck. client 192.168.0.1 { A simple RADIUS authentication record secret = mysecret1 shortname = myserver will look like: nastype = other } • Setting up RADIUS database First, we should create a new empty Fig. 3. Simple RADIUS SQL authentication 'radius' database in SQL and a database user record with permissions to that database.