Support > About independent server > How to correctly find and protect credentials in database password security management?
How to correctly find and protect credentials in database password security management?
Time : 2025-09-26 14:11:09
Edit : Jtti

Locating database passwords is a common system maintenance requirement for Japanese server management, but strict security protocols must be adhered to. Database passwords are a critical element of system security, and improper password management can lead to serious data breaches. This article systematically explains the storage location, retrieval methods, and security best practices for database passwords on Linux Japanese servers.

Password Storage Locations in Configuration Files

Most database systems store connection credentials in various configuration files. MySQL and MariaDB typically define access parameters in the main configuration file `/etc/mysql/my.cnf` or in the included directory `/etc/mysql/conf.d/`. A more common practice is to set passwords in a user-specific configuration file `~/.my.cnf`, which typically contains the following format:

ini
[client]
user=database username
password=plaintext or encrypted password

This configuration allows users to access the database without having to enter a password each time, but it also introduces security risks. PostgreSQL databases define access control in `/etc/postgresql/version/main/pg_hba.conf`. Passwords may be stored in the `~/.pgpass` file in the format `host:port:database:username:password`.

It is important to note that modern security practices strongly discourage the use of plaintext passwords in configuration files. When reviewing these files, ensure that the file permissions are set correctly, typically to 600 (owner-only read/write):

chmod 600 ~/.my.cnf

Improper file permissions can allow other users to read sensitive credentials, posing a serious security risk. Regularly auditing the permissions and contents of these configuration files is fundamental to database security management.

Password Traces in Environment Variables and Process Information

Applications often pass database connection information through environment variables. Examining the environment variables of the web server or application process may reveal password clues. For running processes, you can check the /proc/<PID>/environ file:

cat /proc/$(pgrep f mysql)/environ | tr '\0' '\n'

This command displays the MySQL process's environment variables in a human-readable format, which may contain database connection strings or password parameters.

Also, examining application startup scripts and system service configuration files can reveal password settings. Systemd service files (located in /etc/systemd/system/ or /lib/systemd/system/) may contain an EnvironmentFile directive pointing to a file containing passwords. Web servers like Apache and Nginx sometimes also directly include database connection information in their virtual host configurations.

Another place to check is the command history. Users may have entered commands containing passwords directly on the command line:

history | grep i mysql

However, it is important to note that professional administrators typically avoid entering passwords directly on the command line, using interactive prompts or configuration files.

The database system itself also maintains user account and password information. MySQL and MariaDB store user credentials in the `user` table of the `mysql` database:

sql
SELECT user, host, authentication_string FROM mysql.user;

However, it's important to note that passwords are typically stored in hashed form, not plain text. These hashes can be used to crack passwords, but direct decryption is nearly impossible.

PostgreSQL stores password hashes in the `pg_authid` table of the `pg_catalog` file, but this table is generally inaccessible to ordinary users. A more practical approach is to check the authentication method configured in the `pg_hba.conf` file and see if there are any insecure settings that trust authentication. For some application databases, such as MongoDB, the `/etc/mongod.conf` configuration file may include a security configuration section to define authentication parameters. If a password is configured for the Redis database, it is set using the `requirepass` directive in `/etc/redis/redis.conf`.

The Risk of Password Leakage in Backup Files and Logs

System backups and database dump files often contain sensitive information. Checking backup scripts and archive files may reveal database passwords:

grep r "password" /opt/backups/

This search should be performed with caution to avoid exposing sensitive information in an unsecured environment.

Database logs and application logs are another potential source of information. While standard practice prohibits logging passwords in logs, configuration errors or debugging settings may cause passwords to be accidentally recorded:

grep i "password" /var/log/mysql/error.log

Regularly reviewing log contents and ensuring they contain no sensitive information is a key security measure. Log file permissions should also be strictly restricted to prevent unauthorized access.

Security Audits and Compliance Requirements

During authorized security audits, password security issues can be systematically checked using specialized tools. Tools such as LinPEAS and Linux Smart Enumeration can automatically detect common security configuration issues, including insecure password storage. Enterprise environments should establish a strict password management policy, including regular password changes, the use of a password manager, and the principle of least privilege. Passwords for sensitive services should be managed using a centralized key management service (such as HashiCorp Vault or AWS Secrets Manager) rather than stored directly on Japanese servers.

Best Practices for Password Security

The most fundamental solution is to avoid storing passwords at rest on Japanese servers. Using dynamic credentials (such as OAuth tokens and short-lived certificates) can significantly reduce the risk of password compromise. Applications should be configured to use IAM roles or service accounts instead of static passwords.

For scenarios where passwords must be used, follow best practices: First, never hardcode passwords in code or configuration files. Second, use a strong password policy that includes sufficient length and complexity. Third, rotate passwords regularly and ensure that all systems using the passwords are updated simultaneously.

Emergency Response and Password Compromise Handling

When a password compromise is suspected, initiate the emergency response process immediately. First, change all affected passwords, including database passwords and passwords for related system accounts. Second, review access logs to detect unusual access patterns. Third, update all security certificates and keys.

Establishing a comprehensive monitoring system can help detect password compromises early. Abnormal login detection, data access pattern analysis, and user behavior analytics can all help identify potential security incidents. Security Information and Event Management (SIEM) systems can centrally collect and analyze this data.

Secure database password management is a core responsibility of system administrators. By understanding where passwords are stored, implementing strict security controls, and adhering to best practices, password-related security risks can be significantly reduced. In the digital age, credential protection is no longer just a technical issue; it's a critical component of organizational governance and compliance.

 

Relevant contents

Balancing high concurrency and performance optimization for US servers The Hong Kong server tick rate is the invisible engine behind the smooth gaming experience. Hong Kong server multi-core CPU performance analysis, a must-read for high-concurrency business Analyzing the core differences between blade servers and rack servers What are the server requirements for running a database? CPU or memory is more important? How to rent a Japanese server? What should you pay attention to when choosing an IDC merchant? What does the after-sales service include in Japanese server rental? 2U2P and 4U4P servers are key choices in enterprise digital transformation Technical principles and network configuration solutions for accessing websites without domain names Is it okay to use a mechanical hard drive for streaming media services on the server?
Go back

24/7/365 support.We work when you work

Support