Checklist for Auditing Databases
qVerify that database permissions are granted or revoked appropriately for the required level of authorization.
qReview database permissions granted to individuals instead of groups or roles.
qEnsure that database permissions are not implicitly granted incorrectly.
qReview dynamic SQL executed in stored procedures.
qEnsure that row-level access to table data is implemented properly.
qRevoke PUBLIC permissions where not needed.
qRestrict access to the operating system.
qRestrict permissions on the directory to which the database is installed.
qRestrict permissions on the registry keys used by the database.
qCheck for default usernames and passwords.
qCheck for easily guessed passwords.
qCheck that password management capabilities are enabled.
qCheck that auditing is enabled.
qVerify that network encryption is implemented.
qVerify that encryption of data-at-rest is implemented where appropriate. Ensure that encryption key management is part of the disaster-recovery plan.
qVerify that the latest patches for the database have been installed.
qVerify that the database is running a version the vendor continues to support.
qVerify that policies and procedures are in place to identify when a patch is available and to apply the patch.
qCheck the integrity of the database by looking for root kits, viruses, backdoors, and Trojan horses.