User Sign-in and Recovery Events in the Okta System Log

Okta

During a security incident, it's critical that SOC analysts (or Okta admins) can rapidly identify all activity associated with a suspicious session, user or IP. 

We are often asked to provide some sort of "cheat sheet" for new analysts that are unfamiliar with the extensive library of events available in Okta's Event Library.

The following blog post re-publishes a support article that offers a few of these shortcuts. Okta Security has also published a range of platform and bespoke detections for identifying suspicious activity.

The events below are found in both Okta Classic Engine (OCE) and Okta Identity Engine (OIE).

Working with Okta System Log

To access the System Log, go to Reports > System Log.

To view events in the System Log, type or paste a query into the Search field on the System Log page, and press Enter.

Search events by user

To view sign-in events for a particular user, use this query as an example. Replace the <enter user id> in this example with a User ID.

You can find the User ID for a given user by navigating to Directory > People, searching by name and selecting the user. The User ID is appended to the end of the resulting URL:

https://<Okta org URL>/admin/user/profile/view/<User ID>

 

(actor.id eq "<enter user id>" or target.id eq "<enter user id>") and (
(eventType eq "user.session.start") or
(eventType eq "policy.evaluate_sign_on") or
(eventType eq "user.authentication.verify") or
(eventType eq "application.policy.sign_on.deny_access") or
(eventType eq "user.authentication.sso") or
(eventType eq "user.authentication.auth_via_mfa") or
(eventType eq "user.mfa.factor.activate") or
(eventType eq "system.push.send_factor_verify_push") or
(eventType eq "system.email.send_factor_verify_message") or
(eventType eq "system.sms.send_factor_verify_message") or
(eventType eq "system.sms.send_phone_verification_message") or
(eventType eq "system.voice.send_mfa_challenge_call") or
(eventType eq "system.voice.send_phone_verification_call") or
(eventType eq "system.email.password_reset.sent_message") or
(eventType eq "system.sms.send_password_reset_message") or
(eventType eq "system.voice.send_password_reset_call") or
(eventType eq "user.account.reset_password") or
(eventType eq "user.account.update_password") or
(eventType eq "system.email.account_unlock.sent_message") or
(eventType eq "system.sms.send_account_unlock_message") or
(eventType eq "system.voice.send_account_unlock_call") or
(eventType eq "user.account.unlock_token") or
(eventType eq "user.account.unlock")
)

 

To learn more about each event in this query, refer to the Definitions table below for more information.

Search events by IP address

To view user sign-in events associated with a particular IP address, replace <enter ip address here> with an IP address.

(client.ipAddress eq "<enter ip address here>") and (
(eventType eq "user.session.start") or
(eventType eq "policy.evaluate_sign_on") or
(eventType eq "user.authentication.verify") or
(eventType eq "application.policy.sign_on.deny_access") or
(eventType eq "user.authentication.sso") or
(eventType eq "user.authentication.auth_via_mfa") or
(eventType eq "user.mfa.factor.activate") or
(eventType eq "system.push.send_factor_verify_push") or
(eventType eq "system.email.send_factor_verify_message") or
(eventType eq "system.sms.send_factor_verify_message") or
(eventType eq "system.sms.send_phone_verification_message") or
(eventType eq "system.voice.send_mfa_challenge_call") or
(eventType eq "system.voice.send_phone_verification_call") or
(eventType eq "system.email.password_reset.sent_message") or
(eventType eq "system.sms.send_password_reset_message") or
(eventType eq "system.voice.send_password_reset_call") or
(eventType eq "user.account.reset_password") or
(eventType eq "user.account.update_password") or
(eventType eq "system.email.account_unlock.sent_message") or
(eventType eq "system.sms.send_account_unlock_message") or
(eventType eq "system.voice.send_account_unlock_call") or
(eventType eq "user.account.unlock_token") or
(eventType eq "user.account.unlock")
)

 

