GreenRADIUS Virtual Appliance Configuration and Administration Guide Software version: 1.0 Document version: 1.1 September 1, 2014 Introduction Green Rocket Security is aprovider of online and network identity protection. The company’s flagship product, the GreenRADIUS Virtual Appliance, enables organizations to authenticate users via two-factor authentication with a variety of security tokens, such as the YubiKey. This guide will focus on the integration of GreenRADIUS with the YubiKey. (For usage with other security tokens, such as soft tokens, please contact Green Rocket Security.) Founded in 2014, Green Rocket Security is privately held and headquartered in the heart of Silicon Valley. Disclaimer The contents of this document are subject to revision without notice due to continued progress in methodology, design, and manufacturing. Green Rocket Security shall have no liability for any error or damages of any kind resulting from the use of this document. The Green Rocket Security Software referenced in this document is licensed to you under the terms and conditions accompanying the software or as otherwise agreed between you or the company that you are representing. Trademarks YubiKey is a trademark of Yubico Inc. Contact Information Green Rocket Security Inc 1900 Camden Ave. San Jose, CA 95124 888-793-3247 info@greenrocketsecurity.com ©2014 Green Rocket Security Inc. All rights reserved. Page 2 of 68 ©2014 Green Rocket Security Inc. All rights reserved. Page 3 of 68 Contents Introduction.......................................................................................................................................... 2 Disclaimer............................................................................................................................................ 2 Trademarks ......................................................................................................................................... 2 Contact Information ............................................................................................................................. 2 1 Document Information ..................................................................................................................... 6 1.1 Purpose ................................................................................................................................... 6 1.2 Audience ................................................................................................................................. 6 1.3 References .............................................................................................................................. 6 1.4 Version .................................................................................................................................... 6 1.5 Definitions................................................................................................................................ 6 2 Introduction...................................................................................................................................... 7 3 What’s New ..................................................................................................................................... 9 4 Pre-Requisites ............................................................................................................................... 10 5 4.1 One or more YubiKey(s) ....................................................................................................... 10 4.2 Active Directory or OpenLDAP server .................................................................................. 10 Configuration ................................................................................................................................. 11 5.1 Downloading the GreenRADIUS VMware virtual appliance ................................................. 11 5.1.1 5.2 Configuration of the GreenRADIUSVMware virtual appliance .............................................. 11 5.2.1 Adding domains to the Green Rocket Security Virtual Appliance management ............... 12 5.2.2 Setting up the Global configuration parameters................................................................ 13 5.2.3 Importing users to the domain ........................................................................................... 25 5.2.4 Defining User Group Hierarchy ......................................................................................... 28 5.2.5 Importing YubiKeys to YKKSM database or YubiHSM ..................................................... 28 5.2.6 Enabling Auto-provisioning mode for the domain ............................................................. 29 5.2.7 Enabling YubiApp Registration ......................................................................................... 30 5.2.8 Enable Gradual Deployment ............................................................................................. 30 5.2.9 Return user’s Group Membership information in RADIUS response................................ 31 5.2.10 6 7 OVF ................................................................................................................................... 11 Adding RADIUS clients to the Domain .......................................................................... 32 Testing the configuration ............................................................................................................... 34 6.1 RadTest: ................................................................................................................................ 34 6.2 Validate OTP: ........................................................................................................................ 37 6.3 Ping: ...................................................................................................................................... 38 Users and Token Management ..................................................................................................... 40 ©2014 Green Rocket Security Inc. All rights reserved. Page 4 of 68 8 7.1 Enable Token ........................................................................................................................ 40 7.2 Disable Token ....................................................................................................................... 41 7.3 Unassign Token .................................................................................................................... 42 7.4 Delete User ........................................................................................................................... 43 7.5 Display Users/Group Hierarchy:............................................................................................ 44 7.6 Assign Temporary Token: ..................................................................................................... 45 Reports .......................................................................................................................................... 48 8.1 On-Demand Report ............................................................................................................... 48 8.1.1 Token Assignment............................................................................................................. 48 8.1.2 Authentication Request ..................................................................................................... 48 8.2 Sample report ........................................................................................................................ 49 9 List Tokens Tab ............................................................................................................................. 51 10 Appendix 1: Security Considerations ............................................................................................ 52 11 Appendix 2: Using YubiHSM ......................................................................................................... 53 12 11.1 Configure the YubiHSM: ....................................................................................................... 53 11.2 ConfigureGreenRADIUS Virtual Appliance: .......................................................................... 54 Appendix 3: Using LDAPS ............................................................................................................ 56 12.1 13 Setting LDAPS for GreenRADIUS Virtual Appliance: ........................................................... 56 Appendix 4: Importing Users from Active Directory/OpenLDAP ................................................... 58 13.1 Importing Users from Active Directory: ................................................................................. 58 13.2 Importing users with a specific group membership: .............................................................. 61 13.3 Importing users from multiple groups: ................................................................................... 62 14 Appendix 5: Web API .................................................................................................................... 63 15 Appendix 6: YubiApp Registration ................................................................................................ 64 16 Appendix 7: GreenRADIUS Virtual Appliance Port Information .................................................... 68 ©2014 Green Rocket Security Inc. All rights reserved. Page 5 of 68 1 Document Information 1.1 Purpose The purpose of this document is to guide readers through the configuration steps to enable two-factor authentications with YubiKey and the GreenRADIUS virtual appliance provided by Green Rocket Security. This document assumes that the reader has advanced knowledge and experience in Linux system administration, particularly how to configure PAM authentication mechanism on a Linux platform. This configuration guide focuses on configuration of FreeRADIUS demon for user authentication using Active directory (AD) or OpenLDAP server. 1.2 Audience This document is intended for technical staff of Green Rocket Security customers who want to deploy the YubiKey for securing access to corporate resources via technologies such as Remote Access service or VPN. 1.3 References Part of theGreenRADIUS solution is based on the Open Source FreeRADIUS and Webmin software. 1.4 Version This version is released to the Green Rocket Security community for the usage of Green Rocket Security'sGreenRADIUS virtual appliance to provide the YubiKey-based two-factor authentication primarily for remote access technologies(such as VPN). 1.5 Definitions Term GRVA VPN SSL RADIUS PIN OTP YubiKey ID AD LDAP Definition Green Rocket Security’s GreenRADIUS Virtual Appliance Virtual Private Network Secure Sockets Layer Remote Authentication Dial In User Service Personal Identification Number One Time Password The 12 character (48 bit) public identifier of a YubiKey Active Directory Lightweight Directory Access Protocol ©2014 Green Rocket Security Inc. All rights reserved. Page 6 of 68 2 Introduction Green Rocket Security is a security company founded in 2014 headquartered in Silicon Valley. Green Rocket Security’s mission is to “help our customers gain secure access to their resources from any device or location while preventing unauthorized access by anyone else”. Many organizations utilize the powerful and flexible authentication mechanism provided by the RADIUS protocol. A RADIUS server combined with an industry standard VPN or SSL based VPN access point forms a robust and easy solution for remote access. However, in all secure remote access scenarios a two factor authentication is highly recommended. Green Rocket Security provides a FreeRADIUS-based remote access solution, “GreenRADIUS”, for providing strong two-factor based authentication, i.e. “username + PIN/password + YubiKey OTP”. The GreenRADIUS solution supports multiple domains. Each domain configuration works independently and has its own configuration settings. In order to make it easy for customers to quickly deploy a solution, Green Rocket Security provides a ready to deploy “GreenRADIUS” VMware based virtual appliance. The ready to deploy VMware virtual appliance contains the following: • • • • • • FreeRADIUS Server Green Rocket Security OTP validation server (YKVAL and YKKSM server or YubiHSM) Webmin server Green Rocket SecurityGreenRADIUS Webmin module Username-YubiKey ID mapping service (YkMap service) AD/LDAP Username and password authentication mechanism ©2014 Green Rocket Security Inc. All rights reserved. Page 7 of 68 The following diagram illustrates a typical deployment of GreenRADIUS. ©2014 Green Rocket Security Inc. All rights reserved. Page 8 of 68 3 What’s New This section lists important updated features that GreenRADIUS includes versus the latest version of YubiRADIUS, the Yubico virtual appliance that is no longer supported by Yubico (as of November 2013): 1. Hardening 2. Two-factor authentication for the administrator login 3. Updated Ubuntu OS ©2014 Green Rocket Security Inc. All rights reserved. Page 9 of 68 4 Pre-Requisites Before using the GRVA, you will need the following: 4.1 One or more YubiKey(s) 4.2 Active Directory or OpenLDAP server Green Rocket Security GreenRADIUS virtual appliance (GRVA) server supports username and password authentication with Active Directory or with OpenLDAP server. In order to deploy and test the GRVA solution, either Active Directory or OpenLDAP server is required. ©2014 Green Rocket Security Inc. All rights reserved. Page 10 of 68 5 Configuration Please follow the configuration steps below to use the GreenRADIUS virtual appliance: 5.1 Downloading the GreenRADIUS VMware virtual appliance 5.1.1 OVF Visit www.greenrocketsecurity.com/greenradius to download an evaluation version or to order the full version. 5.2 Configuration of the GreenRADIUSVMware virtual appliance These steps assume that the GreenRADIUS virtual appliance is already downloaded and running. The configuration of the GreenRADIUS Virtual Appliance image is as follows: 1. 2. 3. 4. 5. 6. 7. 8. 9. Operating system: Ubuntu 12.04 LTS Username: gradmin Password: GreenRocket!23 Super Username: root Password: GreenRocket!23 FreeRADIUS server version: FreeRADIUS Version 2.1.10 Webmin version: 1.630 Webmin Access URL: https://<IP address of the GreenRADIUS virtual appliance> Database used for various GRVA modules/services and Green Rocket Security OTP validation server: PostgreSQL 10. PostgreSQL version: PostgreSQL 9.1.13 The virtual appliance is configured for receiving automatic IP addresses using DHCP. Change the network configuration to static IP Address if necessary. The DNS server will need to be set to resolve the IP Address of the Active Directory domain controller/OpenLDAP server. If there is a host name configured for the AD, GRVA server will not work if the IP address of the AD domain controller/OpenLDAP server is not set to be resolved. To get the solution into a functional state, these steps are required: 1. Create and configure users in a directory service AD/LDAP or the local OpenLDAP (included on the image) 2. Add a domain to the GRVA management 3. Configure the various global configuration parameters 4. Import users from the AD/LDAP/OpenLDAP server to the domain 5. To use the locally installed OTP validation server instead of the online YubiCloud validation service, import YubiKey secrets into the OTP validation server on the VA. 6. Configure Auto-provisioning options for the domain 7. Add the RADIUS client (e.g. Cisco ASA server) to the GreenRADIUS VA so that it accepts the RADIUS authentication requests from the RADIUS client(s) These steps are described in details below: ©2014 Green Rocket Security Inc. All rights reserved. Page 11 of 68 5.2.1 Adding domains to the Green Rocket Security Virtual Appliance management Login to the Webmin console in order to configure and manage the GreenRADIUS solution. Green Rocket Security has created a separate Webmin module to manage the GreenRADIUS solution which is included in the virtual appliance. Please follow the steps below to add a domain to the GreenRADIUS solution: 1) To login to the Webmin console, use the following URL: https://<IP address of the GreenRADIUS virtual appliance> The URL will be automatically redirected to the Webmin console, as shown in the image below: 2) Provide username as root and password as “Green Rocket Security", as shown in the image below: 3) After logging into the Webmin portal the GreenRADIUS Virtual Appliance module will be displayed, as shown in the image below: Enter a domain name and click on “Add Domain”. For demonstration purpose, we are using GreenRADIUS.com as domain name as shown in the image below: ©2014 Green Rocket Security Inc. All rights reserved. Page 12 of 68 This will add a domain “GreenRADIUS.com” in the GreenRADIUS virtual appliance. The domain name only supports upper/lower case alpha-numeric (A-Z and 0-9) characters and special characters like period (.). 4) An unlimited numberof domains can be added as needed to the GreenRADIUS virtual appliance. Each domain configuration is applied separately and configured independently of all other domains. Only the settings available under the “Global Configuration” will affect all domains. Note: If more than one domain is used, the UID will need to be entered as <username>@domainname.<ext> in any login screen for RADIUS connected VPN/Remote Access etc. i.e.: For a single domain the UID can be entered as AD/LDAP <user name>For multiple domains the UID must be entered as AD/LADP <user name>@domain.com 5.2.2 Setting up the Global configuration parameters The configuration parameters available under the “Global Configuration” allow GRVA administrators to access several configuration settings. These include: general FreeRADIUS configuration, enabling FreeRADIUS logging, choosing the Green Rocket Security OTP validation server, configuring the Synchronization service or deciding on the Key Storage Module to use. To configure the Global configuration options, please follow the steps below: 1) Click on the “Global Configuration” tab as highlighted in the image below: 2) The “Global configuration” options are listed in the following image: ©2014 Green Rocket Security Inc. All rights reserved. Page 13 of 68 The “Global Configuration” options are explained as follows: 5.2.2.1 General Click on General icon in Global Configuration tab. 1) Enable Auto-provisioning: Check the box to enable auto-provisioning. Auto-provisioning provides automatic YubiKey assignment to the users. When Auto-provisioning is enabled, the administrator can distribute the YubiKeys to end users without any additional work. With Auto Provisioning enabled the end users will be authenticated based on their username + password and a valid OTP on the first login attempt after receiving their YubiKey. After their successful authentication, the corresponding YubiKey ID will be automatically associated with the username (i.e. automatic user name to YubiKey binding). This method greatly simplifies the initial rollout process for administrators and end users. 2) Enable Auto-provisioning for multiple YubiKeys: If this option is enabled, a single user can be assigned multiple YubiKeys automatically through Auto-provisioning. Whileusers can have multiple YubiKeys assigned to a single username, a YubiKey can only be assigned to a single user, unless the “Enable Single YubiKey for multiple Users” option is selected. ©2014 Green Rocket Security Inc. All rights reserved. Page 14 of 68 If the “Enable Single YubiKey for multiple Users” option is selected, a single YubiKey can be assigned to multiple users if and only if each user belongs to a different domain. It is important to note that the global configuration for Auto-provisioning overrides the domain level configuration for Auto-provisioning. This means that auto-provisioning must be globally enabled in order to enable it for a single domain. If global auto-provisioning is turned off then in is not possible to enable it at the domain level). 3) Enable Single YubiKey for multiple Users: When this option is selected, a single YubiKey can be assigned to multiple user accounts, provided that each user account belongs to a different domain. Even with this option enabled, a single YubiKey cannot be assigned to multiple users in the same domain. 4) On service fail, fallback to single factor? : When this option is enabled, when the OTP validation service is not available or there is any problem with validating the OTPs with the OTP validation server, the OTP validation will be skipped and the GRVA will fall back to a traditional single factor authentication based on username and password. At a service failure users will then only be validated using their AD/LDAP password. This option can be used in environments where the internet service is shaky and user availability is of highest priority (The option “On service fail, send email alert?” should also be enabled when this feature is used in this situation). The recommended use for this function is for an administrator to manually enable it to aid during troubleshooting or similar situations. 5) Append OTP to: This option allows administrator to decide either to append the OTP to the username or the entered password in the authentication request. 6) Temporary token length: This option sets the number of characters in a temporary token provided to the user for limited period of time. Currently ‘Temporary token length’ is fixed to 8 characters. 7) YubiKey Public ID length (1-8 bytes): This option sets the number of characters in each OTP which make up the Public ID. By reducing the Public ID length, the OTPs generated by the YubiKey will likewise be shorter – each byte represents 2 characters. However, the amount of YubiKeys which GreenRADIUS can identify is also limited by the length of the Public ID. Finally, if the Public ID is set to a value other then 6, the GreenRADIUS will not work with the YubiCloud validation. When setting the YubiKey Public ID to a value other then 6, every YubiKey to be used with GreenRADIUS must also be configured with the same Public ID length. 8) Enable YubiApp Registration: ‘YubiApp Registration’ service allows the user to generate soft key tokens from their Smartphone. If the ‘YubiApp Registration’ is disabled from global configuration then no user from underlying domains can access the ‘YubiApp Registration’ service. If ‘YubiApp Registration’ is enabled from global configuration then depending on domain level YubiApp configuration, it will allow the corresponding user to access ‘YubiApp Registration’. ©2014 Green Rocket Security Inc. All rights reserved. Page 15 of 68 Please refer ‘Appendix 6: YubiApp Registration’ for more information about YubiApp registration. 9) Enable Password Authentication through GreenRADIUS: When this option is selected, GreenRADIUS will keep track of Username during authentication, allowing requests for username and passwords to be in separate dialogs/screens as the YubiKey OTP request. 10) On service fail, send email alert?: By selecting this option, the GRVA server will send an email to the email addresses specified in the “Email Addresses” field if the OTP validation service is unavailable. Administrators can enter multiple email addresses by separating them with commas. Please note that to use this functionality the Exim4 email server installed on the GreenRADIUS Virtual Appliance will need to be configured - following your corporate policy - using the “dpkg-reconfigure exim4-config” command. 5.2.2.2 FreeRADIUS Click on FreeRADIUS icon in Global Configuration tab. Enable FreeRADIUS Logging: Enabling this option will invoke the debug logging of the FreeRADIUS server. The FreeRADIUS server will need to be restarted after enabling/disabling this option. The FreeRADIUS server can be restarted using the highlighted button as shown in the screen shot below: The FreeRADIUS log file can be viewed by clicking on System hand side menu as highlighted in the image below: ©2014 Green Rocket Security Inc. All rights reserved. System Logs from the Left Page 16 of 68 Clicking on “View” of radius log link as highlighted below will display the system logs: Please note that RADIUS logging should only be used for trouble shooting. Remember to turn it off once the trouble shooting session is over as it will quickly fill the disk with extensive logs. ©2014 Green Rocket Security Inc. All rights reserved. Page 17 of 68 5.2.2.3 Validation Server 1) Set where the YubiKey OTP (provided as a part of user credentials) will be validated by selecting the appropriate option. YubiCloud - Online Validation Service” then OTPs will be validated by making a validation request to the YubiCloud Online Validation service. The YubiCloud validation servers provide redundancy and high availability for OTP validation. When selecting YubiCloud note that YubiKeys are enabled for YubiCloud validation so the YubiKeys can be directly distributed to end users without any programming. For more information, please visit the link below: http://www.greenrocketsecurity.com/server-v2-faq If “Local validation Server on GreenRADIUS VA” is set then OTPs will be validated using the locally installed (installed in the GreenRADIUS VA) OTP validation server. Please note that when the “Local validation Server on GreenRADIUS VA” option is selected the server will need to import the YubiKey information (YubiKey records) such as AES Key, Private ID etc. before it can start validating the OTPs. Please refer to the section 4.2.4 for more details on importing the YubiKey records. If using another validation server somewhere else, the Validation Server setting will need to be set to the “Other” option and provided the OTP validation URL in the specified format. ©2014 Green Rocket Security Inc. All rights reserved. Page 18 of 68 2) Validation Server Client ID and API key: The API ID/Client ID and API key will need to be entered for the selected validation server as explained below. YubiCloud If the “YubiCloud - Online Validation Service” is selected in the previous input field then enters the Client ID in the Client ID field. If an API ID for YubiCloud (in base64 format) was not provided, please visit to the following link to generate one: https://upgrade.greenrocketsecurity.com/getapikey/ For more information on API ID and API Key pair, please visit the following link: http://www.greenrocketsecurity.com/developers/api/ For Example: If the Administrator would like to use the YubiCloud with Client ID = 4233 and API key = “H9xX7BeTIbhYK3xCb/PSEeRVNvY=” which is a valid already registered API ID in the YubiCloud and can be used for quick setup, then he/she need to enter 4233 in the Client ID input field and “H9xX7BeTIbhYK3xCb/PSEeRVNvY=” (without quotes) in the ‘API Key’ field. Local Validation Server If the “Local validation Server on GreenRADIUS VA” is selected in the previous field then it is not necessary to set up the Client ID. By default the Client ID is set to“1” for local validation server. An API key will still need to be configured, For the default (common) key enter "IXazp2MoffwFYj/pfcc+v20SMVc=" (without quotes) as the API Key To enable organizations to choose a custom key the GreenRADIUS Virtual Appliance provides the API key generation functionality for the local validation server. This will help the organizations to get the new API Key for their local validation server rather than using the common one. Clicking the ‘Generate’ button generates a new API that is generated and populates the ‘API Key’ field. If “Show API Key” checkbox is checked, the API key is displayed in text format, otherwise in the key is displayed in the “masked” password format (i.e. *****). ©2014 Green Rocket Security Inc. All rights reserved. Page 19 of 68 Other If the “Other” option is selected in the previous field then the API ID/Client ID and API Key pair must be known for the OTP validation server. Enter that Client ID and API key in the labeled fields. Refer the installation document of the validation server for more details on adding the client id and API Key in the validation server. 5.2.2.4 Synchronization It is possible to set up multiple GreenRADIUS Virtual Appliances (GRVA) to help avoid a single point of failure when the local on-board validation server is used. In this mode of deployment, a number of GRVA instances can be configured with identical global, domain, user configurations and the same set of YubiKey secrets (AES keys) imported on all the instances. Thereafter, the following configuration parameters need to be set on each instance to enable synchronization of YubiKey assignment information (for users) and OTPs with the other instances of GRVA in the group. This feature was introduced in GreenRADIUS. Please note – when multiple instances of GreenRADIUS Virtual Appliance are configured for synchronization, to avoid database conflicts Administrators must restrict the use of Webmin administration interface to a single GRVA instance at a time to manage Users and YubiKey assignments to users. 1) Local Server (Secret) Configuration: Server secret: This field allows entering the shared secret for local server. This secret is used to encrypt the communication for synchronization of Username to YubiKey ID mapping. When adding a server each GRVA instance must be configured with the same shared secret as the other GRVA instances to allow synchronization. The Local Server (Secret) can be comprised of any upper/lower case alpha-numeric (A-Z and 0-9) characters and special characters (. ! # @ etc). ©2014 Green Rocket Security Inc. All rights reserved. Page 20 of 68 2) Add Server: Provide the details of the other GRVA instances i.e. IP address and shared secret with which this GRVA instance should communicate for synchronization of OTP counters and Username to YubiKey ID mapping. To allow the instances of GRVA to synchronize OTP counters and Username-to-YubiKey ID Mapping with other GRVA instances, the Add Server section must be populated with the IP address (Server IP) and Shared Secret (Sever Secret) of the other GRVA servers. The Server Secret can be comprised of any upper/lower case alpha-numeric (A-Z and 09) characters and special characters (. ! # @ etc). Please remember the following important points while setting up synchronization between two or more instances of GreenRADIUS Virtual appliance: ©2014 Green Rocket Security Inc. All rights reserved. Page 21 of 68 • • • • • The synchronization feature in GRVA synchronizes the OTP counters and Username to YubiKey ID mapping information between the configured instances. Other static or seldom changed configurations need to be done manually, meaning that the same settings need to be entered in all the GRVA instances. It is important to import users from same LDAP/AD server with same import settings like Filter, UserDN, BaseDN. Import the same YubiKey import file into all the instances Configure the local server secret (shared encryption key) on each instance To enable synchronization between the GRVA instances, add all other GRVA instances using in the ‘Add Server’ section. For Example: If there are two instances of GreenRADIUS virtual appliance, defined as Instance 1 and Instance 2, follow the configuration steps below for each instance: GreenRADIUS Instance 1 Optional Sync GreenRADIUS Instance 2 On GRVA at Instance 1, define local server secret as ‘test123’. On GRVA at Instance 2, define local server secret as ‘test456’. In the “Add Server” section of Instance 1 add the server address for Instance 2 and Server Secret & Confirm Shared Secret as ‘test456’. In the “Add Server” section of Instance 2 add the server address for Instance 1 and Server Secret & Confirm Shared Secret as ‘test123’ To test synchronization between both instances, enable Auto-provisioning in Global settings and for the domain, then assign a YubiKey to User14 in the GREENRADIUS instance 2. ©2014 Green Rocket Security Inc. All rights reserved. Page 22 of 68 After successful assignment, User14 should be assigned the YubiKey. Due to synchronization between the two instances, the same YubiKey assignment can also be seen in the other instance (as shown in the following screen): ©2014 Green Rocket Security Inc. All rights reserved. Page 23 of 68 5.2.2.5 Key Storage Module GRVA supports the use of YK-KSM or YubiHSM to securely store the YubiKey seeds if the on-board validation server is used. This screen allows you to define Key Storage Module to be used to store the YubiKey credentials. 1) Key Storage module: Select this option to select the YubiKey-KSM (YK-KSM) or YubiHSM module for storing YubiKey credentials. 2) If YubiHSM is selected the information about the key handle must be provided in either Hexadecimal or Decimal format. Enter the Passphrase (Master Key) that was used at the time of initial YubiHSM configuration. For Example: The key handle can be provided in hexadecimal format like 0x8888 or in decimal format such as 34952. The YubiHSM creates or receives secrets and encrypts them before they are transmitted to the authentication server for storage. With this approach, an unlimited number of secrets can be transmitted, stored and authenticated without risk of being compromised. In this mode, the YubiHSM can also decrypt the OTP received from provisioned YubiKeys and also validate with validation server e.g. YK-VAL. If planning to use YubiHSM in the GreenRADIUS Virtual Appliance it will need to first have the YubiHSM device connected physically and then configure it. Please note that if YubiHSM is used, GreenRADIUS Virtual Appliance requires the YubiHSM to be configured in HSM mode. ©2014 Green Rocket Security Inc. All rights reserved. Page 24 of 68 Note: Settings made in the “Global configuration” affects all the domains. 5.2.3 Importing users to the domain If upgrading from a previous version of GreenRADIUS, note that there have been significant changes for the user import function. Users are now organized under OUs/Groups. To view an imported user first click on the OU/Group the user belongs to. Once there all users in that OU/Group will be displayed. Due to the new way of viewing users it will take a longer time than before to import users. Please refer “Appendix 4: Importing Users from Active Directory/LDAP” for more information about what is new for user import. To import users to the domain, please follow the steps below: 1) Click on the domain name as shown in the image below: 2) Click on the Users Import tab, as highlighted in the image below to fetch the users from the AD/OpenLDAP server: ©2014 Green Rocket Security Inc. All rights reserved. Page 25 of 68 GreenRADIUS has simplified the basic User Import functionality. Administrators who require more flexibility while importing users or need to configure an SSL connection to the directory may use the advance section. However, it is recommended to use the simplified interface for the initial GreenRADIUS Setup, and then proceed into the advanced section if additional configuration is required (such as setting up an SSL connection). 3) To setup GreenRADIUS, the following information will need to be provided: a) Directory Type: The Directory type may be set to either ‘Active Directory’ or ‘OpenLDAP’; Set the Directory type to the same Directory type the users will be imported from. b) LDAP/AD Server Address or Host Name: Enter the IP Address/Fully Qualified Domain Name of the Active directory/ OpenLDAP server. c) Admin User: Enter the User DN for binding with the Active Directory/ OpenLDAP server. Enter the administrator DN GreenRADIUS should use to authenticate with the AD/LDAP server when importing users. For Example: “cn=administrator, cn=users, dc=example, dc=com”. Most commonly this is an administrator or privileged account. d) Password: Enter the password for the administrator/privileged account to be used for when importing users from the Directory. e) Advance: The ‘Advance’ button will display the advanced configuration UI. The Advanced configuration UI includes tool to customize GreenRADIUS further, such as using secure connection (LDAPS), applying filters while importing users from directory, and the like. f) Save: The Save button will save the entered settings for this page. g) Import Users: The Import Users button will save the current entered settings for this page and attempt to connect the LDAP/AD server to import the users. By clicking on ‘the Advance’ button, administrators can provide more parameters to import the users with more flexibility as required. 4) Please provide the following information: a) Use Secure Connection?: Select ‘Yes’ to use LDAPS (encrypted Secure Connection) and ‘No’ to use regular unencrypted LDAP to connect to the directory server for importing and authenticating users. b) Directory Type: Select the directory type between ‘Active Directory’ and ‘OpenLDAP’; The Administrator must define the directory type from where he/she importing the users. c) LDAP/AD Server Address or Host Name: Enter the IP Address/Fully Qualified Domain Name of the Active directory/ OpenLDAP server ©2014 Green Rocket Security Inc. All rights reserved. Page 26 of 68 d) Backup LDAP/AD Server Address or Host Name (optional; for user authentication only): Enter the IP Address/Fully Qualified Domain Name of the Backup Active directory/ OpenLDAP server Please note that this AD/LDAP server is used only for the validation purpose when Primary LDAP/AD Server is not reachable. e) Port: Enter the port number on which the LDAP server is running. Leave this blank or set it to zero to use the default LDAP or LDAPS ports, depending on setting in step ‘a’ above f) LDAP Version: Select the version of the LDAP Protocol to be used for importing the users information from your Directory Service g) Base DN: Enter the Base DN of the Active Directory/OpenLDAP server from where the users need to be fetched. The Base DN represents the starting point in the Directory (AD/LDAP) hierarchy under which the users are located. For Example: “ou=users, dc=example, dc=com” h) User DN: Enter the User DN for binding with the Active Directory/ OpenLDAP server. Enter the administrator DN GreenRADIUS should use to authenticate with the AD/LDAP server when importing users. For Example: “cn=administrator, cn=users, dc=example, dc=com”. Most commonly this is a type of administrator or privileged account. Also see related password below. i) Password: Enter the password for the administrator/privileged account for use when importing users from your Directory j) Schedule: Select the appropriate schedule for fetching the users from the Active Directory/OpenLDAP server. Administrators can optionally schedule the automatic import of the users on hourly, daily and weekly basis as shown in the image below: If Administrator selects “Hourly” option is selected, users will be imported once in an hour. When the “Daily” option is selected, the users will be imported once every day and when the “Weekly” option is selected the users will be imported once in a week. This is useful if you have a larger number of users and with users frequently changing roles and moving from one OU to another. ©2014 Green Rocket Security Inc. All rights reserved. Page 27 of 68 k) Filter: Provide the filter value(s). For Example: In the case of Active Directory Server and OpenLDAP server use “(objectClass=person)”> to import all or specific users. Set an appropriate filter to import the users based on your needs. For more information, please see the examples provided in Appendix 4. l) Login Name Identifier: Provide the Login name Identifier to identify the unique attribute that should be used to authenticate users with AD/LDAP server. (For Active Directory use “sAMAccountName” and for OpenLDAP server use “uid”) The Save button will save the entered settings for this page. The GreenRADIUS Virtual Appliance utilizes an optimized user import functionality. Thousands of users from LDAP/AD can be imported in GreenRADIUS Virtual Appliance along with their hierarchical information in just a few minutes. Please refer “Appendix 4: Importing Users from Active Directory/LDAP” for more information about importing users from AD/LDAP. The GreenRADIUS Virtual Appliance supports login names longer than 20 characters. 5.2.4 Defining User Group Hierarchy In GreenRADIUS 3.6.0 and above, Administrators have greater control over which groups to return for each user. When returning a single group for a user, GreenRADIUS will respond with the highest priority group, as defined in the Groups tab in the Domain settings. If a group has its priority set to 0, it is never displayed for a user unless all groups are being returned. The Groups listed in the Domain Configuration will be automatically populated upon importing users from the AD/LDAP server. By default all groups are set to 0. Administrators can then assign a priority to each group by entering a number above 0. The higher the number assigned, the higher the priority in returning the group associated with the user. When importing new groups, their priority is automatically set to 0 and remains at that value until changed by an Administrator. Once the priority of the groups has been assigned, click the Update button to save the priority for each group. 5.2.5 Importing YubiKeys to YKKSM database or YubiHSM To use the locally installed OTP validation server, it is necessary to import the token (YubiKey) information such as AES Key, Private ID etc. for the YubiKeys to the locally installed YKKSM database or YubiHSM (depending on the selection in Global Configuration). This is to allow the OTPs emitted from these YubiKeys to be validated with the locally installed OTP validation server. Use the “YubiKeys Import” tab to import the YubiKey’s related information to the YKKSM database/YubiHSM. ©2014 Green Rocket Security Inc. All rights reserved. Page 28 of 68 You can directly import YubiKey secrets can be directly imported from log files generated by the Original Windows Personalization Tool or the Cross-platform Personalization Tool. Select the appropriate option depending on the source of your file. A sample entry in the comma separated text file (generated by the Original Windows Personalization Tool) is as follows: 1,djecuclbjfjh,ebe845d88fa6,a23bf655215e0355e5ae9b08858def33,0,0,0 For uploading the information, the path of the comma separated text file must be entered in the “File to upload” text box. Once the path is configured, clicking the “Upload” will upload the YubiKey secrets. 5.2.6 Enabling Auto-provisioning mode for the domain It is possible to enable/disable the Auto-provisioning mode at the domain level as well. However, note that to enable Auto-provisioning mode at the domain level, it must also be enabled in the “Global configuration” settings. If the Auto-provisioning in the “Global configuration” settings is disabled then Auto-provisioning is not available for any domain even if the Auto-provisioning option is enabled at the domain level. The same principle is applied to the “Auto-provisioning for multiple YubiKeys” option. To enable the “Auto-provisioning” and “Auto-provisioning for multiple YubiKeys” please follow the steps given below: 1) Click on the “Configuration” tab as highlighted in the image below: 2) Enable/ Disable the “Auto-provisioning” and “Auto-provisioning for multiple YubiKeys” as per requirements in the section highlighted in the image below, then click on “Update” ©2014 Green Rocket Security Inc. All rights reserved. Page 29 of 68 5.2.7 Enabling YubiApp Registration It is possible to enable/disable the YubiApp Registration at the domain level as well. However, note that to enable YubiApp Registration at the domain level, it will need to also be enabled in the “Global configuration” settings. If the YubiApp Registration in the “Global configuration” settings window is disabled then the YubiApp Registration is not available for any domain even if the YubiApp Registration is enabled at the domain level. To enable the ‘YubiApp Registration’ at domain level, please follow the steps given below. 1) Click On ‘configuration tab’ 2) Enable/disable the ‘YubiApp Registration’ as per requirements in the section highlighted in screen below, then click on “Update”. 5.2.8 Enable Gradual Deployment GreenRADIUS 3.6.0 and on support a Gradual Deployment feature, allowing users to continue to login with just their AD/LDAP credentials until being assigned a YubiKey. This feature requires Auto-Provisioning to be enabled to function correctly. When Gradual Deployment is enabled in the Configuration tab for a Domain, the Users/Groups interface will have some additional features: ©2014 Green Rocket Security Inc. All rights reserved. Page 30 of 68 a) Single Factor Flag: This reflects if a user is currently allowed to use a single factor login of just their Username/Password credentials from AD/LDAP. A green check means that user does not need to supply a YubiKey OPT, while a red x in this column means a YubiKey OTP is required. When a YubiKey is successfully assigned to a user, this flag is automatically disabled. b) Enable single Factor Option: By checking one or more users and clicking this option, the Single Factor Flag for the selected users is set to on, allowing those users to log in without the need of a YubiKey OTP. This can be used in conjunction with the temporary tokens to assist users who have lost or misplaced their YubiKey. c) Disable single Factor Option: By checking one or more users and clicking this option, the Single Factor Flag for the selected users is set to off, requiring those users to log in with a YubiKey OTP. 5.2.9 Return user’s Group Membership information in RADIUS response GreenRADIUS Virtual Appliance provides the functionality to return the user’s group membership information in RADIUS response. 1) Return user’s Group Membership information in RADIUS response: can enable the functionality by setting ‘Return user’s Group Membership information in RADIUS response’ to ‘yes’. In addition, Administrators can specify the format in which the user’s group membership information need to be returned. 2) Response Format: It consists of three parts: a) First Textbox: This defines of the prefix to be attached to the user’s group membership information. b) Group name: This consists of user’s group membership information. c) Second Text box: This defines of the postfix to be attached to the user’s group membership information. 3) Group return information: If Group DN is selected, then the entire group DN of the user is returned in the RADIUS response. If ‘Only Group Name’ option is selected then only the user’s group name will be returned in the RADIUS response. ©2014 Green Rocket Security Inc. All rights reserved. Page 31 of 68 For Example: If user1 belongs to the group name = ‘people’, and we define the prefix as ‘ou=’ and postfix as ‘;’ then user’s group membership information returned in the RADIUS response will be, Class = ou=people; Please note that FreeRADIUS returns the user’s group information in Class attribute. In GreenRADIUS 3.6.0 and above, Administrators can choose which groups to return for each users by setting the Return All Groups Option a. Yes: Every group a user belongs to is returned. b. No: Only the highest ranking group, as determined by the Domain Group Ranking configured will be returned In GreenRADIUS 3.6.0 and above, administrators are able to rank user groups by importance, allowing users to be identified by the highest ranking group each belong to. When importing users from an AD/LDAP server, the all the groups will also be imported. GreenRADIUS Administrators can sort them by priority. 5.2.10 Adding RADIUS clients to the Domain The RADIUS client’s IP address and a shared secret must be added in the FreeRADIUS server so that the FreeRADIUS server accepts incoming RADIUS requests coming from the RADIUS client. To add the RADIUS client, please follow the steps given below: 1) Click on the “configuration” tab as shown in the image below: 2) Provide the IP address of the Client and Secret (encryption key) in the section highlighted in the image below and click on the “Add” button ©2014 Green Rocket Security Inc. All rights reserved. Page 32 of 68 GreenRADIUS Virtual Appliance supports configuration for network clients on a subnet only through configuring for all clients on this subnet. For Example: You can set the Client IP address as 192.168.1.0/24 which makes the GRVA to accept the request from any of the terminal having IP address 192.168.1.0 to 192.168.1.255. The GRVA is now ready for testing and evaluation. ©2014 Green Rocket Security Inc. All rights reserved. Page 33 of 68 6 Testing the configuration For testing RADIUS two-factor authentication with YubiKey, YubiKey OTP validation and availability of machine users can visit the Troubleshoot tab. 6.1 RadTest: To test the RADIUS two-factor authentication with a YubiKey, use the “RadTest” utility in the section highlighted in the image below: ©2014 Green Rocket Security Inc. All rights reserved. Page 34 of 68 Examples: We configured a GreenRADIUS virtual appliance as described above in the document. We added the “GreenRADIUS.com” domain and imported a couple of users from active directory. For demonstration purpose, we are using the “User1” user as highlighted in the image below: The user is not assigned any YubiKey yet. We have enabled the Auto-provisioning option at the “Global configuration” level as well as at domain level. We are using the online Green Rocket Security OTP validation server for testing. Note that if you have created only one domain in the GRVA server there is no need to add the domain name after the username at the time of authentication. In this example, if the username is User14 then at the time of authentication you need to just provide username as User14 instead of User14@GreenRADIUS.com. However, for multiple domains then the domain name will need to be added after the username at the time of authentication. The username is case-insensitive. The YubiKey OTP can be provided in all upper or lower case letters. The Password is case-sensitive and supports all upper & lower case alpha-numeric (AZ and 0-9) characters and special characters. Please refer to the test examples below: 1) We tested the configuration using the “RadTest” utility as shown below: We provided the correct password for the User14 user and the OTP from a YubiKey which was not yet assigned to anyone and to which OTP can be validated with the online Green Rocket Security OTP validation server. ©2014 Green Rocket Security Inc. All rights reserved. Page 35 of 68 We received the response as “Successful!” from the RADIUS server since the username + Password + YubiKey OTP were validated successfully. And a username to YubiKey Public ID mapping was created as highlighted in the image below: 2) We executed the RadTest utility one more time, this time entering the same credentials along with the same OTP that was provided in the test above: This time we received the response as “Failed!” because the OTP was used already. ©2014 Green Rocket Security Inc. All rights reserved. Page 36 of 68 6.2 Validate OTP: To test the validation of YubiKey OTP with the validation server defined in Global Configuration, use the “Validate OTP” utility in the section highlighted in the image below: Please note that is the YubiKey is configured for adding a enter key as the end of the OTP (default programming) Then use notepad or similar text editor for entering the OTP and then cut and paste in the YubiKey OTP filed. Following example describes the YubiKey OTP validation with the Online YubiCloud service. ©2014 Green Rocket Security Inc. All rights reserved. Page 37 of 68 6.3 Ping: The Ping utility is another test tool used for checking the availability (network connectivity) of a machine or service. The Following image displays ping functionality. ©2014 Green Rocket Security Inc. All rights reserved. Page 38 of 68 Here we are trying to check availability of www.greenrocketsecurity.com ©2014 Green Rocket Security Inc. All rights reserved. Page 39 of 68 7 Users and Token Management Using the GreenRADIUS Virtual Appliance interface, it is possible to enable/disable the YubiKey associated (assigned) to a user, unassign a YubiKey from a user or delete a user from the GreenRADIUS database. These functionalities are explained in details in the following sections: 7.1 Enable Token The “Enable Token” button allows an Administrator to re-enable a YubiKey assigned to a user from the disabled state. Doing so will allow the YubiKey to be used for authentication again. To do so, first select the user from the “Users” tab and click on “Enable Token” button. The YubiKey ID to username association will be enabled again and the YubiKey may be used once more by the user. The Token status changes to enabled (Tick mark sign) as highlighted below: ©2014 Green Rocket Security Inc. All rights reserved. Page 40 of 68 7.2 Disable Token The “Disable Token” button allows an Administrator to disable a YubiKey assigned to a user from the enabled state. Doing so will prevent the YubiKey from being used for authentication. Select the user from the “Users” tab and click on “Disable Token” button. The YubiKey ID to the username association will be disabled and the user will not be able to use the YubiKey. The Token status changes to disabled (cross sign) as highlighted below: ©2014 Green Rocket Security Inc. All rights reserved. Page 41 of 68 7.3 Unassign Token The “Unassign Token” button allows an Administrator to Unassign a YubiKey assigned to a user. Doing so will prevent the YubiKey from being used for authentication. Select the user from the “Users” tab and click on “Unassign Token” button. The YubiKey Public ID to the username association will be deleted and the user will not be able to use the YubiKey. The YubiKey gets unassigned as highlighted below: ©2014 Green Rocket Security Inc. All rights reserved. Page 42 of 68 7.4 Delete User The “Delete” button allows an Administrator to delete a user from the GreenRADIUS Virtual Appliance. To delete a user from GreenRADIUS Virtual Appliance t click on the “Delete User” button. The user only will be deleted from the GreenRADIUS Virtual Appliance and not from the Active Directory or LDAP. Further, all the YubiKey ID to username associations for that user will be deleted and those YubiKeys will no longer be able to be used for authentication. The user gets deleted as highlighted below: ©2014 Green Rocket Security Inc. All rights reserved. Page 43 of 68 Please note that if a user is deleted from the AD/LDAP, then that user is not automatically removed from the GreenRADIUS Virtual Appliance’s domain. An Administrator has to manually delete that particular user from GreenRADIUS Virtual Appliance’s domain. If a user is renamed in the LDAP/AD then the changed name is also renamed in the GreenRADIUS Virtual Appliance domain in next importing activity of the users. 7.5 Display Users/Group Hierarchy: By default GreenRADIUS Virtual Appliance displays all the users without organizing them into groups and sub-groups. ‘All Users’ button: By clicking the ‘All Users’ button, GreenRADIUS displays a list of all the users in the LDAP/AD, irrespective of their group hierarchy. After being clicked, the button toggles to the ‘Group Hierarchy’ button. ‘Group Hierarchy’ button: By clicking the ‘Group Hierarchy’ button, GreenRADIUS displays the users in their group hierarchical structure, using Groups and Sub-Groups imported from LDAP/AD. ©2014 Green Rocket Security Inc. All rights reserved. Page 44 of 68 7.6 Assign Temporary Token: If user forgot to bring their YubiKey, an Administrator can assign the user a temporary token, which will allow the user to authenticate without the use of a YubiKey for a specific number of authentications set by the administrator. To assign a temporary token, an administrator can select the user and click on the ‘Temporary token settings’ as highlighted in the above screenshot. ©2014 Green Rocket Security Inc. All rights reserved. Page 45 of 68 1) Enable Temporary Token: Select ‘yes’ to assign a temporary token. 2) Temporary Token: The Temporary token can be manually entered as a fixed 8 character string, or randomly generated by clicking the Generate Button. 3) Temporary Token Expires After: You can specify the expiry date for the temporary token. For example: If you specify the expiry date as ’21 March 2012’, then user can use temporary token from now through the ’21 March 2012’ 11.59 P.M. midnight). Any attempts to login with the temporary token after this will be rejected by the server. Once the temporary token has expired the user must use his/her assigned YubiKey for successful authentication. 4) If you specify an expiry date from the past, an error message will be shown asking you to “Please specify todays date or a future date” 5) Maximum Authentication Allowed: This field is used to set the number of times the user is allowed to use the temporary token. This field value decreases after each successful validation of the user with a ‘Temporary Token’. Once an Administrator has assigned a ‘Temporary Token’ to the user, then ‘Temporary Token Status’ column displays enable (green checkmark) status as shown in the screenshot below for user1: The ‘Temporary Token Status’ disables automatically in following cases, a. On expiry of the ‘Temporary Token’ configured date. b. When ‘Maximum Authentication Allowed’ turns to ‘0’ (zero) c. When user enters a valid YubiKey in validation request. ©2014 Green Rocket Security Inc. All rights reserved. Page 46 of 68 d. When user enters a new YubiKey (unassigned YubiKey) in validation request and has auto-provisioning is enabled (for both global as well as domain level). Please note (as described above) that the temporary token functionality will be automatically disabled once the user uses their valid YubiKey for first time or uses their YubiKey again (if forgotten). The Temporary token also supports all upper/lower case alpha-numeric (A-Z and 0-9) characters and special characters. ©2014 Green Rocket Security Inc. All rights reserved. Page 47 of 68 8 Reports The GreenRADIUS virtual Appliance can also generate reports. The reporting feature is available under the “Reports” tab. The reporting feature provides On-Demand Reports. 8.1 On-Demand Report You can generate following two types of On-Demand reports: 8.1.1 Token Assignment The token Assignment report will show the username to YubiKey assignment depending on the filter chosen. The report is generated in a CSV format which can be downloaded. There are three filters available; All, Enabled and Disabled. The “All” filter will have the report show all the username to YubiKey ID mappings. The “Enabled” filter will have the report show only the currently enabled username to YubiKey ID mappings. The “Disabled” filter will have the report show only the currently disabled username to YubiKey ID mappings. Also, for the “Token Assignment” On-Demand report, additional filters can select the particular date range for which to generate the reports. 8.1.2 Authentication Request Authentication Request report will show the result of the total authentication requests handled by the GreenRADIUS virtual appliance, depending on the filter chosen. The report is generated in a CSV format which can be downloaded. There are three filters available; All, Success and Failed. The “All” filter will have the report show all the authentication requests handled by virtual appliance, irrespective of whether they were successful or failed. The “Success” filter will have the report show only the successful authentication requests. The “Failed” filter will have the report show only the failed authentication requests. ©2014 Green Rocket Security Inc. All rights reserved. Page 48 of 68 For the “Authentication Request” On-Demand report, additional filters can select the particular date and time range for which to generate the reports. All the reports will be saved in the “/usr/share/webmin/Green Rocket Security-RoP/reports” directory. Reports can be managed from this directory. 8.2 Sample report For demonstration purpose, we will show how to generate an Authentication request report using the “All” filter. To generate the report, follow the steps below: 1) In the “Reports” tab, select Type as “Authentication Requests” and Options as “All” for “On-Demand Report”. Select Time Range as, From 1st Jan 2012 00:00 to 20th March 2012 00:00, also highlighted in the image below: Please click on the “Generate” button; the report will be generated and a message saying “Report generated successfully” is displayed. Click on ‘View’ under Action to view the report. Note the message text will appear on the screen as highlighted in the image below 2) Click on “click here” link or the “View” button to view the report. A new tab will be opened automatically in your browser and the report will be generated in the following format: ©2014 Green Rocket Security Inc. All rights reserved. Page 49 of 68 3) You can also delete the generated report, select the report and click on the “Delete Selected” button ©2014 Green Rocket Security Inc. All rights reserved. Page 50 of 68 9 List Tokens Tab The “List Tokens” tab displays all the YubiKeys imported in the database along with their corresponding assigned usernames including domain name. The List Tokens tab is designed to help the administrators keep track off the YubiKeys that are imported into the database as well as which are assigned to users and which are unassigned so that an administrator can easily determine which YubiKeys are available to be assigned to new users. GreenRADIUS Virtual Appliance provides a built-in UI to the AEADs that are generated using YubiHSM device and displays the YubiKeys imported using YubiHSM device. If an administrator configures the “Key Storage Module” as “YubiKey-KSM” in the “Global Configuration” tab then only YubiKeys imported in the database are displayed in the “List Tokens” tab with the corresponding username of the user. Similarly, if an administrator configures the “Key Storage Module” as “YubiHSM” then only YubiKeys imported using YubiHSM are displayed in the “List Tokens” tab (irrespective of the selected key handle) with the corresponding username of the user. The Administrator can search the imported YubiKey assignment and status details by searching for the Token ID or username. Administrators can directly assign the user a YubiKey by clicking on ‘Assign a Token to User’ menu. Please note that Tokens tab is available only with local validation server and disabled for online (YubiCloud) validation service. ©2014 Green Rocket Security Inc. All rights reserved. Page 51 of 68 10 Appendix 1: Security Considerations For security reasons, we strongly recommend to change the default passwords before setting up GreenRADIUS Virtual Appliance in your environment. At the very least we recommend changing the passwords before taking GreenRADIUS into production. GreenRADIUS Virtual Appliance is built on standard Ubuntu 12.04 LTS Operating System. Available OS patches have been applied at time of creation of the GRVA. The GreenRADIUS Virtual Appliance has only security updates enabled by default. Update of any other module will require manual updates. GreenRADIUS Virtual Appliance is not specifically hardened, though we are limiting automatically starting services to only those needed for GreenRADIUS authentication. We highly recommend users review and adjust system configuration and security settings according to applicable corporate security policies and best practices. ©2014 Green Rocket Security Inc. All rights reserved. Page 52 of 68 11 Appendix 2: Using YubiHSM The YubiHSM is a Hardware Security Module (HSM) designed for protecting secrets on authentication servers, including cryptographic keys and passwords, in a clear and easy to use manner. GreenRADIUS Virtual Appliance has built-in support for YubiHSM and provides flexibility for users to use either YK-KSM or YubiHSM to securely store the YubiKey credentials. Follow these steps to setup YubiHSM with GreenRADIUS Virtual Appliance: First connect the YubiHSM device physically to the device running the GreenRADIUS Virtual Appliance. Once connected, the YubiHSM will need to be configured. The GreenRADIUS Virtual Appliance only supports a YubiHSM device when it is configured in HSM (AEAD) mode. When the YubiHSM device is connected, the corresponding device entry is automatically added in the “dev” directory as “ttyACM0”. The core steps to configure the YubiHSM device are listed in this document below. For complete instructions and additional details on configuring the YubiHSM in HSM (AEAD) mode, refer to the following document: http://static.Green Rocket Security.com/var/uploads/pdfs/YubiHSM%20Manual%202011-0914.pdf 11.1 Configure the YubiHSM: 1) Connect the YubiHSM device to a USB on a computer (To setup the YubiHSM device on a Windows Computer the following .INF file may need to be download and used: http://static.Green Rocket Security.com/var/uploads/files/YubiHSM.inf) 2) Access HyperTerminal 3) Configure the YubiHSM device via the following steps. For more detail, refer to the configuration steps in section 8.1 of the YubiHSM Manual i. Place the YubiHSM in configuration mode by holding down the configuration switch on the hardware when powering on the YubiHSM device. ii. In HyperTerminal connect to the COM port assigned to the YubiHSM device. The port can be determined with Windows Device manager. Leave the COM port settings to the default values. iii. HyperTerminal should start communicating with the YubiHSM device. 4) Set the master key via the following steps. For more detail, refer to the configuration steps in section 8.4 of the YubiHSM Manual i. In HyperTerminal, type “hsm” to display the configuration menu. For information on these settings, refer to the YubiHSM Manual. ii. Hit the “ENTER” key to proceed to the optional configuration password option. To skip adding a configuration password, only hit ENTER. To enable the password, either hit ©2014 Green Rocket Security Inc. All rights reserved. Page 53 of 68 iii. iv. v. vi. “g” and ENTER to generate a random password or paste in a 16 byte hexadecimal string. Keep this password stored securely for future reference. The next step allows the setup of "administrative YubiKeys" to be used in conjunction with the YSM_HSM_UNLOCK command. To skip this step, only hit ENTER. To add administrative YubiKeys, enter the public IDs in modhex format for each administrative YubiKey, separated by ENTER. The next step is the creation of a AEAD key storage master key. Hit “g” and ENTER to generate a random Master Key or paste in a 32 byte hexadecimal string. Keep this key stored securely for future reference. A default key of all zeroes is applied if only ENTER is pressed. The final step is the confirmation of the entered configuration. Type “yes” and ENTER to accept and save the settings. Any other text will abort the entered configuration. Wait the configuration is complete, indicated when system prompt in HyperTerminal displays HSM>. 5) Next, generate key handles and keys via the following steps. For more detail, refer to section 8.8 of the YubiHSM Manual. Note the key handles generated in YubiHSM are in hexadecimal format. i. To generate and store a range of key handles, type: “keygen <start id><count><key_length>” For example, to create three keys - 5, 6 and 7 with 32 bytes length, type: “keygen 5 3 20” ii. Use cut-and-paste or input capture from the terminal program to keep a backup copy for these generated keys. 6) It is important to commit the generated Keys so the YubiHSM configuration is stored in permanent memory. Commit the keys via the following steps. For more detail, the process described in section 8.11 of the YubiHSM Manual. i. In HyperTerminal, type: HSM (keys changed)> keycommit ii. The key database must be committed even if no master key has been set. The keys are then encrypted with a default (all zero) key. Note the configuration details such as key handle, master key, etc. and use the same configuration details while configuring the GreenRADIUS Virtual Appliance 11.2 Configure GreenRADIUS Virtual Appliance: 1) 2) 3) 4) Log on to GreenRADIUS Virtual Appliance Access Global Configuration >> Key Storage Module option Select YubiHSM option Enter the 'key handle' and 'passphrase (master key)' that was set during the configuration of YubiHSM. 5) Save the configuration. The YubiHSM Key handle can be provided in either hexadecimal format (such as:“0x8888”) or in decimal format (such as:“34952”). ©2014 Green Rocket Security Inc. All rights reserved. Page 54 of 68 For Example: We have configured YubiHSM with key handle as ‘8888’ and master key (passphrase) as: ‘9528b6642b06cd219eb8dd784091dcdbbce4dee49efda4cc73614ed01e2fdf09’When configuring the GreenRADIUS Virtual Appliance we are use the same configuration details as shown in following window. Another import of the YubiKey secret keys between the Key Storage Module options (YKKSM or YubiHSM) will required after changing the configuration. ©2014 Green Rocket Security Inc. All rights reserved. Page 55 of 68 12 Appendix 3: Using LDAPS The GreenRADIUS Virtual Appliance has support for LDAPS to allow it to securely connect to directory servers for importing and authenticating users. To use LDAPS, first set the “Use Secure Connection” option to ‘Yes’. Set the Port as ‘636’, the default port for LDAPS. Ensure other details are set as per LDAPS configuration: Setting the Port field to blank or zero will result in GRVA using the default port for LDAP (389) or LDAPS (636), depending on if “Use Secure Connection” is set as No or Yes. 12.1 Setting LDAPS for GreenRADIUS Virtual Appliance: Administrators must add the CA certificate from the AD/LDAP server. When GRVA is configured to use LDAPS communication, it asks for the certificate while communicating. The CA certificate must be provided to the GRVA instance and be configured in the ldap.conf file. Quick Setup Steps: 1) Obtain the CA certificate used to sign the CSR for AD/LDAP 2) Copy it to /etc/ssl/certs on GreenRADIUS host 3) Add the following lines to /etc/ldap/ldap.conf: # Define location of CA Cert TLS_CACERT /etc/ssl/certs/cacert.pem TLS_CACERTDIR /etc/ssl/certs ©2014 Green Rocket Security Inc. All rights reserved. Page 56 of 68 #--end-4) Put the hostname in the "user import" screen of GreenRADIUS instead of the IP address (Make sure the host entry is present in the DNS server or in /etc/hosts file) ©2014 Green Rocket Security Inc. All rights reserved. Page 57 of 68 13 Appendix 4: Importing Users from Active Directory/OpenLDAP 13.1 Importing Users from Active Directory: The organization in this example uses Active Directory (AD) to organize users. They have offices around the country, with one AD domain for all locations. Each office has their users organized in one or more Organizational Units (OUs). There are only a few users from each different office that initially (during a testing period) will be given the privilege to log in remotely using YubiKey two-factor authentication. We are assuming that Active Directory domain is configured at IP address 192.168.1.48 in domain GreenRADIUS.com hence Base DN is “DC=GreenRADIUS,DC=com” We want to import the users managed by user ‘Administrator’ hence User DN is “CN=Administrator,CN=Users,DC=GreenRADIUS,DC=com” We put an Administrator account password of AD in the password field and set the filter as “(ObjectClass=person)” and the Login Name Identifier as “sAMAccountName” A sample configuration for Active Directory is shown in the image below: Importing Users from OpenLDAP server on the GRVA instance: For quick evaluation and testing, the GreenRADIUS Virtual Appliance comes preconfigured with an OpenLDAP server with1 administrator and 5 users defined in an Organizational Unit. User names are from user1 to user5 and all users have the same password Green Rocket Security ©2014 Green Rocket Security Inc. All rights reserved. Page 58 of 68 The domain preconfigured for OpenLDAP server is “example.com”, hence the Base DN is “DC=example,DC=com”. We want to import all the users managed by the Admin user, hence User DN is “CN=admin,DC=example,DC=com” We put the admin user account password of LDAP in password field (Green Rocket Security), the filter as “(ObjectClass=person)” and the Login Name Identifier as “uid” A sample configuration for OpenLDAP is shown in the image below: Save the configuration by clicking on the ‘Save’ button and then click on the “Import Users” button to import the users. After a successful communication with the OpenLDAP Server, a message will be displayed indicating that users have been imported successfully. The users and groups will be displayed in the “Users/Groups” tab according to their hierarchy in the Active Directory as shown in the image below: ©2014 Green Rocket Security Inc. All rights reserved. Page 59 of 68 In the above image, all the groups are displayed. If you click on the group you can see the users belonging to that group. For Example: If you click on the ‘Domain Users’, all the users belonging to the group ‘Domain Users’ will get displayed on the screen, as shown in the image below. In the case of importing the users from LDAP, we get the users and OUs according to their hierarchy in the LDAP in the “Users/Groups” tab. For Example: After importing the users from LDAP, as shown in the below screen, we have OUs (like groups, people) as well as users present inside the domain(like EXUser1) ©2014 Green Rocket Security Inc. All rights reserved. Page 60 of 68 If you click on the ‘people’, all the users and OUs present in the OU ‘people’ are displayed. Here we get ‘admin_users’ OU along with all the users that belongs to the OU ‘people’. If you click on the OU ‘admin_users’ you will get the all the users and OUs belonging to the OU ‘admin_users’ and so on. Special group “All Users” display a list of all users in the LDAP or AD. Sometimes it is easier to just view all users without worrying about what OU or Group they are a member of. GreenRADIUS therefore automatically create a special single group called ‘All Users’ displaying all the users present in the LDAP/AD. When you click on the ‘All Users’, all the users present in AD/LDAP are displayed in alphabetical order. After importing the Users along with their hierarchical information from LDAP/AD, any group which does not contain any (imported) users are not displayed in the Users/Group tab. 13.2 Importing users with a specific group membership: GreenRADIUS can be set up to import users from different OUs but having specific group membership. The Directory administrator can set up a new group in AD called “testing”. The group “testing” can then be added to the AD import filtering import criteria and thereby only users in the “testing” group will be imported. See below for steps to set it up: ©2014 Green Rocket Security Inc. All rights reserved. Page 61 of 68 1) We are assuming that the Active Directory domain is GreenRADIUS.com and all the users that need to use YubiKeys have been assigned to be members of the group called “testing”. The complete distinguished name (DN) of the “testing” group is “CN=testing,CN=Users,DC=GreenRADIUS,DC=com” 2) In order to import only users belonging to this group, “testing” under OU “Users”, you need to provide the Filter in the “Users Import” field as follows: “memberOf=CN=testing,OU=Users,DC=GreenRADIUS,DC=com” 3) The rest of the parameters will remain the same. 13.3 Importing users from multiple groups: 1) It is possible to import users belonging to multiple groups. See the example below. 2) In the domain GreenRADIUS.com you need to import the users belonging to both groups “testing” and “marketing” 3) The complete DN of testing group is “CN=testing,CN=Users,DC=GreenRADIUS,DC=com”. 4) The complete DN of marketing group is “CN=marketing,OU=test,DC=GreenRADIUS,DC=com” 5) In order to import only users belonging to both these two groups, you need to apply the Filter in the “Users Import” field as follows: (|(memberOf=CN=testing,CN=Users,DC=GreenRADIUS,DC=com)(memberOf=CN=ma rketing,OU=test,DC=GreenRADIUS,DC=com)) 6) The rest of the parameters will remain the same. If a username is changed in AD/LDAP, after importing users again, then the new username gets assigned to respective uid and all the YubiKey credentials get assigned to the new username. ©2014 Green Rocket Security Inc. All rights reserved. Page 62 of 68 14 Appendix 5: Web API The YubiKey provides secure additional authentication factor to web services and the various other applications. GreenRADIUS Validation Protocol is a Web API from GreenRADIUS virtual Appliance that can be used for YubiKey-based strong two-factor authentications using an existing enterprise directory. The Web API leverages existing GreenRADIUS capabilities to provide strong two-factor authentication. The Web API verifies the username+password+YubiKey OTP as per the configuration defined in the GreenRADIUS Virtual Appliance. Web API validate the OTP first with online validation server and if that fails then with Local validation server. After successful validation it will verify username password with LDAP or AD then it checks the mapping of the registered YubiKey and provided OTP. If the YubiKey is not mapped to any user and Auto Provisioning is enabled then that YubiKey will; automatically be assigned to the user that supplied the OTP. Please refer to GreenRADIUS_validation_protocol.pdf for more information about the Web API available from the http://www.greenrocketsecurity.com/GreenRADIUS/page. ©2014 Green Rocket Security Inc. All rights reserved. Page 63 of 68 15 Appendix 6: YubiApp Registration ‘YubiApp Registration’ service provides ability to generate keys to provision the YubiApp software based backup to physical YubiKey(s) to be used on Smartphone or Tablets. This allows a user to use a backup method on the phone if a user forgets their YubiKey at home or while waiting for a new YubiKey if the physical YubiKey gets lost or stolen. The backup YubiApp requires the user’s physical YubiKey to register and generate the AES key to be used in the YubiApp. Up to three YubiApps can be registered for each physical YubiKey. Once registered the YubiApp provides the user with two factor YubiKey authentication on Smartphones or Tablets without having immediate access to the physical YubiKey. Please note that because the AES key for the YubiApp is stored on the Device the YubiApp does not provide the same security against being hacked compared to a physical YubiKey and should only be used most sparingly in an organization. 1) Configuration: ‘YubiApp Registration’ service must be enabled at two levels: First Global configuration to enable YubiApp: Administrator can enable/disable YubiApp registration at a global level in ‘General’ menu from ‘Global Configuration’ tab. Please note that Global enabling/disabling the YubiApp Registration will affect all the domains. See next page for enabling YubiApp at the Domain level. Next Domain Configuration to enable YubiApp: ©2014 Green Rocket Security Inc. All rights reserved. Page 64 of 68 Administrator can enable/disable the domain level YubiApp configuration under domain>> Configuration tab. 2) YubiApp registration: User can access ‘YubiApp Registration’ service on following URL: https://<IP address of the GreenRADIUS virtual appliance>/YubiApp/ Above URL will take the user to YubiApp Registration page. YubiApp Registration page also provides the link to download the android application for mobile phones. For example, we have user1 from ‘GreenRADIUS.com’ ©2014 Green Rocket Security Inc. All rights reserved. Page 65 of 68 Note that if GreenRADIUS contains only a single domain, then the YubiApp registration can be done by simply entering the login name rather than the login name followed by the domain name. For example: If we have user1 from GreenRADIUS.com, and ‘GreenRADIUS.com’ is the only domain available, then the user can enter ‘user1’ as a Username for YubiApp registration, as opposed to user1@GreenRADIUS.com. Please refer following screenshot: If Username, Password and OTP (One Time Password) from physical YubiKey is valid, then only ‘YubiApp Registration’ allows user to create (backup YubiKey) soft-YubiKey tokens. After a successful validation, a user can select any key as a backup YubiKey in YubiKey Type drop-down box. ©2014 Green Rocket Security Inc. All rights reserved. Page 66 of 68 When a user selects a backup YubiKey from ‘YubiKey Type’, the corresponding QR code gets generated. Then the user will need to capture the QR code in the mobile device and will be able to generate the soft key tokens. Once the user clicks on the ‘Continue to upload AES key’, the backup YubiKey gets added to the database and gets assigned to the corresponding user. Hence the user can self-generate YubiApp (Soft-YubiKey OTPs) for their smart phone for mobile based two factor authentication. YubiKey Import File: When the ‘YubiApp Registration’ successfully completes, the corresponding backup YubiKey details (like AES Key, Public Id) gets stored in the ‘YubiApp_import.csv’ file which is present at location: /var/www/YubiApp/import. Under Synchronization tab, administrators can import the ‘YubiApp_import.csv’ file on synchronized instances so that backup YubiKey functionality can be used with synchronization. ‘YubiApp_import.csv’ file is a log file containing backup YubiKey credentials in the “Original Windows Personalization Tool format”. (1,ejcbfgjjlftu,108c23fed523,6f4e4acb435b11455f8daa6dc49e41dd,000000000000,,,) The Administrator can import ‘YubiApp_import.csv’ file manually from ‘YubiKeys Import’ tab of the corresponding domain to add these backup YubiKeys on synchronized instances. ©2014 Green Rocket Security Inc. All rights reserved. Page 67 of 68 16 Appendix 7: GreenRADIUS Virtual Appliance Port Information Sr. No 1. Protocol LDAP Port 389 2. LDAPS 636 3. Webmin 10000 4. Validation Request to the YubiHSM 8002 5. freeradius 1812 6. Web-API 80 7. ykval 80 8. ykropval 80 9. Ykmap-sync 80 10. Ykval-sync 80 ©2014 Green Rocket Security Inc. All rights reserved. Page 68 of 68