rlm eap problem
Danner, Mearl
jmdanner at samford.edu
Fri May 29 16:39:20 CEST 2009
Do these files exist?
dh_file = ${certdir}/dh
random_file = ${certdir}/random
Hints here:
http://www.mail-archive.com/freeradius-users@lists.cistron.nl/msg09589.html
> -----Original Message-----
> From: freeradius-users-
> bounces+jmdanner=samford.edu at lists.freeradius.org [mailto:freeradius-
> users-bounces+jmdanner=samford.edu at lists.freeradius.org] On Behalf Of
> Michael Ziemann
> Sent: Friday, May 29, 2009 9:19 AM
> To: FreeRadius users mailing list
> Subject: AW: rlm eap problem
>
> Hi there,
>
> Yes, of course you were right, the file was named server.pem :) -> bad
> mistake, sry...
>
> But now I get following errors, but now I don't know what's to do...
>
>
> rlm_eap: SSL error error:00000000:lib(0):func(0):reason(0)
> rlm_eap_tls: Error loading randomness
> rlm_eap: Failed to initialize type tls
> /mypath/freeradius/etc/raddb/eap.conf[17]: Instantiation failed for
> module "eap"
> /mypath/freeradius/etc/raddb/sites-enabled/inner-tunnel[223]: Failed to
> find module "eap".
> /mypath/freeradius/etc/raddb/sites-enabled/inner-tunnel[176]: Errors
> parsing authenticate section.
> }
> }
> Errors initializing modules
>
>
> Sorry guys, but I don't have any experience with certificates ...
>
> Thanks
>
> Michael
>
>
> That's my eap.conf:
>
>
> # -*- text -*-
> ##
> ## eap.conf -- Configuration for EAP types (PEAP, TTLS, etc.)
> ##
> ## $Id$
>
> #######################################################################
> #
> # Whatever you do, do NOT set 'Auth-Type := EAP'. The server
> # is smart enough to figure this out on its own. The most
> # common side effect of setting 'Auth-Type := EAP' is that the
> # users then cannot use ANY other authentication method.
> #
> # EAP types NOT listed here may be supported via the "eap2" module.
> # See experimental.conf for documentation.
> #
> eap {
> # Invoke the default supported EAP type when
> # EAP-Identity response is received.
> #
> # The incoming EAP messages DO NOT specify which EAP
> # type they will be using, so it MUST be set here.
> #
> # For now, only one default EAP type may be used at a
> time.
> #
> # If the EAP-Type attribute is set by another module,
> # then that EAP type takes precedence over the
> # default type configured here.
> #
> default_eap_type = md5
>
> # A list is maintained to correlate EAP-Response
> # packets with EAP-Request packets. After a
> # configurable length of time, entries in the list
> # expire, and are deleted.
> #
> timer_expire = 60
>
> # There are many EAP types, but the server has support
> # for only a limited subset. If the server receives
> # a request for an EAP type it does not support, then
> # it normally rejects the request. By setting this
> # configuration to "yes", you can tell the server to
> # instead keep processing the request. Another module
> # MUST then be configured to proxy the request to
> # another RADIUS server which supports that EAP type.
> #
> # If another module is NOT configured to handle the
> # request, then the request will still end up being
> # rejected.
> ignore_unknown_eap_types = no
>
> # Cisco AP1230B firmware 12.2(13)JA1 has a bug. When given
> # a User-Name attribute in an Access-Accept, it copies one
> # more byte than it should.
> #
> # We can work around it by configurably adding an extra
> # zero byte.
> cisco_accounting_username_bug = no
>
> #
> # Help prevent DoS attacks by limiting the number of
> # sessions that the server is tracking. Most systems
> # can handle ~30 EAP sessions/s, so the default limit
> # of 2048 is more than enough.
> max_sessions = 2048
>
> # Supported EAP-types
>
> #
> # We do NOT recommend using EAP-MD5 authentication
> # for wireless connections. It is insecure, and does
> # not provide for dynamic WEP keys.
> #
> md5 {
> }
>
> # Cisco LEAP
> #
> # We do not recommend using LEAP in new deployments. See:
> # http://www.securiteam.com/tools/5TP012ACKE.html
> #
> # Cisco LEAP uses the MS-CHAP algorithm (but not
> # the MS-CHAP attributes) to perform it's authentication.
> #
> # As a result, LEAP *requires* access to the plain-text
> # User-Password, or the NT-Password attributes.
> # 'System' authentication is impossible with LEAP.
> #
> leap {
> }
>
> # Generic Token Card.
> #
> # Currently, this is only permitted inside of EAP-TTLS,
> # or EAP-PEAP. The module "challenges" the user with
> # text, and the response from the user is taken to be
> # the User-Password.
> #
> # Proxying the tunneled EAP-GTC session is a bad idea,
> # the users password will go over the wire in plain-text,
> # for anyone to see.
> #
> gtc {
> # The default challenge, which many clients
> # ignore..
> #challenge = "Password: "
>
> # The plain-text response which comes back
> # is put into a User-Password attribute,
> # and passed to another module for
> # authentication. This allows the EAP-GTC
> # response to be checked against plain-text,
> # or crypt'd passwords.
> #
> # If you say "Local" instead of "PAP", then
> # the module will look for a User-Password
> # configured for the request, and do the
> # authentication itself.
> #
> auth_type = PAP
> }
>
> ## EAP-TLS
> #
> # See raddb/certs/README for additional comments
> # on certificates.
> #
> # If OpenSSL was not found at the time the server was
> # built, the "tls", "ttls", and "peap" sections will
> # be ignored.
> #
> # Otherwise, when the server first starts in debugging
> # mode, test certificates will be created. See the
> # "make_cert_command" below for details, and the README
> # file in raddb/certs
> #
> # These test certificates SHOULD NOT be used in a normal
> # deployment. They are created only to make it easier
> # to install the server, and to perform some simple
> # tests with EAP-TLS, TTLS, or PEAP.
> #
> # See also:
> #
> # http://www.dslreports.com/forum/remark,9286052~mode=flat
> #
> tls {
> #
> # These is used to simplify later configurations.
> #
> certdir = ${confdir}/certs
> cadir = ${confdir}/certs
>
> private_key_password = whatever
> private_key_file = ${certdir}/server.pem
>
> # If Private key & Certificate are located in
> # the same file, then private_key_file &
> # certificate_file must contain the same file
> # name.
> #
> # If CA_file (below) is not used, then the
> # certificate_file below MUST include not
> # only the server certificate, but ALSO all
> # of the CA certificates used to sign the
> # server certificate.
> certificate_file = ${certdir}/server.pem
>
> # Trusted Root CA list
> #
> # ALL of the CA's in this list will be trusted
> # to issue client certificates for authentication.
> #
> # In general, you should use self-signed
> # certificates for 802.1x (EAP) authentication.
> # In that case, this CA file should contain
> # *one* CA certificate.
> #
> # This parameter is used only for EAP-TLS,
> # when you issue client certificates. If you do
> # not use client certificates, and you do not want
> # to permit EAP-TLS authentication, then delete
> # this configuration item.
> CA_file = ${cadir}/ca.pem
>
> #
> # For DH cipher suites to work, you have to
> # run OpenSSL to create the DH file first:
> #
> # openssl dhparam -out certs/dh 1024
> #
> dh_file = ${certdir}/dh
> random_file = ${certdir}/random
>
> #
> # This can never exceed the size of a RADIUS
> # packet (4096 bytes), and is preferably half
> # that, to accomodate other attributes in
> # RADIUS packet. On most APs the MAX packet
> # length is configured between 1500 - 1600
> # In these cases, fragment size should be
> # 1024 or less.
> #
> # fragment_size = 1024
>
> # include_length is a flag which is
> # by default set to yes If set to
> # yes, Total Length of the message is
> # included in EVERY packet we send.
> # If set to no, Total Length of the
> # message is included ONLY in the
> # First packet of a fragment series.
> #
> # include_length = yes
>
> # Check the Certificate Revocation List
> #
> # 1) Copy CA certificates and CRLs to same
> directory.
> # 2) Execute 'c_rehash <CA certs&CRLs Directory>'.
> # 'c_rehash' is OpenSSL's command.
> # 3) uncomment the line below.
> # 5) Restart radiusd
> # check_crl = yes
> # CA_path = /path/to/directory/with/ca_certs/and/crls/
>
> #
> # If check_cert_issuer is set, the value will
> # be checked against the DN of the issuer in
> # the client certificate. If the values do not
> # match, the cerficate verification will fail,
> # rejecting the user.
> #
> # check_cert_issuer =
> "/C=GB/ST=Berkshire/L=Newbury/O=My Company Ltd"
>
> #
> # If check_cert_cn is set, the value will
> # be xlat'ed and checked against the CN
> # in the client certificate. If the values
> # do not match, the certificate verification
> # will fail rejecting the user.
> #
> # This check is done only if the previous
> # "check_cert_issuer" is not set, or if
> # the check succeeds.
> #
> # check_cert_cn = %{User-Name}
> #
> # Set this option to specify the allowed
> # TLS cipher suites. The format is listed
> # in "man 1 ciphers".
> cipher_list = "DEFAULT"
>
> #
>
> # This configuration entry should be deleted
> # once the server is running in a normal
> # configuration. It is here ONLY to make
> # initial deployments easier.
> #
> make_cert_command = "${certdir}/bootstrap"
>
> #
> # Session resumption / fast reauthentication
> # cache.
> #
> cache {
> #
> # Enable it. The default is "no".
> # Deleting the entire "cache" subsection
> # Also disables caching.
> #
> # You can disallow resumption for a
> # particular user by adding the following
> # attribute to the control item list:
> #
> # Allow-Session-Resumption = No
> #
> # If "enable = no" below, you CANNOT
> # enable resumption for just one user
> # by setting the above attribute to "yes".
> #
> enable = no
>
> #
> # Lifetime of the cached entries, in hours.
> # The sessions will be deleted after this
> # time.
> #
> lifetime = 24 # hours
>
> #
> # The maximum number of entries in the
> # cache. Set to "0" for "infinite".
> #
> # This could be set to the number of users
> # who are logged in... which can be a LOT.
> #
> max_entries = 255
> }
> }
>
> # The TTLS module implements the EAP-TTLS protocol,
> # which can be described as EAP inside of Diameter,
> # inside of TLS, inside of EAP, inside of RADIUS...
> #
> # Surprisingly, it works quite well.
> #
> # The TTLS module needs the TLS module to be installed
> # and configured, in order to use the TLS tunnel
> # inside of the EAP packet. You will still need to
> # configure the TLS module, even if you do not want
> # to deploy EAP-TLS in your network. Users will not
> # be able to request EAP-TLS, as it requires them to
> # have a client certificate. EAP-TTLS does not
> # require a client certificate.
> #
> # You can make TTLS require a client cert by setting
> #
> # EAP-TLS-Require-Client-Cert = Yes
> #
> # in the control items for a request.
> #
> ttls {
> # The tunneled EAP session needs a default
> # EAP type which is separate from the one for
> # the non-tunneled EAP module. Inside of the
> # TTLS tunnel, we recommend using EAP-MD5.
> # If the request does not contain an EAP
> # conversation, then this configuration entry
> # is ignored.
> default_eap_type = md5
>
> # The tunneled authentication request does
> # not usually contain useful attributes
> # like 'Calling-Station-Id', etc. These
> # attributes are outside of the tunnel,
> # and normally unavailable to the tunneled
> # authentication request.
> #
> # By setting this configuration entry to
> # 'yes', any attribute which NOT in the
> # tunneled authentication request, but
> # which IS available outside of the tunnel,
> # is copied to the tunneled request.
> #
> # allowed values: {no, yes}
> copy_request_to_tunnel = no
>
> # The reply attributes sent to the NAS are
> # usually based on the name of the user
> # 'outside' of the tunnel (usually
> # 'anonymous'). If you want to send the
> # reply attributes based on the user name
> # inside of the tunnel, then set this
> # configuration entry to 'yes', and the reply
> # to the NAS will be taken from the reply to
> # the tunneled request.
> #
> # allowed values: {no, yes}
> use_tunneled_reply = no
>
> #
> # The inner tunneled request can be sent
> # through a virtual server constructed
> # specifically for this purpose.
> #
> # If this entry is commented out, the inner
> # tunneled request will be sent through
> # the virtual server that processed the
> # outer requests.
> #
> virtual_server = "inner-tunnel"
> }
>
> ##################################################
> #
> # !!!!! WARNINGS for Windows compatibility !!!!!
> #
> ##################################################
> #
> # If you see the server send an Access-Challenge,
> # and the client never sends another Access-Request,
> # then
> #
> # STOP!
> #
> # The server certificate has to have special OID's
> # in it, or else the Microsoft clients will silently
> # fail. See the "scripts/xpextensions" file for
> # details, and the following page:
> #
> # http://support.microsoft.com/kb/814394/en-us
> #
> # For additional Windows XP SP2 issues, see:
> #
> # http://support.microsoft.com/kb/885453/en-us
> #
> # Note that we do not necessarily agree with their
> # explanation... but the fix does appear to work.
> #
> ##################################################
>
> #
> # The tunneled EAP session needs a default EAP type
> # which is separate from the one for the non-tunneled
> # EAP module. Inside of the TLS/PEAP tunnel, we
> # recommend using EAP-MS-CHAPv2.
> #
> # The PEAP module needs the TLS module to be installed
> # and configured, in order to use the TLS tunnel
> # inside of the EAP packet. You will still need to
> # configure the TLS module, even if you do not want
> # to deploy EAP-TLS in your network. Users will not
> # be able to request EAP-TLS, as it requires them to
> # have a client certificate. EAP-PEAP does not
> # require a client certificate.
> #
> #
> # You can make PEAP require a client cert by setting
> #
> # EAP-TLS-Require-Client-Cert = Yes
> #
> # in the control items for a request.
> #
> 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
>
> # the PEAP module also has these configuration
> # items, which are the same as for TTLS.
> copy_request_to_tunnel = no
> use_tunneled_reply = no
>
> # When the tunneled session is proxied, the
> # home server may not understand EAP-MSCHAP-V2.
> # Set this entry to "no" to proxy the tunneled
> # EAP-MSCHAP-V2 as normal MSCHAPv2.
> # proxy_tunneled_request_as_eap = yes
>
> #
> # The inner tunneled request can be sent
> # through a virtual server constructed
> # specifically for this purpose.
> #
> # If this entry is commented out, the inner
> # tunneled request will be sent through
> # the virtual server that processed the
> # outer requests.
> #
> virtual_server = "inner-tunnel"
> }
>
> #
> # This takes no configuration.
> #
> # Note that it is the EAP MS-CHAPv2 sub-module, not
> # the main 'mschap' module.
> #
> # Note also that in order for this sub-module to work,
> # the main 'mschap' module MUST ALSO be configured.
> #
> # This module is the *Microsoft* implementation of MS-
> CHAPv2
> # in EAP. There is another (incompatible) implementation
> # of MS-CHAPv2 in EAP by Cisco, which FreeRADIUS does not
> # currently support.
> #
> mschapv2 {
> }
> }
>
>
>
>
>
> -----Ursprüngliche Nachricht-----
> Von: freeradius-users-bounces+michael.ziemann=herber-
> herber.de at lists.freeradius.org [mailto:freeradius-users-
> bounces+michael.ziemann=herber-herber.de at lists.freeradius.org] Im
> Auftrag von A.L.M.Buxey at lboro.ac.uk
> Gesendet: Freitag, 29. Mai 2009 15:54
> An: FreeRadius users mailing list
> Betreff: Re: rlm eap problem
>
> Hi,
>
> > Now I got a new problem with rlm_eap and the server doesn't start
> > anymore. You were right, I commented $INCLUDE sites-enabled/ in
> > radiusd.conf.
>
> the errors are clear enough!
>
> > Module: Instantiating eap-tls
> > tls {
> > rsa_key_exchange = no
> > dh_key_exchange = yes
> > rsa_key_length = 512
> > dh_key_length = 512
> > verify_depth = 0
> > pem_file_type = yes
> > private_key_file =
> > "/mypath/freeradius/etc/raddb/certs/server.pem"
> > certificate_file =
> > "/mypath/freeradius/etc/raddb/certs/server.pem"
> > CA_file = "/mypath/freeradius/etc/raddb/certs/ca.pem"
> > private_key_password = "whatever"
> > dh_file = "/mypath/freeradius/etc/raddb/certs/dh"
> > random_file = "/mypath/freeradius/etc/raddb/certs/random"
> > fragment_size = 1024
> > include_length = yes
> > check_crl = no
> > cipher_list = "DEFAULT"
> > make_cert_command =
> > "/mypath/freeradius/etc/raddb/certs/bootstrap"
> > cache {
> > enable = no
> > lifetime = 24
> > max_entries = 255
> > }
> > }
> > rlm_eap: SSL error error:02001002:system library:fopen:No such file
> or
> > directory
> > rlm_eap_tls: Error reading Trusted root CA list
> /mypath/freeradius/etc/raddb/certs/ca.pem
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> ^^^^^^^^^^^^^^^^^^^^
>
> ta da! what couldnt be clearer? does that file exist, if so does it
> have
> the correct permissions?
>
> alan
> -
> List info/subscribe/unsubscribe? See
> http://www.freeradius.org/list/users.html
>
>
>
> -
> List info/subscribe/unsubscribe? See
> http://www.freeradius.org/list/users.html
More information about the Freeradius-Users
mailing list