Search events by External Session ID

To view all events associated with a particular user session, replace <enter external session id here> with an External Session ID.

(authenticationContext.externalSessionId eq "<enter external session id here>")

 

To only view sign-on events associated with a particular user session, replace <enter external session id here> with an External Session ID.

(authenticationContext.externalSessionId eq "<enter external session id here>") and (
(eventType eq "user.session.start") or
(eventType eq "policy.evaluate_sign_on") or
(eventType eq "user.authentication.verify") or
(eventType eq "application.policy.sign_on.deny_access") or
(eventType eq "user.authentication.sso") or
(eventType eq "user.authentication.auth_via_mfa") or
(eventType eq "user.mfa.factor.activate") or
(eventType eq "system.push.send_factor_verify_push") or
(eventType eq "system.email.send_factor_verify_message") or
(eventType eq "system.sms.send_factor_verify_message") or
(eventType eq "system.sms.send_phone_verification_message") or
(eventType eq "system.voice.send_mfa_challenge_call") or
(eventType eq "system.voice.send_phone_verification_call") or
(eventType eq "system.email.password_reset.sent_message") or
(eventType eq "system.sms.send_password_reset_message") or
(eventType eq "system.voice.send_password_reset_call") or
(eventType eq "user.account.reset_password") or
(eventType eq "user.account.update_password") or
(eventType eq "system.email.account_unlock.sent_message") or
(eventType eq "system.sms.send_account_unlock_message") or
(eventType eq "system.voice.send_account_unlock_call") or
(eventType eq "user.account.unlock_token") or
(eventType eq "user.account.unlock")
)

 

View logout events for a user

To view user sign-out events associated with a particular user, replace <enter user id> with a User ID.

(actor.id eq "<enter user id>" or target.id eq "<enter user id>") and (
(eventType eq "user.session.end") or
(eventType eq "user.authentication.slo")
)

 

View MFA configuration changes for a user

To identify any changes to authenticators associated with a particular user, replace <enter user id> with a User ID.

(actor.id eq "<enter user id>" or target.id eq "<enter user id>") and (
(eventType eq "user.mfa.factor.activate") or
(eventType eq "user.mfa.factor.deactivate") or
(eventType eq "user.mfa.factor.reset_all") or
(eventType eq "user.mfa.factor.suspend") or
(eventType eq "user.mfa.factor.unsuspend") or
(eventType eq "user.mfa.factor.update")
)

 

Share a link to System Log reports

You can also share a link to a System Log query with your team members so they can view the same events in the System Log.

After you have run a query and viewed the events in the System Log, copy the link in the URL field of your browser and paste it into a message to your colleagues.

Event Scenarios

1. Troubleshooting sign-on events

Sign in to Okta

When a user signs in to Okta, you’ll see the following sequence of events:

OrderEventDescription
1user.session.startThis event is fired after the first authentication method is verified. 
2policy.evaluate_sign_onThis event is fired after the Okta Sign-On Policy/Global Session Policy is evaluated and contains the result of the policy evaluation.
3MFA eventsIf a policy requires multifactor authentication (MFA), you’ll see various MFA enrollment or verification-related events. See the Multifactor authentication section for details on those events.
4user.authentication.verifyThis event is fired after the user has successfully completed the sign-in flow. At this point, the a valid session should have been established for the user.

 

Sign in to an app

Once a user has established a session, they are (usually) then able to view a dashboard of available applications. There is no System Log event for when a user clicks an app tile to start the sign-in to that app. Instead, two sequences of events fire based on whether the sign-in to the app was successful or not.

In successful app sign-in attempts, the following events are triggered:

OrderEventDescription
1Multifactor Authentication eventsIf a policy requires MFA, you’ll see various MFA enrollment or verification-related events. See the Multifactor authentication section for details on those events.
2user.authentication.sso

This event is fired after the user meets all the requirements to access the app.

 

In unsuccessful app sign-in attempts, the following event is triggered:

