【问题标题】:Connection refused error with AWS + Hashicorp VaultAWS + Hashicorp Vault 的连接被拒绝错误
【发布时间】:2021-07-16 15:00:48
【问题描述】:

我在 EC2 实例上配置了 Hashicorp Vault 服务器。尝试使用邮递员测试传输秘密引擎 API 时,邮递员一直收到错误连接被拒绝,我进入全猿模式并打开安全组入站规则上的所有端口,但它不起作用,我将弹性 IP 附加到实例并且也没有工作,我只是尝试使用简单的 GET 并且我只是不断收到相同的 connectionrefused 错误。

当我在 ssh 连接会话上使用 cUrl 时,我没有任何问题。指定的托管地址是 127.0.0.1:8200,在邮递员中,我用我在屏幕截图中明显审查的实例的公共地址替换了 localhost,在标题中存在访问保险库所需的令牌,为简单起见,我只是使用根令牌。

Postman screecap if it helps

【问题讨论】:

    标签: amazon-web-services security amazon-ec2 hashicorp-vault


    【解决方案1】:

    @Emilio Marchant

    我遇到过类似的问题(不是邮递员,而是telnet),让我们在这里尝试理解问题。

    问题在于 127.0.0.1 IP。这是环回 IP,当您(或您的计算机)调用 IP 地址时,您通常会尝试联系互联网上的另一台计算机。但是,如果您调用 IP 地址 127.0.0.1,那么您正在与 localhost 进行通信——原则上是与您自己的计算机进行通信。

    参考链接:https://www.ionos.com/digitalguide/server/know-how/localhost/

    您可以尝试以下内容。

    1. 使用 --dev-listen-address 参数启动 Vault 开发服务器。

    例如:

    vault server -dev -dev-listen-address="123.456.789.1:8200"
    

    在上述命令中,将 '123.456.789.1:8200' 替换为 '

    1. 接下来设置 VAULT_ADDR 和 VAULT_TOKEN 参数如下
    export VAULT_ADDR='http://123.456.789.1:8200'
    export VAULT_TOKEN='*****************'
    
    

    再次将“http://123.456.789.1:8200”替换为“http://[您的 ec2 实例私有 IP]:8200”

    对于 Vault_token :您应该在控制台中获得一个根令牌,当您启动 Vault 服务器时,请使用该令牌

    现在尝试从邮递员或使用 curl 命令连接。它应该可以工作。

    参考问题和解决方案:

    How to connect to remote hashicorp vault server

    【讨论】:

    • 谢谢!我还不能投票,但如果可以的话,我会的。我相信您的回答也会对未来的保险库用户有所帮助!
    【解决方案2】:

    这里值得注意的是响应是“连接被拒绝”。此错误意味着正在建立连接,并且发现该端口上没有运行任何进程。此错误表示防火墙没有问题。防火墙会导致连接断开(拒绝)或超时(忽略),但不会给出“Econnrefused”。

    最可能的问题是保管库服务器进程未绑定到正确的网络接口。 hashcorp-vault 中必须有一个配置来设置要绑定的 IP。默认情况下,大多数服务器仅绑定只能从127.0.0.1 访问的环回地址。您需要通过将其更改为0.0.0.0 将其绑定到“所有”网络接口。我不知道 hashcorp vault 的具体配置选项,但肯定有这个效果。

    可能的安全问题:
    请注意,某些服务器希望您在 reverse proxy 后面运行它,以便您可以在需要时设置 SSL (https) 和其他身份验证。不应该在没有 SSL 的情况下通过 http 公开访问像 Vault 服务器这样的应用程序。

    【讨论】:

    • 感谢您的宝贵时间。我知道存在安全问题,这不适用于生产,仅用于测试等。关于地址绑定,在创建 Vault 服务器的过程中,它会要求提供主机地址,并指定为 127.0.0.1:8200 并禁用 tls,再次仅用于测试目的。我必须补充一点,我不确定是否 tls 禁用或服务器没有您所说的反向代理或堡垒实例是问题的一部分,我完全是 Vault 和 AWS 的新手,所以老实说,我一直在黑暗中学习。
    • 评论 2:现在我可以毫无问题地完全使用 SSH 会话中的传输 API,但邮递员根本不起作用
    • 如果您可以在配置中将主机地址更改为 0.0.0.0:8200 而不是 127.0.0.1:8200,那么它可能会起作用。 TLS 不应该是导致此问题的原因。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-18
    • 1970-01-01
    • 1970-01-01
    • 2014-06-17
    • 2016-12-09
    • 2018-04-21
    相关资源
    最近更新 更多