Password Complexity
Password
Complexity is a measure to
increase security to prevent data breach. The following are recommended for a
strong password:
-
Passwords must be at least 8
characters in length.
-
Passwords should contain both
upper and lowercase alphabetic characters (e.g A-Z, a-z)
-
Passwords should have at least
one numerical character ( e.g 0-9)
-
Passwords
should have at
least one non alphanumeric characters (e.g ~!@#$% ^&*())
Password
Settings
Configure below
settings under the "AspNetSqlMembershipProvider" section
in the LinkWEB "web.config' file. Refer to Figure
1.
-
MinRequiredPasswordLength - This
defines the minimum length of a password. If the configuration value is 4
then,
-
Password A which is "ABC" will not
be created.
-
Password B which is "ABCDE" will be
created
-
MinRequiredNonalphanumericCharacters - This defined the
minimum number of non alphanumeric charters in a password. If the
configuration value is 2
then,
-
Password A which is "A#C" will not
be created.
-
Password B which is "A#CD!" will be
created
-
MaxInvalidPasswordAttempts - This is
the number of times a user can retry to
login before the user account is locked. For example, if the value is 3, and
the user enters invalid details for the 4th time, system will lock the
user.
-
An email
notification is sent to the user when the user account gets
locked.
-
Configure the contents of the email in the "User Account Locked Out"
template under "LinkWEB - Company Administration - Document
Templates
".
-
PasswordAttemptWindow - This is the time in minutes after which
the user account is unlocked.
Password
Expiry
Password Expiry is a mechanism to make
users change their passwords regularly. For example, passwords are set to expire
in 90 days.
Steps to implement Password
Expiry
-
Navigate to "LinkWEB - Company
Administration Processes".
-
Search for process "SYS010 -
Enforce Password Expiration"
-
Configure the "Password Expiry Days"
- This is the number of days after which the password will expire. The user
will be forced to change the password on login after the configured number
of days has passed.
-
Enable the process.
Login Captcha
"Login Captcha"
is a security to disallow robotic or scripted login.
-
A "Security Code" is added to the
"Login Page" when the user login fails.
-
Users will need to enter
the password and captcha to login.
Figure
1: Configuration for Password
Complexity
Additional password
restrictions can be implemented using RegEX validation. Using the menu "Company Administration ~>
Configuration" set the configuration shown below to add additional password
validation.
-
Flag:
"PasswordValidationRegEx
". This value is the RegEX used to validate the
password. Example:
-
^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$ Min length 8, at least one letter and one
number
-
^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]{8,}$ Min length 8, at least one letter, one number and one special
character
-
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$ Min length 8, at least one uppercase letter, one lowercase
letter and one number
-
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$ Min length 8, at least one uppercase letter, one lowercase
letter, one number and one special character
-
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,10}$ Min length 8, Max length 10, at least one uppercase letter,
one lowercase letter, one number and one special
character
-
Flag:
"PasswordValidationErrorText
". This value is displayed to the user if the
complexity does not match the Regex value.
Note that new users will
be validated against the configuration in the "Default
Company" defined in the web.config. For authenticated users, the current
company context configuration values will be used.