OrderEventDescription
1application.policy.sign_on.deny_accessThis event is fired if the user doesn’t meet the requirements to access the app.

 

2. Review Multifactor Authentication Events

When any policy (Sign-On Policy/Global Session Policy/App Sign-On Policy) requires MFA, you should expect a number of the following events. 

First there are those events that fire irrespective of the authenticator in question:

OrderEventDescription
1user.authentication.auth_via_mfaThis event is fired after the user attempts to verify their identity using an MFA factor/authenticator.
2user.mfa.factor.activateIf a user doesn’t have any MFA factors/authenticators enrolled, or is missing a required MFA factor/authenticator, the sign-in flow will force the user to enrol them. This event is fired after the user successfully enrols an MFA factor/authenticator.

 

Specific MFA factors/authenticators also fire additional events that indicate progress of the verification flow:

EventDescription
system.push.send_factor_verify_pushWhen using the Okta Verify Push factor/authenticator, this event is fired when Okta sends the push notification to the user’s device. 
system.email.send_factor_verify_messageWhen using the Email MFA factor/authenticator, this event is fired when Okta sends a message with a one-time password (OTP) code to the user via email.
system.sms.send_phone_verification_messageWhen enrolling the Phone MFA factor/authenticator in SMS mode, this event is fired after Okta sends the message containing the OTP code by SMS.
system.sms.send_factor_verify_messageWhen authenticating with the Phone MFA factor/authenticator in SMS mode, this event is fired after Okta sends the message containing the OTP code by SMS.
system.voice.send_mfa_challenge_call

When enrolling Phone MFA factor/authenticator in Voice Call mode, this event is fired after Okta sends the message containing the OTP code in a voice call.

system.voice.send_phone_verification_call

When authenticating with the Phone MFA factor/authenticator in Voice Call mode, this event is fired after Okta sends the message containing the OTP code in a voice call.

 

3. Review Password Reset and Account Lockout Events

Self-Service Password Reset

If your organization using Okta Classic Engine (OCE) supports user-initiated ("self-service") password resets, an analyst should expect to see the following sequence of events:

OrderEventDescription

One of the following:

  • system.email.password_reset.sent_message
  • system.sms.send_password_reset_message
  • system.voice.send_password_reset_call

NB: Administrators using Okta Identity Engine can initiate recovery flows with Okta Verify, Email or SMS, and perform additional verification via any authenticator the user is enrolled in.

These events are fired after an email, SMS message or voice call are sent to the user to initiate the SSPR flow.
2user.account.reset_passwordThis event is fired after Okta resets the user's password, after the email, SMS message or voice call are verified. The user’s password is reset to allow the user to change it.
3user.account.update_passwordThis event is fired after the user has successfully changed their password.

 

Once a user completes the SSPR, they commence a normal Okta sign-on flow. See the Sign in to Okta section for information about those events.

Below is a query analysts using OCE can use to search for SSPR-related activity in Okta System Log:

(actor.id eq "<enter user id>" or target.id eq "<enter user id>") and (
(eventType eq "system.email.password_reset.sent_message") or
(eventType eq "system.sms.send_password_reset_message") or
(eventType eq "system.voice.send_password_reset_call") or
(eventType eq "system.push.send_factor_verify_push") or
(eventType eq "system.email.send_factor_verify_message") or
(eventType eq "system.sms.send_factor_verify_message") or
(eventType eq "system.sms.send_phone_verification_message") or
(eventType eq "system.voice.send_mfa_challenge_call") or
(eventType eq "system.voice.send_phone_verification_call") or
(eventType eq "user.authentication.auth_via_mfa") or
(eventType eq "user.account.reset_password") or
(eventType eq "user.account.update_password")
)
 
Self-Service Account Unlock

If an organization using Okta Classic Engine (OCE) allows self-service account unlock (SSU), an analyst should expect to see the following sequence of events:

