【问题标题】:How to store sensitive information on a hosting provider's servers?如何在托管服务提供商的服务器上存储敏感信息?
【发布时间】:2020-12-14 20:53:52
【问题描述】:

我正在为我的网站使用托管商的单一共享主机。 我已经创建了一个 MySQL 数据库,我需要在我的 PHP api 端点中访问用户名和密码。所以,我创建了一个具有-rw-r--r-- 权限的/config.php 文件:

<?php
    define("dbHost", "localhost");
    define("dbUsername", "XXXXXXXXX");
    define("dbPassword", "XXXXXXXXX");
?>

这是存储此类信息的好方法吗?

【问题讨论】:

    标签: php mysql hosting


    【解决方案1】:

    如果不创建配置文件,您将无法启动。但是您可以加密数据库的数据。 以下是在 MySQL 8.0 中加密数据的几个简单步骤。此过程依赖于密钥环文件。这不符合合规要求(请参阅下面的关键管理系统),但这是一个很好的第一步。

    • 检查您的 MySQL 版本。它应该是 MySQL 5.7 或 8.0。 在你的 my.cnf 中预加载插件:early-plugin-load = keyring_file.so

    执行以下查询:

    1. INSTALL PLUGIN keyring_udf SONAME ‘keyring_udf.so’;
    2. CREATE FUNCTION keyring_key_generate RETURNS INTEGER SONAME ‘keyring_udf.so’;
    3. SELECT keyring_key_generate(‘alongpassword’, ‘DSA’, 256);
    4. ALTER TABLE titles ENCRYPTION = ‘Y’;

    根据文档警告: keyring_file 和 keyring_encrypted 文件插件并非旨在作为法规遵从性解决方案。 PCI、FIPS 等安全标准要求使用密钥管理系统来保护、管理和保护密钥库或硬件安全模块 (HSM) 中的加密密钥。

    我希望这篇文章对你有用。

    【讨论】:

      猜你喜欢
      • 2012-07-23
      • 2011-10-04
      • 1970-01-01
      • 2020-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-24
      相关资源
      最近更新 更多