Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 17 » SQL Anywhere Server - Database Administration » User and database security » Data security

Security: Passwords

Passwords are an important part of any database security system.

To be secure, passwords must be difficult to guess, and they must not be easily accessible on users' hard drives or other locations. SQL Anywhere passwords are case sensitive.

Passwords sent between a client and the database server during a connection are encrypted.

Implement a login policy

Use a login policy to control the frequency of password changes and to specify the number of login attempts that are allowed before an account is locked.

Implement minimum password lengths

By default, passwords must be 6 bytes in length. For greater security, change the minimum length requirement on all new passwords to disallow short (and therefore easily guessed) passwords. Do this by setting the min_password_length database option to a value greater than zero. The following statement enforces passwords to be at least 8 bytes long:

SET OPTION PUBLIC.min_password_length = 8;
Implement password expiration

By default, database passwords never expire. Use a login policy to implement password expiry.

Do not include passwords in procedures

Some statements, such as CREATE USER, have an IDENTIFIED BY clause for specifying a password. When you create a procedure that includes these statements, do not specify the password as a string literal; the definitions of procedures are visible in the SYSPROCEDURE system view. Instead, create a variable outside of the body of the procedure, and then reference the variable from the IDENTIFIED BY clause.

Do not include passwords in ODBC data sources

Passwords should not be easily available to unauthorized people in a security-conscious environment.

When you create profiles that allow users to connect, such as an ODBC data source, do not include passwords. This practice ensures that they are not viewed by unauthorized users.

Encrypt configuration files containing passwords

When you create a configuration file, do not include passwords. If you decide that you cannot avoid including password information, then consider encoding the contents of the file with the File Hiding utility (dbfhide) and consider securing the file from unauthorized access using appropriate operating system permissions.

Use password verification

Use the verify_password_function option to specify a function that implements password rules.

Prevent any single administrator from knowing the complete password of another user

Use the dual control password feature to require two administrators to change a password. One administrator sets the first part of a password, and another administrator sets the second part of the password. The user specifies the two password parts to connect to the database. The target user must have the change_password_dual_control option enabled in their login policy.