ハードコードされたパスワード

ハードコードされたパスワード

概要

ハードコードされたパスワードや秘密情報は、ソースコード、バイナリ、バックアップ、ログから漏えいしやすくなります。

影響

一度漏えいすると、同じ秘密情報を使うすべての環境が侵害される可能性があります。

対策

シークレット管理ツールや保護された環境設定を使い、秘密情報をローテーションし、ソース管理に含めないようにします。

public Connection DBConnect(String url, String id) {
    try {
        String url = props.getProperty("url");
        String id = props.getProperty("id");
        conn = DriverManager.getConnection(url, id, "tiger");
    } catch (SQLException e) {
        System.err.println("...");
    }
    return conn;
}
public Connection DBConnect(String url, String id) {
    try {
        String url = props.getProperty("url");
        String id = props.getProperty("id");
        String pwd = props.getProperty("passwd");
    ...
    byte[] decrypted_pwd = cipher.doFinal(pwd.getBytes());
    pwd = new String(decrypted_pwd);
    conn = DriverManager.getConnection(url, id, pwd);
    } catch (SQLException e) {
        System.err.println("...");
    }
    return conn;
}