This document describes how you can use the services of Yubico (YubiKey) to authenticate the sessions of your privileged users with One Identity Safeguard for Privileged Sessions (SPS).
One Identity Safeguard for Privileged Sessions (SPS) controls privileged access to remote IT systems, records activities in searchable, movie-like audit trails, and prevents malicious actions. SPS is a quickly deployable enterprise device, completely independent from clients and servers — integrating seamlessly into existing networks. It captures the activity data necessary for user profiling and enables full user session drill down for forensic investigations.
SPS acts as a central authentication gateway, enforcing strong authentication before users access sensitive IT assets. SPS can integrate with remote user directories to resolve the group memberships of users who access nonpublic information. Credentials for accessing information systems can be retrieved transparently from SPS's local Credential Store or a third-party password management system. This method protects the confidentiality of passwords as users can never access them. When used together with
SPS can interact with your
The integration adds an additional security layer to the gateway authentication performed on SPS. YubiKey 4, YubiKey 4 Nano, and YubiKey NEO devices are pre-configured with the Yubico one-time password (OTP) (all other YubiKeys, except for the FIDO U2F Security Key by Yubico, also support Yubico OTP). The OTP will be used for authentication to the One Identity platform. This way, the device turns into a two-factor authentication token for the user. The one-time password is changed after every authentication and is generated using dynamic keys.
ISO 27001, ISO 27018, SOC 2, and other regulations and industry standards include authentication-related requirements, (for example, Multi-Factor Authentication (MFA) for accessing production systems, and the logging of all administrative sessions). In addition to other requirements, using SPS and
PCI DSS 8.3: Secure all individual non-console administrative access and all remote access to the cardholder data environment (CDE) using MFA.
PART 500.12 Multi-Factor Authentication: Covered entities are required to apply MFA for:
Each individual accessing the covered entity’s internal systems.
Authorized access to database servers that allow access to nonpublic information.
Third parties accessing nonpublic information.
NIST 800-53 IA-2, Identification and Authentication, network access to privileged accounts: The information system implements MFA for network access to privileged accounts.
The General Data Protection Regulation (GDPR) went into effect on May 25, 2018, and is applicable to organizations keeping Personally identifiable information (PII) and offering goods or services to individuals based in the EU.
YubiKey provides strong authentication to secure access to PII and comply with GDPR.
The Defense FAR Supplement (DFARS) clause went into effect on December 31, 2017, and is applicable to US Department of Defense (DoD) contractors to protect unclassified DoD information and minimize loss of information.
The multi-protocol YubiKey meets DFARS requirements for strong authentication, and is the only hardware authentication solution to meet DoD contractor security requirements.
The revised Directive on Payment Services (PSD2) provides recommendations on standardized access to customer data and banking infrastructure, including draft regulatory technical standards specifying the requirements of strong customer authentication (SCA).
Yubico and FIDO are playing active roles in the PSD2 framework with proven technology.
In order to successfully connect SPS with RADIUS server, you need the following components.
The users must have a YubiKey device and a means to map usernames to YubiKey Public IDs. For details, see [USERMAPPING].
The YubiKey Client ID and API Key.
For details on generating your Client ID and API Key, see How do I get an API key for YubiKey development?.
To generate your Client ID and API Key, authenticate yourself using a Yubikey One-Time Password and provide your e-mail address as a reference at Yubico get API key.
A Yubico OTP is a 44-character, one-use, secure, 128-bit encrypted Public ID and Password. The OTP is comprised of two major parts: the first 12 characters remain constant and represent the Public ID of the YubiKey device itself. The remaining 32 characters make up a unique passcode for each OTP generated.
For example, in the following Yubico OTP, the characters cccjgjgkhcbb are the Public ID, and the remaining characters are the passcode.
YubiKey does not require network connectivity or access to a mobile phone device. Just touch or tap the YubiKey device to authenticate.
A One Identity Safeguard for Privileged Sessions appliance (virtual or physical), at least version SPS
A copy of the SPS
SPS must be able to access the validation service.
The connection also requires the
SPS supports AA plugins in the RDP, SSH, and Telnet protocols.
In RDP, using an AA plugin together with Network Level Authentication in a Connection Policy has the same limitations as using Network Level Authentication without domain membership. For details, see "Network Level Authentication without domain membership" in the Administration Guide.
In RDP, using an AA plugin requires TLS-encrypted RDP connections. For details, see "Enabling TLS-encryption for RDP connections" in the Administration Guide.
Using custom plugins in SPS is recommended only if you are familiar with both Python and SPS. Product support applies only to SPS: that is, until the entry point of the Python code and passing the specified arguments to the Python code. One Identity is not responsible for the quality, resource requirements, or any bugs in the Python code, nor any crashes, service outages, or any other damage caused by the improper use of this feature, unless explicitly stated in a contract with One Identity. If you want to create a custom plugin, contact our Support Team for details and instructions.
Figure 1: How SPS and
A user attempts to log in to a protected server.
SPS receives the connection request and authenticates the user. SPS can authenticate the user to a number of external user directories, (for example, LDAP, Microsoft Active Directory, or RADIUS). This authentication is the first factor.
You can configure SPS using whitelists and blacklists to selectively require multi-factor authentication for your users, (for example, to create break-glass access for specific users).
If multi-factor authentication is not required, the user can start working, while SPS records the user's activities. The procedure ends here.
If multi-factor authentication is required, SPS continues the procedure with the next step.
For details on creating exemption lists, see [WHITELIST].
The external identity is the YubiKey Public ID, which is 12 lowercase letters.
The mapping can be as simple as appending a domain name to the gateway username, or you can query an LDAP or Microsoft Active Directory server. For details, see [USERMAPPING].
If gateway authentication is successful, SPS connects the
For OTP-like authentication factors, SPS requests the OTP from the user, and sends it to the
If multi-factor authentication is successful, the user can start working, while SPS records the user's activities. (Optionally, SPS can retrieve credentials from a local or external Credential Store or password vault, and perform authentication on the server with credentials that are not known to the user.)
If the user opens a new session within a short period, they can do so without having to perform multi-factor authentication again. After this configurable grace period expires, the user must perform multi-factor authentication to open the next session. For details, see [authentication_cache].
This section contains the notable features of this plugin.
To map the gateway usernames to the external
The [WHITELIST] section allows configuring authentication whitelists and blacklists for example to create break-glass access for specific users to allow them to bypass
The [authentication_cache] section contains the settings that determine how soon after performing a
The [connection_limit by=client_ip_gateway_user] section contains the options related to limiting parallel sessions.