FreeRADIUS server. Defining clients Access Points and RADIUS servers



Similar documents
A practical guide to Eduroam

Sample. Configuring the RADIUS Server Integrated with ProCurve Identity Driven Manager. Contents

Using Windows NPS as RADIUS in eduroam

freeradius A High Performance, Open Source, Pluggable, Scalable (but somewhat complex) RADIUS Server Aurélien Geron, Wifirst, January 7th 2011

How To Connect A Gemalto To A Germanto Server To A Joniper Ssl Vpn On A Pb.Net 2.Net (Net 2) On A Gmaalto.Com Web Server

AGLARBRI PROJECT AFRICAN GREAT LAKES RURAL BROADBAND RESEARCH INFRASTRUCTURE. RADIUS installation and configuration

Chapter 5 - Basic Authentication Methods

Case Study - Configuration between NXC2500 and LDAP Server

Interlink Networks Secure.XS and Cisco Wireless Deployment Guide

Borderware Firewall Server Version 7.1. VPN Authentication Configuration Guide. Copyright 2005 CRYPTOCard Corporation All Rights Reserved

SURFnet. Supplicant. Gast Employee. Commercial VLAN VLAN. Student. Proxy server VLAN

Simple Installation of freeradius

Configuring the Cisco ISA500 for Active Directory/LDAP and RADIUS Authentication

Belnet Networking Conference 2013

Remote Access Technical Guide To Setting up RADIUS

Pulse Policy Secure. RADIUS Server Management Guide. Product Release 5.1. Document Revision 1.0. Published:

The English translation Of MBA Standard 0301

Deploying the BIG-IP System v11 with RADIUS Servers

Administration Guide Integrating Novell edirectory with FreeRADIUS 1.1 January 02, 2011

Sample Configuration: Cisco UCS, LDAP and Active Directory

Configuring PEAP / LDAP based authentication using FreeRADIUS on Debian Sarge and Cisco AP1200, with WPA2 AES encryption

Joint Research Activity 5 Task Force Mobility

SER Authentication with Radius and LDAP

Configuring Sponsor Authentication

Summary. How-To: Active Directory Integration. April, 2006

FreeRADIUS Install and Configuration. Joel Jaeggli 05/04/2006

How to set up the HotSpot module with SmartConnect. Panda GateDefender 5.0

Reference and Troubleshooting: FTP, IIS, and Firewall Information

govroam Web Interface User Guide

Using RADIUS Agent for Transparent User Identification

Configuring Single Sign-on for WebVPN

Configuring RADIUS Server Support for Switch Services

Configuring Global Protect SSL VPN with a user-defined port

Active Directory Authentication Integration

Application Note: Integrate Juniper IPSec VPN with Gemalto SA Server. October

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY PRÍPRAVA ŠTÚDIA MATEMATIKY A INFORMATIKY NA FMFI UK V ANGLICKOM JAZYKU

netld External Authentication Setup Guide

Table of Contents. Cisco Wi Fi Protected Access 2 (WPA 2) Configuration Example

SCOPTEL WITH ACTIVE DIRECTORY USER DOCUMENTATION

How to Configure a BYOD Environment with the Unified AP in Standalone Mode

Network Startup Resource Center

Application Note User Groups

FTP, IIS, and Firewall Reference and Troubleshooting

Enabling Multiple Wireless Networks on RV320 VPN Router, WAP321 Wireless-N Access Point, and Sx300 Series Switches

User-ID Features. PAN-OS New Features Guide Version 6.0. Copyright Palo Alto Networks

Aradial Installation Guide

Deployment Guide: Cisco Guest Access Using the Cisco Wireless LAN Controller

How To Set Up a RADIUS Server for User Authentication

Borderware MXtreme. Secure Gateway QuickStart Guide. Copyright 2005 CRYPTOCard Corporation All Rights Reserved

Using SQL Server Management Studio

RAD-Series RADIUS Server Version 7.1

NetMotion + YubiRADIUS Quick Start Guide

Network Access Security It's Broke, Now What? June 15, 2010

DIGIPASS Authentication for GajShield GS Series

Compiled By: Chris Presland v th September. Revision History Phil Underwood v1.1

RADIUS Attribute Issues regarding RFC5580 (Operator-Name and others) with several RADIUS servers (including Microsoft IAS and NPS)

This chapter describes how to set up and manage VPN service in Mac OS X Server.

IBM Security QRadar SIEM Version MR1. Log Sources User Guide

How To Test An Eap Test On A Network With A Testnet (Networking) On A Pc Or Mac Or Ipnet (For A Network) On An Ipnet Or Ipro (For An Ipro) On Pc Or Ipo

Please return this document to when complete.

