The EAP Saga continues.
Phil Mayers
p.mayers at imperial.ac.uk
Fri Feb 2 10:43:27 CET 2007
Evan Vittitow wrote:
> Let me re-phrase, as I think I'm not quite making sense.
>
> openssl req -new -keyout kurama.pem -out kurama.pem -days 730
> openssl x509 -in kurama.pem -out kurama.crt
>
> openssl req -new -keyout altanis.pem -out altanis.pem -days 730
> openssl x509 -in altanis.pem -out altanis.crt
>
> openssl req -new -keyout serenity.pem -out serenity.pem -days 730
> openssl x509 -in serenity.pem -out serenity.crt
Those are invalid openssl commands. The "req" subcommand generated a CSR
(certificate signing request). One cannot turn a CSR into a CRT with the
x509 command - you need to use the "openssl ca" commands for that.
FreeRadius comes with wrapper scripts for this. I suggest you extend
them to generate the certs.
>
>
> Here are my three laptops, now as far as I know, based on my
> understanding of how EAP works, as long as the laptops have these certs,
> they should be able to authenticate users. the certs authenticate the nodes
To quote yourself, you're "not quite making sense".
An 802.1x supplicant communicates with the radius server (via the access
point / switch) using EAP.
EAP negotiates ONE mechanism common to the supplicant and server, then
executes that mechanism to mutually authenticate the client and the server.
So, for a given session your supplicants can either use EAP-TLS or PEAP.
Whether they use credentials from a per-machine or per-user store is
frankly irrelevant.
If you choose to use EAP-TLS, you need 4 items:
1. A server certificate, signed by a Cert Authority "serverCA"
2. A CA certificate ON THE SERVER for "clientCA", so the server can
validate and trust the client certs.
3. A client certificate, signed by a Cert Authority "clientCA"
4. A CA certificate ON THE CLIENT for "serverCA", so the client can
validate and trust the server certs.
You can (and usually do) have serverCA == clientCA so items 2 and 4 are
the same.
If you choose to use EAP-PEAP/MS-CHAPv2 you need 4 items:
1. A server certificate, signed by a Cert Authority "serverCA"
2. At the server, the ability to execute the MS-CHAP algorith for the
user - i.e. access to either the plaintext password, the NT/LM hashes,
or the ntlm_auth helper binary and a copy of Samba joined to an NT domain
3. At the client, a valid username/password
4. A CA certificate ON THE CLIENT for "serverCA", so the client can
validate and trust the server certs.
Item 3 (valid username/password) can either by a person account or it
can be a machine account (username=netbiosname$,
password=longrandomstring) if the machine is joined into an NT domain.
You can ALSO in theory use a client certificate with PEAP, but frankly
it's more trouble than it is worth unless you have specialist requirements.
So - what are you trying to do?
More information about the Freeradius-Users
mailing list