Setting Up Freeradius TLS

The following is an example setup configuration of freeradius as a RADIUS TLS server.

  1. Edit the following CA config file (ca.cnf) to have key usage:
    /etc/freeradius/3.0/certs   (otherwise /etc/raddb/certs)  
    
    	[v3_ca]
    	subjectKeyIdentifier    = hash
    	authorityKeyIdentifier  = keyid:always,issuer:always
    	basicConstraints        = critical,CA:true
    	#crlDistributionPoints  = URI:http://www.example.org/example_ca.crl
    	keyUsage = cRLSign, keyCertSign, digitalSignature
    	extendedKeyUsage = OCSP Signing
    	noCheck = yes
    Note

    Note

    ExtremeXOS requires key usage for a CA certificate.
  2. Edit the file /etc/freeradius/3.0/certs/xpextensions with the OCSP server address:
    [ xpserver_ext] extendedKeyUsage = 1.3.6.1.5.5.7.3.1 
    	authorityKeyIdentifier = keyid,issuer 
    	authorityInfoAccess = OCSP;URI:http://10.127.2.236:2561
    Note

    Note

    Use the IP of the machine in which the OCSP server runs. It can be the same machine where freeradius runs. DNS can also be used instead of the IP.
  3. Run the OCSP server using the following command in the same path where the certificates and index.txt are present:
    openssl ocsp -port 2561 -text -index index.txt -CA ca.pem -rkey ca.key -rsigner ca.pem
  4. Clean up by entering make destroycerts.
  5. Create the RADIUS TLS server key and certificate by entering make server.pem
  6. Create the ExtremeXOS switch key and certificate by entering make client.pem.
  7. Create the DH by entering make dh.
  8. Enable TLS in freeradius:
    File: etc/freeradius/3.0/sites-available/tls
    1. If you do not want the RADIUS server authenticating ExtremeXOS, search for the previous command line and set require_client_cert= no.
    2. Search for 'clients radsec' and add the ExtremeXOS switch IP:
      clients radsec {
      				client 10.127.2.19 {
      						ipaddr = 10.127.2.19
      						proto = tls
      						secret = radsec
      				}
    3. Add a soft link for etc/freeradius/3.0/sites-available/tls at etc/freeradius/3.0/sites-available/tls by running ln -s <file>.
    4. Restart freeradius (or radiusd).
      EXOS Switch Setup:
      -----------------
  9. Copy the ca.pem to the TFTP server.
  10. Copy the client.pem to the TFTP server.
  11. Convert the private, encrypted client key to plain format:
    openssl rsa -in client.key -out clientPlain.key
  12. Copy the clientPlain.key to the TFTP server.
  13. Install the following to the switch:
    1. Download the ca.pem as a trusted ca in the switch by entering download ssl <ip> certificate trusted-ca <file>
    2. Download the client.pem as an ssl-cert in the switch by entering download ssl <ip> certificate ssl-cert <file>
    3. Download the clientPlain.key as priv-key in the switch by entering download ssl <ip> privkey <file>
  14. Configure RADIUS or RADIUS-accounting with the TLS option.