Configuring User Identification via Active Directory

Siteminder Integration Guide

Connecting to Secure Wireless (iitk-sec) on Fedora

Deploying an SESM/SSG Solution

pfsense Captive Portal: Part One

Configuring Steel-Belted RADIUS Proxy to Send Group Attributes

How To Connect Checkpoint To Gemalto Sa Server With A Checkpoint Vpn And Connect To A Check Point Wifi With A Cell Phone Or Ipvvv On A Pc Or Ipa (For A Pbv) On A Micro

Your Question. Net Report Answer

Issue 2EN. Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation

Security Policy Revision Date: 23 April 2009

How To Configure A Bomgar.Com To Authenticate To A Rdius Server For Multi Factor Authentication

Basic Exchange Setup Guide

INTEGRATION GUIDE. DIGIPASS Authentication for Juniper SSL-VPN

Configuring the Avaya B179 SIP Conference Phone with Avaya Aura Communication Manager and Avaya Aura Session Manager Issue 1.0

Error and Event Log Messages

Setting Up Scan to SMB on TaskALFA series MFP s.

INTEGRATION GUIDE. DIGIPASS Authentication for Google Apps using IDENTIKEY Federation Server

IIS, FTP Server and Windows

Here, we will discuss step-by-step procedure for enabling LDAP Authentication.

Cisco Secure Access Control Server 4.2 for Windows

MICROSOFT ISA SERVER 2006

7.1. Remote Access Connection

Security Provider Integration RADIUS Server

RADIUS. - make life easier. by Daniel Starnowski

Authentication. Authentication in FortiOS. Single Sign-On (SSO)

ClickShare Network Integration

Authentication, Authorization and Accounting (AAA) Protocols

nexvortex Setup Guide

WiNG5 CAPTIVE PORTAL DESIGN GUIDE

How To Set Up Wireless Network Security Part 1: WEP Part 2: WPA-PSK Part 3-1: RADIUS Server Installation Part 3-2: 802.1x-TLS Part 3-3: WPA

INTEGRATION GUIDE. DIGIPASS Authentication for SimpleSAMLphp using IDENTIKEY Federation Server

Sophos UTM. Remote Access via PPTP. Configuring UTM and Client

INTEGRATION GUIDE. DIGIPASS Authentication for Cisco ASA 5505

RWL Tech Note Wireless 802.1x Authentication with Windows NPS

ZyWALL OTP Co works with Active Directory Not Only Enhances Password Security but Also Simplifies Account Management

Cisco TelePresence Management Suite Provisioning Extension

2.1.1 This policy and any future changes requires ratification by CAUDIT.

LISTSERV LDAP Documentation

DIGIPASS Authentication for Sonicwall Aventail SSL VPN

Transcription:

