<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>chris moos&#039;s blog &#187; wpa</title>
	<atom:link href="http://chrismoos.com/tag/wpa/feed/" rel="self" type="application/rss+xml" />
	<link>http://chrismoos.com</link>
	<description>developer by day, developer by night</description>
	<lastBuildDate>Fri, 30 Jul 2010 04:52:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>WPA Wireless Authentication with eDirectory and&#160;FreeRADIUS</title>
		<link>http://chrismoos.com/2009/02/05/wpa-wireless-authentication-with-edirectory-and-freeradius-2/</link>
		<comments>http://chrismoos.com/2009/02/05/wpa-wireless-authentication-with-edirectory-and-freeradius-2/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 18:52:03 +0000</pubDate>
		<dc:creator>Chris Moos</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[edirectory]]></category>
		<category><![CDATA[freeradius]]></category>
		<category><![CDATA[wpa]]></category>

		<guid isPermaLink="false">http://chrismoos.com/?p=176</guid>
		<description><![CDATA[The following is an old article that I wrote that some people were asking me about. Here you go.
Introduction
The goal of this article is to allow you to have your wireless access protected by WPA and have users authenticate to eDirectory for access to the wireless network.
What is WPA?

 WPA&#160; is a wireless authentication standard [...]]]></description>
			<content:encoded><![CDATA[<p>The following is an old article that I wrote that some people were asking me about. Here you go.</p>
<h1>Introduction</h1>
<p>The goal of this article is to allow you to have your wireless access protected by WPA and have users authenticate to eDirectory for access to the wireless network.</p>
<h2>What is WPA?</h2>
<p>
<a href="http://en.wikipedia.org/wiki/Wi-Fi_Protected_Access" > WPA&nbsp;</a> is a wireless authentication standard used for controlling access to wireless networks. WPA can operate in a pre-shared key mode(router and client both know a secret password), or authentication can take place with a RADIUS server.</p>
<h2>What is RADIUS?</h2>
<p><a href="http://en.wikipedia.org/wiki/RADIUS" > RADIUS&nbsp;</a> is a standard for controlling remote access to a network. It has been around for many years and has a consistent implementation in a broad range of devices and software. RADIUS servers receive a username and password and simply respond if that user is permitted to access the resource or not. It can lookup the user in many different ways, but in this article we are going to make it use eDirectory.</p>
<h2>What is eDirectory?</h2>
<p>Novell&#8217;s [<a href="http://www.novell.com/products/edirectory/" >http://www.novell.com/products/edirectory/&nbsp;</a> eDirectory</p>
<p> is an amazing directory service to manage all different type of objects. It&#8217;s an LDAP server also, which let&#8217;s it integrate with almost anything. </p>
<p><span id="more-176"></span></p>
<h2>Prerequisites</h2>
<p>
<ul>
<li>Novell Open Enterprise Server SP1</li>
<li>Novell eDirectory 8.7.3</li>
<li>Wireless Access Point/Router that supports WPA RADIUS</li>
</ul>
<h1>Installation</h1>
<p>First off I am assuming you have Open Enterprise Server and eDirectory installed and working properly. If you do not know how to do that, I suggest you first learn how to do that. You can find out how on Novell&#8217;s site, under documentation.</p>
<h2>FreeRADIUS</h2>
<p><a href="http://www.freeradius.org" > FreeRADIUS&nbsp;</a> is the open source RADIUS server we will be using. First we will install the FreeRADIUS version that comes with SLES9 with YasT, so it can handle all the dependencies. YasT is Suse&#8217;s package management/setup tool. After this we will upgrade it to version 1.0.2 which allows it to work with eDirectory. </p>
<p>
<ol>
<li>Login to your machine and run yast as root. </li>
</ol>
<pre> # su
 # yast</pre>
<ol>
<li>Under <strong>Software</strong> select <strong>Install and Remove Software</strong>.</li>
<li>Tab over to the <strong>Filter</strong> menu item, hit enter, and choose <strong>Search</strong>.</li>
<li>Type <strong>freeradius</strong> into the search box and hit enter.</li>
<li>Select the package <strong>freeradius</strong> and hit enter until it shows a plus sign(this means install).</li>
<li>Tab over to Accept and YasT will install <strong>freeradius</strong>.</li>
<li>After <strong>FreeRADIUS</strong> and it&#8217;s dependencies are installed, we need to download the newer version that supports eDirectory and install it. </li>
</ol>
<pre> # wget <a href="http://forge.novell.com/modules/xfcontent/private.php/edirfreeradius/SLES%209/freeradius-1.0.2-0.i586.rpm" >http://forge.novell.com/modules/xfcontent/private.php/edirfreeradius/SLES%209/freeradius-1.0.2-0.i586.rpm&nbsp;</a>
 # rpm -Uvh freeradius-1.0.2-0.i586.rpm</pre>
</p>
<p>We have now successfully installed FreeRADIUS. Our next step is to prepare eDirectory to be used with RADIUS.</p>
<h1>Server Configuration</h1>
<h2>eDirectory</h2>
<h3>Extend Schema</h3>
<p>
The first we are going to do is add a special LDAP attribute that will tell our FreeRADIUS server whether the user is permitted to access the wireless network.</p>
<p>
<ol>
<li>Go to Novell&#8217;s iManager and login.</li>
<li>Under Roles and Tasks, select Schema and then <strong>Create Attribute</strong>.</li>
<li>For <strong>Attribute Name</strong>, type <strong>wirelessAccess</strong> in the box. Hit Next.</li>
<li>For the Syntax, select <strong>Boolean</strong>. This means that the attribute will contain a true/false value. Hit Next.</li>
<li>At <strong>Attribute Flags</strong>, we don&#8217;t need to change anything. Hit next.</li>
<li>Hit finish. The attribute has been created, now we need to add it to the User class.</li>
<li>Back under Schema, select <strong>Add Attribute</strong>.</li>
<li>For the class we want to add the attribute to, select <strong>User</strong>. Hit Next.</li>
<li>Under <strong>Available optional attributes</strong>, select <strong>wirelessAccesss</strong> and hit the right arrow which will move it over to the <strong>Add these optional attributes</strong> box. Hit OK.</li>
</ol>
<h3>Allow wireless access for a user</h3>
<p>
Now that each user has an attribute named <strong>wirelessAccess</strong>, we can control access to our wireless network by setting this value for each user to be true or false. Let&#8217;s start by adding our login to have wireless access.</p>
<p>
<ol>
<li>Go to Novell&#8217;s iManager and login.</li>
<li>Under Roles and Tasks, select <strong>eDirectory Administration</strong>.</li>
<li>Select <strong>Modify Object</strong> and choose the user you would like to give wireless access to.</li>
<li>Click on the drop down box that says Identification and select <strong>Other</strong>.</li>
<li>Under <strong>Unvalued attributes</strong> select wirelessAccess and then hit the left arrow. You will then have a window popup that has <strong>wirelessAccess</strong> and a checkbox next to it. Check the box if you would like to allow wireless access for this user. Then hit OK.</li>
<li>Hit <strong>Apply</strong> to save changes.</li>
</ol>
<h3>Add a RADIUS Administrator user</h3>
<p>
The next step is to add an administrator user for our RADIUS server that will allow the RADIUS server to query LDAP and get user and password information.</p>
<h4>Create user</h4>
<p>
First we will create our RADIUS user.</p>
<p>
<ol>
<li>Go to Novell&#8217;s iManager and login.</li>
<li>Under Roles and Tasks, select <strong>Users</strong>, and then click on <strong>Create User</strong>.</li>
<li>For Username, use something like <strong>radiusAdmin</strong>.</li>
<li>For Last Name just put anything you like.</li>
<li>For context, choose a context that works with your current eDirectory Tree layout. For me The context I used was <strong>home.themoos</strong>, themoos is the organization, and home is an organizational unit(I divide my organizational units by location).</li>
<li>Specify a password.</li>
<li>Hit OK to create the user.</li>
</ol>
<h4>Add user as a trustee</h4>
<p>
Now that we have created the user, we need to give it access to the tree.</p>
<p>
<ol>
<li>Go to Novell&#8217;s iManager and login.</li>
<li>Under Roles and Tasks, select <strong>Rights</strong>, and then click on <strong>Modify Trustees</strong>.</li>
<li>Select the object whose access you want the RADIUS administrator user to have access to. For me, I selected <strong>home.themoos</strong>, because this is where all my users will be.</li>
<li>Click on the <strong>Add Trustee</strong> button and select our RADIUS administrator user. For me this is radiusAdmin, under home.themoos.</li>
<li>After you have added the user as a trustee, select <strong>Assigned Rights</strong> for the RADIUS admin user.</li>
<li>For <strong>All Attribute Rights</strong> check the box for Supervisor and hit <strong>Done</strong>.</li>
<li>Hit the button <strong>Apply</strong> to save the changes.</li>
</ol>
<h3>Enable Universal Passwords</h3>
<p>The final thing we need to with eDirectory is to enable Universal Passwords. This allows a single password for eDirectory.</p>
<p>
<ol>
<li>Go to Novell&#8217;s iManager and login.</li>
<li>Under Roles and Tasks, select <strong>Passwords</strong>, and then click on <strong>Password Policies</strong>.</li>
<li>Click <strong>New</strong> to create a new Password Policy.</li>
<li>For Password Policy Name, use something descriptive like <strong>Universal password policy</strong>. Hit Next.</li>
<li>Check the radio item for <strong>Yes</strong> to enable Universal passwords. Uncheck the box for <strong>Enable the advanced password rules</strong>.</li>
<li>Select <strong>No</strong> for the Forgotten Password Feature. Hit next.</li>
<li>Under the assign the password policy, choose the object that you would like to apply the policy to. This should be where all your users are that will be accessing the wireless network with RADIUS. I chose <strong>home.themoos</strong>. Hit Next.</li>
<li>Hit Finish to finalize the policy.</li>
</ol>
<h2>FreeRADIUS</h2>
<p>Now it&#8217;s time to setup FreeRADIUS to connect to eDirectory. The first file we need to modify is <strong>/etc/raddb/radiusd.conf</strong>. But before we do this we need to export the root certificate and the server certificate that we generated during the installation of Open Enterprise Server. The certificates will be used for TLS security for the RADIUS server.</p>
<h3>Export Certificates</h3>
<p>
First off you need to understand how certificates work and how they build a chain of trust for security. If you aren&#8217;t very familiar with them, please read here: <a href="http://en.wikipedia.org/wiki/Public_key_certificate" > Public Key Certificates&nbsp;</a>. Now we need to export the Root CA and the server certificate. We will use YasT which will make this relatively easy.</p>
<p>
<ol>
<li>First login to your machine as root and open up YasT.</li>
<li>Select <strong>Security and Users</strong> and under that select <strong>CA Management</strong>.</li>
<li>Under <strong>CA Selection</strong> choose your default CA and then hit <strong>Enter CA</strong>. For me my default CA is <strong>YasT_Default_CA</strong>.</li>
<li>If you get prompted for a password enter the password you set when you installed Open Enterprise Server and setup the Root CA.</li>
<li>Select <strong>Advanced</strong> and choose <strong>Export to File</strong>.</li>
<li>Under the <strong>Export CA to File</strong> dialog, select the option that says <strong>Only the certificate in PEM format</strong>.</li>
<li>For file name, type <strong>/etc/raddb/certs/rootcert.pem</strong>. Hit OK to export it.</li>
<li>Now that we have exported the Root CA, let&#8217;s also export the server certificate. To do this you need to select the <strong>Certificates</strong> button.</li>
<li>You should see a certificate in the list with the common name containing your server name/ip. Select that and select <strong>Export</strong>, then <strong>Export to File</strong>.</li>
<li>Select the option that says <strong>Certificate and the key in encrypted PEM format</strong>. This will export our private key as well as the certificate.</li>
<li>Enter the password for the certificate(most likely same one that we used above for Root CA). For file name enter <strong>/etc/raddb/certs/servercert.pem</strong>. Hit OK to finish exporting.</li>
<li>Select <strong>Finish</strong> and exit YasT.</li>
</ol>
<h3>radiusd.conf</h3>
<p>First thing we need to do is open up <strong>/etc/raddb/radiusd.conf</strong> with a text editor of your choice. The section we need to modify first is the ldap { } section, under modules { }. </p>
<h4>ldap</h4>
<p>
Under the ldap section we will specify how to connect to our eDirectory server. Change the following parameters below.</p>
<p>
<pre>
server = "ldap.your.domain"
</pre>
<p>This should be the name of your server and should match the server name on the server certificate we exported.</p>
<pre>
identity = "cn=admin,o=My Org,c=UA"
</pre>
<p>This should be the context for the RADIUS administrator user we created in eDirectory. For me I used <strong>cn=radiusAdmin,ou=home,o=themoos</strong>.</p>
<pre>
password = mypass
</pre>
<p>This should contain the password you set for the RADIUS administrator user.</p>
<pre>
basedn = "o=My Org,c=UA"
</pre>
<p>This should be the context that we want FreeRADIUS to search when authenticating a user. This means that it will look under this context when users try to login to the wireless network. For me I used <strong>ou=home,o=themoos</strong>.</p>
<pre>
start_tls = no
</pre>
<p>Set this option equal to yes. This tells the RADIUS server to use secure communcations to the LDAP server(eDirectory). </p>
<pre>
tls_cacertfile = /path/to/cacert.pem
</pre>
<p>Set this to the file we exported the Root CA certificate to. I used <strong>/etc/raddb/certs/rootcert.pem</strong>.</p>
<pre>
access_attr = "dialupAccess"
</pre>
<p>Set this to <strong>wirelessAccess</strong>. This is the attribute that is looked up for each user to see if they are allowed to access the resource. If you recall we added a new LDAP attribute and set it true for each user we want to have access.</p>
<pre>
password_attribute = nspmPassword
</pre>
<p>Place this in the ldap section. This specifies the LDAP attribute where the password is stored.</p>
<p>
<pre>
ldap {
	server = "192.168.20.11"
	identity = "cn=radiusAdmin,ou=home,o=themoos"
	password = pass
	basedn = "ou=home,o=themoos"
	filter = "(uid=%{Stripped-User-Name:-%{User-Name}})"
	start_tls = yes
	tls_cacertfile	= /etc/raddb/certs/rootcert.pem
	access_attr = "wirelessAccess1"
        password_attribute = nspmPassword
	dictionary_mapping = ${raddbdir}/ldap.attrmap
	ldap_connections_number = 5
	timeout = 4
	timelimit = 3
	net_timeout = 1
	}
</pre>
</p>
<h4>authorize</h4>
<p>Go down to the authorize section towards the end of the file. Uncomment <strong>ldap</strong> in this section. To uncomment you remove the # sign from the beginning of the line.
</p>
<p>
Change this: </p>
<pre>
	#
	#  The ldap module will set Auth-Type to LDAP if it has not
	#  already been set
#	ldap
</pre>
<p>to this:</p>
<pre>
	#
	#  The ldap module will set Auth-Type to LDAP if it has not
	#  already been set
	ldap
</pre>
</p>
<h4>authenticate</h4>
<p>Under the authenticate section, below the authorize section, we need to uncomment Auth-Type LDAP.</p>
<p>Change this:</p>
<pre>
#	Auth-Type LDAP {
#		ldap
#	}
</pre>
<p>to this:</p>
<pre>
	Auth-Type LDAP {
		ldap
	}
</pre>
</p>
<h4>post-auth</h4>
<p>Under the post-auth section we need to uncomment ldap and chage the Post-Auth-Type.</p>
<p>Change this:</p>
<pre>
#	ldap
	#
	#  Access-Reject packets are sent through the REJECT sub-section of the
	#  post-auth section.
	#  Uncomment the following and set the module name to the ldap instance
	#  name if you have set 'edir_account_policy_check = yes' in the ldap
	#  module sub-section of the 'modules' section.
	#
#	Post-Auth-Type REJECT {
#		insert-module-name-here
#	}
</pre>
<p>to this:</p>
<pre>
	ldap
	#
	#  Access-Reject packets are sent through the REJECT sub-section of the
	#  post-auth section.
	#  Uncomment the following and set the module name to the ldap instance
	#  name if you have set 'edir_account_policy_check = yes' in the ldap
	#  module sub-section of the 'modules' section.
	#
	Post-Auth-Type REJECT {
		ldap
	}
</pre>
</p>
<h3>eap.conf</h3>
<p>This file contains the configuration for <a href="http://en.wikipedia.org/wiki/Extensible_Authentication_Protocol" > EAP&nbsp;</a>. EAP, or Extensible Authentication Protocol, is how the RADIUS server communicates for authentication. We will be using TLS in conjuction with EAP for encryption.</p>
<h4>eap</h4>
<p>Under the eap section, we want to change the default_eap_type.</p>
<p>We want to change this:</p>
<pre>
default_eap_type = md5
</pre>
<p>to this:</p>
<pre>
default_eap_type = peap
</pre>
</p>
<h4>tls</h4>
<p>Under the tls section, first thing to do is uncomment the section. This means remove the # from before tls { and before the ending } bracket. After this we will modify the following parameters.</p>
<p>
<pre>
private_key_password = whatever
</pre>
<p>Change this to the password to your private key. This is the password we specified when exporting the server certificate &amp; private key.</p>
<p>
<pre>
private_key_file = ${raddbdir}/certs/cert-srv.pem
</pre>
<p>Set this to the location of the file that has our private key. Recall us exporting the private key and server certificiate from YasT. The file we exported it to was <strong>/etc/raddb/certs/servercert.pem</strong>.</p>
<p>
<pre>
certificate_file = ${raddbdir}/certs/cert-srv.pem
</pre>
<p>Set this to the same thing as above. We exported our certificate and private key to the same file. I used <strong>/etc/raddb/certs/servercert.pem</strong>.</p>
<p>
<pre>
CA_file = ${raddbdir}/certs/demoCA/cacert.pem
</pre>
<p>Set this to the file that contains the Root CA&#8217;s certificate. We exported this from YasT to <strong>/etc/raddb/certs/rootcert.pem</strong>.</p>
<p>
<pre>
#dh_file = ${raddbdir}/certs/dh
#random_file = ${raddbdir}/certs/random
</pre>
<p>Uncomment the lines above.</p>
<p>The final section should look like this:</p>
<pre>
	tls {
			private_key_password = pass
			private_key_file = /etc/raddb/certs/servercert.pem

			#  If Private key &amp; Certificate are located in
			#  the same file, then private_key_file &amp;
			#  certificate_file must contain the same file
			#  name.
			certificate_file = /etc/raddb/certs/servercert.pem

			#  Trusted Root CA list
			CA_file = /etc/raddb/certs/rootcert.pem

			dh_file = ${raddbdir}/certs/dh
			random_file = ${raddbdir}/certs/random
		}
</pre>
</p>
<h4>peap</h4>
<p>
Under this section we need to uncomment the line for default_eap_type.</p>
<p>Change this:</p>
<pre>
		# peap {
			#  The tunneled EAP session needs a default
			#  EAP type which is separate from the one for
			#  the non-tunneled EAP module.  Inside of the
			#  PEAP tunnel, we recommend using MS-CHAPv2,
			#  as that is the default type supported by
			#  Windows clients.
			#default_eap_type = mschapv2
		#}
</pre>
<p>to this:</p>
<pre>
		peap {
			#  The tunneled EAP session needs a default
			#  EAP type which is separate from the one for
			#  the non-tunneled EAP module.  Inside of the
			#  PEAP tunnel, we recommend using MS-CHAPv2,
			#  as that is the default type supported by
			#  Windows clients.
			default_eap_type = mschapv2
		}
</pre>
</p>
<h3>clients.conf</h3>
<p>
In this file we specify the subnet that our wireless network uses and the secret password that both the RADIUS server and the wireless router know.</p>
<p>Use something like this:</p>
<pre>
client 192.168.20.0/24 {
        secret          = somepassword
        shortname       = themoos
}
</pre>
</p>
<p>192.168.20.x is my wireless subnet.<br />
<strong>shortname</strong> is the name of the AP.</p>
<h3>Wireless Access Point</h3>
<p>
Configuring the access point is relatively easy compared to everything else we&#8217;ve done. I am using a Linksys wireless router so I will show you how to set WPA RADIUS on that.</p>
<p>
<ol>
<li>Login to your router&#8217;s configuration page. Usually something like 192.168.1.1. </li>
<li>Select the Wireless security tab, and under that select Wireless security.</li>
<li>Set the following options:</li>
</ol>
<pre> # Security Mode: <strong>WPA RADIUS</strong>
 # WPA Algorithms: <strong>TKIP</strong>
 # RADIUS Server Address: IP of your RADIUS server. (Mine is 192.168.20.11)
 # RADIUS Port: <strong>1812</strong>
 # Shared Key: the secret password you specified in radiusd.conf.</pre>
</p>
<p>Apply changes and we are done with configuring the wireless router.</p>
<h3>RADIUS Server Startup Scripts</h3>
<p>
The last thing we need to do is setup a startup script for our SLES box. This will make the radius server startup on boot. I&#8217;m assuming you are running your server with the default runlevel set to 3, which is multi-user text based. If you have a different default runlevel just substitute the 3 for whatever runelvel is the default one. Issue the following commands to set up the startup script.</p>
<p>
<pre> # cd /etc/rc.d/rc3.d
 # ln -s /etc/rc.d/radiusd S19radiusd</pre>
</p>
<h2>Client Configuration</h2>
<h3>Windows XP</h3>
<p>
The first thing we need to do is install the Root CA certificate that we created earlier. This will be the basis of trust between the client and the RADIUS server. That means that when we talk to the RADIUS server we know it is really the real one and not someone trying to fake a server to get our password.</p>
<h4>Convert Root CA certificate from pem to cer</h4>
<p>
<strong>Edit: 02-05-2010</strong> <br/><br />
We need to convert our pem certificate, <em>/etc/raddb/certs/rootcert.pem</em> to DER (which is used for .cer).
</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">openssl x509 <span style="color: #660033;">-outform</span> der <span style="color: #660033;">-inform</span> pem <span style="color: #660033;">-in</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>raddb<span style="color: #000000; font-weight: bold;">/</span>certs<span style="color: #000000; font-weight: bold;">/</span>rootcert.pem <span style="color: #660033;">-out</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>chris<span style="color: #000000; font-weight: bold;">/</span>cert.cer</pre></div></div>

<h4>Install Root CA Certficiate</h4>
<p><ol>
<li>Copy the .cer file you created on your SLES box to the windows xp machine. For me the file was located on my linux box at <strong>/home/chris/cert.cer</strong>.</li>
<li>Once you have it copied to the windows xp machine, double click on the file.</li>
<li>Windows will ask if you want to open this file, choose <strong>Open</strong>.</li>
<li>Click the button that says <strong>Install Certificate</strong> to install the certificate to your computer.</li>
<li>A dialog will pop up that says <strong>Certificate Import Wizard</strong>. Hit Next. Select the radio box that says <strong>Place all certificates in the following store.</strong>. Hit the browse button and select <strong>Trusted Root Certification Authorities</strong>. Hit OK, then next. Hit Finish.</li>
<li>A security warning pops up asking again if you are sure you want to install the certificate. Select Yes to install it.</li>
</ol>
<h4>Wireless Network Properties</h4>
<p>
Now we need to modify the properties for when we connect to our Wireless Access Point. Pull up the choose a wireless network dialog to locate the wireless AP you want to connect to. </p>
<p>
<ol>
<li>Double click on the wireless AP in the <strong>Choose a wireless network dialog</strong>. </li>
<li>Windows will try to authenticate using your windows login credentials. </li>
<li>Now click on Change advanced settings and go to the Wireless networks tab.</li>
<li>In the preferred networks list choose your wireless AP and click Properties.</li>
<li>Set <strong>Network Authentication</strong> to <strong>WPA</strong>.</li>
<li>Set <strong>Data encryption</strong> to <strong>TKIP</strong>.</li>
<li>Click the <strong>Authentication</strong> tab and select <strong>EAP Type</strong>: <strong>Protected EAP(PEAP)</strong>.</li>
<li>Uncheck the box that says <strong>Authenticate as computer when computer information is available.</strong>.</li>
<li>Click the properties button.</li>
<li>Uncheck the box that says <strong>Validate server certificate</strong>.</li>
<li>Click the Configure button and uncheck the box that says <strong>Automatically use my Windows logon name&#8230;</strong>. Hit OK. Hit OK again.</li>
<li>Keep hitting OK until all the windows have closed.</li>
<li>Right mouse click on your wireless connection and choose <strong>View Available Wireless Networks</strong>.</li>
<li>Double click on the AP you want to connect to.</li>
<li>You will see a balloon popup in the bottom right asking you to verify your credentials. Click on that.</li>
<li>Type your eDirectory username and password, and watch it authenticate <img src='http://chrismoos.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</li>
</ol>
<h2>Testing</h2>
<p>Wow, we finally finished editing all those config files. Now it&#8217;s time to fire up the RADIUS server, and test it out with a wireless computer. Issue the following command to start up the RADIUS server.</p>
<p>
<pre> # /etc/init.d/radiusd start</pre>
</p>
<p>Now our RADIUS server should be running. Next go to your client computer. For me I am using Windows XP SP2. Pull up the available wireless networks, double click on your AP, and watch it connect. <img src='http://chrismoos.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h2>Conclusion</h2>
<p>
Now you should have your wireless network protected with WPA and authenticating to eDirectory. I hope that you all have learned something from this article. If you have any questions/comments/fixes please let me know at xoclipse@cox.net. The only thing left that I need to add to this article is to get windows xp to validate the server certificate. For some reason I was having some problems with it so I will continue to work on it and update this article when I get it working.</p>
<h2>External Links</h2>
<p>
<a href="http://www.novell.com/coolsolutions/tip/15922.html" > <a href="http://www.novell.com/coolsolutions/tip/15922.html" >http://www.novell.com/coolsolutions/tip/15922.html&nbsp;</a>&nbsp;</a></p>
<p><a href="http://www.novell.com/documentation/edir_radius/index.html" > <a href="http://www.novell.com/documentation/edir_radius/index.html" >http://www.novell.com/documentation/edir_radius/index.html&nbsp;</a>&nbsp;</a></p>
<p><br/></p>
]]></content:encoded>
			<wfw:commentRss>http://chrismoos.com/2009/02/05/wpa-wireless-authentication-with-edirectory-and-freeradius-2/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>WPA Wireless Authentication with eDirectory and&#160;FreeRADIUS</title>
		<link>http://chrismoos.com/2007/05/15/wpa-wireless-authentication-with-edirectory-and-freeradius/</link>
		<comments>http://chrismoos.com/2007/05/15/wpa-wireless-authentication-with-edirectory-and-freeradius/#comments</comments>
		<pubDate>Tue, 15 May 2007 20:26:05 +0000</pubDate>
		<dc:creator>Chris Moos</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[edirectory]]></category>
		<category><![CDATA[freeradius]]></category>
		<category><![CDATA[radius]]></category>
		<category><![CDATA[wireless]]></category>
		<category><![CDATA[wpa]]></category>

		<guid isPermaLink="false">http://chrismoos.com/2007/05/15/wpa-wireless-authentication-with-edirectory-and-freeradius/</guid>
		<description><![CDATA[Recently I&#8217;ve been playing around with Open Enterprise Server again and I found this old article I wrote about integrating eDirectory with wireless auth.
The goal of this article is to allow you to have your wireless access protected by WPA and have users authenticate to eDirectory for access to the wireless network.
WPA (http://en.wikipedia.org/wiki/Wi-Fi_Protected_Access) is a [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I&#8217;ve been playing around with Open Enterprise Server again and I found this old article I wrote about integrating eDirectory with wireless auth.</p>
<blockquote><p>The goal of this article is to allow you to have your wireless access protected by WPA and have users authenticate to eDirectory for access to the wireless network.</p></blockquote>
<blockquote><p>WPA (http://en.wikipedia.org/wiki/Wi-Fi_Protected_Access) is a wireless authentication standard used for controlling access to wireless networks. WPA can operate in a pre-shared key mode(router and client both know a secret password), or authentication can take place with a RADIUS server.</p></blockquote>
<p><a href="http://wiki.themoos.net/index.php?title=WPA_Wireless_Authentication_with_eDirectory_and_FreeRADIUS">Article here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://chrismoos.com/2007/05/15/wpa-wireless-authentication-with-edirectory-and-freeradius/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
