【问题标题】:PostgreSQL pgAdmin III SSL connection to AWS RDS instancePostgreSQL pgAdmin III SSL 连接到 AWS RDS 实例
【发布时间】:2014-06-24 21:02:39
【问题描述】:

我正在尝试使用 SSL 连接到在 AWS (Amazon Web Services) 上运行的 RDS。我在 PosgreSQL pgAdmin III 文档中看到了有关 SSL 选项卡上字段的有限信息。

RDS 实例默认设置为接受 SSL 连接。

我从 Amazon 下载了公钥,并使用 openSSL 将其从 .pem 转换为 .crt 文件。在 pgAdmin III 的 SSL 选项卡上,我输入了转换后的密钥文件“服务器根证书文件”字段的路径。

我可以毫无问题地连接到实例但没有迹象表明数据正在通过 SSL 传输。 AWS 没有将其 RDS 实例设置为仅使用 SSL,因此我可能在不使用 SSL 的情况下连接并且不知道。

pgAdmin III 在使用 SSL 连接时是否显示任何指示(如锁定图标)? 任何人都可以提供描述 pgAdmin III 中 SSL 选项卡上的字段(SSL 下拉列表、客户端证书文件、客户端密钥)的其他信息吗?

谢谢。

【问题讨论】:

    标签: postgresql ssl amazon-web-services


    【解决方案1】:

    我没有在 AWS 上将 SSL 与 PGAdmin 一起使用,但我在服务器上使用过 SSL,我可以告诉您,您知道何时通过 PGAdmin 连接到服务器,我不确定那里有什么歧义,可以你看到数据库、表格了吗?

    下面引用的帖子可能会帮助您通过 SSL 连接到服务器。

    在客户端,我们需要三个文件。对于 Windows,这些文件必须是 在 %appdata%\postgresql\ 目录中。对于 Linux ~/.postgresql/ 目录。 root.crt(受信任的根证书) postgresql.crt(客户端 证书)postgresql.key(私钥)

    在服务器机器上生成需要的文件,然后复制 他们给客户。我们将在 /tmp/ 中生成所需的文件 目录。

    首先为客户端机器创建私钥postgresql.key, 并删除密码。

    openssl genrsa -des3 -out /tmp/postgresql.key 1024
    
    openssl rsa -in /tmp/postgresql.key -out /tmp/postgresql.key
    

    然后创建证书 postgresql.crt。它必须由我们的签名 受信任的根(使用服务器上的私钥文件 机器)。此外,证书公用名 (CN) 必须设置为 我们将连接的数据库用户名。

    openssl req -new -key /tmp/postgresql.key -out /tmp/postgresql.csr -subj '/C=CA/ST=British Columbia/L=Comox/O=TheBrain.ca/CN=www-data'
    
    openssl x509 -req -in /tmp/postgresql.csr -CA root.crt -CAkey server.key -out /tmp/postgresql.crt -CAcreateserial
    

    将我们创建的三个文件从服务器/tmp/目录复制到 客户端机器。

    将受信任的根证书 root.crt 从服务器机器复制到 客户端机器(对于 Windows pgadmin %appdata%\postgresql\ 或 Linux pgadmin ~/.postgresql/)。修改文件权限 postgresql.key 限制只有你的访问权限(可能不需要 Windows 作为受限访问已经被继承)。除掉 来自服务器 /tmp/ 目录的文件。

    发件人:http://www.howtoforge.com/postgresql-ssl-certificates

    【讨论】:

      【解决方案2】:

      首先,以您的 postgresql 管理员用户身份登录,然后运行以下命令在 RDS 上安装 sslinfo:

      create extension sslinfo;
      

      要验证您是否通过 ssl 连接,只需在会话中运行以下查询:

      select ssl_is_used(); 
      

      如果它返回 true (t),那么你是通过 SSL 连接的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-31
        • 1970-01-01
        • 2023-02-20
        • 2020-08-27
        • 1970-01-01
        • 2020-04-28
        相关资源
        最近更新 更多