OrderEventDescription
1

One of the following:

  • system.email.account_unlock.sent_message
  • system.sms.send_account_unlock_message
  • system.voice.send_account_unlock_call

NB: Administrators using Okta Identity Engine can initiate recovery flows with Okta Verify, Email or SMS, and perform additional verification via any authenticator the user is enrolled in.

These events are fired after the email, SMS message or voice call are sent to the user to initiate the SSU flow.
2user.account.unlock_tokenThis event is fired after Okta grants a recovery token to the user. The recovery token is used as part of the request that verifies the user’s security question.
3user.account.unlockThis event is fired after the user has successfully unlocked their account.

 

Below is a query analysts using OCE can use to search for self-service unlock activity in Okta System Log:

(actor.id eq "<enter user id>" or target.id eq "<enter user id>") and (
(eventType eq "system.email.account_unlock.sent_message") or
(eventType eq "system.sms.send_account_unlock_message") or
(eventType eq "system.voice.send_account_unlock_call") or
(eventType eq "system.push.send_factor_verify_push") or
(eventType eq "system.email.send_factor_verify_message") or
(eventType eq "system.sms.send_factor_verify_message") or
(eventType eq "system.sms.send_phone_verification_message") or
(eventType eq "system.voice.send_mfa_challenge_call") or
(eventType eq "system.voice.send_phone_verification_call") or
(eventType eq "user.authentication.auth_via_mfa") or
(eventType eq "user.account.unlock_token") or
(eventType eq "user.account.unlock")
)

 

Definitions

EventDescription
actor.idThe actor that performed an event on a target (typically a user)
application.policy.sign_on.deny_accessA user was denied access to an application.
policy.evaluate_sign_onProvides context on the values that are used and evaluated in the context of the Global Session Policy.
system.email.account_unlock.sent_messageOkta sends a system-generated account unlock email to the user when they request account unlocking. 
system.email.password_reset.sent_messageOkta sends a system-generated password reset email to the user when they request a password reset. 
system.email.send_factor_verify_messageOkta sends a system-generated verification email to the user when they sign in.
system.push.send_factor_verify_pushOkta sends a push notification to the user.
system.sms.send_account_unlock_messageOkta sends a system-generated account unlock text message to the user when they request account unlocking. 
system.sms.send_factor_verify_messageOkta sends a system-generated verification text message to the user when they sign in.
system.sms.send_password_reset_messageOkta sends a system-generated password reset text message to the user when they request a password reset.
system.sms.send_phone_verification_messageOkta sends a system-generated one-time password text message to the user when they select the Phone authenticator and the SMS mode.
system.voice.send_account_unlock_callOkta triggers a phone call to the user containing a one-time password when they request account unlocking.
system.voice.send_mfa_challenge_callOkta triggers a phone call to the user containing a one-time password when they select the Phone authenticator and the Voice mode.
system.voice.send_password_reset_callOkta triggers a phone call to the user containing a one-time password when they request a password reset.
system.voice.send_phone_verification_callOkta triggers a phone call to the user containing a one-time password when they select the Phone authenticator and the Voice mode.
user.account.reset_passwordThe user reset their password.
user.account.unlockThe user’s account was unlocked.
user.account.unlock_tokenA token was issued for unlocking the user’s account.
user.account.update_passwordThe user updated their password.
user.authentication.auth_via_mfaThe user responded to an authentication challenge with a multifactor authentication method.
user.authentication.ssoA user attempts a Single Sign-On (SSO) to an application managed in Okta. This event doesn't capture whether the SSO attempt is successful or has failed, as Okta can't collect the subsequent authentication attempt status from the third-party service.
user.authentication.verifyThe user was successfully verified.
user.mfa.factor.activateAn MFA factor/authenticator was activated for a user.
user.session.startOkta issues a session to a user who is authenticating.

 

More information

For more information about the System Log, see the online help for your version of Okta:

 

Okta