Title: The DBMS must obscure feedback of authentication information during the authentication process to protect the information from possible exploitation/use by unauthorized individuals.
Vulnerability ID: V-32479
STIG ID: SRG-APP-000178-DB-000083
IA Controls: None
Description: To prevent the compromise of authentication information, such as passwords, during the authentication process, the feedback from the information system shall not provide any information that would allow an unauthorized user to compromise the authentication mechanism. Obfuscation of user provided information when typed into the system is a method used in addressing this risk. For example, displaying asterisks when a user types in a password, is an example of obscuring feedback of authentication information. Database applications may allow for entry of the account name and password as a visible parameter of the application execution command. This practice should be prohibited and disabled to prevent shoulder surfing.
Check Text: Interview the DBA to determine if any applications that access the database (i.e., sqlcmd, sqlplus, etc.) allow for entry of the account name and password on the command line. If any do, determine whether these applications obfuscate authentication data. If they do not, this is a finding.
Fix Text: Configure or modify applications to prohibit display of passwords in clear text on the command line.[divider]
There are a lot of ways for a DBA to connect to an instance of SQL Server. Some of those are command line tools, and others are scripted, such as PowerShell. This finding is stating that any of those tools used should obfuscate, or hide, the actual password. You have probably seen this in many apps where you enter your password and you only see ********. Not all command line or scripting tools allow for this obfuscating of the password. If you are using any of those tools that don’t hide the password, you need to re-evaluate if they are truly needed, and if so what methods can be used to obscure the password to be in compliance.
For example: SQLCMD is a very commonly used tool. If you use the -P password option, your password is displayed in plain text on the screen. By not using the -P password option, you will be prompted to enter your password. The Password: prompt that appears will now display your password as it is entered. There is an additional option to set the SQLCMDPASSWORD variable prior to running SQLCMD. The command used is SET SQLCMDPASSWORD= p@a$$w0rd (or whatever your password is). The problem with this is that your password is visible in plain text to anyone that can see your monitor.