FreeRADIUS server Freeradius (http://www.freeradius.org) is a very powerfull/configurable and freely available opensource RADIUS server. ARNES recommends it for the organisations that connect to ARNES network and wish to join the EduRoam AAI. Their RADIUS server provides authentication for local users and must forward requests from roaming users to the national TLD RADIUS server. The example configurations are based on Freeradius 1.0.1 and require the regex patch for easy filtering of realms using regular expressions. Both the RPM installation package for Linux: Fedora Core 2 and a standalone regex patch are available for download (see Appendix). All the configuration files for FreeRADIUS are stored in a /etc/raddb directory. Configuration is a bit complex and is broken down into several files by default. Defining clients Access Points and RADIUS servers Access points, RADIUS servers and other RADIUS clients (NAS devices, RADIUS test scripts,...) are defined in the file /etc/raddb/clients.conf. By default only the localhost is defined there, so we need to add our access points: ######################## # APs and other devices ######################## client ap<name 1> { secret = <shared secret 1> shortname = ap<name 1> nastype = cisco [...] client ap<name N> { secret = <shared secret N> shortname = ap<name N> nastype = cisco Since we use primarily Cisco APs the nastype is set to cisco, the value should be set differently for other NAS devices. It is recommended to use a different shared secret for every access point. You can use mkpasswd to randomly generate shared secrets. Since a linked RADIUS server is viewed as a RADIUS client device, they also have to be added here: # TLD radius 1 client 10.1.2.3 { secret = <TLD shared secret 1> shortname = tld1 nastype = other # TLD radius 2 client 10.1.2.4 { secret = <TLD shared secret 2> shortname = tld2 nastype = other

A loopback client is useful for testing: client 127.0.0.1 { secret = <shared secret for Loopback> shortname = loopback nastype = other Configure realm handling RADIUS requests from local users must be handled localy, while requests from roaming users must be proxied to the national TLD RADIUS server. If organisation has a domain domain.tld all requests for *.domain.tld are forwarded from the national RADIUS server to their organisational RADIUS server and it is their responsibility to filter out invalid domains. This proxying is configured in the file /etc/raddb/proxy.conf: realm domain.tld { realm student.domain.tld { # blackhole and NULL are handled locally (denied in users file) realm blackhole.domain.tld { regex = "^.*\.domain\.tld$" realm NULL { # For unknown realms, forward requests to TLD1 or TLD2, round robin scheduling realm DEFAULT { type = radius authhost = 10.1.2.3:1812 accthost = 10.1.2.3:1813 secret = <TLD shared secret 1> ldflag = round_robin nostrip realm DEFAULT { type = radius authhost = 10.1.2.4:1812 accthost = 10.1.2.4:1813 secret = <TLD shared secret 2> ldflag = round_robin nostrip Value ldflag is set to round_robin in order that requests to TLD servers are divided equally. The nostrip command specifies that no domain stripping is allowed (username must always be in the form short_username@domain.tld, for both local and roaming users). Users authentication and realm handling The configuration file /etc/raddb/users is very important. It contains staticly configured users and specifies how request are handled and which modules should authenticate the users. A '\' char shows an unintentional line wrap. In the actual configuration file, the character must be removed and lines concatenated together:

# User anonymous must be denied # User anonymous@realm should be allowed, activate EAP # (Caution! Watch the line wrap) DEFAULT User Name =~ "^[Aa][Nn][Oo][Nn][Yy][Mm][Oo][Uu][Ss]$",\ Auth Type:=Reject DEFAULT User Name =~ "^[Aa][Nn][Oo][Nn][Yy][Mm][Oo][Uu][Ss]@.*$",\ Auth Type := EAP # Users with a blackholed or NULL realm should be rejected DEFAULT Realm == NULL, Auth Type := Reject DEFAULT Realm == blackhole.domain.tld, Auth Type := Reject # Accounting fix for AP; # We send a real user name in the outer Access Accept DEFAULT Realm == student.domain.tld, Freeradius Proxied To == 127.0.0.1 User Name = `%{User Name`, Fall Through = yes DEFAULT Realm == domain.tld, Freeradius Proxied To == 127.0.0.1 User Name = `%{User Name`, Fall Through = yes All NAS's used with this RADIUS are required to follow RFC2865 recommendation for using the User Name in Access Accept for accounting information. With this records the outer anonymous username is replaced by the real users username so NAS can send correct accounting for the correct user. # Static test account for the NREN arnes_test Realm == domain.tld, User Password == "<test password>" RADIUS links are establish with UDP and are connectionless. Every organisation is required to provide a test username to the NREN (more exactly: TLD RADIUS maintainers) since this is the only real test of the RADIUS link. This way we can also verify all RADIUS links when the TLD RADIUS is reconfigured. # Activate LDAP for the students, ID: LDAP1 # Linewrap caution! This MUST also be a single line DEFAULT Realm == student.domain.tld, Auth Type := LDAP2,\ Freeradius Proxied To == 127.0.0.1 We need to activate LDAP authentication for the students.

# Activate LDAP for the staff, ID: LDAP2 # Linewrap caution! Only Tunnel * attributes are on new lines DEFAULT Realm == domain.tld, Auth Type := LDAP1,\ Freeradius Proxied To == 127.0.0.1 Tunnel Type = VLAN, Tunnel Medium Type = IEEE 802, Tunnel Private Group Id = 313 We need to activate LDAP authentication for the staff and assign them to a VLAN 313. We also require from the organisation to create an entry in the LDAP directory for the ldaptest user so we can also verify the authentication through the LDAP directory. Setting up accounting in the SQL database We log all accounting information into the SQL database. The configuration is in the file /etc/raddb/sql.conf: ############################ # MySQL settings for accounting ############################ sql { driver = "rlm_sql_mysql" server = "localhost" login = "<user_for_mysql>" password = "<password_for_mysql>" radius_db = "radius" accounting_start_query = "INSERT into ACCOUNTING SET\ `User Name` = '%{User Name',\ `Calling Station Id` = '%{Calling Station Id',\ `Called Station Id` = '%{Called Station Id',\ `NAS Port` = %{NAS Port,\ `Timestamp Start` = NOW(),\ `Acct Unique Session Id` = '%{Acct Unique Session Id' " accounting_update_query = "UPDATE ACCOUNTING SET\ `Acct Session Time` = '%{Acct Session Time',\ `Acct Input Octets` = '%{Acct Input Octets',\ `Acct Output Octets` = '%{Acct Output Octets',\ `Acct Input Packets` = '%{Acct Input Packets',\ `Acct Output Packets` = '%{Acct Output Packets'\ WHERE `Acct Unique Session Id` = '%{Acct Unique Session Id'\ LIMIT 1 " accounting_stop_query = "UPDATE ACCOUNTING SET\ `Timestamp Stop` = NOW(),\ `Acct Session Time` = '%{Acct Session Time',\ `Acct Input Octets` = '%{Acct Input Octets',\ `Acct Output Octets` = '%{Acct Output Octets',\ `Acct Input Packets` = '%{Acct Input Packets',\ `Acct Output Packets` = '%{Acct Output Packets',\ `Acct Terminate Cause` = '%{Acct Terminate Cause'\ WHERE `Acct Unique Session Id` = '%{Acct Unique Session Id'\ LIMIT 1 "

The format of the SQL database is: mysql> describe ACCOUNTING; + + + + + + + Field Type Null Key Default Extra + + + + + + + User Name varchar(100) Calling Station Id varchar(100) Client IP Address varchar(100) Called Station Id varchar(100) NAS Port int(10) unsigned 0 Timestamp Start datetime 0000 00 00 00:00:00 Timestamp Dhcp datetime 0000 00 00 00:00:00 Timestamp Stop datetime 0000 00 00 00:00:00 Acct Unique Session Id varchar(100) Acct Session Time int(10) unsigned 0 Acct Input Octets int(10) unsigned 0 Acct Output Octets int(10) unsigned 0 Acct Input Packets int(10) unsigned 0 Acct Output Packets int(10) unsigned 0 Acct Terminate Cause varchar(100) + + + + + + + The client IP address is inserted by a script that tails DHCP log file and monitors all IP assignements. Besides that, the script also monitors connections in progress and cleans up accounting (closes accounting) for stale connections. This script requires SNMP access to Access Points. The master RADIUS configuration The master FreeRADIUS configuration file /etc/raddb/radiusd.conf specifies which modules are to be used, and defines, the actual authentication. This is the module configuration: modules { # We use PAP authentication, passwords are in the clear pap { encryption_scheme = clear $INCLUDE ${confdir/eap.conf # If LDAP is not on localhost, you must use TLS ldap ldap_student { server = "localhost" identity = "cn=radius,dc=domain,dc=tld" password = "<secret for identity dn>" basedn = "ou=student,dc=domain,dc=tld" filter = "(siedupersonprincipalname=%{user Name)" start_tls = no ldap ldap_staff { server = "localhost" identity = "cn=radius,dc=domain,dc=tld" password = "<secret for identity dn>" basedn = "ou=staff,dc=domain,dc=tld" filter = "(siedupersonprincipalname=%{user Name)" start_tls = no # usernames are in format: short_username@realm realm suffix { format = suffix delimiter = "@" ignore_default = no ignore_null = no

# Mind the Linewrap! # This specifies which fields in accounting packet are used to compute the # unique accounting ID. This value is inserted into the MySQL database. acct_unique { key = "User Name, Acct Session Id, Calling Station Id,\ Called Station Id, NAS IP Address, NAS Port" $INCLUDE ${confdir/sql.conf The section authorize specifies how a request gets handled before the credential verification. The packet traverses modules in the following list: preprocess cleans up some attributes from weird NAS's auth_log loggs the packet suffix determines the correct realm group specifies to send packet to the files and ldap modules as follows. First process the files (file /etc/raddb/files). If user is found, return result and if user isn't found, check the ldap module. authorize { preprocess auth_log suffix group { # first check files and if isn't found see the ldap # the files also activates EAP for user anonymous files { notfound = 1 ok = return ldap Here we disable all the automatic detection of authentication protocols and use only the ones that are manualy set (via the users file and other modules). By default the FreeRADIUS is configured to auto-detect authentication protocol, which is bad when you strictly mandate only one (EAP-TTLS + PAP in our case): authenticate { Auth Type EAP { eap Auth Type PAP { pap Auth Type LDAP1 { ldap_staff Auth Type LDAP2 { ldap_student Here we specify how accounting request is handled. We preprocess, create unique accounting ID, check realm (send accounting to the home institution also) and process through files: preacct { preprocess acct_unique suffix files

Accounting details are logged to the file and then to the sql database: accounting { detail sql Appendix Original Slovenian technical specifications and sample configuration site: http://www.arnes.si/dostop/wlan/ Freeradius files: RPM: http://slorpms.pingo.org/pingo/3.1/i386/test/rpms.test/freeradius*.rpm SRPM: http://slorpms.pingo.org/pingo/3.1/i386/test/srpms.test/freeradius 1.0.1 3.arnes.1.src.rpm regex patch: http://www.arnes.si/dostop/aaa/freeradius 1.0.1 rlm_regex.diff