AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 33195
Accepted
ae.
ae.
Asked: 2009-06-30 03:48:19 +0800 CST2009-06-30 03:48:19 +0800 CST 2009-06-30 03:48:19 +0800 CST

有哪些选项可用于保护半私有网络内的数据传输?

  • 772

更具体地说,我计划建立一个负载平衡的电子商务网站。两个负载均衡器将接受来自管道的 https 连接,然后按照 ssl 的性质,它们将需要验证连接,解密它,然后将未加密的请求转发到应用程序服务器。

在一个安全的专用网络中,一切都会很好,但是我想用虚拟机(slicehost)运行这个设置。理论上,机器应该在专用网络上,但是其他人的机器(切片)可以以某种方式窥探网络内的流量是可行的。我需要假设网络不安全。

所以。我曾考虑过使用 ssh,有人建议我使用 VPN(我之前没有设置过,也不太了解)。如果我使用 ssh,我将需要持续监控连接并确保其正常运行。

我想我想知道其他人是怎么做的?

越简单越好(即可能出错和需要监控的事情越少)

这是一个linux设置。我正在考虑使用磅作为负载均衡器。仍然需要在这方面做一些测试。也开始阅读nginx。

load-balancing ssh ssl https
  • 3 3 个回答
  • 328 Views

3 个回答

  • Voted
  1. rkthkr
    2009-06-30T04:05:35+08:002009-06-30T04:05:35+08:00

    OpenVPN是 IPSEC 的一个非常好的和简单得多的“替代方案”。OpenVPN 是一个功能齐全的开源 SSL VPN 解决方案,存在于用户空间中。多平台(windows、linux、osx ..)包括所有主要的 Linux 发行版。

    示例设置:

    首先我们生成静态密钥(不安全但简单):

    $ openvpn --genkey --secret static.key
    

    (通过 scp 将此密钥复制到您的客户端/服务器)

    配置服务器(/etc/openvpn/server.conf)

    dev tun
    ifconfig 10.8.0.1 10.8.0.2
    secret static.key
    keepalive 10 60
    ping-timer-rem
    persist-tun
    persist-key
    

    配置客户端(/etc/openvpn/client.conf)

    remote myserver.address.com
    dev tun
    ifconfig 10.8.0.2 10.8.0.1
    secret static.key
    keepalive 10 60
    ping-timer-rem
    persist-tun
    persist-key
    

    确保服务器上的 UDP 端口 1194 已打开。

    在客户端/服务器上运行:

    # server
    openvpn --config /etc/openvpn/server.conf
    # client
    openvpn --config /etc/openvpn/client.conf
    

    要验证 VPN 是否正在运行,您应该能够从服务器 ping 10.8.0.2 并从客户端 ping 10.8.0.1。

    • 5
  2. Best Answer
    Evan Anderson
    2009-06-30T03:51:31+08:002009-06-30T03:51:31+08:00

    对我来说,这听起来像是 IPSEC 的工作。

    IPSEC 已“融入”现代 Linux 发行版。它对应用层完全透明并且“正常工作”。我会走这条路线进行需要保持私密的机器内通信。

    使用预共享密钥的“主机到主机”IPSEC 配置非常简单。例如,在 CentOS 中,已经有一种方法可以将这些主机到主机的连接配置为正常的“网络脚本”功能的一部分(参见http://www.centos.org/docs/4/4.5/Security_Guide/ s1-ipsec-host2host.html)。

    根据您使用的 Linux 发行版,它可能很容易配置,或者您可能需要做一些工作。您不需要任何 VPN 启动/关闭脚本、隧道监控脚本等——它们都将在第 3 层“正常工作”。对我来说,这听起来像是一个成功的解决方案。

    编辑:

    我经常大量使用 OpenVPN,所以我不是在这里“反对”OpenVPN,但作为解决您的特定问题的方法,我认为它不是最佳的,原因如下(按照我的关注程度):

    • 它创建了一个并行网络基础设施。您必须确保您的主机内通信使用正确的目标 IP 地址,以便通信通过 VPN 而不是公共 IP 网络传输。如果您打算使用 DNS 名称,这可能会特别有趣,因为您需要对您的 DNS 做一些事情(创建 hostA-secure、hostB-secure 等主机名,或者创建一个始终返回当查询来自“安全”主机时,“安全”IP 地址)以确保您将名称解析为“安全”VPN IP。

    • OpenVPN 是点对点的。您需要配置 OpenVPN 隧道网格或通过单个主机路由 OpenVPN 流量“集线器和辐射”。IPSEC 完全是点对点的,您可以轻松地使用 IPSEC 和动态密钥配置网状拓扑。使用预共享键控需要更多工作,但您也可以通过这种方式配置网状拓扑。

    • OpenVPN 是一个需要启动的用户级程序。这不是什么大不了的事,但是 IPSEC 存在于内核空间中,并且在配置后“正常工作”而无需启动任何用户态程序。

    我不明白为什么人们认为 IPSEC 很难配置。具有预共享密钥的 IPSEC 在现代发行版上与具有静态密钥的 OpenVPN 一样容易配置(如果不是更多的话——通常您的发行版会自动处理启动/停止它)。使用 PKI 的具有动态密钥的 IPSEC 需要与使用基于证书的身份验证配置 OpenVPN 几乎相同的步骤。

    OpenVPN 创建具有第二组 IP 地址的并行网络拓扑的复杂性将是我的杀手锏。我希望我的主机能够使用与他们接收不安全通信的相同 IP 地址进行交谈,“自动”透明地加密彼此之间的连接。

    编辑2:

    对于海报所描述的内容,我认为 IPSEC 听起来是最好的解决方案(出于我上面描述的原因)。如果发帖人谈论的是与其他操作系统的互操作,而不仅仅是为了保护某些主机之间的通信,我会特别推荐 OpenVPN。

    我同意将各种 Linux IPSEC 实现与其他任何实现互操作是困难的(实际上,几乎任何 IPSEC 与几乎任何其他 IPSEC 实现互操作也是如此)。我已经设法让 Cisco PIX 到 OpenSWAN 隧道工作,并且我在来自 Windows 机器的静态密钥隧道方面取得了一些成功。我什至从未接触过任何 Juniper 设备,所以我根本无法与之交谈。

    我使用过 OpenSWAN(实际上是 FreeSWAN),我同意这些文档很难。自从 RedHat “选择” KAME 工具来管理 Linux 2.6 内核 IPSEC 堆栈以来,我已经停止关注 OpenSWAN。在过去几年中,我很少需要主机到主机 IPSEC(在 RHEL 或 CentOS 上——我在 Linux 世界中真正使用过的所有这些),KAME 工具都做得很好。我一直在成功使用 RHEL 的“官方”文档和 KAME 项目站点的文档。

    • 4
  3. skolima
    2009-06-30T04:17:07+08:002009-06-30T04:17:07+08:00

    对于一个简单的、自我监控的 ssh 隧道,我使用autossh。但是请记住,对于高吞吐量,您可能需要花时间配置完整的 VPN,因为 ssh 在大量流量下表现不佳。

    • 0

相关问题

  • 使用 IIS7 请求路由和负载平衡模块进行负载平衡

  • 隧道 Xbox 网络流量 [关闭]

  • 软件http负载均衡器?

  • 为什么使用authorized_keys通过ssh自动登录不起作用?

  • 您最喜欢的 SSL 证书提供商是什么?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve