安全地限制对私有 Debian 存储库的访问

Hum*_*ber 9 linux ubuntu debian apt

我正在寻找一种方法来限制对私有 Debian 存储库的访问,并能够以非交互方式对其进行身份验证(即使用脚本)

我发现的最有用的文章实际上来自Debian 管理站点,但安全方法使用 ssh 和公钥/私钥。它工作得很好,但每个主机的公钥都需要在远程 authorized_keys 文件中才能成功进行身份验证。它并没有说明为 ssh:// 提供密码,但我认为这应该是可能的。

您是否尝试过其他替代方案(例如 ftps)?

提前致谢

Min*_*ark 5

如果您总是apt-get手动在服务器上运行(没有apt-get由 crons 启动的自动命令),那么您可以考虑使用ssh 代理转发。这避免了必须为您管理的每台服务器管理一个公钥/私钥对,并且这可能比将私钥留在每台服务器上更安全。

初始配置 - 连接到您要管理的服务器,并添加如下内容/etc/apt/sources.list(此示例假设您希望您的服务器连接到manager帐户):

    deb ssh://manager@my.repository.org/path other stuff
Run Code Online (Sandbox Code Playgroud)
  • 在您自己的计算机上创建一对私钥/公钥johndoe,例如您的登录名(假设您的计算机在 debian 上运行:如果不是,您可以从专用于管理的 debian 服务器执行此操作):

    ssh-keygen
    
    Run Code Online (Sandbox Code Playgroud)
  • 确保它受到强大的关键短语的保护
  • 将您的公钥复制到存储库服务器/home/manager/.ssh/authorized_keys

    ssh-copy-id manager@my.repository.org
    
    Run Code Online (Sandbox Code Playgroud)

每个管理会话一次

管理服务器

结束您的管理会话

好处

  • 不需要太多初始配置
  • 只需要一个私钥
  • 私钥受强密码保护
  • 如果有人获得对您的一台服务器的 root 访问权限,他们将无法立即访问您的存储库服务器。
    • 请注意,如果黑客有耐心且合格,他可以等到您使用代理转发连接到服务器,然后他就可以劫持转发机制以获得对您的存储库服务器的访问权限。
    • 为了帮助防止这种情况,您可以使用ssh-ask来接受/拒绝每次使用您的密钥的尝试。
    • 在任何情况下,黑客都无法访问私钥本身:他只能在您连接到服务器期间劫持转发机制以使用密钥。


Ant*_*oun 4

实现此目的的一种方法是仅允许一组特定的 IP 访问存储库。这对于 LAN 和 VPN 非常有效。

简单高效。