MFA Install and Customization
MFA Install and Customization
MFA Install and Customization
2.2
IBM
SC27-8447-41
Note
Before using this information and the product it supports, read the information in “Notices” on page
327.
This edition applies to Version 2 Release 2 of IBM Z Multi-Factor Authentication (product number 5655-MA1) and to all
subsequent releases and modifications until otherwise indicated in new editions.
© Copyright International Business Machines Corporation 2016, 2022.
US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with
IBM Corp.
© Rocket Software, Inc. 2016, 2022.
Contents
Tables.................................................................................................................. ix
iii
Define a user for AZF web services AZF#IN01 started task.................................................................... 35
Define a profile for AZFWEB in the STARTED Class.................................................................................. 36
Configure an AT-TLS profile....................................................................................................................... 36
Define a resource profile in FACILITY class.............................................................................................. 40
Authorize access to IRR.RFACTOR.USER profile...................................................................................... 41
Authorize access to IRR.DIGTCERT.LISTRING profile..............................................................................41
Configure IBM MFA web services started task......................................................................................... 41
Start the IBM MFA web services started task........................................................................................... 44
iv
Administration and operation steps for TOTP...........................................................................................76
Configure a TOTP profile for users....................................................................................................... 76
Configure TOTP for users..................................................................................................................... 78
Activating a user when SUSPENDED is YES.........................................................................................79
Re-registering a user for TOTP.............................................................................................................79
v
Start the IBM MFA services started task........................................................................................... 115
Configure IBM MFA Compound In-Band........................................................................................... 116
Administration and operation steps for RSA SecurID RADIUS.............................................................. 118
Activate and deactivate users for RSA SecurID RADIUS.................................................................. 118
Clear the shared secret...................................................................................................................... 119
vi
Chapter 23. Configuring check CTC.....................................................................159
Additional RACF administration steps for check CTC.............................................................................160
Define a resource profile in MFADEF class........................................................................................ 160
Define a resource profile in FACILITY class...................................................................................... 160
Authorize access to IRR.RFACTOR.MFADEF.AZFCKCTC profile....................................................... 160
Additional system programming steps for check CTC............................................................................161
Configure check CTC.......................................................................................................................... 161
Start the IBM MFA services started task........................................................................................... 163
Configure IBM MFA Compound In-Band........................................................................................... 164
Administration and operation steps for check CTC................................................................................ 165
Activate and deactivate users check CTC..........................................................................................165
Chapter 33. Configuring IBM HTTP Server - Powered by Apache for IBM MFA...... 195
Configure a PKCS#11 token.................................................................................................................... 195
Special considerations for sub-requests...........................................................................................198
Configure IBM HTTP Server - Powered by Apache.................................................................................198
vii
Chapter 35. Using IBM MFA with PassTickets......................................................203
Appendix D. Accessibility...................................................................................323
Accessibility features.............................................................................................................................. 323
Consult assistive technologies................................................................................................................ 323
Keyboard navigation of the user interface.............................................................................................. 323
Dotted decimal syntax diagrams.............................................................................................................323
Notices..............................................................................................................327
Trademarks.............................................................................................................................................. 328
Index................................................................................................................ 329
viii
Tables
1. Required Ports............................................................................................................................................... 1
ix
24. Required User Authorization.....................................................................................................................92
x
49. Valid Separator Characters.....................................................................................................................164
65. Table 3. RACF SMF type 83 subtype 2 and above relocates................................................................. 304
xi
74. Shared policyPrompt and policyAuth JSON response objects..............................................................311
xii
About this information
This book provides instructions for customizing and using IBM® Z Multi-Factor Authentication, which is
referred to in this document as IBM MFA. The book is designed to help system administrators, security
administrators, and operators customize the product following installation.
This book assumes that readers have a working knowledge of:
• The z/OS operating system
• RACF
• ISPF
• Authentication mechanisms
• PKCS#11 tokens
• z/OS Communications Server Application Transparent Transport Layer Security (AT- TLS)
• TSO/E, z/OS Management Facility, and all other applications you use together with IBM MFA.
For installation information, refer to IBM Z Multi-Factor Authentication Program Directory, which is
included in the product package.
To find the complete z/OS library, go to https://www.ibm.com/docs/en/zos .
Summary of changes
Changes made to IBM MFA for Version 2 Release 2.
New
The following information is new.
Version 2.2 September 2022 refresh
• When configuring bulk provisioning for users, the azfprov1.sh script invokes azfbulkcmd.sh,
which allows you to make any needed customizations if you are using an ESM other than RACF. No
changes to azfbulkcmd.sh are required if you are using RACF. This change is described in Chapter
28, “Configuring bulk provisioning users for IBM MFA,” on page 183.
• Chapter 28, “Configuring bulk provisioning users for IBM MFA,” on page 183 also makes clear
that you need to have UPDATE access to the system security manager FACILITY class profile
IRR.RFACTOR.USER to update the user factor data.
• Chapter 35, “Using IBM MFA with PassTickets,” on page 203 is updated with additional information
about how the application performs a SAF RACROUTE REQUEST=VERIFY request.
Version 2.2
• Chapter 27, “Configuring multiple instances of a factor,” on page 175 is added in this release.
• The RSA SecurID Authentication API authentication factor is added in this release, as described in
Chapter 13, “Configuring IBM MFA for RSA SecurID Authentication API,” on page 61.
• Auto approval of user's enrolled certificates is added in this release, as described in “Configure
Certificate Authentication” on page 85 and “Approve user certificates” on page 89.
• The ability to reset a user's password is added in this release, as described in Chapter 31,
“Resetting a user password,” on page 191.
• The ability to invalidate CTCs associated with a user is added in this release, as described in Chapter
41, “Invalidating a user's CTCs,” on page 221.
• Enable Client Token Display is added to the IBM MFA web services started settings, as
described in “Configure IBM MFA web services started task” on page 41.
• Enable Dynamic Instance Names is added in this release, as described in “Configure IBM MFA STC
configuration attributes” on page 21.
Version 2.1 April 2021 refresh
• The description of Use Single-key Encryption in “Configure AZFTOTP1” on page 70 is
updated to clarify that if disabled, a new TKDS object is created to hold the TOTP secret for each
new enrolling user.
Version 2.1 March 2021 refresh
• Chapter 33, “Configuring IBM HTTP Server - Powered by Apache for IBM MFA,” on page 195 is
updated to clarify that only one PKCS#11 token is required and what access is needed.
• “Special considerations for sub-requests” on page 198 is added.
Before you begin to customize IBM MFA, take note of the following prerequisites. The prerequisites are
described in detail in the relevant sections of this guide, and are summarized here for your convenience.
You might need to coordinate with other systems-level and network support staff to satisfy these
prerequisites.
Maintenance
Apply all maintenance that is available for IBM MFA and for RACF from the IBM website at http://
www.ibm.com/support/mysupport.
Be sure to apply the relevant PTFs for APAR OA54460. (See http://www-01.ibm.com/support/
docview.wss?uid=isg1OA54460.) Without this APAR, IBM MFA Compound In-Band authentication fails
if the password is entered in lowercase.
Required ports
Determine whether you need to allocate the ports shown in Table 1 on page 1. The three ports must be
different.
Server Authentication Port This is the port number on which You must allocate this port
the IBM MFA web server listens. before you can use IBM MFA web
The port must match the one services.
configured in AT-TLS.
This port must be configured
with server authentication
(HandshakeRole is Server) in the
AT-TLS configuration.
Mutual Authentication Port. Certificate Authentication You must allocate this port
requires that AT-TLS be before you can use Certificate
configured for client (mutual) Authentication.
authentication on a dedicated
Certificate Authentication itself
port. The port must match the
requires IBM MFA Out-of-Band.
one configured in AT-TLS.
This port must be
configured with client
authentication (HandshakeRole
is ServerWithClientAuth,
ClientAuthType is Required) in
the AT-TLS configuration.
IBM MFA includes comprehensive examples that you can use to configure IBM MFA.
Follow the instructions in the examples to specify your installation-specific settings. The following
examples are provided:
• SYS1.SAZFSAMP(AZFRACFX)
– Preparing to manage STC and factor settings using the MFADEF and FACILITY classes.
– Preparing IBM MFA to use PKCS#11 for cryptography, using the CRYPTOZ and CSFSERV classes.
– MFADEF policy configuration examples.
– Creating an example Public Key Infrastructure using RACF, consisting of
- A new CA certificate, the root of trust for IBM MFA services and users.
- A new end-entity certificate for IBM MFA web services.
• SYS1.SAZFSAMP(AZFTTLSX)
– Sample AT-TLS rule definitions for IBM MFA. This example includes a sample AZFClientRule rule that
you can use with the following authentication factors:
- AZFCKCTC
- AZFISAM1
- AZFLDAP1 (when connecting to a secure LDAP port)
- AZFRADP1 (when using RADIUS over TCP)
After you complete the installation instructions in the Program Directory for IBM Multi-Factor
Authentication for z/OS, you should apply all maintenance that is available for the product from the IBM
website at http://www.ibm.com/support/mysupport. Then you must customize the core product. For more
information about customization, refer to the following topics:
• “Customization overview ” on page 5
• Chapter 4, “System programming steps,” on page 7
• Chapter 5, “RACF administration steps,” on page 9
• Chapter 6, “IBM MFA configuration roadmap,” on page 13
Customization overview
Complete the customization steps to tailor IBM MFA for your environment.
The following table provides a summary of the steps involved with customization.
Copy SAZFEXEC(AZFEXEC)
Copy the SAZFEXEC (AZFEXEC) member to a data set in your SYSEXEC concatenation.
Procedure
1. Browse the SAZFEXEC data set in the target library.
2. Copy the member AZFEXEC to a data set in your SYSEXEC concatenation. You can use the TSO
ISRDDN command from ISPF to view the current data set allocations, including the SYSEXEC
concatenation.
3. Verify the change.
Customize AZFEXEC
Customize the azfhlq parameter of the AZFEXEC member of the data set.
Procedure
1. Edit the AZFEXEC member of the data set in your SYSEXEC concatenation.
2. Change the azfhlq parameter to the high-level qualifier (HLQ) used where you installed IBM MFA.
3. Save the change.
Procedure
1. Copy the AZF#IN00 and AZF#IN01 members of the SAZFSAMP data set in the target library to the
PROCLIB from which you run started tasks.
2. Browse the PROCLIB to ensure the AZF#IN00 and AZF#IN01 members are there.
Procedure
1. Add the following line to the APF section of your PROGxx parmlib member:
where HLQ is the high-level qualifier (HLQ) used where you installed IBM MFA.
Procedure
1. Add the following line to your SYS1.PARMLIB(PROGxx) member:
HLQ.SAZFLOAD,
where HLQ is the high-level qualifier (HLQ) used where you installed IBM MFA.
2. Update your system link list dynamically.
Procedure
1. Edit the SYS1.PARMLIB(SCHEDxx) member that defines program properties.
2. Add the following entry:
SET SCH=xx
where xx are the last two characters of the SCHEDxx PARMLIB member.
5. Display the PPT changes and verify them:
D PPT
Procedure
1. Define a user for the AZF services started task with the following properties:
• No passphrase or password
• Owned by a suitable started task group
• PROTECTED
• No TSO segment
• An OMVS segment with a unique user ID
For example:
NO TSO INFORMATION
OMVS INFORMATION
----------------
UID= 0000015100
CPUTIMEMAX= NONE
ASSIZEMAX= NONE
FILEPROCMAX= NONE
PROCUSERMAX= NONE
THREADSMAX= NONE
MMAPAREAMAX= NONE
LU AZFSTC OMVS
4. If you want to audit successful authentications by SMF record type 83 subtype 7 records, you must
specify UAUDIT attributes for the started task user ID. See Appendix B, “IBM MFA SMF Record type 83
subtype 7 records,” on page 301 for information on SMF record type 83 subtype 7 records. See z/OS
Security Server RACF Macros and Interfaces for information on SMF records.
Note: Authentication failures always result in the generation of SMF type 83 subtype 7 records.
Procedure
1. Define a profile in the STARTED class. For example:
CLASS NAME
----- ----
STARTED AZFSTC.** (G)
INSTALLATION DATA
-----------------
NONE
APPLICATION DATA
----------------
NONE
AUDITING
--------
FAILURES(READ)
NOTIFY
------
NO USER TO BE NOTIFIED
STDATA INFORMATION
------------------
USER= AZFSTC
GROUP= STCGROUP
TRUSTED= NO
PRIVILEGED= NO
TRACE= NO
Procedure
1. Activate generic profile checking and command processing for the MFADEF class.
Procedure
1. RACLIST and activate the MFADEF class:
Procedure
1. Define the factors in the FACILITY class for AZFSTC:
Procedure
1. Allow the access shown in Table 3 on page 11:
For example:
Procedure
1. Enter the following command to enable mixed-case password in RACF:
SETROPTS PASSWORD(MIXEDCASE)
Configuration roadmap
The configuration roadmap is shown in Table 4 on page 13. The configuration steps are described in
Table 5 on page 15.
Notes®:
1 CEXnC cryptographic coprocessor hardware is not required.
2 Not generally needed, but required if using the IBM HTTP Server - Powered by Apache plug-in.
3 Needed for TOTP account enrollment.
4 Needed for Yubico OTP self-enrollment. Not needed if the administrator enrolls YubiKey tokens for
users.
5 Requires an outbound AT-TLS rule with the HandshakeRole role of Client.
6 Express Logon Facility (ELF) does not itself require IBM MFA web services. However, if IBM MFA
web services are not available and configured for mutual authentication within the scope of the RACF
database, provision user certificates with the bulk provisioning utilities.
7 Requires ELF TN3270 AT-TLS configuration.
Table 5 on page 15 summarizes the configuration steps you must perform for each authentication type,
and provides links to the relevant sections.
RSA SecurID Authentication API in-band 1. Chapter 7, “Configuring IBM MFA STC
configuration attributes,” on page 21.
2. Chapter 8, “Configuring CSFSERV Resource
Profiles,” on page 29.
3. Chapter 9, “Configuring a PKCS#11 token,” on
page 31.
4. Access to the CSFSERV resource profiles for the
AZF#IN01 web services started task user ID, as
described in Chapter 8, “Configuring CSFSERV
Resource Profiles,” on page 29.
5. “Configure an AT-TLS profile” on page 36.
6. Chapter 13, “Configuring IBM MFA for RSA
SecurID Authentication API,” on page 61.
IBM Security Verify Access in-band 1. Chapter 7, “Configuring IBM MFA STC
configuration attributes,” on page 21.
2. Chapter 8, “Configuring CSFSERV Resource
Profiles,” on page 29.
3. Chapter 9, “Configuring a PKCS#11 token,” on
page 31.
4. “Configure an AT-TLS profile” on page 36.
5. Chapter 19, “Configuring IBM MFA for IBM
Security Verify Access,” on page 121.
Procedure
1. Execute AZFEXEC and enter STC.
2. Provide the following to configure the IBM MFA Services started task:
Cache Token Sharing • N (The cache is not shared Enter an allowed value. See
between systems. This is “Configuring IBM MFA cache token
the default.) sharing” on page 25 for additional
• X (The cache is shared information.
using cross system coupling
facility (XCF) server
messaging.)
• C (The cache is shared
using the coupling facility.)
Default Policy Name Valid policy name This optional setting must identify
a valid policy that has only the
AZFCERT1 certificate authentication
factor. Creating policies is described
in “Create and manage multi-factor
authentication policies” on page 47.
The default policy applies only to
IBM MFA for ELF. See Chapter 24,
“Configuring IBM MFA for ELF,” on
page 167 for information.
Enable Strict PCI Compliance Y or N See “Enabling strict PCI compliance
Mode mode” on page 27 for information
about this setting.
What to do next
You must configure at least one of the following strong authentication factors before you start the IBM
MFA services started task. How to configure these strong authentication factors is described in the
chapters that follow.
• RSA SecurID ACEv5 UDP
• RSA SecurID Auth API (HTTPS)
• TOTP AZFTOTP1
D XCF,NOTEPAD
Duplexed cache
A duplexed structure will generally provide greater availability because the second copy makes it more
resilient to failure than a simplex structure which has only one copy. However, a simplex structure will
generally provide faster note request response times than a duplex. Duplexing preferences are described
in z/OS MVS Programming: Sysplex Services Guide .
If you want the MFA CTC cache to be duplexed you must either:
• Define all of the XCF default note pad structures, named IXCNP_SYSXCFxx, as duplexed.
• Or, define all owner specific note pad structures for MFA as duplexed.
D XCF,NP,NPNM=AZF.MFACACHE.<name>,SCOPE=DETAIL
Procedure
1. Execute AZFEXEC and enter STC.
2. Set Enable Strict PCI Compliance Mode to Y.
3. Press F3 to save your changes and exit.
For example:
If you create this profile, it is further recommended that you also create a profile for CLEARKEY.SYSTOK-
SESSION-ONLY and give READ access to applications that use secure TCP/IP sessions.
SYSPLEXTKDS(YES,FAIL(YES))
where YES specifies that the system is notified of updates made to the TKDS by other members of
the sysplex that have also specified SYSPLEXTKDS(YES,FAIL(fail-option)), and FAIL (YES)
specifies that ICSF initialization terminates abnormally if there is a failure creating the TKDS latch
set.
3. Create the PKCS#11 token using RACDCERT ADDTOKEN.
RACDCERT ADDTOKEN(token_name)
6. Create a profile for the web service server's access to the token you created with RACDCERT
ADDTOKEN.
7. Create a profile for the standard user's access to the token you created with RACDCERT ADDTOKEN:
8. Give the user ID of the web services started task CONTROL access to the profile that protects the
token, where AZFWEB is the user ID of the web services started task.
9. Give the user ID of the administrator who executes the panels CONTROL access to the profile that
protects the token.
10. Give the user ID of the IBM MFA services started task UPDATE access to the profile that protects the
token, where AZFSTC is the user ID of the IBM MFA services started task.
11. Give the user ID of the web services started task UPDATE access to the profile that protects the
token, where AZFWEB is the user ID of the web services started task.
12. Give the user ID of the administrator who executes the panels UPDATE access to the profile that
protects the token.
14. Give the user ID of the administrator who executes the panels READ access to the profile.
15. Give the user ID of the IBM MFA services started task READ access to the profile that protects the
token, where AZFSTC is the user ID of the IBM MFA services started task.
16. Refresh the profile for the CRYPTOZ class, so that the changes take effect:
Procedure
1. Define a user for the AZF web services started task with the following properties:
• No passphrase or password
• Owned by a suitable started task group
• PROTECTED
• No TSO segment
• An OMVS segment with a unique user ID
For example:
NO TSO INFORMATION
OMVS INFORMATION
----------------
UID= 0000015101
CPUTIMEMAX= NONE
ASSIZEMAX= NONE
LU AZFWEB OMVS
4. If you want to audit successful authentications by SMF record type 83 subtype 7 records, you must
specify UAUDIT attributes for the started task user ID. See Appendix B, “IBM MFA SMF Record type 83
subtype 7 records,” on page 301 for information on SMF record type 83 subtype 7 records. See z/OS
Security Server RACF Macros and Interfaces for information on SMF records.
Note: Authentication failures always result in the generation of SMF type 83 subtype 7 records.
Procedure
1. Define a profile in the STARTED class. For example:
CLASS NAME
----- ----
STARTED AZFWEB.** (G)
INSTALLATION DATA
-----------------
NONE
APPLICATION DATA
----------------
NONE
AUDITING
--------
FAILURES(READ)
NOTIFY
------
NO USER TO BE NOTIFIED
STDATA INFORMATION
------------------
USER= AZFWEB
GROUP= STCGROUP
TRUSTED= NO
PRIVILEGED= NO
TRACE= NO
DNS Name=lp13.yourcompany.com
DNS Name=lp13
DNS Name=lp13tcpip2.yourcompany.com
DNS Name=lp13tcpip2
DNS Name=10.168.54.96
DNS Name=192.168.55.113
IP Address=10.168.54.96
IP Address=192.168.55.113
When you specify Subject Alternate Names, the base Subject Distinguished Name (DN) CN attribute is
not used by the browser to validate the certificate. See https://tools.ietf.org/html/rfc6125 for reference
information.
This procedure briefly summarizes the steps to create an AT-TLS policy for your convenience. See
z/OS Communications Server: IP Configuration Guide and z/OS Communications Server: IP Configuration
Reference for complete information.
You might also find (IBM z/OS V2R1 Communications Server TCP/IP Implementation Volume 4: Security
and Policy-Based Networking http://www.redbooks.ibm.com/redbooks/pdfs/sg248099.pdf) to be a useful
resource.
Procedure
1. Create the certificate authority if you do not already have one. This command creates a new CA
certificate (and private key) and adds it to the CERTAUTH store. Replace ?CA-yyyy-mm-dd? with the
preferred expiration date of the CA certificate.
5. Create the MFA web services certificate if you do not already have one. This command creates a new
end-entity certificate (and private key). In this example AZFWEB is the user ID of the web services
AZF#IN01 started task.
7. Create the server key ring with the server certificate and necessary certificate authority certificates.
For System SSL, use a SAF key ring. This is typically a RACF key ring. RACF supports multiple PKI
private keys and certificates to be managed as a group. These groups are called key rings.
Create the SAF key ring with the RACDCERT ADDRING command, where AZFWEB is the user ID of the
web services started task.
RACDCERT ID(AZFWEB)
CONNECT(LABEL('server cert label') RING(ring-name))
RACDCERT ID(AZFWEB)
CONNECT(LABEL('intermediate root CA label') RING(ring-name))
11. Use the RACDCERT LISTRING command to list the key ring.
TTLSConfig serverpath
b) For remote AT-TLS policies, add a PolicyServer statement to the policy client image
configuration file:
PolicyServer
{
ClientName name
PolicyType TTLS
{
…
}
…
}
DynamicConfigPolicyLoad clientname
{
PolicyType TTLS
{
PolicyLoad serverpath
}
…
}
14. Add the AT-TLS policy statements to the serverpath file. Specific lines in the example are numbered
to the right so that you can associate them with the notes that follow.
Important: This example is a fragment extracted from the complete sample AT-TLS policy included
in SYS1.SAZFSAMP(AZFTTLSX).
TTLSRule AZFSrvAuthRule
{
LocalAddr ALL
RemoteAddr ALL
LocalPortRange ?serverAuthPort? a
Direction Inbound
Priority 255
TTLSGroupActionRef AZFGroupAction1
TTLSEnvironmentActionRef AZFEnvAction1
TTLSConnectionActionRef AZFConnAction1
}
TTLSKeyringParms AZFKeyringParms
{
Keyring ?keyringName? b
}
TTLSGroupAction AZFGroupAction1
{
TTLSEnabled On
Trace 255
}
TTLSEnvironmentAction AZFEnvAction1
{
HandshakeRole Server
EnvironmentUserInstance 0
TTLSEnvironmentAdvancedParmsRef AZFEnvAdvServer
TTLSKeyringParmsRef AZFKeyringParms
Trace 255
}
TTLSConnectionAction AZFConnAction1
{
TTLSEnvironmentAdvancedParms AZFEnvAdvServer
{
ClientAuthType PassThru
ApplicationControlled Off
SSLv2 Off
SSLv3 Off
TLSv1 Off
TLSv1.1 Off
TLSv1.2 On
TLSv1.3 On
}
TTLSConnectionAdvancedParms AZFConnAdvParms1
{
ApplicationControlled Off
SecondaryMap Off
}
TTLSCipherParms AZFCipherParms c
{
V3CipherSuites TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
V3CipherSuites TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
V3CipherSuites TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
V3CipherSuites TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
V3CipherSuites TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
V3CipherSuites TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
V3CipherSuites TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
V3CipherSuites TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
}
Callout Notes:
a. You need to specify this port when you run AZFEXEC to configure the IBM MFA web services
started task.
b. The name of the SAF key ring you created.
c. Use this specific set of ciphers to be compatible with an Apple Touch ID device.
15. Set up InitStack access control:
a) Define the EZB.INITSTACK.sysname.tcpname profile for each AT-TLS stack.
b) Permit administrative applications to use the stack before AT-TLS is initialized.
For examples of the security product commands needed to create this resource profile name and
grant users access to it, see member EZARACF in sample data set SEZAINST.
16. Enable AT-TLS. Set TCPCONFIG TTLS in PROFILE.TCPIP.
Procedure
1. Define the profile in the FACILITY class for USER:
Procedure
1. Allow UPDATE access for the user ID of the web services started task. For example, if the user ID of
the started task is AZFWEB:
Procedure
1. Give the user ID of the web services started task READ access to the IRR.DIGTCERT.LISTRING profile
in the FACILITY class, where user-ID is the user ID of the web services started task.
Procedure
1. Execute AZFEXEC and enter STC to configure IBM MFA web services.
2. Provide the following in the web services started task section:
Document Root Document root location The document root for the IBM MFA
web services started task.
Enter the default of /usr/lpp/IBM/
azfv2r2/htdocs, or your chosen
value.
Customized Document Root Document root location The document root from which
to serve translated messages and
HTML, as described in Chapter 37,
“Translating IBM MFA messages and
HTML,” on page 211.
PKCS#11 Token Name Actual PKCS#11 token name Enter the name of the PKCS#11
token to be used for cryptographic
operations. You created this token in
Chapter 9, “Configuring a PKCS#11
token,” on page 31.
Important: If the AZFTOTP1 settings
do not contain a token name, the
token name you specify on this
panel is used when creating an
AZFTOTP1 user session-object when
a user registers. If you change
the token name, all AZFTOTP1
user registrations will become
inaccessible, and users must re-
register.
Procedure
1. To start the started task, enter the following operator command:
For example:
S AZF#IN01
2. Verify that the task started. The absence of errors in the SYSLOG indicates success.
Out-of-Band components
There are two major components to IBM MFA Out-of-Band server authentication:
• The IBM MFA services started task.
The started task must run in every z/OS instance where IBM MFA Out-of-Band users will log on.
• The IBM MFA web services started task.
The out-of-band server interface consists of web pages served to client web browsers via the server
authentication TLS connection. The web pages indicate which authentication factors are required and
which factors have been satisfied.
In a sysplex environment where the RACF database, IBM MFA cache, and ICSF TKDS are shared across
member LPARs, the web services started task needs to run only on one LPAR in the sysplex.
Types of factors
There are two types of authentication factors: strong and weak. Strong factors can be used alone or
combined in IBM MFA Out-of-Band.
In contrast, weak factors must be used in combination with a strong factor.
Configure IBM MFA web service started task for IBM MFA Out-of-
Band
You must configure the IBM MFA web services started task for IBM MFA Out-of-Band.
Procedure
1. Configure the web services started task, as described in “Configure IBM MFA web services started
task” on page 41.
2. At a minimum, set Enable Out of Band Services to Y.
Procedure
1. Enter the following command to create a multi-factor authentication policy:
Where:
• POLICY-NAME is a name of your choice between 1 and 20 characters. The allowed characters are
A-Z, 0-9. You might find it convenient to give the policy a descriptive name, such as CERTSIDPTOTP
or CERTONLY.
• FACTOR-NAME is a space-separated list of factor names. The allowed factor names are as follows:
– AZFSIDP1
– AZFSIDP3
– AZFTOTP1
– AZFCERT1
– AZFSFNP1
– AZFRADP1
– AZFSIDR1
– AZFPASS1
– AZFYUBI1
• TOKENTIMEOUT sets the length of time (in seconds) the IBM MFA Out-of-Band token is valid once
generated. The value can be between 1 and 86,400® (the number of seconds in a day). The default
is 300 seconds (5 minutes.)
• REUSE determines whether the IBM MFA Out-of-Band token can be reused by an application.
Possible values are Y or N. The default is N.
2. Repeat “1” on page 48 as needed.
3. Refresh the MFADEF class:
5. Enter the following command to display information about all IBM MFA factors and policies:
RLIST MFADEF *
7. Repeat “6” on page 48 as needed. If you apply multiple policies to a user, instruct the user which
policy to use.
8. Enter the following command to display IBM MFA information for a user profile, including any applied
policies:
LU <USERID> MFA
10. If needed, enter the following commands to delete a policy and refresh the MFADEF class:
Procedure
1. Define a profile in the FACILITY class for IRR.RFACTOR.POLICY.POLICY-NAME, for each policy you
created in “Create and manage multi-factor authentication policies” on page 47.
You may find it most convenient to instead define the profile for IRR.RFACTOR.POLICY.** to allow
access to all policies.
Procedure
1. Allow READ access for the user ID of the web services started task.
Procedure
1. Select from the following authentication factors, and activate users as described in the referenced
sections:
• SecurID. See “Activate and deactivate users for IBM MFA SecurID” on page 58.
• TOTP. See “Administration and operation steps for TOTP” on page 76.
• Certificate Authentication. See “Activate and deactivate users for Certificate Authentication” on page
88.
• “Activate and deactivate users for generic RADIUS” on page 98.
• “Activate and deactivate users for SafeNet RADIUS” on page 109.
• “Activate and deactivate users for RSA SecurID RADIUS” on page 118.
• “Administration and operation steps for Yubico OTP” on page 144.
2. Apply one or more multi-factor authentication policies to a user, as described in “Create and manage
multi-factor authentication policies” on page 47.
3. Enter the following command to display IBM MFA information for a user profile:
4. Tell users they must use the IBM MFA Out-of-Band web server login page:
https://server-host:port/mfa/policy-name
where port is the server authentication port you configured and policy-name is the policy the user must
use. You may want to have the user bookmark this URL.
Note: If you do not include the policy-name in the URL you provide to the user, the user is prompted
for their policy name, which they must already know.
On the next page, they are shown user-specific information about the factors required for them to log
on.
Procedure
1. Define the profile in the MFADEF class:
Procedure
1. Define the profile in the FACILITY class:
Procedure
1. Allow the access shown in Table 11 on page 52:
For example:
Procedure
1. Allocate the SDCONF.REC data set with the following attributes. The user ID under which the started
task runs must have read access to this data set.
• DSORG
– PS
• DCB:
– RECFM FB
– LRECL 3072
– BLKSIZE 3072
• SPACE:
– BLKS
– Primary 1
– Secondary 1
2. Verify the change.
Procedure
1. Allocate the node secret data set with the following attributes. The user ID under which the started
task runs must have UPDATE access to this data set.
• DSORG
– PS
• DCB:
– RECFM FB
– LRECL 72
– BLKSIZE 72
• SPACE:
– TRKS
– Primary 1
– Secondary 1
2. Verify the change.
Procedure
1. Log in as administrator to the RSA Authentication Manager.
2. Navigate to Access > Authentication Agents > Generate Configuration File.
3. Select Generate Config File.
The message "The configuration file was successfully generated and is ready to download" is
displayed.
4. Select Download Now.
5. Unzip the resulting file to get the sdconf.rec file.
6. Use your tool of choice to copy sdconf.rec in to the SDCONF.REC data set on the z/OS system. Copy the
file in binary mode.
where LPAR_NAME is the uppercase (case is sensitive) SYSNAME value that was specified when the
system was IPL'd. You can use the z/OS command D SYMBOLS to determine the value from the
&SYSNAME symbol.
In certain situations, such as a multi-homed LPAR, or a VIPA, it is possible that the host IP Address that is
auto-detected by the AZFSIDP1 plug-in does not match the IP address actually used for outgoing traffic.
In such cases, use the CLIENT_IP override to manually specify the IP Address that AZFSIDP1 should
use. (Currently, only IPV4 addresses are supported in the SDOPTS.REC file.)
Procedure
1. Allocate the SDOPTS.REC data set with the following attributes. The user ID of the IBM MFA services
started task must have read access to this data set.
• DSORG
– PS
• DCB:
– RECFM FB
– LRECL 72
– BLKSIZE 72
• SPACE:
– TRKS
– Primary 1
– Secondary 1
2. Verify the change.
3. Create SDOPTS.REC with the needed parameters.
SDOPTS.REC must not include sequence numbers.
4. Save your changes.
Procedure
1. Execute AZFEXEC.
2. Choose AZFSIDP1.
3. Enter the data set values for SDCONF, the node secret, and optionally SDOPTS,
For example:
S AZF#IN00
3. Start the started task on every z/OS instance sharing the RACF database where users log on.
4. Verify that the task started. The absence of errors after the "AZF2110I Started console receiver"
message in the SYSLOG indicates success.
Note: If you have configured multiple instances of a factor as described in Chapter 27, “Configuring
multiple instances of a factor,” on page 175, each factor instance is identified and logged separately in
the IBM MFA started task’s SYSPRINT.
Procedure
1. Execute AZFEXEC.
2. Choose AZFSIDP1.
3. On the AZFSIDP1 factor attributes panel, configure the following attributes:
• Set Enable Compound In-band Authentication to Y.
• Choose whether you want the IBM MFA credential to be entered before or after the RACF credential.
The IBM MFA credential first is the default.
Note: This feature requires APAR OA54920 for RACF, which is available on z/OS V2R2 and later. (See
http://www-01.ibm.com/support/docview.wss?uid=isg1OA54920.)
• Change the Compound In-band Factor Separator field if needed. It is set to a colon (:) by default.
Possible values are shown in Table 13 on page 57. (FTP cannot use the forward slash (/) or
SecurID token:passphrase
Procedure
1. Enter the following command to activate a user for IBM MFA:
Where:
• [Login ID] is the z/OS user name.
• ACTIVE activates the AZFSIDP1 authenticator for the user ID.
• PWFALLBACK configures password fallback for the user, as described in Chapter 26, “Configuring
Password Fallback,” on page 173.
• RSA User ID is the associated RSA user ID. The SIDUSERID tag identifies the RSA user ID to use
when an authentication request for this user is sent to the RSA server by IBM MFA:
– If the security manager user ID matches the RSA server user ID, you can either specify the RSA
server user ID in the SIDUSERID tag, or omit it and the security manager user ID is used by
default.
– If the security manager user ID does not match the RSA server user ID, you must specify the RSA
server user ID in the SIDUSERID tag.
2. If needed, enter the following command to defer activating a user for IBM MFA:
Then, at a later time, enter an ALTUSER or ALU command of the following form to activate the
AZFSIDP1 authenticator for the user ID:
3. Enter the following command to display IBM MFA information for a user profile:
4. If needed, enter the following command to deactivate a user for IBM MFA:
Procedure
1. To clear the node secret, issue a Modify command as follows.
For example:
2. Repeat step“1” on page 59 on each host or LPAR where IBM MFA is installed
3. Verify that the RSA Authentication Manager generates a new node secret on the first successful logon.
Procedure
1. Issue a Modify command of the following form:
For example:
2. Review the job log for the started task for the IBM MFA statistics:
Scenario #2: LPAR is still up, the RSA Authentication Manager is down
Perform the following disaster recovery steps when the LPAR (or z/OS system) on which IBM MFA is
installed is up, and the Authentication Manager server is down:
1. Switch to the recovery Authentication Manager.
2. Prepare to use a new sdconf.rec file:
a. Allocate a data set for sdconf.rec, as described in “Allocate SDCONF.REC data set” on page 52.
b. Obtain and copy the sdconf.rec file, as described in “Copy sdconf.rec to SDCONF.REC data set”
on page 53.
3. Execute AZFEXEC to define the SecurID parameter for the data set name of SDCONF.REC, as
described in “Configure SecurID parameters” on page 54.
4. Restart the started task, as described in “Start the IBM MFA services started task” on page 55.
5. Clear the node secret, as described in “Clear the node secret” on page 59.
Procedure
1. Define the profile in the MFADEF class:
Procedure
1. Define the profile in the FACILITY class:
Procedure
1. Allow the access shown in Table 14 on page 62:
For example:
Procedure
1. Open the RSA Security Console.
2. Select Setup > System settings > RSA SecurID Authentication API .
3. Click Enable Authentication API.
4. Click Apply Settings.
5. Make note of the Access Key and Communication Port, you will need them in the ISPF panel
configuration.
6. Configure an RSA Authentication Agent for each z/OS system or LPAR that is running IBM MFA server.
See your Authentication Manager documentation for details.
Procedure
1. Execute AZFEXEC.
2. Choose AZFSIDP3.
3. Enter the data set values:
Chapter 13. Configuring IBM MFA for RSA SecurID Authentication API 63
Table 15. AZFSIDP3 Factor Attributes (continued)
Setting Description
Access Key Enter the Access Key from the RSA
Authentication Manager.
Timeout The amount of time the connection between IBM
MFA and the RSA server can remain inactive
before the session is timed out.
Initial Trace Level The trace level used for tracing events within the
AZFSIDP3 plug-in. Valid values are 0 through 3,
where the higher number increases the level of
verbosity. The default is zero.
4. Define an AT-TLS rule to handle outbound traffic to the RSA REST Service URL and port, as described in
“Configure an AT-TLS profile” on page 36.
5. See “Configure IBM MFA Compound In-Band” on page 56 for information about configuring IBM MFA
Compound In-Band.
6. Save and verify the changes.
Procedure
1. Start TCP/IP, AT-TLS (if needed), ICSF, and all TCP/IP-related services such as the resolver. See
Chapter 6, “IBM MFA configuration roadmap,” on page 13 for information about which authentication
factors require AT-TLS.
2. To start the started task if it is stopped, enter the following operator command:
For example:
S AZF#IN00
3. Start the started task on every z/OS instance sharing the RACF database where users log on.
4. Verify that the task started. The absence of errors after the "AZF2110I Started console receiver"
message in the SYSLOG indicates success.
Note: If you have configured multiple instances of a factor as described in Chapter 27, “Configuring
multiple instances of a factor,” on page 175, each factor instance is identified and logged separately in
the IBM MFA started task’s SYSPRINT.
Procedure
1. Execute AZFEXEC.
2. Choose AZFSIDP3.
3. On the AZFSIDP3 factor attributes panel, configure the following attributes:
• Set Enable Compound In-band Authentication to Y.
• Choose whether you want the IBM MFA credential to be entered before or after the RACF credential.
The IBM MFA credential first is the default.
Note: This feature requires APAR OA54920 for RACF, which is available on z/OS V2R2 and later. (See
http://www-01.ibm.com/support/docview.wss?uid=isg1OA54920.)
• Change the Compound In-band Factor Separator field if needed. It is set to a colon (:) by default.
Possible values are shown in Table 16 on page 66. (FTP cannot use the forward slash (/) or
Chapter 13. Configuring IBM MFA for RSA SecurID Authentication API 65
the colon (:). HTTP cannot use the forward slash (/). Other applications may have other character
restrictions.)
Note: Encodings are shown for code page IBM-1047.
passcode:passphrase
Activate and deactivate users for IBM MFA SecurID Authentication API
You use the ALTUSER or ALU command to activate users for IBM MFA with SecurID Authentication API.
Procedure
1. Enter the following command to activate a user for IBM MFA:
Where:
• [Login ID] is the z/OS user name.
• ACTIVE activates the AZFSIDP3 authenticator for the user ID.
• PWFALLBACK configures password fallback for the user, as described in Chapter 26, “Configuring
Password Fallback,” on page 173.
• RSA User ID is the associated RSA user ID. The SIDUSERID tag identifies the RSA user ID to use
when an authentication request for this user is sent to the RSA server by IBM MFA:
– If the security manager user ID matches the RSA server user ID, you can either specify the RSA
server user ID in the SIDUSERID tag, or omit it and the security manager user ID is used by
default.
– If the security manager user ID does not match the RSA server user ID, you must specify the RSA
server user ID in the SIDUSERID tag.
2. If needed, enter the following command to defer activating a user for IBM MFA:
Then, at a later time, enter an ALTUSER or ALU command of the following form to activate the
AZFSIDP3 authenticator for the user ID:
3. Enter the following command to display IBM MFA information for a user profile:
Chapter 13. Configuring IBM MFA for RSA SecurID Authentication API 67
FACTOR TAGS =
SIDUSERID:user
4. If needed, enter the following command to deactivate a user for IBM MFA:
Procedure
1. Define the profile in the MFADEF class:
Procedure
1. Define the profile in the FACILITY class for AZFTOTP1:
3. Authorize the IBM MFA web services started task user ID to the profile:
Procedure
1. Allow the access shown in Table 17 on page 70:
For example:
Configure AZFTOTP1
You must configure the AZFTOTP1 settings for use with both TOTP and generic TOTP.
Initial Trace Level The initial trace level for AZFTOTP1 web services.
Valid values are 0 through 3, where the higher
number increases the level of verbosity. The
default is zero.
Digest Algorithm Choose the default digest algorithm. AZFTOTP1
uses the digest algorithm, the shared secret key,
and the current time to generate the TOTP value.
Possible values are SHA1, SHA256, SHA384, and
SHA512. The default is SHA256.
Token Code Length Choose the number of digits in the generated
token. Possible values are 6, 7, and 8. The default
is 8.
Token Period Choose the time (in seconds) between changes
in value for the token. This number determines
how long a one-time password is active before
the next one-time password generates. Possible
values are 15, 30, and 60. The default is 30
seconds.
Window Enter the skew intervals of the algorithm.
The skew intervals consider any possible
synchronization delay between the server and
the client that generates the one-time password.
For example, a skew interval of 2 means a one-
time password in up to two intervals in the
past, or two in the future, are also valid. If it is
interval 563, and intervals are 30 seconds, then
one-time passwords for intervals 561- 565 are
computed and checked against within a range of
2.5 minutes. The maximum is 10.
Important: The Suspension Threshold setting is incompatible with prior versions of IBM MFA. Do not
enable this setting unless all of the IBM MFA systems have the relevant PTFs for APAR PH20136. (See
https://www-01.ibm.com/support/docview.wss?uid=swg1PH20136.)
If you do inadvertently set Suspension Threshold for a prior version, you must do the following:
a. Set Suspension Threshold to zero and restart the IBM MFA started task.
b. For each user already provisioned for TOTP authentication, delete the SUSPENDED and FAILCOUNT
tags to remove them from the user's stored IBM MFA data:
If invoked on a system running a previous release, this command generates a warning because the
SUSPENDED and FAILCOUNT tags are not recognized. The tags are deleted and you can ignore this
warning.
Procedure
1. Start TCP/IP, AT-TLS (if needed), ICSF, and all TCP/IP-related services such as the resolver. See
Chapter 6, “IBM MFA configuration roadmap,” on page 13 for information about which authentication
factors require AT-TLS.
2. To start the started task if it is stopped, enter the following operator command:
For example:
3. Start the started task on every z/OS instance sharing the RACF database where users log on.
4. Verify that the task started. The absence of errors after the "AZF2110I Started console receiver"
message in the SYSLOG indicates success.
Note: If you have configured multiple instances of a factor as described in Chapter 27, “Configuring
multiple instances of a factor,” on page 175, each factor instance is identified and logged separately in
the IBM MFA started task’s SYSPRINT.
Procedure
1. Execute AZFEXEC.
2. Choose AZFTOTP1.
3. On the AZFTOTP1 factor attributes panel, configure the following attributes:
• Set Enable Compound In-band Authentication to Y.
• Choose whether you want the IBM MFA credential to be entered before or after the RACF credential.
The IBM MFA credential first is the default.
Note: This feature requires APAR OA54920 for RACF, which is available on z/OS V2R2 and later. (See
http://www-01.ibm.com/support/docview.wss?uid=isg1OA54920.)
• Change the Compound In-band Factor Separator field if needed. It is set to a colon (:) by default.
Possible values are shown in Table 19 on page 75. (FTP cannot use the forward slash (/) or
the colon (:). HTTP cannot use the forward slash (/). Other applications may have other character
restrictions.)
Note: Encodings are shown for code page IBM-1047.
OTP token:passphrase
Procedure
1. Ensure that the user is not active for TOTP.
2. Enter the following command to set the TOTP registration state for the user to OPEN. (Case is sensitive
for OPEN.)
Note: Perform steps 3 through 6 only if you want to override the configured default settings for this login
ID's TOTP account. You set the default settings in “Configure AZFTOTP1” on page 70.
3. Enter the following command to set the TOTP digest algorithm used to generate the one-time
password.
Important:
4. Enter the following command to set the length of the generated one-time passwords:
5. Enter the following command to set the number of seconds an interval lasts:
6. Enter the following command to set the skew intervals of the algorithm:
7. Enter the following command to display IBM MFA information for a user profile:
Procedure
1. Instruct the user to open the TOTP start page in a desktop web browser and log in with their z/OS user
name and password:
https://hostname:6789/AZFTOTP1/genericStart
A page that contains the AuthURL and the encoded QR code is displayed.
2. Instruct the user to point their device at the generated QR code and scan it with an application such as
IBM Verify, Google Authenticator, Duo Mobile, and so forth.
The application displays the TOTP code.
3. Instruct the user to enter the TOTP code on the web page and click Generic TOTP Enrollment.
4. If an error occurs, the user is prompted to retry enrollment. In this case, for the greatest compatibility
with QR applications, first set the following tag values:
• ALG SHA1
• NUMDIGITS 6
Procedure
1. Enter the following command to display IBM MFA information for a user profile, including the
suspended state:
Callout Notes:
a. The user has exceeded the suspension threshold you set, and the SUSPENDED tag is set to YES.
b. The user's consecutive failure count is reset to zero.
2. Enter the following command to reactivate a user for TOTP.
3. Enter the following command to confirm that the user is no longer in the suspended state:
Procedure
1. Deactivate the user for TOTP:
3. Enter the following command to set the TOTP registration state for the user to OPEN. (Case is sensitive
for OPEN.)
4. Follow the steps in “Configure TOTP for users” on page 78 or Chapter 32, “Configure TOTP for users,”
on page 193, as appropriate.
Procedure
1. Define the profile in the MFADEF class:
Procedure
1. Define the profile in the FACILITY class for AZFCERT1:
Procedure
1. Allow the access shown in Table 21 on page 82:
For example:
Procedure
1. Allocate a data set on the z/OS system for the certificate. You must specify a cataloged data set,
and it may not be a PDS or a PDS member. The record format (RECFM) expected by RACDCERT is
variable-block (VB).
2. Copy the certificate file to the data set you allocated. If you use ftp to transfer the file, transfer it in
binary mode.
3. Add the certificate to the RACF database as a trusted CERTAUTH with a label of your choice.
4. Connect the certificate to the keyring you created in “Configure an AT-TLS profile” on page 36.
Procedure
1. Edit the policy you created in “Configure an AT-TLS profile” on page 36 to add a new rule for client
authentication. The example rule uses the same keyring and cipher suites.
2. Add the HandshakeRole and ClientAuthType parameters. Specific lines in the example are
numbered to the right so that you can associate them with the notes that follow.
Note: This is an example fragment. See SYS1.SAZFSAMP(AZFTTLSX) for sample AT-TLS rule
definitions for IBM MFA.
TTLSRule client_AZF
{
LocalAddr ALL
RemoteAddr ALL
LocalPortRange 6777 a
Direction Inbound
Priority 255
TTLSEnabled On
Trace 2
}
TTLSEnvironmentAction clienteA-AZF
{
HandshakeRole ServerWithClientAuth b
EnvironmentUserInstance 0
TTLSEnvironmentAdvancedParmsRef clienteAdv1-AZF
TTLSGskAdvancedParmsRef gskAdvMutWithCRL
TTLSKeyringParmsRef keyR1~AZF
Trace 2
}
TTLSConnectionAction clientcA-AZF
{
TTLSCipherParmsRef cipher-AZF
TTLSConnectionAdvancedParmsRef clientcAdv1-AZF
CtraceClearText Off
Trace 2
}
TTLSConnectionAdvancedParms clientcAdv1-AZF
{
HandshakeTimeout 30 c
ApplicationControlled Off
SecondaryMap Off
}
TTLSEnvironmentAdvancedParms clienteAdv1-AZF
{
ClientAuthType Required d
CertValidationMode RFC5280 e
ApplicationControlled Off
SSLv2 Off
SSLv3 Off
TLSv1 Off
TLSv1.1 On
TLSv1.2 On
}
TTLSGskAdvancedParms gskAdvMutWithCRL f
{
TTLSGskHttpCdpParms
{
HttpCdpEnable On
}
TTLSGskOcspParms
{
OcspAiaEnable On
}
GSK_V3_SESSION_TIMEOUT 5 g
}
Callout Notes:
a. The example uses port 6777, but you can choose your own value. You need to specify this port
when you run AZFEXEC to configure the web services mutual authentication port.
b. Enable client authentication.
c. Specifies the number of seconds to wait for the initial handshake to complete. Allow sufficient time
for the user to validate a smart card PIN and provide the client certificate, if needed.
d. The server ensures that the signer of the client’s certificate is trusted by checking the trusted root
CA certificate that is in the server’s key ring.
e. Specifies that certificates are validated by using the method described in RFC 5280. If you are
using z/OS Version 2 Release 1, use the highest supported validation method.
f. For z/OS Version 2 Release 2 and later, implement certificate revocation checking. See z/OS
Communications Server: IP Configuration Guide and z/OS Communications Server: IP Configuration
Reference for complete information.
g. This value is the number of seconds that lapse until a session identifier expires. Set
GSK_V3_SESSION_TIMEOUT to a low value, such as 5, to require the user to always re-enter
Configure IBM MFA web service started task for Certificate Authentication
You must configure the IBM MFA web services started task for Certificate Authentication.
Procedure
1. Execute AZFEXEC and enter STC to configure the web services started task.
2. Configure the web services started task, as described in “Configure IBM MFA web services started
task” on page 41.
3. Set Mutual Authentication Port to the value you configured in “Configure client (mutual)
authentication” on page 83.
4. Set Enable Out of Band Services to Y.
5. Set Enable Certificate Authentication to Y.
Procedure
1. Execute AZFEXEC and choose AZFCERT1 to configure Certificate Authentication.
2. Provide the following:
Enable Auto-Approval in Certificate Enrollment When this option is enabled, the certificate
Service enrollment web service checks whether the
ESM has already been configured to map
the user-provided certificate to the SAF User
ID attempting enrollment. If so, the user's
REGSTATE is immediately set to APPROVED and
the REVIEW state is skipped. The option values
are as follows:
• N - Never. Do not auto-approve user certificate
enrollments. When a user completes self-
service certificate enrollment, the user's
REGSTATE tag is set to REVIEW. This is the
default.
• E - ESM. Users performing self-service
certificate enrollment are required to provide
a user ID. If the ESM has been configured
such that the InitACEE (IRRSIA00) callable
service reports that the presented certificate
maps to the same user ID, then the user's
REGSTATE tag is set to APPROVED. Otherwise,
the REGSTATE tag is set to REVIEW.
One way to perform this task is with the
RACDCERT MAP, as described in z/OS Security
Server RACF Command Language Reference .
• A - Always. If a user completes self-service
certificate enrollment, the REGSTATE tag data
is set to APPROVED.
Default: N.
Default Application Name for Certificate Auto- This value should only be specified if the ESM
Approval has been configured for certificate name filtering
via DIGTNMAP profiles. This value controls the
APPL-id parameter used by MFA when invoking
IRRSIA00.
Procedure
1. Start TCP/IP, AT-TLS (if needed), ICSF, and all TCP/IP-related services such as the resolver. See
Chapter 6, “IBM MFA configuration roadmap,” on page 13 for information about which authentication
factors require AT-TLS.
2. To start the started task if it is stopped, enter the following operator command:
S AZF#IN00
3. Start the started task on every z/OS instance sharing the RACF database where users log on.
4. Verify that the task started. The absence of errors after the "AZF2110I Started console receiver"
message in the SYSLOG indicates success.
Note: If you have configured multiple instances of a factor as described in Chapter 27, “Configuring
multiple instances of a factor,” on page 175, each factor instance is identified and logged separately in
the IBM MFA started task’s SYSPRINT.
Procedure
1. Enter the following command to activate a user for Certificate Authentication:
Where:
• [Login ID] is the z/OS user name.
• ACTIVE activates the AZFCERT1 authenticator for the user ID.
• PWFALLBACK configures password fallback for the user, as described in Chapter 26, “Configuring
Password Fallback,” on page 173.
2. You must create a multi-factor authentication policy as described in “Create and manage multi-factor
authentication policies” on page 47.
3. Apply the multi-factor authentication policy to the user as described in “Create and manage multi-
factor authentication policies” on page 47.
4. Enter the following command to display IBM MFA information for a user profile:
5. If needed, enter the following command to deactivate a user for Certificate Authentication:
https://servername:port/mfa/policy-name
where port is the server authentication port and policy-name is the certificate authentication policy.
Important: If the user were to instead bookmark the URL of the loaded mutual authentication port after
the authentication begins, subsequent authentication attempts will likely fail.
Procedure
1. Set the user REGSTATE to OPEN for the AZFCERT1 factor. (Case is sensitive for OPEN.)
2. Instruct the user to clear the SSL state if using Internet Explorer with Windows 10. (This is a best
practice for all browsers.)
To do this, the user selects Control Panel > Internet Options > Content > Clear SSL State.
3. Instruct the user to begin the Certificate Authentication logon process at the web server login page
you configured, such as:
https://servename:port/AZFCERT1/enroll
SERIAL:02BF
8. This step is needed only if you have not configured certificate enrollment automatic approval. If the
certificate information is correct for the user, set the user REGSTATE to APPROVED for the AZFCERT1
factor. (Case is sensitive for APPROVED.)
9. Instruct the user to open the web server login page with the policy you want them to use. Tell them to
bookmark this page for subsequent logins.
https://server-name:port/mfa/policy-name
where port is the server authentication port and policy-name is the certificate authentication policy.
Note: Users of Internet Explorer and Windows 10 will be prompted for their certificate and PIN at this
point.
10. Instruct the user to click "Begin Certificate-based Authentication."
11. The user must select the certificate they want to use to log in and click OK.
For PIV/CAC cards, the user must then enter their valid PIN.
12. On the "Cache Token Credential" page, instruct the user to copy the generated cache token credential
and use it to log on to the z/OS application.
Procedure
1. Define the profile in the MFADEF class:
Procedure
1. Define the profile in the FACILITY class:
Procedure
1. Allow the access shown in Table 23 on page 92:
For example:
Procedure
1. Allow the access shown in Table 24 on page 92:
For example:
Procedure
1. Execute AZFEXEC and choose AZFRADP1.
2. Provide the following:
Initial Trace Level 0 through 3 Choose the initial trace level. Valid
values are 0 through 3, where the
higher number increases the level of
verbosity. The default is 0.
3. See “Configure IBM MFA Compound In-Band” on page 97 for information about configuring IBM MFA
Compound In-Band.
4. Press F3 to save your changes and exit.
5. Configure the generic RADIUS server to accept communications from each z/OS system or LPAR that
is running the IBM MFA services started task. Consult your RADIUS documentation for configuration
information.
If you change the PKCS#11 token name or key label values, you must re-enter the shared secret value.
Procedure
1. Start TCP/IP, AT-TLS (if needed), ICSF, and all TCP/IP-related services such as the resolver. See
Chapter 6, “IBM MFA configuration roadmap,” on page 13 for information about which authentication
factors require AT-TLS.
2. To start the started task if it is stopped, enter the following operator command:
For example:
S AZF#IN00
3. Start the started task on every z/OS instance sharing the RACF database where users log on.
4. Verify that the task started. The absence of errors after the "AZF2110I Started console receiver"
message in the SYSLOG indicates success.
Note: If you have configured multiple instances of a factor as described in Chapter 27, “Configuring
multiple instances of a factor,” on page 175, each factor instance is identified and logged separately in
the IBM MFA started task’s SYSPRINT.
Procedure
1. Execute AZFEXEC.
2. Choose AZFRADP1.
3. On the AZFRADP1 factor attributes panel, configure the following attributes:
• Set Enable Compound In-band Authentication to Y.
• Choose whether you want the IBM MFA credential to be entered before or after the RACF credential.
The IBM MFA credential first is the default.
Note: This feature requires APAR OA54920 for RACF, which is available on z/OS V2R2 and later. (See
http://www-01.ibm.com/support/docview.wss?uid=isg1OA54920.)
• Change the Compound In-band Factor Separator field if needed. It is set to a colon (:) by default.
Possible values are shown in Table 26 on page 97. (FTP cannot use the forward slash (/) or
the colon (:). HTTP cannot use the forward slash (/). Other applications may have other character
restrictions.)
Note: Encodings are shown for code page IBM-1047.
passcode:passphrase
Procedure
1. Enter the following command to activate a user for generic RADIUS:
Where:
• [Login ID] is the z/OS user name.
Then, at a later time, enter an ALTUSER or ALU command of the following form to activate the
AZFRADP1 authenticator for the user ID:
3. Enter the following command to display IBM MFA information for a user profile:
4. If needed, enter the following command to deactivate a user for generic RADIUS:
Procedure
1. Edit the RADIUS client and change the shared secret as documented in your RADIUS documentation.
2. Repeat “1” on page 99 for all of the associated RADIUS clients. (All LPARs in a sysplex must use the
same shared secret.)
3. Execute AZFEXEC and choose AZFRADP1.
4. Change the shared secret to match that of the RADIUS client setting.
Note: The administrator who performs this step must be authorized as shown in “Authorize access to
resource profiles for shared secret” on page 92.
5. Press F3 to save your changes and exit.
6. Restart the started task, as described in “Start the IBM MFA services started task” on page 55 on each
z/OS instance sharing the RACF database.
Server-side User Select Yes Enter your PIN followed by the MobilePASS
passcode in the TSO/E Password field.
Procedure
1. Define the profile in the MFADEF class:
Procedure
1. Define the profile in the FACILITY class:
Procedure
1. Allow the access shown in Table 29 on page 103:
For example:
Procedure
1. Allow the access shown in Table 30 on page 103:
For example:
Procedure
1. Execute AZFEXEC and choose AZFSFNP1.
2. Provide the following:
Initial Trace Level 0 through 3 Choose the initial trace level. Valid
values are 0 through 3, where the
higher number increases the level of
verbosity. The default is 0.
3. See “Configure IBM MFA Compound In-Band” on page 107 for information about configuring IBM MFA
Compound In-Band.
4. Press F3 to save your changes and exit.
5. Configure the SafeNet RADIUS server to accept communications from each z/OS system or LPAR
that is running the IBM MFA services started task. Consult your SafeNet RADIUS documentation for
configuration information.
If you change the PKCS#11 token name or key label values, you must re-enter the shared secret value.
Procedure
1. Start TCP/IP, AT-TLS (if needed), ICSF, and all TCP/IP-related services such as the resolver. See
Chapter 6, “IBM MFA configuration roadmap,” on page 13 for information about which authentication
factors require AT-TLS.
2. To start the started task if it is stopped, enter the following operator command:
For example:
S AZF#IN00
3. Start the started task on every z/OS instance sharing the RACF database where users log on.
4. Verify that the task started. The absence of errors after the "AZF2110I Started console receiver"
message in the SYSLOG indicates success.
Note: If you have configured multiple instances of a factor as described in Chapter 27, “Configuring
multiple instances of a factor,” on page 175, each factor instance is identified and logged separately in
the IBM MFA started task’s SYSPRINT.
Procedure
1. Execute AZFEXEC.
2. Choose AZFSFNP1.
3. On the AZFSFNP1 factor attributes panel, configure the following attributes:
• Set Enable Compound In-band Authentication to Y.
• Choose whether you want the IBM MFA credential to be entered before or after the RACF credential.
The IBM MFA credential first is the default.
Note: This feature requires APAR OA54920 for RACF, which is available on z/OS V2R2 and later. (See
http://www-01.ibm.com/support/docview.wss?uid=isg1OA54920.)
• Change the Compound In-band Factor Separator field if needed. It is set to a colon (:) by default.
Possible values are shown in Table 32 on page 108. (FTP cannot use the forward slash (/) or
the colon (:). HTTP cannot use the forward slash (/). Other applications may have other character
restrictions.)
Note: Encodings are shown for code page IBM-1047.
passcode:passphrase
Procedure
1. Enter the following command to activate a user for SafeNet RADIUS:
Where:
• [Login ID] is the z/OS user name.
• ACTIVE activates the AZFRADP1 authenticator for the user ID.
• PWFALLBACK configures password fallback for the user, as described in Chapter 26, “Configuring
Password Fallback,” on page 173.
• User ID is the associated SafeNet RADIUS user ID.
2. If needed, enter the following command to defer activating a user for SafeNet RADIUS:
Then, at a later time, enter an ALTUSER or ALU command of the following form to activate the
AZFSFNP1 authenticator for the user ID:
3. Enter the following command to display IBM MFA information for a user profile:
4. If needed, enter the following command to deactivate a user for SafeNet RADIUS:
Procedure
1. Edit the SafeNet RADIUS client and change the shared secret as documented in your SafeNet
documentation.
2. Repeat “1” on page 110 for all of the associated RADIUS clients. (All LPARs in a sysplex must use the
same shared secret.)
3. Execute AZFEXEC and choose AZFSFNP1.
4. Change the shared secret to match that of the SafeNet RADIUS client setting.
Note: The administrator who performs this step must be authorized as shown in “Authorize access to
resource profiles for shared secret” on page 103.
5. Press F3 to save your changes and exit.
6. Restart the started task, as described in “Start the IBM MFA services started task” on page 55 on each
z/OS instance sharing the RACF database.
Procedure
1. Define the profile in the MFADEF class:
Procedure
1. Define the profile in the FACILITY class:
Procedure
1. Allow the access shown in Table 33 on page 112:
For example:
Procedure
1. Allow the access shown in Table 34 on page 112:
For example:
Procedure
1. Execute AZFEXEC and choose AZFSIDR1.
2. Provide the following:
Initial Trace Level 0 through 3 Choose the initial trace level. Valid
values are 0 through 3, where the
higher number increases the level of
verbosity. The default is 0.
3. See “Configure IBM MFA Compound In-Band” on page 116 for information about configuring IBM MFA
Compound In-Band.
4. Press F3 to save your changes and exit.
5. Verify that the RSA SecurID RADIUS server accepts communications from each z/OS system or LPAR
that is running the IBM MFA services started task.
If you change the PKCS#11 token name or key label values, you must re-enter the shared secret value.
Procedure
1. Start TCP/IP, AT-TLS (if needed), ICSF, and all TCP/IP-related services such as the resolver. See
Chapter 6, “IBM MFA configuration roadmap,” on page 13 for information about which authentication
factors require AT-TLS.
2. To start the started task if it is stopped, enter the following operator command:
For example:
S AZF#IN00
3. Start the started task on every z/OS instance sharing the RACF database where users log on.
4. Verify that the task started. The absence of errors after the "AZF2110I Started console receiver"
message in the SYSLOG indicates success.
Note: If you have configured multiple instances of a factor as described in Chapter 27, “Configuring
multiple instances of a factor,” on page 175, each factor instance is identified and logged separately in
the IBM MFA started task’s SYSPRINT.
Procedure
1. Execute AZFEXEC.
2. Choose AZFSIDR1.
3. On the AZFSIDR1 factor attributes panel, configure the following attributes:
• Set Enable Compound In-band Authentication to Y.
• Choose whether you want the IBM MFA credential to be entered before or after the RACF credential.
The IBM MFA credential first is the default.
Note: This feature requires APAR OA54920 for RACF, which is available on z/OS V2R2 and later. (See
http://www-01.ibm.com/support/docview.wss?uid=isg1OA54920.)
• Change the Compound In-band Factor Separator field if needed. It is set to a colon (:) by default.
Possible values are shown in Table 36 on page 117. (FTP cannot use the forward slash (/) or
the colon (:). HTTP cannot use the forward slash (/). Other applications may have other character
restrictions.)
Note: Encodings are shown for code page IBM-1047.
passcode:passphrase
Procedure
1. Enter the following command to activate a user for RSA SecurID RADIUS:
Where:
• [Login ID] is the z/OS user name.
• ACTIVE activates the AZFSIDR1 authenticator for the user ID.
• PWFALLBACK configures password fallback for the user, as described in Chapter 26, “Configuring
Password Fallback,” on page 173.
• RSA User ID is the associated RSA user ID. The SIDUSERID tag identifies the RSA user ID to use
when an authentication request for this user is sent to the RSA server by IBM MFA:
– If the security manager user ID matches the RSA server user ID, you can either specify the RSA
server user ID in the SIDUSERID tag, or omit it and the security manager user ID is used by
default.
– If the security manager user ID does not match the RSA server user ID, you must specify the RSA
server user ID in the SIDUSERID tag.
2. If needed, enter the following command to defer activating a user for RSA SecurID RADIUS:
Then, at a later time, enter an ALTUSER or ALU command of the following form to activate the
AZFSIDR1 authenticator for the user ID:
3. Enter the following command to display IBM MFA information for a user profile:
4. If needed, enter the following command to deactivate a user for RSA SecurID RADIUS:
Procedure
1. Edit the RADIUS client and change the shared secret as documented in your RADIUS documentation.
2. Repeat Step “1” on page 119 for all of the associated RADIUS clients. (All LPARs in a sysplex must use
the same shared secret.)
3. Execute AZFEXEC and choose AZFSIDR1.
4. Change the shared secret to match that of the RADIUS client setting.
Note: The administrator who performs this step must be authorized as shown in “Authorize access to
resource profiles for shared secret” on page 112.
5. Press F3 to save your changes and exit.
6. Restart the started task, as described in “Start the IBM MFA services started task” on page 55 on each
z/OS instance sharing the RACF database.
Procedure
1. Define the profile in the MFADEF class:
Procedure
1. Define a profile in the FACILITY class:
Procedure
1. Allow the access shown in Table 37 on page 122:
For example:
{"username":"@USERNAME@","status":"success"}
The following syntax is also valid. (The example is wrapped for format requirements.)
{"username":"@USERNAME@","authenticationMechanismTypes":"@AUTHNMECHTYPES@",
"status":"success"}
Procedure
1. Log in to the IBM Security Verify Access local management interface (LMI).
2. Navigate to Secure Access Control > Global Settings > Template Files > C > authsvc >
authenticator > apimfa > browser.html.
3. Configure the authentication context in the browser.html file:
<td>
<select name="authnctx">
<option value="server-authnctx">Arbitrary text
that describes your server</option>
</select>
</td>
where server-authnctx must match that of the Authentication Context on the IBM MFA server.
4. A pending change message is displayed at the top of the main pane. Click Click here to review the
changes or apply them to the system.
5. In the Deploy Pending Changes page:
a) To view the details of changes that are made to a particular module, click the link to that module.
b) To deploy the changes, click Deploy.
c) To abandon the changes, click Roll Back.
d) To close the pop-up page without any actions against the changes, click Cancel.
6. Add the root CA public certificate of the IBM Security Verify Access server as a CERTAUTH in the z/OS
keyring you created in “Configure an AT-TLS profile” on page 36.
7. Configure an AT-TLS outbound rule. The rule must allow the IBM MFA services AZF#IN00 started
task to negotiate the client side of a server-authentication TLS connection with the IBM Security
Verify Access server. The HandshakeRole role is Client.
If the connection port for the IBM Security Verify Access server is not otherwise used by the IBM MFA
services AZF#IN00 started task, you can scope the outbound rule to the port number.
Note: The code fragment is for example purposes only and is not complete. See
SYS1.SAZFSAMP(AZFTTLSX) for sample AT-TLS rule definitions for IBM MFA.
TTLSRule AZFClientRule
{
Jobname AZF* a
LocalAddr ALL
RemoteAddr ALL
RemotePortRange ?outboundPort? b
Direction Outbound c
Priority 255
TTLSEnvironmentActionRef eActAZFClient
TTLSGroupActionRef AZFGroupAction1
TTLSConnectionActionRef AZFConnAction1
}
TTLSConnectionAction AZFConnAction1
{
TTLSCipherParmsRef AZFCipherParms
TTLSConnectionAdvancedParmsRef AZFConnAdvParms1
CtraceClearText Off
Trace 255
}
Chapter 19. Configuring IBM MFA for IBM Security Verify Access 123
:
:
Callout Notes:
a. The Jobname directive indicates that the rule applies only to connections made from the started
task.
b. The RemotePortRange indicates the port on which IBM Security Verify Access server is
listening.
c. The Direction Outbound directive indicates that the rule applies to outgoing connections.
8. Execute AZFEXEC and choose AZFISAM1.
9. Provide the following:
Initial Trace Level 0 through 3 The trace level used for tracing
events within the AZFISAM1 plug-
in. Valid values are 0 through 3,
where the higher number increases
the level of verbosity. The default is
zero.
10. See “Configure IBM MFA Compound In-Band” on page 127 for information about configuring IBM
MFA Compound In-Band.
11. Press F3 to save your changes and exit.
If you change the PKCS#11 token name or key label values, you must re-enter the client secret value.
Chapter 19. Configuring IBM MFA for IBM Security Verify Access 125
Start the IBM MFA services started task
The IBM MFA services started task supports authentication of users and validation of tags specified in the
RACF ALTUSER command at runtime.
Procedure
1. Start TCP/IP, AT-TLS (if needed), ICSF, and all TCP/IP-related services such as the resolver. See
Chapter 6, “IBM MFA configuration roadmap,” on page 13 for information about which authentication
factors require AT-TLS.
2. To start the started task if it is stopped, enter the following operator command:
For example:
S AZF#IN00
3. Start the started task on every z/OS instance sharing the RACF database where users log on.
4. Verify that the task started. The absence of errors after the "AZF2110I Started console receiver"
message in the SYSLOG indicates success.
Procedure
1. Execute AZFEXEC.
2. Choose AZFISAM1.
3. On the AZFISAM1 factor attributes panel, configure the following attributes:
• Set Enable Compound In-band Authentication to Y.
• Choose whether you want the IBM MFA credential to be entered before or after the RACF credential.
The IBM MFA credential first is the default.
Note: This feature requires APAR OA54920 for RACF, which is available on z/OS V2R2 and later. (See
http://www-01.ibm.com/support/docview.wss?uid=isg1OA54920.)
• Change the Compound In-band Factor Separator field if needed. It is set to a colon (:) by default.
Possible values are shown in Table 39 on page 127. (FTP cannot use the forward slash (/) or
the colon (:). HTTP cannot use the forward slash (/). Other applications may have other character
restrictions.)
Note: Encodings are shown for code page IBM-1047.
Chapter 19. Configuring IBM MFA for IBM Security Verify Access 127
Table 39. Valid Separator Characters (continued)
Character Name Character Hexadecimal (for reference)
Comma , 6b
Underscore _ 6d
Hyphen - 60
Period . 4b
Slash right / 61
Colon : 7a
Semicolon ; 5e
Question mark ? 6f
Percent % 6c
Asterisk * 7f
Double quotation mark " 5c
Vertical bar | 4f
4. Save the changes.
5. Restart the IBM MFA AZF#IN00 services started task.
6. Instruct the user to enter their IBM Security Verify Access token, the required separator, and their
passphrase or password in the password field, based on the credential order you selected. For
example:
token:passphrase
Procedure
1. Enter the following commands to activate a user for IBM Security Verify Access:
Where:
• [Login ID] is the z/OS user name.
• ACTIVE activates the AZFISAM1 authenticator for the user ID.
• PWFALLBACK configures password fallback for the user, as described in Chapter 26, “Configuring
Password Fallback,” on page 173.
• ISAMUSERID is the IBM Security Verify Access user ID.
3. If needed, enter the following commands to deactivate a user for IBM Security Verify Access:
What to do next
Typical User Login Flow
This section describes the typical user login flow. The exact steps the user must follow depend on your
IBM Security Verify Access configuration. As part of the login flow, you must provide the user with the
following:
• The URL of the IBM Security Verify Access login page. For example, https://server-name/apimfa.html, as
described in the documentation.
• Their user name on the IBM Security Verify Access server.
• The name of the application to use on the Generate application one-time password page.
Important: As part of the login flow, the user needs to register and use a device that is running the IBM
Verify application. This device must have network connectivity to the IBM Security Verify Access server.
1. Navigate to the web page provided by your administrator and log in with your IBM Security Verify
Access user name.
The API Multi-factor authentication page is displayed.
2. Click on Manage / Register IBM Verify and FIDO U2F. This step is needed only on your first access.
a. Under Authenticators::Register new authenticator, select AuthenticatorClient in the drop-down
menu.
b. Click register new authenticator.
c. Launch IBM Verify on the device and point the camera at the displayed QR code.
d. IBM Verify connects with API Multi-factor authentication and creates a new account.
e. Click Home on the web page to return to the API Multi-factor authentication page.
3. Click Obtain application OTP. The Mobile Multi Factor Device Selection page is displayed.
a. Click the radio button corresponding to the device you registered.
b. Click Submit. This device will receive a notification.
c. The Mobile Multi Factor Pending Authentication page is displayed.
d. Accept the Please log me in: user name notification on your device. Click the check mark and
verify with your fingerprint if you configured Touch ID.
e. If the Mobile Multi Factor Pending Authentication page does not disappear, click Verify.
4. On the Generate application one-time password page:
a. Select the application the administrator instructs you to use from the Application drop-down
menu.
b. Click Generate OTP. The OTP is displayed:
Chapter 19. Configuring IBM MFA for IBM Security Verify Access 129
Application One-time Password
Username username
Application app-name
One-time password OTP
Expires In (hh:mm:ss)
Procedure
1. Enter the following command to display IBM MFA information for a user profile, including the
suspended state:
Callout Notes:
a. The user has exceeded the suspension threshold you set, and the SUSPENDED tag is set to YES.
b. The user's consecutive failure count is reset to zero.
2. Enter the following command to reactivate a user for IBM Security Verify Access.
3. Enter the following command to confirm that the user is no longer in the suspended state:
Procedure
1. Define the profile in the MFADEF class:
Procedure
1. Define a profile in the FACILITY class:
Procedure
1. Allow the access shown in Table 40 on page 132:
For example:
Configure LDAP
You must configure the LDAP settings.
Procedure
1. Configure an AT-TLS outbound rule for LDAP. The rule must allow the IBM MFA services AZF#IN00
started task to negotiate the client side of a server-authentication TLS connection with the LDAP
server. The HandshakeRole role is Client.
Note: The code fragment is for example purposes only and is not complete. See
SYS1.SAZFSAMP(AZFTTLSX) for a sample of connecting to a secure LDAP port.
TTLSRule AZFClientRule
{
Jobname AZF*
LocalAddr ALL
RemoteAddr ALL
RemotePortRange ?outboundPort?
Direction Outbound
Priority 255
TTLSEnvironmentActionRef eActAZFClient
TTLSGroupActionRef AZFGroupAction1
TTLSConnectionActionRef AZFConnAction1
}
Primary Server Port Valid port number The port number used on the primary
LDAP server for authentication.
Default: 636.
Secondary Server Host Name Valid host name or IP address The hostname (or IP address) of the
secondary LDAP server.
This is required only if you have
multiple servers. The default is blank.
The hostname must be sufficiently
qualified for web clients to resolve
the hostname.
Secondary Server Port Valid port number The port number used on
the secondary LDAP server for
authentication.
This is required only if you have
multiple servers. The default is 0.
Tertiary Server Host Name Valid host name or IP address The hostname (or IP address) of the
tertiary LDAP server.
This is required only if you have
multiple servers. The default is blank.
The hostname must be sufficiently
qualified for web clients to resolve
the hostname.
Tertiary Server Port Valid port number The port number used on
the secondary LDAP server for
authentication.
This is required only if you have
multiple servers. The default is 0.
For example:
S AZF#IN00
3. Start the started task on every z/OS instance sharing the RACF database where users log on.
4. Verify that the task started. The absence of errors after the "AZF2110I Started console receiver"
message in the SYSLOG indicates success.
Note: If you have configured multiple instances of a factor as described in Chapter 27, “Configuring
multiple instances of a factor,” on page 175, each factor instance is identified and logged separately in
the IBM MFA started task’s SYSPRINT.
Procedure
1. Execute AZFEXEC.
2. Choose AZFLDAP1.
3. On the AZFLDAP1 factor attributes panel, configure the following attributes:
• Set Enable Compound In-band Authentication to Y.
• Choose whether you want the IBM MFA credential to be entered before or after the RACF credential.
The IBM MFA credential first is the default.
Note: This feature requires APAR OA54920 for RACF, which is available on z/OS V2R2 and later. (See
http://www-01.ibm.com/support/docview.wss?uid=isg1OA54920.)
• Change the Compound In-band Factor Separator field if needed. It is set to a colon (:) by default.
Possible values are shown in Table 42 on page 136. (FTP cannot use the forward slash (/) or
the colon (:). HTTP cannot use the forward slash (/). Other applications may have other character
restrictions.)
LDAP password:passphrase
C:\Users\juser>whoami /fqdn
CN=J User,OU=Users,OU=Company Offices,DC=companyname,DC=com
Procedure
1. Enter the following command to activate a user for LDAP. Note that the fully-qualified domain name for
each user is enclosed in single quotation marks.
Where:
• [Login ID] is the z/OS user name.
• ACTIVE activates the AZFLDAP1 authenticator for the user ID.
• PWFALLBACK configures password fallback for the user, as described in Chapter 26, “Configuring
Password Fallback,” on page 173.
• DN is the fully-qualified domain name for the user.
2. If needed, enter the following command to defer activating a user for LDAP:
Then, at a later time, enter an ALTUSER or ALU command of the following form to activate the
AZFLPAD1 authenticator for the user ID:
3. Enter the following command to display IBM MFA information for a user profile:
Procedure
1. Define the profile in the MFADEF class:
Procedure
1. Define a profile in the FACILITY class:
Procedure
1. Allow the access shown in Table 43 on page 140:
For example:
Procedure
1. Execute AZFEXEC and choose AZFYUBI1.
2. Provide the following:
Procedure
1. Start TCP/IP, AT-TLS (if needed), ICSF, and all TCP/IP-related services such as the resolver. See
Chapter 6, “IBM MFA configuration roadmap,” on page 13 for information about which authentication
factors require AT-TLS.
2. To start the started task if it is stopped, enter the following operator command:
For example:
S AZF#IN00
3. Start the started task on every z/OS instance sharing the RACF database where users log on.
4. Verify that the task started. The absence of errors after the "AZF2110I Started console receiver"
message in the SYSLOG indicates success.
Note: If you have configured multiple instances of a factor as described in Chapter 27, “Configuring
multiple instances of a factor,” on page 175, each factor instance is identified and logged separately in
the IBM MFA started task’s SYSPRINT.
Procedure
1. Execute AZFEXEC.
2. Choose AZFYUBI1.
3. On the AZFYUBI1 factor attributes panel, configure the following attributes:
• Set Enable Compound In-band Authentication to Y.
YubiKey token:passphrase
Procedure
1. Insert the YubiKey token in a USB slot.
2. Run the YubiKey Personalization Tool.
3. Select the Settings tab.
4. In the Log configuration output control, select Yubico format.
5. Select the Yubico OTP tab. This is the only supported format.
6. Click Quick.
7. Select Configuration Slot 2.
Note: You can use either slot 1 or 2 with IBM MFA. However, slot 2 is recommended because it
requires a long press, making it less likely that the Yubikey is accidentally triggered.
8. Click Write Configuration.
The configuration is stored in a format similar to the following:
7699966,tvhcjlhgucln,ba29fe0f63b4,3ae7fa1cd82885153a2ae8dea864a22b,
000000000000,2018-08-23T16:06:21,
where the first field is the serial number of the YubiKey token and the key material follows.
9. Save the configuration .csv file to a secure location of your choice.
Important: The configuration .csv file contains important key material. Save the file only to a secure
location. A malicious actor could attempt to use the key material to gain system access.
10. Insert the next Yubikey tokens (if any) and repeat Step “8” on page 144 for each additional YubiKey
token.
11. Copy the .csv file to a secure z/OS UNIX file on the IBM MFA system.
Procedure
1. Add the /usr/lpp/IBM/azfv2r2/bin/ directory to your PATH.
export PATH=/usr/lpp/IBM/azfv2r2/bin:${PATH}
2. Run the ./azfyubi1_ingest program with the SCAN parameter and check for errors. The output is
for example purposes and contains only one CSV record.
3. Run the ./azfyubi1_ingest program with the INGEST parameter without the COMMIT parameter
and check for errors.
Tip: The following error indicates that you do not have sufficient access to a required CSFSERV or
CRYPTOZ resource profile.
See “AZF9547E” on page 289 for additional information about this message.
4. Run the ./azfyubi1_ingest program with the INGEST parameter with the COMMIT parameter.
export PATH=/usr/lpp/IBM/azfv2r2/bin:${PATH}
2. Create an input file in the following format to provision users for Yubico OTP:
There are many ways to accomplish this step, depending on your environment. For example, you can
edit z/OS UNIX files by using the TSO/E OEDIT command to invoke ISPF File Edit or by selecting File
Edit on the ISPF menu, if it is installed. In a shell, you can use the ed and sed editors for editing z/OS
UNIX files. You can use the oedit shell command to invoke ISPF File Edit.
If you are using TSO/E OMVS, you can use OEDIT to create a new file or edit an existing one.
For example:
azfbulk input-file
4. Check the resulting azfprov1.sh file for errors. azfprov1.sh invokes azfbulkcmd.sh, which
allows you to make any needed customizations if you are using an ESM other than RACF. No changes
to azfbulkcmd.sh are required if you are using RACF.
Important: azfbulk generates an azfprov2.sh file that is not needed or functional in this
workflow. Do not run the azfprov2.sh file.
5. Correct any errors in your input file and re-run azfbulk. Repeat as needed.
6. When you are satisfied with the azfprov1.sh script, run the azfbulk program with the COMMIT
parameter.
sh azfprov1.sh
8. Instruct the user to insert the YubiKey into a USB port on their Windows system.
9. Instruct the user to launch the YubiKey Enrollment page:
Note: Enable YubiKey Enrollment must be set to Y, as described in “Configure IBM MFA web services
started task” on page 41.
https://server-name:port/AZFYUBI1/enroll
Instruct the user to provide their user name and password, and tap the YubiKey to generate an OTP in
the YubiKey OTP field. Remind the users that a YubiKey token in Configuration Slot 2 requires the long
press.
The user receives a message that the YubiKey was associated with their account.
Information
Your YubiKey device was successfully associated with your account.
FACTOR = AZFYUBI1
STATUS = ACTIVE
FACTOR TAGS =
REGSTATE:CONFIRMED
SERIAL:6489515
PUBNAME:lcefiedkcvjcfdvgirifrvcndbgvkfdj
PRIVID:i2l2hzz4mCqbkZPtyrxYJKDuBx3R37lakyk/y6uc9HY=
SECRET:CfWgi/DhJXxgWF1ko9OATQxT+4OxO6LtLVPxw3IQKruqhubXIBqU2wIPZCBu3Y
mf
CREATED:2018-07-31T18:40:00
MODIFIED:1535468661
YKCTR:9
YKUSE:2
YKTSL:43480
YKTSH:106
11. If needed, enter the following commands to deactivate a user for Yubico OTP:
Procedure
1. Add the /usr/lpp/IBM/azfv2r2/bin/ directory to your PATH.
export PATH=/usr/lpp/IBM/azfv2r2/bin:${PATH}
where csv-data is the complete string from the configuration .csv file that you want to assign to this
user.
There are many ways to accomplish this step, depending on your environment. For example, you can
edit z/OS UNIX files by using the TSO/E OEDIT command to invoke ISPF File Edit or by selecting File
Edit on the ISPF menu, if it is installed. In a shell, you can use the ed and sed editors for editing z/OS
UNIX files. You can use the oedit shell command to invoke ISPF File Edit.
azfbulk input-file
4. Check the resulting azfprov1.sh and azfprov2.sh files for errors. azfprov1.sh invokes
azfbulkcmd.sh, which allows you to make any needed customizations if you are using an ESM
other than RACF. No changes to azfbulkcmd.sh are required if you are using RACF.
5. Correct any errors in your input file and re-run azfbulk. Repeat as needed.
6. When you are satisfied with the azfprov1.sh and azfprov2.sh scripts, run the azfbulk program
with the COMMIT parameter. (COMMIT must be in uppercase.)
sh azfprov1.sh
sh azfprov2.sh
9. Instruct the user to insert the YubiKey into a USB port on their Windows system.
10. Instruct the user to log in to the z/OS application and tap the YubiKey to generate a token in the
password field. Remind the users that a YubiKey token in Configuration Slot 2 requires the long press.
11. Enter the following command to display IBM MFA information for a user profile. Note that the
REGSTATE changes to CONFIRMED and the factor state changes to ACTIVE. (The key material is for
example purposes only.)
FACTOR = AZFYUBI1
STATUS = ACTIVE
FACTOR TAGS =
REGSTATE:CONFIRMED
SERIAL:7699966
PUBNAME:vvtvvrdfgtne
PRIVID:OaGKIt1QL/KZu/IcgUsizsP90UfzBPfaXJcnE/PelL4=
SECRET:d1cNHlipJ1XKdYWKwwZEH4qQJKVN7wS7t/8ElKwnx7GnYJZq+/nqsxIOfn5VuO
YK
CREATED:2020-01-24T11:39:38
MODIFIED:1579894287
YKCTR:1
YKUSE:1
YKTSL:24519
YKTSH:78
12. If needed, enter the following commands to deactivate a user for Yubico OTP:
Overview
IBM Security Verify helps you secure user productivity with cloud-delivered Single Sign On (SSO),
multifactor authentication, and identity governance. It comes with thousands of prebuilt connectors to
help you quickly provide access to popular SaaS apps, and prebuilt templates to help integrate in-house
apps.
You can configure IBM MFA with generic RADIUS to work with the trial version of IBM Security Verify.
To understand how the various components work together, consider the following broad outline. The
steps are described in detail in the sections that follow.
1. Use an existing or new IBM account to start a trial of IBM Security Verify. Your IBM account becomes
the administrator account you use to create a IBM Security Verify hostname, configure an API client,
and add IBM Security Verify user accounts.
2. Install IBM Verify Gateway for RADIUS application on a Windows server or desktop system.
Edit the configuration file to identify both the IBM Security Verify hostname you created, the LPAR
or system where IBM MFA generic RADIUS is configured, and the shared secret you want IBM Verify
Gateway for RADIUS and IBM MFA generic RADIUS to use.
3. Configure IBM MFA generic RADIUS on the LPAR or system to specify the hostname or IP address of
the Windows system where IBM Verify Gateway for RADIUS is running.
4. Configure the IBM MFA generic RADIUS user with the IBM Security Verify user name in
TAGS(RADUSERID:CLOUD-ID).
5. When the user logs in using IBM MFA generic RADIUS, the user specifies their IBM Security Verify
password.
Procedure
1. Open the Try IBM Security Verify page https://www.ibm.com/account/reg/us-en/signup?
formid=urx-30041 in a browser.
If you already have an IBM account, click Log in.
Otherwise, fill in your account information and click Start Your Free Edition and respond to the
verification email.
In both cases, you receive a verification email. Your IBM account is added to the IBM Security Verify
admin group for the hostname you configure.
2. On the IBM Security Verify Connect Registration page, enter a host name. The hostname you specify is
then used in a URL of the form https://hostname.ice.ibmcloud.com.
3. Click Start Trial.
4. The https://hostname.ice.ibmcloud.com/ui/admin page is displayed.
• If you sign in with your IBM ID, the https://hostname.ice.ibmcloud.com/usc/applications IBM Security
Verify page is displayed. You can select Switch to admin to perform administrative functions.
• Signing in with Cloud Directory is for IBM Security Verify users you create. This is a user-level login with
limited functionality.
Note: You can optionally create a IBM Security Verify user and add that user to the Admin user group if
you choose.
Procedure
1. Open the https://hostname.ice.ibmcloud.com/ui/admin page. If the page does not open directly to the
Admin page, click the person icon in the top right portion of the page and select Switch to admin.
2. Click the menu icon in the top left corner of the page.
3. Click Settings.
4. Click API Access.
5. Click Add API Client.
6. In the popup window, enter a name of your choice for the client, such as IBM MFA RADIUS.
7. Click (set) the following check boxes:
• Authenticate any user
• Manage second-factor authentication enrollment for all users
• Manage users and standard groups
• Read second-factor authentication enrollment for all users
• Read second-factor authentication method configuration
• Read users and groups
8. Click Save.
Procedure
1. Open the https://hostname.ice.ibmcloud.com/ui/admin page. If the page does not open directly to the
Admin page, click the person icon in the top right portion of the page and select Switch to admin.
What to do next
The user receives an IBM Security "Account Created" email and is instructed to click the link to log in to
https://hostname.ice.ibmcloud.com/ui.
The user must log in with IBM Security Verify and change their password.
Important: The user will need to use this password when logging in to IBM MFA with generic RADIUS.
Procedure
1. Open the https://hostname.ice.ibmcloud.com/ui/admin page. If the page does not open directly to the
Admin page, click the person icon in the top right portion of the page and select Switch to admin.
2. Click the menu icon in the top left corner of the page.
3. Click Security.
4. The Authentication Factors page is displayed.
5. Verify that the following authentication factors are enabled:
• Email One-Time Password.
• SMS One-Time Password
• Time-Based One-Time Password
• IBM Verify Authentication
6. Click Save if you make any changes.
Chapter 22. Configuring IBM MFA generic RADIUS to authenticate with IBM Security Verify 153
summarizes the steps for your convenience. See https://www.ibm.com/support/knowledgecenter/en/
SSCT62/com.ibm.iamservice.doc/tasks/t_gateway_config.html for complete details.
Procedure
1. From a Windows server or desktop system, navigate to https://exchange.xforce.ibmcloud.com/hub/
extension/cb468c6c4539fad9c64eff7a1b107e86 in a browser and download IBM Verify Gateway for
RADIUS.
2. Extract the files from the downloaded .zip file and run setup.exe to install IBM Verify Gateway for
RADIUS on the Windows server or desktop system.
3. Open the https://hostname.ice.ibmcloud.com/ui/admin page, If the page does not open directly to the
Admin page, click the person icon in the top right portion of the page and select Switch to admin.
4. Click the menu icon in the top left corner of the page.
5. Click Settings.
6. Click API Access.
7. Locate your API client in the list and hover the end of the row to display the edit icon.
8. Click the edit icon. The API client information is displayed.
9. Copy the Client ID and Secret to the clipboard (one at a time) and save the information, or click the
eye icon to view the Client ID and secret and save the information. You will need this information
when you edit the IbmRadiusConfig.json configuration file in Step “11” on page 154.
10. Click Cancel. No changes are necessary.
11. Edit the IbmRadiusConfig.json configuration file in the installation directory on your Windows
system where you installed IBM Verify Gateway for RADIUS,
12. Substitute the question marks (?) as shown in the following example:
{
"address":"::",
"port":1812, a
/* "trace-file":"c:/tmp/ibm-auth-api.log", */ b
"ibm-auth-api":{
"client-id":"??????", c
"client-secret":"??????", d
"protocol":"https",
"host":"??????.ice.ibmcloud.com", e
"port":443, f
"max-handles":16
},
"clients":[
{
"name":"??????", g
"address": "??????", h
"secret":"??????", i
"auth-method":"password" j
},
Callout Notes:
a. Remember this port, 1812, you will need it when you configure the IBM MFA generic RADIUS
panel. If Generic Radius and SafeNet RADIUS are both using the same IP address, you can
specify a different port number.
b. Uncomment this entry and specify a location to create a log file for debugging purposes.
c. Specify the client ID you copied in Step “9” on page 154.
d. Specify the client secret you copied in Step “9” on page 154.
e. Specify the IBM Security Verify hostname you created.
f. This is the port that your Windows system uses to connect to the IBM Security Verify host. Your
Windows system must be able to establish connections from this port.
g. Specify the LPAR or system name where IBM MFA generic RADIUS is configured.
h. Specify the LPAR or system IP address where IBM MFA generic RADIUS is configured.
["urn:ietf:params:scim:api:messages:2.0:Error"],"status":"400","detail":
"CSIAI0160E Authentication failed.","scimType":"INVALID_CREDS"}
Procedure
1. In the installation directory on your Windows system where you installed IBM Verify Gateway for
RADIUS, edit the IbmRadiusConfig.json configuration file to set the auth-method to password:
{
"address":"::",
"port":1812,
"trace-file":"c:/directory-name/ibm-auth-api.log",
"ibm-auth-api":{
"client-id":"client-id",
"client-secret":"client-secret",
"protocol":"https",
"host":"hostname.ice.ibmcloud.com",
"port":443,
"max-handles":16
},
"clients":[
{
"name":"hostname.company.com",
"address": "ip-address",
"secret":"your-secret",
"auth-method":"password"
},
Chapter 22. Configuring IBM MFA generic RADIUS to authenticate with IBM Security Verify 155
Procedure
1. Instruct the user to install the IBM Verify application on their mobile device.
2. Instruct the user to open https://hostname.ice.ibmcloud.com/ui and log in to their IBM Security Verify
account.
3. Instruct the user to perform the following steps:
a. Click the person icon and click Security settings.
b. Click Add new.
c. Click Next: Connect your account.
d. Launch the IBM Verify application on their mobile device.
e. Choose Use Touch ID.
f. Tap to connect a new account.
g. Scan the QR Code on the IBM Security Verify web page using the device’s camera.
h. Allow IBM Verify to send you notifications.
i. On the IBM Security Verify web page, click Verify.
j. On the device, click the check mark and enter your fingerprint to verify the device.
k. On the IBM Security Verify web page, click Done.
The device is listed on the user's web page under IBM Verify.
4. In the installation directory on your Windows system where you installed IBM Verify Gateway for
RADIUS, edit the IbmRadiusConfig.json configuration file to set the auth-method to password-
and-device:
{
"address":"::",
"port":1812,
"trace-file":"c:/directory-name/ibm-auth-api.log",
"ibm-auth-api":{
"client-id":"client-id",
"client-secret":"client-secret",
"protocol":"https",
"host":"hostname.ice.ibmcloud.com",
"port":443,
"max-handles":16
},
"clients":[
{
"name":"hostname.company.com",
"address": "ip-address",
"secret":"your-secret",
"auth-method":"password-and-device"
},
c. The user must follow the prompts to verify the push notification on their mobile device.
d. The user must enter any single character as the response to the ENTER MFA INFORMATION
prompt and press Enter to continue.
Note: In IBM MFA Out-of-Band authentication, the user must enter any single character in
response to the Response prompt and press Submit.
Configuring IBM Verify Gateway for RADIUS for SMS message with an OTP
In password-then-transsmsotp, the user provides their IBM Security Verify password. Then, an SMS
message with an OTP value is sent to the phone number in the user's profile. A RADIUS challenge
requests the OTP value.
Procedure
1. In the installation directory on your Windows system where you installed IBM Verify Gateway for
RADIUS, edit the IbmRadiusConfig.json configuration file to set the auth-method to password-
then-transsmsotp:
{
"address":"::",
"port":1812,
"trace-file":"c:/directory-name/ibm-auth-api.log",
"ibm-auth-api":{
"client-id":"client-id",
"client-secret":"client-secret",
"protocol":"https",
"host":"hostname.ice.ibmcloud.com",
"port":443,
"max-handles":16
},
"clients":[
{
"name":"hostname.company.com",
"address": "ip-address",
"secret":"your-secret",
"auth-method":"password-then-transsmsotp"
},
c. The user must enter the OTP value, 963017 in this example, in response to the ENTER MFA
INFORMATION prompt and press Enter to continue.
Enter the OTP value in the Password field if TSO pre-prompt is not enabled.
Chapter 22. Configuring IBM MFA generic RADIUS to authenticate with IBM Security Verify 157
Starting the IBM Verify Gateway for RADIUS service
During the installation, IBM Verify Gateway for RADIUS is configured as a Windows service.
Procedure
1. From a Windows server or desktop system, navigate to the Services setting.
2. Select the IBM RADIUS Service from the list.
3. Right click on IBM RADIUS Service and select Start.
Note: Errors, warnings and informational messages are sent to the Windows Event log. If
the service fails to start, examine the Event Log for possible causes, such as an error
in the IbmRadiusConfig.json file. You can also uncomment the trace-file entry in
IbmRadiusConfig.json and examine the contents of the trace file.
4. Right click on IBM RADIUS Service and select Properties.
5. Set the startup type to Automatic.
Procedure
1. Set the Primary Server Host Name to be the host name or IP address of the Windows system
where the IBM Verify Gateway for RADIUS service is running.
2. Set the Primary Server Port to 1812. (This is the default value.)
3. Set the Shared Secret to be the shared secret you configured in “Configuring IBM Verify Gateway
for RADIUS” on page 153.
4. Restart the IBM MFA services and web services started tasks.
5. When you provision a user, specify the username you created in “Configuring IBM Security Verify
Users” on page 152.
Procedure
1. Define the profile in the MFADEF class:
Procedure
1. Define the profile in the FACILITY class:
Procedure
1. Allow the access shown in Table 47 on page 160:
Procedure
1. Execute AZFEXEC and choose AZFCKCTC.
2. Provide the following:
TTLSRule AZFClientRule
{
Jobname AZF* a
LocalAddr ALL
RemoteAddr ALL
RemotePortRange ?outboundPort? a
Direction Outbound
Priority 255
TTLSEnvironmentActionRef eActAZFClient
TTLSGroupActionRef AZFGroupAction1
TTLSConnectionActionRef AZFConnAction1
}
TTLSKeyringParms AZFClientKeyringParms
{
Keyring ?clientRingName?
}
TTLSGroupAction AZFGroupAction1
{
TTLSEnabled On
Trace 255
}
TTLSEnvironmentAction eActAZFClient
{
HandshakeRole Client c
EnvironmentUserInstance 1
TTLSKeyringParmsRef AZFClientKeyringParms
Trace 255
TTLSEnvironmentAdvancedParmsRef eAdvAZFClient
}
TTLSConnectionAction AZFConnAction1
{
TTLSCipherParmsRef AZFCipherParms
TTLSConnectionAdvancedParmsRef AZFConnAdvParms1
CtraceClearText Off
Trace 255
}
TTLSConnectionAdvancedParms AZFConnAdvParms1
{
ApplicationControlled Off
SecondaryMap Off
}
TTLSCipherParms AZFCipherParms
{
V3CipherSuites TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
V3CipherSuites TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
V3CipherSuites TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
V3CipherSuites TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
V3CipherSuites TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
V3CipherSuites TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
V3CipherSuites TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
V3CipherSuites TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
}
Callout Notes:
a. The rule allows the IBM MFA services started task to negotiate the client side of a server-
authentication TLS connection.
b. This rule specifies an outbound connection.
c. The port is the port used by the IBM MFA web services started task on the IBM MFA CTC source.
d. The HandshakeRole role is Client.
Procedure
1. To start the started task if it is stopped, enter the following operator command:
For example:
S AZF#IN00
2. Verify that the task started. The absence of errors after the "AZF2110I Started console receiver"
message in the SYSLOG indicates success.
Procedure
1. Execute AZFEXEC.
2. Choose AZFCKCTC.
3. On the AZFCKCTC factor attributes panel, configure the following attributes:
• Set Enable Compound In-band Authentication to Y.
• Choose whether you want the IBM MFA credential to be entered before or after the RACF credential.
The IBM MFA credential first is the default.
Note: This feature requires APAR OA54920 for RACF, which is available on z/OS V2R2 and later. (See
http://www-01.ibm.com/support/docview.wss?uid=isg1OA54920.)
• Change the Compound In-band Factor Separator field if needed. It is set to a colon (:) by default.
Possible values are shown in Table 49 on page 164. (FTP cannot use the forward slash (/) or
the colon (:). HTTP cannot use the forward slash (/). Other applications may have other character
restrictions.)
Note: Encodings are shown for code page IBM-1047.
CTC:CTC-destination-passphrase
Tip: To prevent confusion, ensure that you tell users to use their destination system passphrase or
password.
Procedure
1. Enter the following command to activate a user for AZFCKCTC:
Important: If you activate a user for AZFCKCTC, the user cannot be associated with a policy name or
have any other active authentication factors.
Where:
• [Login ID] is the z/OS user name.
• ACTIVE activates the AZFCKCTC authenticator for the user ID.
• PWFALLBACK configures password fallback for the user, as described in Chapter 26, “Configuring
Password Fallback,” on page 173.
• ALTUSERID is the user name of the user on the CTC source. The user name on the CTC destination
and CTC source does not need to be the same.
https://server-host:port/mfa/policy-name
The user is then presented with IBM MFA Out-of-Band web page for the configured authentication
factors.
If the IBM MFA Out-of-Band authentication is successful, the user then uses the resulting CTC to log
on in-band to an application on the CTC destination.
Tip: To prevent confusion, ensure that you tell users to use the CTC as their password on the
destination system.
3. If needed, enter the following command to defer activating a user for AZFCKCTC:
Then, at a later time, enter an ALTUSER or ALU command of the following form to activate the
AZFCKCTC authenticator for the user ID:
4. Enter the following command to display IBM MFA information for a user profile:
Procedure
1. Perform the RACF administration steps for Certificate Authentication, as described in “Additional RACF
administration steps for certificate authentication” on page 81.
2. Import the root CA certificate of the client certificate chain, as described in “Import root CA certificate
of client certificate chain” on page 82.
3. Configure Certificate Authentication, as described in “Configure Certificate Authentication” on page
85.
4. Configure a policy with the AZFCERT1 factor for the user, or use an existing policy with only that factor
configured.
The Default Policy Name configured in “Configure IBM MFA STC configuration attributes” on page 21
applies as follows:
• If the user has only one policy attached, IBM MFA attempts to use it. This policy must have only one
factor, AZFCERT1.
• If the user has more than one policy attached, one of them must be the default policy. IBM MFA
attempts to use the default policy.
• If a default policy is not configured and the user has more than one policy assigned, IBM MFA fails
the request.
5. Activate the users for Certificate Authentication as described in “Activate and deactivate users for
Certificate Authentication” on page 88.
6. Instruct the users to enroll their certificates, as described in IBM Z Multi-Function Authentication User's
Guide .
Procedure
1. Define the profile in the MFADEF class:
Procedure
1. Define the profile in the FACILITY class:
Procedure
1. Allow the access shown in Table 50 on page 170:
For example:
Procedure
1. Execute AZFEXEC.
Procedure
1. Enter the following command to activate a user for IBM MFA Password Authentication:
Where:
• [Login ID] is the z/OS user name.
• ACTIVE activates the AZFPASS1 authenticator for the user ID.
• PWFALLBACK configures password fallback for the user. If you configure user accounts with the
password fallback parameter, users can log in with their z/OS password or passphrase if the started
task is down. The password fallback mechanism is provided as a fail-safe authentication method. If
you omit this parameter, the default is NOPWFALLBACK.
2. You must create a multi-factor authentication policy as described in “Create and manage multi-factor
authentication policies” on page 47. IBM MFA Password Authentication is a weak factor and requires
the policy to contain at least one other strong authentication factor.
3. Apply the multi-factor authentication policy to the user as described in “Create and manage multi-
factor authentication policies” on page 47.
4. Enter the following command to deactivate a user for IBM MFA Password Authentication:
5. Enter the following command to display IBM MFA information for a user profile:
Procedure
1. Enter the following command to set password fallback:
Where PWFALLBACK configures password fallback for the user. If you omit this parameter, the default
is NOPWFALLBACK.
2. Enter the following command to display IBM MFA information for a user profile:
Usage guidelines
• The expected use case is where your organization supports multiple user communities that have
different authentication requirements. For example, in this use case, AZFRADP1#2 might support one
user community, while AZFRADP1#3 supports some other subset of users.
• Although not considered to be a primary use case, you could configure a user for more than one active
instance of a factor. However, if you do so, the user must use IBM MFA Out-of-Band authentication,
where the policy determines which instance of the factor applies.
• You must configure each authentication factor multiple instance, just as you would a single instance.
This includes, but not limited to, the PKCS#11 token name, key label, primary hostname and port,
SecurID sdconf.rec file, node secret, and RADIUS shared secret where applicable.
Procedure
1. Define the profile in the MFADEF class:
Procedure
1. Define the profile in the FACILITY class:
Procedure
1. Allow the access shown in Table 52 on page 176:
For example:
Procedure
1. Execute AZFEXEC and enter the suffix in the text field adjacent to the Basename. For example, if the
base factor name is AZFRADP1 and the suffix is #2, enter #2 in the AZFRADP1 text field.
Note: You must already know the suffix. You can check the started task log for the suffix if needed. You
can enter the following command to show all defined IBM MFA factor profiles:
You can also enter the following command to show all defined IBM MFA AZFRADP1 profiles, for
example:
2. Place the cursor anywhere within the Basename field and press Enter to display the panel. (You can
also enter the number for the Basename in the Command field and press Enter.)
3. Configure the factor settings based on the factor type:
• AZFRADP1
• AZFSIDP1
• AZFSIDP3
• AZFSIDR1
• AZFSFNP1
• AZFLDAP1
• AZFISAM1
• AZFCKCTC
4. See “Configure IBM MFA Compound In-Band” on page 97 for information about configuring IBM MFA
Compound In-Band.
5. Press F3 to save your changes and exit.
Procedure
1. Start TCP/IP, AT-TLS (if needed), ICSF, and all TCP/IP-related services such as the resolver. See
Chapter 6, “IBM MFA configuration roadmap,” on page 13 for information about which authentication
factors require AT-TLS.
2. To start the started task if it is stopped, enter the following operator command:
For example:
S AZF#IN00
3. Start the started task on every z/OS instance sharing the RACF database where users log on.
4. Verify that the task started. The absence of errors after the "AZF2110I Started console receiver"
message in the SYSLOG indicates success.
Note: If you have configured multiple instances of a factor as described in Chapter 27, “Configuring
multiple instances of a factor,” on page 175, each factor instance is identified and logged separately in
the IBM MFA started task’s SYSPRINT.
Procedure
1. For example, enter the following command to activate a user for a generic RADIUS multiple instance
factor:
Where:
• [Login ID] is the z/OS user name.
• FACTOR(<FACTOR_NAME><suffix>) is the specific factor instance.
• ACTIVE activates the AZFRADP1 authenticator for the user ID.
• PWFALLBACK configures password fallback for the user, as described in Chapter 26, “Configuring
Password Fallback,” on page 173.
• User ID is the associated RADIUS user ID.
2. If needed, enter the following command to defer activating a user. The example uses AZFRADP1.
Then, at a later time, enter an ALTUSER or ALU command of the following form to activate the
AZFRADP1 authenticator for the user ID. The example uses AZFRADP1.
3. Enter the following command to display IBM MFA information for a user profile:
4. If needed, enter the following command to deactivate a user. The example uses AZFRADP1.
Procedure
1. Enter the following command to create a multi-factor authentication policy:
Where:
• POLICY-NAME is a name of your choice between 1 and 20 characters. The allowed characters are
A-Z, 0-9. You might find it convenient to give the policy a descriptive name, such as CERTSIDPTOTP
or CERTONLY.
• FACTOR-NAME<suffix> is a space-separated list of factor names combined with your chosen suffix.
The allowed factor names are as follows:
– AZFRADP1
– AZFSIDP1
– AZFSIDP3
– AZFSIDR1
– AZFSFNP1
– AZFLDAP1
– AZFISAM1
– AZFCKCTC
• TOKENTIMEOUT sets the length of time (in seconds) the IBM MFA Out-of-Band token is valid once
generated. The value can be between 1 and 86,400 (the number of seconds in a day). The default is
300 seconds (5 minutes.)
• REUSE determines whether the IBM MFA Out-of-Band token can be reused by an application.
Possible values are Y or N. The default is N.
2. Repeat “1” on page 180 as needed.
3. Refresh the MFADEF class:
5. Enter the following command to display information about all IBM MFA factors and policies:
RLIST MFADEF *
LU <USERID> MFA
10. If needed, enter the following commands to delete a policy and refresh the MFADEF class:
Table 54 on page 184 describes the authentication method parameters. The parameters are positional
and you can omit trailing parameters. However, you must specify all preceding parameters.
The azfbulk program creates two shell scripts, azfprov1.sh and azfprov2.sh from the input file:
• azfprov1.sh associates the users with the policies and factors. The factors are not active.
azfprov1.sh invokes azfbulkcmd.sh, which allows you to make any needed customizations if you
are using an ESM other than RACF. No changes to azfbulkcmd.sh are required if you are using RACF.
• azfprov2.sh calls factor-specific utility programs to set the user factor data. azfaprov2.sh commits
the changes.
Procedure
1. Create your z/OS UNIX input file.
There are many ways to accomplish this step, depending on your environment. For example, you can
edit z/OS UNIX files by using the TSO/E OEDIT command to invoke ISPF File Edit or by selecting File
Edit on the ISPF menu, if it is installed. In a shell, you can use the ed and sed editors for editing z/OS
UNIX files. You can use the oedit shell command to invoke ISPF File Edit.
2. Add the /usr/lpp/IBM/azfv2r2/bin/ directory to your PATH.
export PATH=/usr/lpp/IBM/azfv2r2/bin:${PATH}
azfbulk input-file
sh azfprov1.sh
sh azfprov2.sh
Procedure
RACLIST and activate the IDTDATA class:
What to do next
You can control the use of identity tokens by defining profiles in the IDTDATA resource class. You use
IDTPARMS to specify information for the IDTDATA class profile. See z/OS Security Server RACF Command
Language Reference for information on IDTPARMS.
Procedure
1. Configure IBM MFA Password Authentication, as described in Chapter 25, “Configuring IBM MFA
Password Authentication,” on page 169.
You do not need to follow the steps in “Activate and deactivate users for IBM MFA Password
Authentication” on page 171 for this workflow.
2. Ensure that Enable Password Change is set to Y, as described in “Configure IBM MFA web services
started task” on page 41.
3. Instruct the user to launch the password change URL:
https://server-name:port/html/pwChange.html
4. The user must provide the following information and click Change Password:
• User Name
• Password
• New Password
• Confirm New Password
Procedure
1. Ensure that the PTKTDATA class is RACLISTed and activated:
2. Define AZFAPPL profiles in the PTKTDATA class. Store the PassTicket keys as encrypted.
4. Ensure that Enable Password Reset is set to Y, as described in “Configure IBM MFA web services
started task” on page 41.
5. Instruct the user to launch the password change URL:
https://server-name:port/html/pwReset.html
6. The user must provide the following information and click Reset Password:
• User Name
• Their current valid CTC
• New Password
• Confirm New Password
Procedure
1. Make sure that the user's Apple iOS device has network connectivity to the web services server.
2. Instruct users to install the IBM TouchToken for iOS application on their iOS device.
3. Instruct users to open the web services server start page, using either Mobile Safari on their iOS device
or a desktop browser:
https://hostname:6789/AZFTOTP1/start
The page explains some basic information about TOTP to the user, and contains both a QR code and a
link that launch the IBM TouchToken for iOS application on the user's device.
4. Instruct the user to launch the IBM TouchToken for iOS application on the Apple device. Note that after
the TOTP account is set up on the Apple device, the REGSTATE changes to PROVISIONED and the
factor state changes to ACTIVE.
5. Instruct the user to tap the new TOTP account. You might want to have the user rename this account
to remove any system-specific information.
6. When prompted, the user must supply their Apple TouchID fingerprint.
If successful, the TOTP token code is displayed.
7. The user must now use this OTP token code to log on.
Note: If the web server is configured with SSL/TLS, the web server user ID requires access to additional
profiles, such as CSFDSG, CSF1DVK, CSF1GKP, CSF1GAV, CSF1TRD, and CSFPKI. See IBM HTTP
Server Powered by Apache (http://publibz.boulder.ibm.com/epubs/pdf/dpr1cg00.pdf) for information on
configuring SSL/TLS for the web server.
For example:
Procedure
1. Create the TKDS. A sample job illustrating the definition of the TKDS data set is shipped in
SYS1.SAMPLIB, in member CSFTKDS. Copy, edit, and run the sample job to initialize the TKDS data
set.
2. Edit the ICSF installation options data set in the PARMLIB member for the CSF started task. Set the
TKDSN or SYSPLEXTKDS directives, as appropriate:
Important: You can add a TKDS data set to an existing PKCS#11 configuration. The TKDS data set
must be shared in a SYSPLEX. You can add the TKDS data set one LPAR at a time in a SYSPLEX.
• TKDSN identifies the VSAM data set that contains the token data set.
• SYSPLEXTKDS specifies whether the token data set should have sysplex-wide data consistency.
The SYSPLEXTKDS option is in effect only if the TKDSN option has also been specified.
In a sysplex, the required format of this directive is:
SYSPLEXTKDS(YES,FAIL(YES))
where YES specifies that the system is notified of updates made to the TKDS by other members of
the sysplex that have also specified SYSPLEXTKDS(YES,FAIL(fail-option)), and FAIL (YES)
specifies that ICSF initialization terminates abnormally if there is a failure creating the TKDS latch
set.
3. Create the PKCS#11 token using RACDCERT ADDTOKEN.
4. Activate the CRYPTOZ class with generics and RACLISTs:
6. Create a profile for the IBM HTTP web server's access to the token.
8. Give the web server CONTROL access to the profile that protects the token, where web-server-user-ID
is the user ID of the IBM HTTP web server started task.
9. Give the same user UPDATE access to the profile that protects the token, where web-server-user-ID is
the user ID of the IBM HTTP web server started task.
10. Refresh the profile for the CRYPTOZ class, so that the changes take effect:
Chapter 33. Configuring IBM HTTP Server - Powered by Apache for IBM MFA 197
11. Give the same user READ access to the IRR.DIGTCERT.LISTRING profile in the FACILITY class, where
user-ID is the user ID of the IBM HTTP web server started task.
Procedure
1. For V8R5 only, add (or uncomment) the following directives to the conf/httpd.conf file. SAF
authentication is provided by the mod_authnz_saf module. The mod_saf_mfa85.so module is IBM
MFA specific. The module name is mod_saf_mfa85_31.so for the 31-bit version.
2. For V9R0 only, add (or uncomment) the following directives to the conf/httpd.conf file. SAF
authentication is provided by the mod_authnz_saf module. The mod_saf_mfa90.so module is IBM
MFA specific. The module name is mod_saf_mfa90_31.so for the 31-bit version.
3. For both V8R5 and V9R0, add all of the following (case sensitive) directives to the httpd.conf file:
<Location location.html>
SAFRunAs %%CLIENT%%
AuthBasicProvider saf
AuthName safmfatest1
AuthType BASIC
Require valid-user
MFADomain cookieName
MFAExpireSeconds num-of-seconds
MFAPKCS#11TokenName PKCS#11 token name
MFAKeyLabel PKCS#11 key label
MFAPath path
SAFAPPLID MFATEST1
AuthSAFExpiration "EXPIRED! oldpw/newpw/newpw"
</Location>
where:
• The scope of the IBM MFA configuration parameters is the current location, but you can set them
outside of a Location definition to set global default values. If set globally, one or more values can
be overridden on a per-location basis.
• The non-IBM MFA-specific statements must use these exact values, with the exception of AuthName
and SAFAPPLID, which are site-specific values.
• MFADomain cookieName has a limit of 32 characters and defaults to MFAToken.
• MFAExpireSeconds is the number of seconds for which the IBM MFA authentication is valid.
Change this value as needed in your environment. Possible values are 0-86400, inclusive. If you
specify a value over the maximum value, it is ignored and the maximum value is used. The default is
86400, 24-hours.
• MFAKeyLabel PKCS#11 key label has a limit of 32 characters and defaults to AZF.IHSA.SESSION
The value you specify for PKCS#11 key label is used if it already exists and is created if it does not
already exist.
• MFAPath path is the authentication path for IBM MFA resources. All requested resources must be
subordinate to this path. If a resource is outside the path, users are prompted to re-authenticate. If
not specified, the default is "/".
• MFAPKCS#11TokenName PKCS#11 token name has a limit of 32 characters and defaults to
AZF.IHSA.TOKEN.
The value you specify for PKCS#11 token name identifies the PKCS#11 token to contain the key
material used to encrypt the cookie. This is the token you created in “Configure a PKCS#11 token”
on page 195.
Note: If you change the values for MFAKeyLabel or MFAPKCS#11TokenName after they have been
used, it may result in unspecified failures.
4. Define the BPX.DAEMON FACILITY class profile if it is not already defined.:
Chapter 33. Configuring IBM HTTP Server - Powered by Apache for IBM MFA 199
5. The user ID of the IBM HTTP web server must have UPDATE access to the BPX.DAEMON FACILITY
class profile, where web-server-user-ID is the user ID of the web server started task.
7. The user ID of the IBM HTTP web server must have UPDATE access to the BPX.SERVER FACILITY class
profile, where web-server-user-ID is the user ID of the web server started task.
9. Start the web server, as described in IBM HTTP Server Powered by Apache (http://
publibz.boulder.ibm.com/epubs/pdf/dpr1cg00.pdf).
Procedure
1. Use RDEFINE to define an MFADEF class profile named FACTOR.AZFPTKT1.
For example:
8. To allow IBM MFA to accept all PassTickets passed on a RACROUTE REQUEST=VERIFY, you must
create a PTKTDATA class IRRPTAUTH.** profile and allow the user ID of the IBM MFA services
started task AZF#IN00 READ access to the profile.
In addition, because RACF always uses the most specific profile that matches a specified
IRRPTAUTH.<appl>.<tuser> profile value when performing authentication checks, you must also
permit IBM MFA READ access to any additional specific (or less generic) PTKTDATA class
IRRPTAUTH.<appl>.<tuser> profiles that have been defined.
Note: This step assumes that you have previously issued the following command and then defined
the required profiles:
For example, assume that the following PTKTDATA class profiles exist:
• IRRPTAUTH.<appl3>.<tusera>
• IRRPTAUTH.*.<tuserb>
• IRRPTAUTH.<appl1>.*
• IRRPTAUTH.<appl2>.*
To be able to accept all PassTickets passed on a RACROUTE REQUEST=VERIFY, IBM MFA requires
READ access to the following PTKTDATA class profiles:
• IRRPTAUTH.**
• IRRPTAUTH.<appl3>.<tusera>
• IRRPTAUTH.*.<tuserb>
• IRRPTAUTH.<appl1>.*
• IRRPTAUTH.<appl2>.*
Where:
• [Login ID] is the z/OS user name.
• ACTIVE activates the AZFPTKT1 authenticator for the user ID.
• WINDOW sets the evaluation window, as a number of seconds.
• MFAFIRST specifies whether to require a successful IBM MFA logon prior to the PassTicket being
evaluated. The possible values are Y and N, and uppercase is required.
If you set MFAFIRST or WINDOW for a user, it overrides the default setting.
13. To return a user to the default tag settings:
Search the system log for entries beginning with MFAA, similar to the following:
The IBM MFA started task’s SYSPRINT will contain lines that show the application name and user ID
values supplied explicitly and implicitly by the issuer of the RACROUTE REQUEST=VERIFY call, which you
can use to guide you in defining profiles.
Procedure
1. The following example creates default profiles as a fallback. UACC(NONE) allows IBM MFA
authentication for all applications that are not otherwise bypassed by more specific profiles.
2. The following example bypasses IBM MFA for the MFATEST application for all users who have at least
READ access to a profile in the MFADEF class for the application.
3. The following example bypasses the MFATEST application only for user JSMITH.
4. The following example bypasses IBM MFA for all applications, except the MFATEST application
identified with a profile in the MFADEF class with access NONE:
Procedure
1. The following example creates default profiles as a fallback. UACC(NONE) allows IBM MFA
authentication for all applications that are not otherwise bypassed by more specific profiles.
2. The following example bypasses IBM MFA for MFATEST for all users with READ or higher access to the
profile.
3. The following example bypasses IBM MFA for an application identified by the MFATEST user ID only for
user JSMITH.
Procedure
1. Specify a customer-specific root in Customized Document Root as described in “Configure IBM MFA
web services started task” on page 41. For example, /usr/lpp/local/azfv2r2/NLS.
Note: The user ID of the web services started task must have read access to this directory tree.
2. Create an i18n subdirectory in your document root. For example, /usr/lpp/local/azfv2r2/NLS/
i18n.
3. In the i18n subdirectory, create a language (for example, en or fr) or language-locale (for example,
en-US or fr-BE) translation subdirectory. For example, /usr/lpp/local/azfv2r2/NLS/i18n/fr.
4. Copy htdocs/i18n/translate.json to /usr/lpp/local/azfv2r2/NLS/i18n/fr/
translate.json and edit the strings as needed, using exactly the same value:pair format.
{
"IBM MFA Out of Band Interface": "IBM MFA Out of Band Interface",
"IBM TouchToken Enrollment": "IBM TouchToken Enrollment",
"Certificate Enrollment via Mutually-Authenticated TLS":"Certificate Enrollmen
t via Mutually-Authenticated TLS",
"Authentication Token": "Authentication Token",
"Please wait, request is being processed": "Please wait, request is being proc
essed",
"Please input the policy name": "Please input the policy name",
"INTERACTIVE": "Interactive",
"Policy Name": "Policy Name",
"Enter your SecurID passcode": "Enter your SecurID passcode",
"Passcode": "Passcode",
"RSA SecureID": "RSA SecureID",
"Password Authentication": "Password Authentication",
:
:
For example:
If you need to permit access to a resource profile, use the PERMIT command:
If you change the access to a resource profile, you must refresh the class:
Resource Profile/Data Class IBM MFA Services IBM MFA Web Services User ID of Admin Who
Set Started Task User ID Started Task User ID Executes Panel
AZFSTC AZFWEB
Resource Profile/Data Class IBM MFA Services IBM MFA Web Services User ID of Admin Who
Set Started Task User ID Started Task User ID Executes Panel
AZFSTC AZFWEB
Note: If the web server is configured with SSL/TLS, the web server user ID requires access to additional
profiles, such as CSFDSG, CSF1DVK, CSF1GKP, CSF1GAV, CSF1TRD, and CSFPKI. See IBM HTTP
Server Powered by Apache (http://publibz.boulder.ibm.com/epubs/pdf/dpr1cg00.pdf) for information on
configuring SSL/TLS for the web server.
Procedure
1. To start the started task, enter the following operator command:
For example:
S AZF#IN01
Procedure
1. The following example removes all IBM MFA factors for a user.
2. You might instead enter the following command to deactivate a user for a factor such as TOTP:
Procedure
Enter the following Modify command to invalidate a user's CTCs:
F STC_JOBNAME,CLEARCTCS USERID
where:
• STC_JOBNAME is the JOBNAME of the IBM MFA services started task.
• USERID is the user for which you want to invalidate CTCs.
Procedure
1. To change trace levels on a per-component basis, issue a Modify command of the following form:
where <STC Job Name> represents the services started task and component can be one of the
following literal values:
• STC represents general STC tracing.
• AZFSIDP1 represents the AZFSIDP1 authenticator providing support for RSA SecurID ACEv5 UDP
• AZFSIDP3 represents the AZFSIDP1 authenticator providing support for RSA SecurID Auth API
(HTTPS).
• AZFTOTP1 represents the AZFTOTP1 authenticator providing support for TOTP.
• AZFCERT1 represents the AZFCERT1 authenticator providing support for Certificate Authentication.
• AZFPTKT1 represents the AZFPTKT1 authenticator providing support for PassTickets.
• AZFPASS1 represents the AZFPASS1 authenticator providing support for passwords.
• AZFRADP1 represents the AZFRADP1 authenticator providing support for generic RADIUS.
• AZFSFNP1 represents the AZFSFNP1 authenticator providing support for SafeNet RADIUS.
• AZFSIDR1 represents the AZFSIDR1 authenticator providing support for RSA SecurID RADIUS.
• AZFYUBI1 represents the AZFYUBI1 authenticator providing support for Yubico OTP.
• AZFISAM1 represents the AZFISAM1 authenticator providing support for IBM Security Verify Access.
• AZFLDAP1 represents the AZFLDAP1 authenticator providing support for LDAP.
For example:
2. There is also a trace level command specific to the web services started task. It is the same as the
services started task without the component qualifier:
For example:
3. The AZF#IN00 started task can fail to start with a return code of 8 or 16. A return code of 8
indicates that AZFSTCMN is not running in Key 2, as described in “Update SCHEDxx PARMLIB program
properties” on page 8. A return code of 16 means that there is another instance of AZFSTCMN running
on this LPAR and the program call linkage cannot be created. If this is not the case, take a full system
dump and submit to IBM.
4. Check the authentication factor ISPF panels for typos or missing fields.
5. Ensure that the PKCS#11 token name specified for the authentication factor exists and is correct.
6. Check the SYSLOG to verify that the authentication factors you configured started without errors. It
is expected that any authentication factors that you did not configure will show notifications in the
SYSLOG.
Consider the following sample successful SYSLOG entries for AZFSIDP1 and AZFTOTP1:
7. Check the SYSLOG for obvious authentication errors. In the following example, the user was denied
access by the AZFLDAP1 authentication factor, possibly because of an incorrect LDAP password:
8. Turn on a higher level of component tracing, as described in Chapter 42, “Modifying component trace
levels,” on page 223. You can turn on tracing on a per-component basis, and independently for each of
the started tasks. Lower the trace level to 0 or 1 after the problem has been reproduced and the data
has been collected.
4. Verify that the RSA SecurID or RADIUS server accepts communications from each z/OS system or
LPAR that is running the IBM MFA services started task.
5. Check the RSA SecurID or RADIUS server authentication log to see if the authentication was
successful or why it was denied
6. Check the status of the RSA SecurID or RADIUS token or the user PIN for an account that is generating
an error. It is possible that a token is inactive, that a user PIN has expired, and so forth.
7. If you made configuration changes to the RSA SecurID AZFSIDP1 authentication factor and
authentications no longer succeed, clear the node secret from each IBM MFA client host and retry.
8. RSA SecurID disaster recovery steps are described in “Disaster recovery for IBM MFA with SecurID” on
page 59.
Procedure
1. Edit AZF#IN00 and uncomment the job step that invokes BPXTCAFF before AZFSTCMN. Specify the
desired transport with the PARM= keyword, which must be 1 to 8 uppercase characters.
2. If you configured the web services configuration attributes as described in Chapter 10, “Configuring
IBM MFA web services configuration attributes,” on page 35, edit AZF#IN01 and uncomment the job
step that invokes BPXTCAFF before AZFSTCWS. Specify the same transport you used in Step “1” on
page 229.
Procedure
1. Check all of the ISPF panels to ensure you are satisfied with the default settings of the new features.
2. Add the load library to the link list.
a) Add the following line to your SYS1.PARMLIB(PROGxx) member:
HLQ.SAZFLOAD,
where HLQ is the high-level qualifier (HLQ) used where you installed IBM MFA.
b) Update your system link list dynamically.
c) In the your existing AZF#IN00 and AZF#IN01 started task procedures, remove the STEPLIB DD
statement for HLQ.SAZFLOAD.
Procedure
1. Use the RALTER command to add the AZFPASS1 factor to the needed policies. For example:
2. Configure IBM MFA Password Authentication as described in Chapter 25, “Configuring IBM MFA
Password Authentication,” on page 169.
3. Create an input file to azfbulk of the following form:
export PATH=/usr/lpp/IBM/azfv1r3/bin:${PATH}
azfbulk input-file
sh azfprov1.sh
sh azfprov2.sh
This topic explains the messages that IBM MFA issues to the terminal or console.
User response
User response
Import the root CA certificate, as described in “Import
Specify only the valid tags.
root CA certificate of client certificate chain” on page
AZF1201E Valid MFAFIRST values are Y and 82.
N
AZF1303E Your AZFCERT1 factor data is
Explanation: improperly configured, or missing
The possible MFAFIRST values are Y and N and tag data required for enrollment or
uppercase is required, as described in Chapter 35, certificate authentication
“Using IBM MFA with PassTickets,” on page 203.
Explanation
User response
Your AZFCERT1 factor data is improperly configured.
Specify only Y or N.
AZF1202E Valid WINDOW values are 30 to User response
86400 Configure Certificate Authentication as described
Explanation: in Chapter 15, “Configuring IBM MFA certificate
The possible evaluation WINDOWS values are 30 to authentication,” on page 81. Configure user tag data
86400, in seconds, as described in Chapter 35, “Using as described in “Approve user certificates” on page 89.
IBM MFA with PassTickets,” on page 203. AZF2100I AZF main task started
User response
Explanation
No response is required.
Tag validation request. This is an informational
AZF2101I Initialized recovery routine message generated as part of IBM MFA processing.
User response
Explanation
No response is required.
The console receiver started. This is an informational
AZF2105I Authentication request (PC) message generated as part of IBM MFA processing.
Explanation Explanation
The user entered an unrecognized command. IBM MFA supports the Payment Card Industry Data
Security Standard (PCI DSS) standard through the
User response Enable Strict PCI Compliance Mode setting. It is
recommended that you do not enable this setting
Correct the command and retry. unless you are fully aware of the ramifications.
AZF2115I Authenticator command This is an informational message generated as part of
IBM MFA processing.
Explanation
User response
An authenticator command was entered. This is an
informational message generated as part of IBM MFA No response is required.
processing.
AZF2120I Auth continuation requested
(network)
User response
No response is required. Explanation
AZF2116E Command processing failed The authentication continuation was requested at
network. This is an informational message generated
as part of IBM MFA processing.
Explanation Explanation
The authentication continuation was requested at PC. An auth transaction was pruned, typically because a
This is an informational message generated as part of timeout occurred. This is an informational message
IBM MFA processing. generated as part of IBM MFA processing.
Explanation Explanation
The authentication request timed out. This could be A work element was pruned, typically because a
caused by load conditions. timeout occurred. This is an informational message
generated as part of IBM MFA processing.
User response
User response
No response is required.
No response is required.
AZF2123I Auth continued (network)
AZF2133E Entered purgeRequest
Explanation
Explanation
The authentication continues at network. This is an
informational message generated as part of IBM MFA A request was pruned, typically because a timeout
processing. occurred.
Explanation Explanation
An auth transaction was pruned, typically because a The authentication is successful. This is an
timeout occurred. This is an informational message informational message generated as part of IBM MFA
generated as part of IBM MFA processing. processing.
User response
Explanation
Make sure that the authentication factors are present.
The authentication evaluation failed.
AZF2210S Authenticator returned an invalid
User response code
User response
Explanation
Contact IBM support.
Authentication evaluation failed.
AZF2211E Auth preparation failed, cannot
User response evaluate
Explanation Explanation
You must create a multi-factor authentication policy if The specified factor supports IBM MFA Out-of-Band
you activate a user for two or more strong factors. only. For example, Certificate Authentication.
AZF2215E The specified factor does AZF2219E Your account cannot login in-band
not support out-of-band
authentication Explanation
Your account has a policy attached and you must log in
Explanation via IBM MFA Out-of-Band only.
The specified factor supports in-band only. For
example, PassTicket AZFPTKT1. User response
Log in via IBM MFA Out-of-Band, as described in
User response “Activate and deactivate users for IBM MFA Out-of-
Activate the user for in-band authentication. Band authentication” on page 50.
AZF2216E Factor data or plugin not found for AZF2221I Out-of-band factor auth success
specified out-of-band factor
Explanation
Explanation The authentication was successful.
If you apply a policy to a user, the user must have
all the factors defined in the policy, and those factors User response
must be active for the user.
No response is required.
Explanation Explanation
An internal error occurred. The authenticator failed to load.
AZF2309E Tag validation init failed in STC AZF2404E Failed to start web server
Explanation Explanation
An internal error occurred. The web server failed to start.
Explanation Explanation
You entered duplicate tags. The authenticator failed to initialize.
Explanation
User response
Error from SELECTX.
See any preceding error messages for additional
context for this error.
User response
AZF2416S No Multi-Factor authenticators
Contact IBM support. were initialized
AZF2408I Authenticator not defined
(MFADEF profile not defined) Explanation
No strong factors were initialized.
Explanation
A supported plug-in is not enabled. User response
Contact IBM support.
User response
AZF2419E Program installation error
No response is required. (<reason>)
AZF2409S No authenticators were initialized
Explanation
Explanation The possible reasons for this message are as follows:
No authenticators were initialized. • Not APF authorized
• getProgramProperty failed, rc=N
User response • Program Property has wrong KEY
Factor profiles must be defined, settings created, and • Program Property must have NOSWAP option
IBM MFA authorized to access the factor profiles
before IBM MFA can successfully initialize them. This • Program Property must have CANCEL option
message may occur when the proper setup has been
performed, dynamic instance names are enabled, and User response
the security manager does not support RACROUTE
Refer to and complete the system programming steps
REQUEST=EXTRACT for class MFADEF profiles. When
described in Chapter 4, “System programming steps,”
the RACROUTE request is not supported, you must
on page 7.
disable dynamic instance names in the STC settings,
as described in “Configure IBM MFA STC configuration AZF2420W Factor instance name is not valid
attributes” on page 21, and IBM MFA will use a fixed
list of factor instance names during initialization.
Explanation
AZF2411S STC Settings could not be loaded
A security manager profile has been defined with a
from RACF
factor instance name that exceeds 20 characters. The
profile will be ignored.
Explanation
The STC settings could not be determined. User response
Delete the invalid profile.
Explanation Explanation
This is a general memory error. This message is displayed with AZF2402S.
Explanation
Explanation
An internal error occurred that prevented the plug-in
The authentication was successful. from generating a CTC.
Explanation
Explanation
Unable to send or receive messages to the RSA
A return code of 1115 indicates that the port is already Authentication Manager and its replicas.
in use by another application.
User response
User response
Ensure that the RSA Authentication Manager is running
Assign either the application or the IBM MFA web and is reachable from the z/OS system. For example,
services started task a different port number. try pinging the Authentication Manager from the z/OS
AZF2607I Listening on loopback address system. If there are firewalls present, ensure the rules
do not block traffic. If using VIPA (Virtual IP Address),
make any necessary network configuration changes.
Explanation
AZF3002W User must provide next tokencode
This is an informational message generated as part of
IBM MFA processing.
Explanation
User response After n number of failed login attempts followed by a
successful login, where n is determined by your local
No response is required. RSA Authentication Manager security policy, the user
may be prompted to also enter the next displayed
token code for extra security. By successfully entering
Explanation Explanation
The user was successfully authenticated. Invalid tag name specified in ALTUSER command.
Supported tag names are SIDUSERID.
User response
User response
No response is required.
Retry with valid tag.
AZF3013W Authentication successful (next
tokencode) AZF3016E Tag validation error - Invalid tag
value
Explanation
Explanation
After n number of failed login attempts followed by
a successful login, where n is determined by your Invalid tag value specified in ALTUSER command.
local RSA Authentication Manager security policy, the SIDUSERID must be fewer than 50 characters long.
user was prompted to also enter the next displayed
token code for extra security. By successfully entering User response
the next token code, the RSA Authentication Manager
is able to verify that the user has possession of the Retry with valid tag.
assigned token.
AZF3017I Need new node secret
Next token code mode requires the user to enter the
next token code (or passcode) that is displayed. That
Explanation
is, the user must enter two successive codes to log
in. If the user does not enter the next displayed token No node secret was found for this system. A new
code or passcode, the login fails. node secret will be created automatically after the first
successful authentication.
Note: Not all login applications indicate when the RSA
SecurID "next token" mode is in effect. Because the
number of unsuccessful login attempts that trigger User response
"next token" mode can vary, the user may not know
No response is required.
that the next token is also required.
AZF3018S Failed to read SDCONF file
User response
Explanation
1. Wait for the token code to change. If using a
hardware token with a PINpad or a soft token, wait Unable to read the SDCONF.REC file specified.
for the passcode to change.
2. Get the 6- to 8-digit token code (or passcode) User response
displayed by the SecurID token.
Make sure that a valid SDCONF.REC file has been
3. Enter the token code (or passcode) where transferred to the z/OS system in binary mode, and
prompted. that it is present in the location specified in the
4. Press Enter. AZFEXEC. It must be readable by the AZF started task
user.
AZF3014W Authentication denied
AZF3019I Successfully parsed SDCONF file
User response
Explanation
No response is required.
An internal error occurred while processing the
AZF3020S Failed to parse SDCONF file authentication.
Explanation
Explanation
Unable to read the SDOPTS.REC file specified.
An internal error occurred while processing the
authentication.
Explanation
User response
This progress message is intended for use by support
in the event of a problem. No response is required.
AZF4105E Failed to create TOTP User object
User response
No response is required. Explanation
AZF4004E AZFTOTP1 Authenticator The AZFTOTP1 factor data for a particular user ID is
initialization failed invalid.
Ensure that the passcode reuse was a user error and AZF4113E TOTP User object has invalid ALG
not the result of a replay attack.
AZF4109E Error evaluating TOTP User object Explanation
changes When you configure a user for TOTP, you can set
the digest algorithm used to generate the one-time
Explanation password. Valid options include SHA256, SHA384, and
SHA512. (Case is sensitive.) This overrides the default
An ALTUSER command to change AZFTOTP1 factor settings.
data resulted in an error.
User response
User response
Set a valid digest algorithm, as described in “Configure
See additional log messages or the ALTUSER a TOTP profile for users” on page 76.
command output for details.
AZF4114E TOTP User object has invalid
AZF4110E TOTP User object validation failed NUMDIGITS
Explanation Explanation
The AZFTOTP1 factor data for a particular user ID is When you configure a user for TOTP, you can set
invalid. the number of digits used to generate the one-time
password. Valid options are 6 - 8 digits. This overrides
User response the default settings.
Clear and re-provision the AZFTOTP1 factor data for
the affected user, as described in “Re-registering a User response
user for TOTP” on page 79. Set a valid number of digits, as described in “Configure
AZF4111E TOTP User object has invalid a TOTP profile for users” on page 76.
REGSTATE AZF4115E TOTP User object has invalid
PERIOD
Explanation
When you register a user for TOTP, you set the Explanation
registration state to OPEN. (Case is sensitive.) TOTP When you configure a user for TOTP, you can set
then changes the registration state to PROVISIONED the number of seconds an interval lasts. This number
determines how long a one-time password is active
Explanation
User response
When you configure a user for TOTP, you can set
Configure the AZFTOTP1 factor-wide settings, as
the digest algorithm used to generate the one-time
described in “Configure AZFTOTP1” on page 70.
password. Valid options include SHA256, SHA384, and
SHA512. (Case is sensitive.) This overrides the default AZF4125W Failed to update user's CVALUE,
settings. If you do not set the digest algorithm, the replay protection inop
default setting is used.
Explanation
User response
After validating a user’s TOTP passcode, AZFTOTP1
No response is required. failed to update the user’s factor data to indicate their
User response
User response
Verify the AZF started task's permissions to the
FACTOR.AZFTOTP1 profile. No response is required.
Explanation Explanation
The AZFTOTP1 factor-wide settings are printed when This is an informational message.
the AZFTOTP1 factor is initialized during AZF started
task startup, and are preceded by this message. User response
No response is required.
User response
AZF4140E PKCS#11 token name is missing
No response is required. from AZFTOTP1 settings
AZF4127E Failed to read AZFTOTP1 settings
Explanation
Explanation The PKCS#11 token name is missing from the
AZFTOTP1 settings could not be retrieved from RACF. AZFTOTP1 factor-wide settings.
Explanation
User response
The STC settings could not be determined.
Configure the AZFTOTP1 factor-wide settings, as
described in “Configure AZFTOTP1” on page 70.
User response
AZF4143I Description of accessible PKCS#11
Configure the STC as described in “Configure IBM MFA environment follows:
STC configuration attributes” on page 21.
AZF4131I Validated TOTP User Explanation
This is an informational message generated as part of
normal processing.
Explanation Explanation
The web services server did not successfully initialize. Fatal error on startup, possibly due to missing or
invalid AZFTOTP1 settings.
User response
User response
Contact IBM support.
Configure TOTP as described in “Configure AZFTOTP1”
AZF5004S Failed to initialize the services
on page 70.
shared context
AZF5009I AZFTOTP1 settings follow:
Explanation
Explanation
Fatal error on startup, possibly due to missing or
invalid AZFTOTP1 settings. This is an informational message generated as part of
IBM MFA processing.
User response
User response
Configure TOTP as described in “Configure AZFTOTP1”
on page 70. No response is required.
AZF5006S AZFTOTP1 or AZFSTC settings AZF5010E Web services hostname is missing
could not be read; Cannot start from AZFSTC settings
Registration Services
Explanation
Explanation
This message is obsolete.
The AZFTOTP1 or STC web services server settings are
missing or invalid.
User response
User response No response is required.
Configure the started task settings, as described in AZF5011E Server-auth TLS port number is
“Configure IBM MFA web services started task” on missing from AZFSTC settings
page 41. Configure the AZFTOTP1 factor-wide web
services server settings, as described in “Configure Explanation
AZFTOTP1” on page 70.
The server authentication port setting is missing.
AZF5007S A required parameter is missing
from the AZFSTC settings, or User response
PKCS#11 init failed
Configure the server authentication port, as described
in “Configure IBM MFA web services started task” on
Explanation
page 41.
An AZFSTC factor-wide server setting is missing or is
invalid, or the PKCS#11 initialization failed. AZF5012E PKCS#11 token name is missing
from AZFSTC settings
User response
Explanation
Instruct users to open the web services server start
A request was made to a valid registration web
page using Mobile Safari on their iOS device and log in
server URL, but the body of the request was invalid
with their z/OS user name and password.
because it was empty. Either a connection to a valid
client was dropped by the network infrastructure, or AZF5024E Enrollment check responding with
an unexpected client is issuing requests to the web following error
services server.
Explanation
User response
A client contacted the web services server to
Make sure that the user's Apple iOS device has determine whether a user may enroll a new
network connectivity to the web services server, as TouchToken Account, and the web services server is
described in “Configure AZFTOTP1” on page 70. responding as described.
AZF5021E Received an enrollCheck request
that was malformed or missing User response
parameters See the accompanying error for more information.
AZF5025I Enrollment check responding
success
Explanation Explanation
A user has completed IBM TouchToken for iOS account The Modify command was not recognized.
enrollment and should begin using this account to
access MFA-protected systems that use the same User response
RACF database as the server.
See Chapter 42, “Modifying component trace levels,”
on page 223 for the format of the Modify command..
User response
No response is required. AZF5054E Invalid trace level specified (valid
levels are 0-3)
AZF5046E Failed to convert user secret to
session HMAC key (rc=, rsn=) Explanation
You specified an invalid trace level.
Explanation
The hash message authentication code (HMAC) key User response
could not be created.
Enter a valid trace level.
User response AZF5055E Modify command processing failed
Configure the PKCS#11 token, as described in Chapter
9, “Configuring a PKCS#11 token,” on page 31. Explanation
AZF5050I Console listener task starting up The Modify command processing failed.
User response
Explanation
No response is required.
This is an informational message generated as part of
AZF5051I Stop command received IBM MFA processing.
User response
Explanation
No response is required.
A serious internal error has occurred.
AZF5052I Modify command received
User response
Explanation
Restart the web services server.
This is an informational message generated as part of
AZF5105E Failed to create AZFTOTP User
IBM MFA processing.
object
Explanation
Explanation
The TOTP passcode the user entered was accepted.
When you register a user for TOTP, you set the
registration state to OPEN. (Case is sensitive.) TOTP
then changes the registration state to PROVISIONED
User response
Explanation
Configure the AZFTOTP1 factor-wide settings, as
When you configure a user for TOTP, you can set described in “Configure AZFTOTP1” on page 70.
the digest algorithm used to generate the one-time
password. Valid options include SHA256, SHA384, and AZF5125W Failed to update user's CVALUE,
SHA512. (Case is sensitive.) This overrides the default replay protection inop
settings. If you do not set the digest algorithm, the
default setting is used. Explanation
The web services server invoked the R_factor callable
User response
service to modify the user’s AZFTOTP1 factor data,
No response is required. but was unable to update the CVALUE tag value. The
next TOTP passcode check for this user account will
AZF5121I Defaulting TOTP digits therefore be unable to accurately determine whether
the supplied value, if otherwise matching an allowed
Explanation value, represents a passcode replay event.
When you configure a user for TOTP, you can set
the number of digits used to generate the one-time User response
password. If you do not set the number of digits, the
Check the AZFTOTP1 configuration, restart the server,
default setting is used.
and contact IBM support if the problem persists.
Explanation Explanation
The PKCS#11 AES key could not be created. TOTP committed the user's factor data and set the
factor to active. This is an informational message
User response generated as part of IBM MFA processing.
Explanation Explanation
The PKCS#11 AES key was created. This is an You might have entered an invalid user ID on the IBM
informational message generated as part of IBM MFA MFA Out-of-Band login page.
processing.
User response
User response
Verify the user ID and retry.
No response is required.
AZF5170E Required data was missing from
AZF5157I Found PKCS#11 token the request
Explanation Explanation
The PKCS#11 token was found. This is an The user is not correctly configured for TOTP.
informational message generated as part of IBM MFA
processing. User response
See “Configure a TOTP profile for users” on page 76
User response
for the steps to follow to register a user. See “Re-
No response is required. registering a user for TOTP” on page 79 for the steps
to follow to re-register a user.
AZF5158I Found PKCS#11 AES key
AZF5171E Authentication failed
Explanation
Explanation
The PKCS#11 AES key was found. This is an
informational message generated as part of IBM MFA The AZFTOTP1 factor must be marked NOACTIVE
processing. for registration. The web services server does a
RACROUTE REQUEST=VERIFY to check the user's
User response password. If AZFTOTP1 is active at the time the
password check occurs, it will fail.
No response is required.
AZF5160E Failed to commit a user's User response
AZFTOTP1 factor data
See “Configure a TOTP profile for users” on page 76
for the steps to follow to register a user. See “Re-
Explanation registering a user for TOTP” on page 79 for the steps
to follow to re-register a user.
TOTP was unable to commit the user's factor data.
Explanation
User response
The specified user ID cannot currently be enrolled due
to a configuration error. Contact IBM support.
AZF5177E An internal server error
User response prevented enrollment of your new
TouchToken Account
See “Configure a TOTP profile for users” on page 76
for the steps to follow to register a user. See “Re-
registering a user for TOTP” on page 79 for the steps Explanation
to follow to re-register a user. An internal server error prevented the user account
AZF5174E Existing AZFTOTP1 factor data from being enrolled.
for the specified User ID failed
validation User response
Contact IBM support.
Explanation
AZF5178E The token code sent to the server
The specified user ID failed validation, possibly due to was invalid or out of range,
a configuration error. retry enrollment and contact an
administrator if this problem
User response persists
User response
Explanation
Configure the started task settings, as described in
The server did not successfully initialize.
“Configure IBM MFA web services started task” on
page 41.
User response
AZF6009I Settings follow:
Contact IBM support.
AZF6004S Failed to initialize the services Explanation
shared context
This is an informational message generated as part of
IBM MFA processing.
Explanation
Fatal error on startup, possibly due to missing or User response
invalid settings.
No response is required.
Explanation
Explanation
The possible reasons for this message are as follows:
The web services server is using the trace level. Valid
values are 0 through 3, where the higher number • Not APF authorized
increases the level of verbosity.
User response
User response Refer to and complete the system programming steps
No response is required. described in Chapter 4, “System programming steps,”
on page 7.
AZF6020E Failed to initialize OOBSvcsClient
AZF6030I Console listener task starting up
Explanation
Explanation
The IBM MFA Out-of-Band services failed to initialize.
This is an informational message generated as part of
IBM MFA processing.
User response
Make sure that IBM MFA Out-of-Band is configured as User response
described in Chapter 11, “Configuring IBM MFA Out-
of-Band authentication,” on page 45. No response is required.
AZF6024E One or more required files in the AZF 6031I Stop command received
document root are not accessible
Explanation
Explanation This is an informational message generated as part of
The document root for the IBM MFA web services IBM MFA processing.
started task contains required files. One or more of
these required files is not available. User response
No response is required.
User response
AZF 6032I Modify command received
Configure the document root as described in Table 9
on page 41.
User response
Explanation
No response is required.
The console listener task is starting up. This is an
AZF 6033E Modify command was not informational message generated as part of IBM MFA
recognized processing.
User response
Explanation
Enter a valid trace level.
This is an informational message generated as part of
AZF6035E Modify command processing failed IBM MFA processing.
Explanation
Explanation
This is a serious error that will prevent the web
services server from functioning. A user’s factor data contained a label tag value, and
multiple PKCS#11 key records were returned for the
specified label value.
User response
Check the web services started task configuration, the User response
permissions of the web services server started-task
user, and restart the web services server. Check the configured key label in the associated factor.
AZF6142E The named PKCS#11 token was AZF6146W Failed to delete a key object from
not accessible the PKCS#11 token
Explanation Explanation
The named PKCS#11 token is not accessible. A user’s factor data contained a label tag value, and
multiple PKCS#11 key records were returned for the
specified label value.
User response
Check the token name configured in the web services User response
started task settings.
Clear the user's factor data for the affected factor.
AZF6143I Description of accessible PKCS#11 For TOTP, clear the user's factor data for the affected
environment follows: factor, return them to REGSTATE:OPEN state, and
instruct them to re-enroll their IBM TouchToken for
Explanation iOS account, as described in “Re-registering a user for
TOTP” on page 79.
Subsequent messages in the log describe which
PKCS#11 tokens were accessible by the registration AZF6150I Attempting to create PKCS#11
server. token
User response
Explanation
Configure the PKCS#11 token as described in Chapter
9, “Configuring a PKCS#11 token,” on page 31 and The PKCS#11 token was found. This is an
enter the valid PKCS#11 token name. informational message generated as part of IBM MFA
processing.
AZF6153E Failed to generate random bytes
User response
Explanation
No response is required.
The PKCS#11 token was deleted after the task
successfully started. AZF6158I Found PKCS#11 AES key
Explanation
IBM MFA was unable to authenticate the user.
User response
Explanation
Make sure you have configured IBM MFA Out-of-Band
AZFYUBI1 plug-in could not initialize.
as described in Chapter 11, “Configuring IBM MFA
Out-of-Band authentication,” on page 45.
User response
AZF6174E No policies are bound to the
Contact IBM support. specified user or session
AZF6170E No factors are active for the
specified User ID Explanation
A policy name is not associated with the user ID.
Explanation
If you apply a policy to a user, the user must have User response
all the factors defined in the policy, and those factors
Associate a policy name with the user ID as described
must be active.
in “Activate and deactivate users for IBM MFA Out-of-
Band authentication” on page 50.
Configure the IBM MFA web services started task, as AZF7006E Invalid tag name
described in “Configure IBM MFA web services started
task” on page 41. Explanation
AZF7001E Internal error, bad plugin data You specified an invalid tag name. The possible tags
are WINDOW and MFAFIRST.
User response
Explanation
Restart the AZF started task.
You specified an invalid tag name.
AZF8002E Internal error, bad authTxn data
User response
Explanation
Enter a valid AZFCERT1 tag name, as described in
An internal error occurred while processing the “Approve user certificates” on page 89.
authentication.
AZF8008E Failed to read AZFCERT1 settings
User response
Explanation
Restart the AZF started task.
AZFCERT1 settings could not be retrieved from RACF.
AZF8003E Internal error, missing plugin state
User response
Explanation
Verify the AZF started task's permissions to the
An internal error occurred that prevented the plug-in FACTOR.AZFCERT1 profile.
from processing the transaction.
AZF8009W Runtime settings were not
changed
User response
Contact IBM support. Explanation
AZF8004E Invalid AZFCERT1 settings data If it is determined during REFRESH command
processing that incoming AZFCERT11 settings are
Explanation invalid, those settings will not be applied.
Explanation Explanation
This is an informational message generated as part of The authenticator is initialized. This is an informational
IBM MFA processing. message generated as part of IBM MFA processing.
Explanation
The plug-in could not initialize.
Explanation Explanation
The factor-name plug-in is initializing. The STC settings could not be determined.
Explanation Explanation
Invalid tag name specified in ALTUSER command. The RADIUS plug-in could not initialize.
AZF9021E Tag validation error - Invalid tag AZF9131E Session initialization failed
value
Explanation
Explanation The attempt to use the RADIUS factor was
Invalid tag value specified in ALTUSER command. unsuccessful because the factor was not initialized
successfully.
User response
User response
Retry with valid tag.
Contact IBM support.
Explanation
User response
An unexpected response was received from the
RADIUS server. This could be the result of a protocol Check the token name configured in the web services
error or there could be a mismatch in the shared started task settings.
secret. IBM MFA supports Password Authentication AZF9203E Failed to create PKCS#11 token
Protocol (PAP) only. AES key
Explanation
User response
The PKCS#11 token name specified in the web
services started task settings is not accessible. Configure the shared secret for the authentication
factor.
Explanation
An internal error occurred while processing the
authentication.
User response
Explanation
Contact IBM support.
Invalid tag name specified in ALTUSER command.
AZF9313E Failed to get network data or
sender info User response
Retry with valid tag.
Explanation
AZF9321E Tag validation error - Invalid tag
An internal error occurred that prevented the plug-in
value
from correctly reading network data.
User response
Explanation
Verify the AZFISAM1 factor settings.
The attempt to use the AZFISAM1 factor was
unsuccessful because the factor was not initialized AZF9341E Failed to access PKCS#11 token
successfully.
Explanation
User response
The PKCS#11 token name specified in the web
Contact IBM support. services started task settings is not accessible.
AZF9332E HTTP session failed to stage
request
Explanation Explanation
This is an informational message generated as part of This is a general authentication failed error.
normal processing.
User response
User response
See the SYSLOG for additional errors.
No response is required.
AZF9353I ISAM AUTHENTICATION
AZF9343E Required PKCS#11 token key not SUCCESSFUL
found
Explanation
Explanation
The user was successfully authenticated.
The PKCS#11 token key is not found.
User response
User response
No response is required.
Check the token name configured in the web services
started task settings. AZF9360E Supported tags: ISAMUSERID,
AUTHMECH
AZF9344E Failed to create PKCS#11 token
AES key Explanation
You specified an invalid tag name.
Explanation
The PKCS#11 AES key could not be created. User response
Retry with valid tag.
User response
Configure the PKCS#11 token. AZF9361E ISAMUSERID length must be <=
128
AZF9345E Settings do not contain client
secret ciphertext Explanation
ISAMUSERID must be less than or equal to 128
Explanation
characters.
The Client Secret setting is not configured.
User response
User response
Retry with valid length.
Configure the Client Secret setting on the AZFISAM1
factor panel. AZF9365I Suspending ISAM user for
consecutive failures
AZF9346E Failed to decrypt the client secret
Explanation
Explanation
The user consecutively failed to provide a valid token
The Client Secret setting is not configured or does not code. The suspension threshold limits the number of
match that of the client. times. If the user fails more than this number of times,
their SUSPENDED tag is set to YES.
User response
Explanation
No response is required.
The AZFYUBI1 factor-wide settings are printed when
the AZFYUBI1 factor is initialized during AZF started AZF9543E Required PKCS#11 token key not
task startup, and are preceded by this message. found
No response is required.
Explanation
AZF9531E AZFYUBI1 User secret decode Indicates that you do not have sufficient access to a
error required CSFSERV or CRYPTOZ resource profile.
Explanation
User response
An internal error occurred that prevented the plug-in
No response is required. from processing the transaction.
AZF9802I AZFLDAP1 Authenticator
deactivated User response
Explanation: Restart the AZF started task.
This is an informational message generated as part of
IBM MFA processing. AZF9808E Failed to build txn-specific state
Explanation Explanation
Invalid tag value specified in ALTUSER command. None of the configured LDAP servers could be reached
on the network, or the maximum number of allowed
retries was exceeded. The related authentication
User response attempt fails with Could Not Evaluate.
Retry with valid tag value.
AZF9824E AZFLDAP1 settings are missing or User response
invalid Ensure that the configured LDAP servers are available
and reachable.
Explanation AZF9851E ACCESS DENIED
The AZFLDAP1 factor-wide settings are missing or
invalid. Explanation
The authentication failed.
User response
Configure the AZFLDAP1 factor-wide settings. User response
AZF9826I AZFLDAP1 settings follow Check the system log for additional reasons for the
failure.
Explanation AZF9853I LDAP AUTHENTICATION
The AZFLDAP1 factor-wide settings are printed when SUCCESSFUL
the AZFLDAP1 factor is initialized during AZF started
task startup, and are preceded by this message. Explanation
The user was successfully authenticated.
User response
No response is required. User response
AZF9830I factor-name Initializing No response is required.
AZF9854E DN is the only supported tag
Explanation
The factor-name plug-in is initializing. Explanation
Invalid tag name specified. DN is the only supported
User response tag.
No response is required.
Retry with valid tag value. AZFC005I IXCSRVR task for MFA terminated
and will be restarted.
AZFC001I MFA cache change. Name:
Old=cache-name New=cache- Explanation:
name Mode: Old=mode-type The IBM MFA cache task terminated and will be
New=mode-type restarted.
Explanation:
Possible mode values are Sing (N), Mult (X), and CF (C), User response
as described in “Configure IBM MFA STC configuration No response is required.
attributes” on page 21.
AZFW001I Name of MFA Domain
User response Explanation:
The MFADomain cookieName.
No response is required.
AZFC002I Error in service macro function User response
RC=xx RSN=xxxxxxxx
No response is required.
Explanation:
There was an error in the service. The message AZFW002I Number of seconds an MFA token
identifies the XCF service macro that was issued and is valid
the general function, such as CREATE or CONNECT, Explanation:
being performed. The number of seconds a token is valid.
Explanation Explanation
The most likely cause of this message is that ICSF has The most likely cause of this message is that ICSF has
not been configured for PKCS#11, or the web server not been configured for PKCS#11, or the web server
does not have the appropriate RACF authorities in the does not have the appropriate RACF authorities in the
CRYPTOZ class. The return and reason codes are those CRYPTOZ class. The return and reason codes are those
returned by ICSF. returned by ICSF.
This message is output only if you have the This message is output only if you have the
appropriate LogLevel value set in your httpd.conf file. appropriate LogLevel value set in your httpd.conf file.
The values are debug for V8.5.5.x and trace1 for V9.0. The values are debug for V8.5.5.x and trace1 for V9.0.
The following example shows a sample AT-TLS policy. This policy is included for information purposes
only, and will require modification for your environment. See SYS1.SAZFSAMP(AZFTTLSX) for sample
AT-TLS rule definitions for IBM MFA.
TTLSRule AZFSrvAuthRule
{
LocalAddr ALL
RemoteAddr ALL
LocalPortRange ?serverAuthPort?
Direction Inbound
Priority 255
TTLSGroupActionRef AZFGroupAction1
TTLSEnvironmentActionRef AZFEnvAction1
TTLSConnectionActionRef AZFConnAction1
}
TTLSRule AZFMutAuthRule
{
LocalAddr ALL
RemoteAddr ALL
LocalPortRange ?mutualAuthPort?
Direction Inbound
Priority 255
TTLSGroupActionRef AZFGroupAction1
TTLSEnvironmentActionRef AZFEnvActionMutual
TTLSConnectionActionRef AZFConnActionMutual
}
TTLSRule AZFClientRule
{
Jobname AZF*
LocalAddr ALL
RemoteAddr ALL
RemotePortRange ?outboundPort?
Direction Outbound
Priority 255
TTLSEnvironmentActionRef eActAZFClient
TTLSGroupActionRef AZFGroupAction1
TTLSConnectionActionRef AZFConnAction1
}
TTLSKeyringParms AZFKeyringParms
{
Keyring ?keyringName?
}
TTLSKeyringParms AZFClientKeyringParms
{
Keyring ?clientRingName?
}
TTLSGroupAction AZFGroupAction1
{
TTLSEnabled On
Trace 255
}
TTLSEnvironmentAction AZFEnvAction1
{
HandshakeRole Server
EnvironmentUserInstance 0
TTLSEnvironmentAdvancedParmsRef AZFEnvAdvServer
TTLSKeyringParmsRef AZFKeyringParms
Trace 255
}
TTLSEnvironmentAction AZFEnvActionMutual
{
HandshakeRole ServerWithClientAuth
EnvironmentUserInstance 0
TTLSEnvironmentAdvancedParmsRef AZFEnvAdvMutual
TTLSKeyringParmsRef AZFKeyringParms
TTLSEnvironmentAction eActAZFClient
{
HandshakeRole Client
EnvironmentUserInstance 1
TTLSKeyringParmsRef AZFClientKeyringParms
Trace 255
TTLSEnvironmentAdvancedParmsRef eAdvAZFClient
}
TTLSConnectionAction AZFConnAction1
{
TTLSCipherParmsRef AZFCipherParms
TTLSConnectionAdvancedParmsRef AZFConnAdvParms1
CtraceClearText Off
Trace 255
}
TTLSConnectionAction AZFConnActionMutual
{
TTLSCipherParmsRef AZFCipherParms
TTLSConnectionAdvancedParmsRef AZFConnAdvParmsMutual
CtraceClearText Off
Trace 255
}
TTLSEnvironmentAdvancedParms AZFEnvAdvServer
{
ClientAuthType PassThru
ApplicationControlled Off
SSLv2 Off
SSLv3 Off
TLSv1 Off
TLSv1.1 Off
TLSv1.2 On
TLSv1.3 On
}
TTLSEnvironmentAdvancedParms AZFEnvAdvMutual
{
ClientAuthType Required
ApplicationControlled Off
SSLv2 Off
SSLv3 Off
TLSv1 Off
TLSv1.1 Off
TLSv1.2 On
TLSv1.3 On
}
TTLSEnvironmentAdvancedParms eAdvAZFClient
{
ApplicationControlled Off
SSLv2 Off
SSLv3 Off
TLSv1 Off
TLSv1.1 Off
TLSv1.2 On
TLSv1.3 On
}
TTLSConnectionAdvancedParms AZFConnAdvParms1
{
ApplicationControlled Off
SecondaryMap Off
}
TTLSConnectionAdvancedParms AZFConnAdvParmsMutual
{
HandshakeTimeout 120
ApplicationControlled Off
SecondaryMap Off
}
TTLSCipherParms AZFCipherParms
{
V3CipherSuites TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
V3CipherSuites TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
This section describes the IBM MFA system management facilities (SMF) Record type 83 subtype 7
records.
As described in RACF Audit Record For Data Sets, Record type 83 is a RACF processing record. For
complete information about Record type 83 records, see Record type 83: Security events.
Offsets
8 8 SMF83USR 8 EBCDIC Identifier of the user associated with this event (job
name is used if the user is not defined to RACF).
Offsets
16 10 SMF83GRP 8 EBCDIC Group to which the user was connected (step name is
used if the user is not defined to RACF).
29 1D SMF83REA 1 Binary Reason for logging. These flags indicate the reason
RACF produced the SMF record
Bit
Meaning when set
0
SETROPTS AUDIT(class) changes to this class of
profile are being audited.
1
User being audited
2
SPECIAL users being audited
3
Access to the resource is being audited because
of the AUDIT option (specified when profile
created or altered by a RACF command),
a logging request from the RACROUTE
REQUEST=AUTH exit routine, or because
the operator granted access during failsoft
processing.
4
RACROUTE REQUEST=VERIFY or initACEE
failure.
Bit
Meaning when set
5
This command is always audited
6
Violation detected in command and CMDVIOL is
in effect
7
Access to entity being audited because of
GLOBALAUDIT option.
Offsets
52 34 SMF83RSD 4 Packed Date the reader recognized the JOB statement for
this job in the form 0cyydddF (where F is the sign)
for RACROUTE REQUEST=VERIFY and RACROUTE
REQUEST=VERIFYX records for batch jobs, this field
can be zero.
56 38 SMF83UID 8 EBCDIC User identification field from the SMF common exit
parameter area. For RACROUTE REQUEST=VERIFY
and RACROUTE REQUEST=VERIFYX records for batch
jobs, this field can be zero.
Offsets
Table 65. Table 3. RACF SMF type 83 subtype 2 and above relocates
Data type (SMF83TP2) Max data length (SMF83DL2) Format Audited by Description
event code
Dec. Hex. Dec. Hex.
1 1 255 FF EBCDIC All subtype 2 Subject's
and above distinguished
name from
the current
ACEE
2 2 255 FF EBCDIC All subtype 2 Issuers
and above distinguished
name from
current ACEE
3 3 246 F6 EBCDIC All subtype 2 Resource
and above name
4 4 8 8 EBCDIC All subtype 2 Class name
and above
5 5 246 F6 EBCDIC All subtype 2 Profile name
and above
You can define a generic resource, such as AUDIT.RACROUTE.* or AUDIT.WEB.A*, to enable audit record
creation for successful IBM MFA authentications. If multiple AUDIT profiles exist that are a match for the
request resource name, then standard RACF rules determine which profile is used.
To stop audit record creation for successful authentications, delete or alter the MFADEF AUDIT profile
with AUDIT(FAILURES) specified. After any addition, modification, or deletion of the MFADEF AUDIT
profiles, perform an IPL or issue a SETROPTS RACLIST(MFADEF) REFRESH command to make the
change effective.
General information
• All requests must be received by the IBM MFA web server through a secure TLS connection.
• Requests to the mutual authentication port must provide a valid client certificate when the secure TLS
connection is established.
• The contents of JSON objects sent and received for some IBM MFA requests are dependent on the
installation-specific IBM MFA policy definition that is used for the request. To see installation-specific
examples, you can enable web browser tracing of network requests, perform an IBM MFA web
authentication using the installation-specific IBM MFA policy, and then view the JSON objects that
were sent and received for the authentication based on that policy.
• All JSON objects are encoded in UTF-8. However, the encoding of specific request and prompt field
values may be further constrained to ISO-646, which is a proper single-byte subset of UTF-8.
• The URL path specification that follows the port value in the URL is case sensitive and must be specified
as shown.
• Percent encoding values are not supported in the URL path specification.
• The following HTTP status response codes apply to all service requests:
– 200 – “Request completed”
– 400 – “Bad request”
– 403 – “Forbidden”
– 404 – “Not found”
– 405 – “Method Not Allowed”
– 413 – “Payload Too Large”
– 500 – “Internal server error”
Attributes • O – optional
• C – conditional on a key value
• Z – code set restricted based on serverCharset
apiInfo request
Table 68. apiInfo request
Method: GET
URL: https://host:port/apiInfo
Version: HTTP/1.1
Headers required: none
Body: none
https://host:port/apiInfo/
Response
{
"serverProduct": "AZF",
"serverBuild": "2.2.0",
"serverCharset": "ISO-646",
"apiVersions": {
"auth": {
"policyPrompt": [2],
"policyAuth": [2],
"checkCTC": [2]
}
}
policyPrompt Request
Table 71. policyPrompt request
Method: GET
URL: https://host:port/policy_name
Version: HTTP/1.1
Headers required: none
Body: none
https://host:port/policyPrompt/CERTONLY/
Response
{
"resptype": 10,
"type": "prompt",
"payload": {
"policyName": "CERTONLY",
"policyFactors": [
{
"factorName": "AZFCERT1",
"factorDescription": "Certificate-based Authentication",
"promptSpec": {
"factorName": "AZFCERT1",
"promptType": "submitURL",
"promptHeading": "Policy Authentication will require mutual TLS
authentication with your enrolled certificate."
}
}
],
"submitURL": "https://host:port/policyAuth/"
}
https://host:port/policyPrompt/SIDPONLY/
Response
{
"resptype": 10,
"type": "prompt",
"payload": {
"policyName": "SIDPONLY",
"policyFactors": [
{
"factorName": "AZFSIDP1",
"factorDescription": "RSA SecurID",
"promptSpec": {
"factorName": "AZFSIDP1",
"promptType": "Interactive",
"promptHeading": "Enter your
SecurID passcode",
"promptFields": [
{
"fieldLabel": "Passcode",
"fieldType": "secureTextField",
"fieldName": "passCode",
"maxLength": 16
}
]
}
}
],
"submitURL":
"https://host:port/policyAuth/"
}
}
https://host:port/policyPrompt/passsidp/
{
"resptype": 10,
"type": "prompt",
"payload": {
"policyName": "PASSSIDP",
"policyFactors": [
{
"factorName": "AZFPASS1",
"factorDescription": "Password Authentication",
"promptSpec": {
"factorName": "AZFPASS1",
"promptType": "Interactive",
"promptHeading": "To
authenticate, enter your SAF password or passphrase. If you want to change it, also
enter
and confirm a valid replacement.",
"promptFields": [
{
"fieldLabel": "Password",
"fieldType": "secureTextField",
"fieldName": "password",
"maxLength": 100
},
{
"fieldLabel": "New Password",
"fieldType": "secureTextField",
"fieldName": "newPassword",
"maxLength": 100
},
{
"fieldLabel": "Confirm
New Password",
"fieldType": "secureTextField",
"fieldName": "newPass2",
"maxLength": 100
}
]
}
},
{
"factorName": "AZFSIDP1",
"factorDescription": "RSA SecurID",
"promptSpec": {
"factorName": "AZFSIDP1",
"promptType": "Interactive",
"promptHeading": "Enter your SecurID passcode",
"promptFields": [
{
"fieldLabel": "Passcode",
"fieldType": "secureTextField",
"fieldName": "passCode",
"maxLength": 16
}
]
}
}
],
"submitURL": "https://host:port/policyAuth/"
}
https://host:port/policyPrompt/INVALIDPOLICY/
Response
{
"resptype": 4,
"type": "error",
"sts": 1200054,
"rc": 40,
"rsn": 5,
"output": [
policyAuth Request
Table 76. policyAuth request
Method: POST
URL: https://host:port/policyAuth/
Version: HTTP/1.1
Headers required:
Content-length:<length>
Content-Type: Either application/json or text/plain may be specified. You must specify text/plain when
using Javascript fetch().
Body: JSON policyAuthRequest object to start an authentication request or a JSON policyAuthContinue
request object to continue a “needs more information” policyAuth response.
Request/Response Examples
Completed authentication request
https://host:port/policyAuth/
{
"apiVersion": 2,
"userid": "testuser",
"policyName": "SIDPONLY",
"factors": [
{
"factorName": "AZFSIDP1",
"credentialObject": {
"passCode": "156816837473"
}
}
]
Response
{
"type": "ctc",
"ctc": "td36ZsMq"
}
https://host:port/policyAuth/
{
"apiVersion": 2,
"userid": "testuser",
"policyName":"SIDPONLY",
"factors": [
{
"factorName": "AZFSIDP1",
"credentialObject": {
"passCode": "156816837473"
}
}
]
Response
{
"type": "error",
"rc": 44,
"rsn": 0,
"factors": [
{
"factorName": "AZFSIDP1",
"rc": 8,
"rsn": 0,
"msg": "AZF1006E: ACCESS DENIED"
}
]
}
https://host:port/policyAuth/
code
{
"apiVersion": 2,
Response
{
"type": "nmi",
"resumeID": "yUoPzqnEir2QdLk7Nvo+5O12_7EK2Kl",
"factors": [
{
"factorName": "AZFSIDP1",
"promptSpec": {
"promptType": "Interactive",
"promptHeading": "AZF1001I: ENTER
NEXT TOKENCODE",
"promptFields": [
{
"fieldLabel": "Next Token Code",
"fieldType": "secureTextField",
"fieldName": "passCode",
"maxLength": 16
}
]
}
}
]
}
https://host:port/policyAuth/
{
"apiVersion": 2,
"resumeID": "yUoPzqnEir2QdLk7Nvo+5O12_7EK2Kl",
"factors": [
{
"factorName": "AZFSIDP1",
"credentialObject": {
"passCode": "156816005719"
}
}
]
}
Response
{
"type": "ctc",
"ctc": "td36ZsMq"
}
checkCTC Request
Table 82. checkCTC request
Method: POST
URL: https://host:port/checkCTC/
Version: HTTP/1.1
Headers required:
Content-Length:<length>
Content-Type: Either application/json or text/plain may be specified. You must specify text/plain when
using Javascript fetch().
Body: JSON checkTokenRequest object
Request/Response examples
Successful verification
Request
https://host:port/checkCTC/
{
"userid": "TESTUSER",
"apiVersion": 2,
"ctc":
"ABCDEFGH"
}
Response
{
"rc": 0,
"rsn":
0,
}
Unsuccessful verification
Request
https://host:port/checkCTC/
{
"userid": "",
"apiVersion": 2,
"ctc":
"ABCDEFGH"
}
Response
{
"rc": 44,
"rsn":
0,
}
Accessibility features
Accessibility features help users who have physical disabilities such as restricted mobility or limited vision
use software products successfully. The accessibility features in z/OS can help users do the following
tasks:
• Run assistive technology such as screen readers and screen magnifier software.
• Operate specific or equivalent features by using the keyboard.
• Customize display attributes such as color, contrast, and font size.
Appendix D. Accessibility 325
326 IBM MFA: IBM Z Multi-Factor Authentication Installation and Customization
Notices
This information was developed for products and services offered in the U.S.A. or elsewhere.
IBM may not offer the products, services, or features discussed in this document in other countries.
Consult your local IBM representative for information on the products and services currently available in
your area. Any reference to an IBM product, program, or service is not intended to state or imply that
only that IBM product, program, or service may be used. Any functionally equivalent product, program, or
service that does not infringe any IBM intellectual property right may be used instead. However, it is the
user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service.
IBM may have patents or pending patent applications covering subject matter described in this
document. The furnishing of this document does not give you any license to these patents. You can
send license inquiries, in writing, to:
The following paragraph does not apply to the United Kingdom or any other country where such
provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION
PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR
IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT,
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of
express or implied warranties in certain transactions, therefore, this statement may not apply to you.
This information could include technical inaccuracies or typographical errors. Changes are periodically
made to the information herein; these changes will be incorporated in new editions of the publication.
IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this
publication at any time without notice.
Any references in this information to non-IBM Web sites are provided for convenience only and do not in
any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of
the materials for this IBM product and use of those Web sites is at your own risk.
IBM may use or distribute any of the information you supply in any way it believes appropriate without
incurring any obligation to you.
Licensees of this program who wish to have information about it for the purpose of enabling: (i) the
exchange of information between independently created programs and other programs (including this
one) and (ii) the mutual use of the information which has been exchanged, should contact:
Site Counsel
IBM Corporation
2455 South Road
Poughkeepsie, NY 12601-5400
USA
Trademarks
IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business
Machines Corp., registered in many jurisdictions worldwide. Other product and service names might
be trademarks of IBM or other companies. A current list of IBM trademarks is available at https://
www.ibm.com/legal/copytrade.
UNIX is a registered trademark of The Open Group in the United States and other countries.
Index 329
Certificate authentication administrative steps (continued) define factors (continued)
authorize access to IRR.RFACTOR.MFADEF.AZFPASS1 IBM MFA Out-of-Band 49
profile 11, 170 multiple instance 176
check CTC password authentication 169, 170
additional system programming steps 161 RSA RADIUS 112
administration and operation steps 165 SafeNet RADIUS 102
configure 161 SecurID 51
configure check CTC 159 SecurID Authentication API 61
RACF administration steps for check CTC 160 started task 10, 11
clear shared RADIUS secret 99 define generic RADIUS factors in MFADEF class 91, 175
clear shared SafeNet RADIUS secret 110 define IBM MFA Password Authentication parameters 170
configure define profile in STARTED class 10, 36
IBM Verify Gateway for RADIUS 153, 155, 157, 158 define RSA RADIUS factors in MFADEF class 111
configure account define SafeNet RADIUS factors in MFADEF class 102
IBM Security Verify 151 define SecurID Authentication API factors in MFADEF class
configure authentication factors 61
IBM Security Verify 153 define SecurID Authentication API parameters 63
configure client define SecurID factors in MFADEF class 51
IBM Security Verify 152 define SecurID parameters 54
Configure IBM MFA 13 define user for AZF started task 9, 35
Configure IBM MFA certificate authentication 81, 169 disaster recovery
Configure IBM MFA for check CTC 159 SecurID 59
Configure IBM MFA for ELF 167
Configure IBM MFA for generic RADIUS 91, 158
Configure IBM MFA for LDAP 131
E
Configure IBM MFA for RSA RADIUS 111 ELF
Configure IBM MFA for RSA SecurID Authentication API 61, configure for IBM MFA 167
62 enable mixed-case passwords 12
Configure IBM MFA for SafeNet RADIUS 101 Examples for IBM MFA 3
Configure IBM MFA for SecurID 51
Configure IBM MFA for TOTP 69
Configure IBM MFA for Yubico OTP 139, 151 F
Configure IBM MFA out-of-band authentication 45
FACILITY class
Configure IBM MFA STC panel 21, 35
define factor for IBM Security Verify Access 121
Configure IBM Security Verify Access 121
define factor for LDAP 131
contact
define factor for Yubico OTP 139
z/OS 323
define factors for certificate authentication 81
copy SAZFEXEC(AZFEXEC) 7
define factors for check CTC 160
copy SAZFSAMP(AZF#IN00) and SAZFSAMP(AZF#IN01) 7
define factors for generic RADIUS 91
copy sdconf.rec 53
define factors for IBM MFA 40
create csv file
define factors for IBM MFA for TOTP 69
Yubico OTP 144, 148
define factors for IBM MFA Out-of-Band 49
csfserv resource profiles
define factors for multiple instance 176
configure 29
define factors for password authentication 170
CTCs
define factors for RSA RADIUS 112
invalidating user 221
define factors for SafeNet RADIUS 102
customize AZFEXEC 7
define factors for SecurID 51
customize IBM MFA
define factors for SecurID Authentication API 61
overview 5
define factors for started task 11
system programming steps 7
D G
Generic RADIUS
define check CTC factors in MFADEF class 160
activate and deactivate users 98
define factor
additional system programming steps 93
IBM Security Verify Access 121
administration and operation steps 98
LDAP 131
configure for IBM MFA 91, 158
Yubico OTP 139
RACF administration steps 91
define factors
generic TOTP
certificate authentication 81
configure user profile 78
check CTC 160
generic RADIUS 91
IBM MFA 40
IBM MFA for TOTP 69
Index 331
MFADEF class (continued) Password fallback
activate 11 configuring 173
define factor for IBM Security Verify Access 121 passwords
define factor for LDAP 131 changing user 187, 189
define factor for Yubico OTP 139 resetting user 191
define factors for certificate authentication 81 PCI mode
define factors for check CTC 160 configure 27
define factors for generic RADIUS 91, 175 PIV card
define factors for IBM MFA for TOTP 69 configure certificate authentication 81
define factors for password authentication 169 PKCS#11 tokens
define factors for RSA RADIUS 111 configure for IBM HTTP Server -Powered by Apache 195
define factors for SafeNet RADIUS 102 configure for TOTP 31
define factors for SecurID 51, 61 preparing for IBM MFA 1
define factors for started task 10 printing statistics 59
migrating versions 231, 233 profile
mixed-case passwords authorize access 122, 132, 140
enable for RACF 12
modify trace levels 223
multi-factor authentication policies
R
apply to users 47 RACF
create 47 enable mixed-case passwords 12
Multiple factors RACF administration steps for check CTC 160
configuring 175 RACF administration steps for generic RADIUS 91
multiple instance RACF administration steps for multiple instances 175
configure 177 RACF administration steps for RSA SecurID Authentication
Multiple instance API 61
activate and deactivate users 179 RACF administration steps for RSA SecurID RADIUS 111
additional system programming steps 177 RACF administration steps for SafeNet RADIUS 102
administration and operation steps 179 RACF administration steps for SecurID 51
multiple instance authentication policies RACF administrative steps
apply to users 180 activate MFADEF class 11
create 180 authorize access 52, 62, 92, 103, 112, 160, 176
Multiple instances define check CTC factors in FACILITY class 160
RACF administration steps 175 define check CTC factors in MFADEF class 160
define entry in STARTED class 10, 36
N define generic RADIUS factors in FACILITY class 91
define multiple instance factors in FACILITY class 176
navigation define Radius factors in MFADEF class 91, 111, 175
keyboard 323 define RSA RADIUS factors in FACILITY class 112
node secret define SafeNet RADIUS factors in FACILITY class 102
clear for SecurID 59 define SafeNet RADIUS factors in MFADEF class 102
node secret data set define SecurID Authentication API factors in FACILITY
allocate 53 class 61
Notices 327 define SecurID Authentication API factors in MFADEF
class 61
define SecurID factors in FACILITY class 51
O define SecurID factors in MFADEF class 51
out-of-band authentication define user for AZF started task 9, 35
configure 45 Radius
clear shared secret 119
RADIUS
P additional system programming steps 104
administration and operation steps 118
parameters
clear shared secret 99
define for IBM MFA Password Authentication 170
configure SafeNet 101
define for SecurID 54
RACF administration steps for SafeNet 102
define for SecurID Authentication API 63
RADIUS shared secret
PassTickets
clear 99
bypass IBM MFA 203
re-register users
password authentication
TOTP 79
administrative steps 169
remove factors 219
Password authentication
removing IBM MFA
define factors in FACILITY class 170
factors 219
define factors in MFADEF class 169
Resource profile
Index 333
W
web services
configure 41, 47, 85
start started task 44
web services server
configure 70
WLS service class
set 8
Y
Yubico OTP
administration and operation steps 144
administrative steps 139
configure 139, 140, 151
create csv file 144, 148
define factor in FACILITY class 139
define factor in MFADEF class 139
ingest an .csv file 145
self-enroll tokens 145, 146
system programming steps 140
Yubico OTP administrative steps
authorize access to profile 140
SC27-8447-41