Account lockout and troubleshooting


Being a system administrator, everyone of us would have come across the task of unlocking user accounts at some point of time.  Here I have collected a number of resources and the procedure of my own of troubleshooting the account lockout issue.

Procedure of troubleshooting account lockout issue

Note that Ingolfur Arnar Stangeland published a blog here to show you how Microsoft PSS would approach this kind of issue.

  1. Understand the nature of the issue and number of users affected.  How many uses affected?  How frequently accounts are being locked out?  Where is likely to be the source from which failed authentication attemps are coming?
  2. Review the account lockout policies.  So that you understand what effective settings are.  Sometimes the account lockouts are false and all we needed to do is to revise the account lockout policies to reduce the likelihood of false lockout.
  3. Review and enable account audit policies for DCs.  With audit policies enabled you can check the event logs of DCs to understand the issue more and mostly likely you will be able to find out where is source of failed authentication attempts.
  4. Collect data to determine the offending source (PCs, servers being attempted).  Checking the generated event logs on DCs particularly PDC will reveal useful info about what the account is, which server the failed authentication is being attempted, from which computer the failed authentication attempts are etc.
  5. If the failed attempts are Kerberos, check out the “Troubleshooting Account Lockout” for how to enable Kerberos logging and collecting lockout debug info from affected computer locally.
  6. If the failed attempts are NTLM ones, check out the “NTLM Blocking and You: Application Analysis and Auditing Methodologies in Windows 7” for instructions of how to enable and look into the NTLM authentication logging, you will need to check from both PDC and the affected computer.
  7. Focus on the offending PC, track down the offending process.  There are at least two ways to pinpoint the offending process if generally checking the PC didn’t tell you the answer, one is to enable some audit policy on the PC and check out the generated events, the other is to use either network monitoring tool or Process Monitor from Sysinternals.

Notes

  • When using the account lock status tool, you will sometime see the bad password count increased then dropped back to zero without hitting the threshold or account lockout observation window expiring, that is because the bad password count will be reset if a successful authentication was attempted.
  • both NTLM and Kerberos failed authentication attempts are counted toward the total number of bad password count.
  • Running the network monitoring tool locally on the offending PC can reveal the offending process straigh away.  Microsoft Network Monitor 3.4 does it natively.
  • Installing Microsoft Network Monitor tool (specifically installing the network capture driver) on a server would momentarily disconnect the network connection, which could be a disruption to the services running on the server.

Useful resources

Kerberos Error Codes

ErrorError NameDescription
0x0KDC_ERR_NONENo error
0x1KDC_ERR_NAME_EXPClient’s entry in KDC database has expired
0x2KDC_ERR_SERVICE_EXPServer’s entry in KDC database has expired
0x3KDC_ERR_BAD_PVNORequested Kerberos version number not supported
0x4KDC_ERR_C_OLD_MAST_KVNOClient’s key encrypted in old master key
0x5KDC_ERR_S_OLD_MAST_KVNOServer’s key encrypted in old master key
0x6KDC_ERR_C_PRINCIPAL_UNKNOWNClient not found in Kerberos database
0x7KDC_ERR_S_PRINCIPAL_UNKNOWNServer not found in Kerberos database
0x8KDC_ERR_PRINCIPAL_NOT_UNIQUEMultiple principal entries in KDC database
0x9KDC_ERR_NULL_KEYThe client or server has a null key (master key)
0xAKDC_ERR_CANNOT_POSTDATETicket (TGT) not eligible for postdating
0xBKDC_ERR_NEVER_VALIDRequested start time is later than end time
0xCKDC_ERR_POLICYRequested start time is later than end time
0xDKDC_ERR_BADOPTIONKDC cannot accommodate requested option
0xEKDC_ERR_ETYPE_NOTSUPPKDC has no support for encryption type
0xFKDC_ERR_SUMTYPE_NOSUPPKDC has no support for checksum type
0x10KDC_ERR_PADATA_TYPE_NOSUPPKDC has no support for PADATA type (pre-authentication data)
0x11KDC_ERR_TRTYPE_NO_SUPPKDC has no support for transited type
0x12KDC_ERR_CLIENT_REVOKEDClient’s credentials have been revoked
0x13KDC_ERR_SERVICE_REVOKEDCredentials for server have been revoked
0x14KDC_ERR_TGT_REVOKEDTGT has been revoked
0x15KDC_ERR_CLIENT_NOTYETClient not yet valid—try again later
0x16KDC_ERR_SERVICE_NOTYETServer not yet valid—try again later
0x17KDC_ERR_KEY_EXPIREDPassword has expired—change password to reset
0x18KDC_ERR_PREAUTH_FAILEDPre-authentication information was invalid
0x19KDC_ERR_PREAUTH_REQUIREDAdditional preauthentication required
0x1AKDC_ERR_SERVER_NOMATCHKDC does not know about the requested server
0x1BKDC_ERR_SVC_UNAVAILABLEKDC is unavailable
0x1FKRB_AP_ERR_BAD_INTEGRITYIntegrity check on decrypted field failed
0x20KRB_AP_ERR_TKT_EXPIREDThe ticket has expired
0x21KRB_AP_ERR_TKT_NYVThe ticket is not yet valid
0x22KRB_AP_ERR_REPEATThe request is a replay
0x23KRB_AP_ERR_NOT_USThe ticket is not for us
0x24KRB_AP_ERR_BADMATCHThe ticket and authenticator do not match
0x25KRB_AP_ERR_SKEWThe clock skew is too great
0x26KRB_AP_ERR_BADADDRNetwork address in network layer header doesn’t match address inside ticket
0x27KRB_AP_ERR_BADVERSIONProtocol version numbers don’t match (PVNO)
0x28KRB_AP_ERR_MSG_TYPEMessage type is unsupported
0x29KRB_AP_ERR_MODIFIEDMessage stream modified and checksum didn’t match
0x2AKRB_AP_ERR_BADORDERMessage out of order (possible tampering)
0x2CKRB_AP_ERR_BADKEYVERSpecified version of key is not available
0x2DKRB_AP_ERR_NOKEYService key not available
0x2EKRB_AP_ERR_MUT_FAILMutual authentication failed
0x2FKRB_AP_ERR_BADDIRECTIONIncorrect message direction
0x30KRB_AP_ERR_METHODAlternative authentication method required
0x31KRB_AP_ERR_BADSEQIncorrect sequence number in message
0x32KRB_AP_ERR_INAPP_CKSUMInappropriate type of checksum in message (checksum may be unsupported)
0x33KRB_AP_PATH_NOT_ACCEPTEDDesired path is unreachable
0x34KRB_ERR_RESPONSE_TOO_BIGToo much data
0x3CKRB_ERR_GENERICGeneric error; the description is in the e-data field
0x3DKRB_ERR_FIELD_TOOLONGField is too long for this implementation
0x3EKDC_ERR_CLIENT_NOT_TRUSTEDThe client trust failed or is not implemented
0x3FKDC_ERR_KDC_NOT_TRUSTEDThe KDC server trust failed or could not be verified
0x40KDC_ERR_INVALID_SIGThe signature is invalid
0x41KDC_ERR_KEY_TOO_WEAKA higher encryption level is needed
0x42KRB_AP_ERR_USER_TO_USER_REQUIREDUser-to-user authorization is required
0x43KRB_AP_ERR_NO_TGTNo TGT was presented or available
0x44KDC_ERR_WRONG_REALMIncorrect domain or principal

Netlogon Return Status Codes

Netlogon Return Status Codes
,

WordPress Appliance - Powered by TurnKey Linux