In a SSPR nFactor configuration. You may observe error "KB Questions and Asnwers not registered" when login with LDAP password and can't move to the next AAA factor. Triggers are:
AAA.USER.ATTRIBUTE("kba_registered").EQ("0")
Root factor: Root_Start Login Schema = SSPR_2FA_LoginSchema Adv Authn Policy = Radius_Pol Rule = true Action = Radius_Act Next Factor if Success = LDAP_Factor Login Schema = noschema_LDAP // Inherit the password from previous factor with "password expression". Adv Authn Policy = LDAP_Pol Rule = true Action = LDAP_Act // Has -KBAttribute defined to check if user has register KBA. Issue happens at this factor Next Factor if Success = Check_for_KBA_Registration Login Schema = LSCHEMA_INT Adv Authn Policy = Check_KBA_Value_Pol Rule = AAA.USER.ATTRIBUTE("kba_registered").EQ("0") Action = NO_AUTHN Next Factor if Success = Do_KBA_Register // Skip... Adv Authn Policy = Allow_Pol Rule = true Action = NO_AUTHN
Root factor: Root_Start Login Schema = SSPR_2FA_LoginSchema Adv Authn Policy = LDAP_Pol_NoAuthn_w_KBAttr Rule = true Action = LDAP_Act_NoAuthn_w_KBAttr // Uncheck "Authentication" and Define "KBAttribute" in LDAP action. Purpose is to check if user has registered KBA in advance. Next Factor if Success = Radius_Factor Login Schema = noschema_Radius // Inherit the passcode from previous factor with "password expression". Adv Authn Policy = Radius_Pol Rule = true Action = Radius_Act Next Factor if Success = LDAP_Factor Login Schema = noschema_LDAP // Inherit the password from previous factor with "password expression". Adv Authn Policy = LDAP_Pol Rule = true Action = LDAP_Act // Normal LDAP action without KBAttribute. Next Factor if Success = Check_for_KBA_Registration // Skip... same as before
This is by current design. NetScaler AAA treats the factor to do KBA validation when the following conditions match: