SSH 与代理技术:保障网络安全与连接的有效方案
1. SSH 通过 HTTP 代理访问
在许多网络环境中,组织出于安全考虑,会限制内部员工对互联网的全端口出站访问,尤其是 SSH 所使用的端口。通常,员工仅能通过 HTTP 代理服务器访问 80(HTTP)和 443(HTTPS)端口。这就使得在这类网络中使用 SSH 客户端面临挑战。为了能继续使用 SSH 客户端访问外部的 SSH 服务器,需要向 HTTP 代理服务器发送 HTTP CONNECT 命令。
1.1 使用 SecureCRT 通过 HTTP 代理访问 SSH
使用 SecureCRT 时,可以借助 CONNECT %h:%p HTTP/1.0\r\n\r\n 命令(其中 %h 代表主机变量, %p 代表端口变量),在无需对 HTTP 代理服务器进行任何修改的情况下,实现 SSH 客户端通过 HTTP 代理服务器的访问。具体配置步骤如下:
1. 启动 SecureCRT:依次点击“Start ➪ Programs ➪ SecureCRT ➪ SecureCRT”。
2. 从菜单栏选择“Options”。
3. 选择“Global Options”。
4. 高亮显示“Firewall”部分。
5. 在右侧面板的“Type”字段中选择“Generic Proxy”。
6. 在“Hostname or IP”字段中输入 HTTP 代理服务器的主机名或 IP 地址。
7. 输入用于 HTTP 代理连接的端口,通常与客户端 Web 浏览器用于上网的端口相同,大概率是 80 或 8080。
8. 留空“Prompt”文本框。
9. 在“Command”文本框中输入 CONNECT %h:%p HTTP/1.0\r\n\r\n 。
10. 点击“OK”。
此外,对于每个要通过代理服务器使用的 SSH 会话,务必勾选“Use firewall to connect”选项。
1.2 使用 OpenSSH 通过 HTTP 代理访问 SSH
OpenSSH 的命令行客户端也可通过 HTTP 代理服务器使用 SSH,但需要先从 www.agroman.net/corkscrew 下载名为 Corkscrew 的工具。下载并安装该工具的步骤如下:
# 解压并安装工具
gunzip –c corkscrew-2.0.tar.gz | tar xvf –
cd corkscrew-2.0
./configure
make
make install
安装完成后,编辑 ~/.ssh/config 文件,添加以下内容,将 http.proxy.server 替换为 HTTP 代理服务器的主机名或 IP 地址,将 port 替换为 HTTP 代理服务器监听的端口(通常是 80 或 8080):
ProxyCommand /usr/local/bin/corkscrew http.proxy.server port %h %p
最后,使用 -F 标志连接到远程 SSH 服务器:
ssh –F config ip.ssh.server –p 80
2. 使用 SSH 保障无线网络安全
无线网络(特别是 802.11b)自推出以来就一直面临着诸多安全问题,如 WEP 的严重安全漏洞以及管理信标的明文通信等。然而,无线网络在许多组织中又是不可或缺的。下面介绍两种使用 SSH 保障无线网络安全的方法。
2.1 使用 SSH 和 HTTP 代理保障无线网络安全
以员工在咖啡店使用不安全无线网络为例,实现安全 Web 通信的架构配置步骤如下:
1. 在 11.17.1.1 上安装 SSH 服务器,监听 22 端口。
2. 在 11.17.11 上安装代理服务器,监听 8080 端口。
3. 允许 22 端口通过周边防火墙和路由器。
4. 在“Coffee Shop Client”上配置 SSH 客户端,将端口 8080 从客户端回环接口 127.0.0.1 转发到 SSH/代理服务器 11.17.1.1 的 8080 端口。
5. 在“Coffee Shop Client”上配置 Web 浏览器,使用 127.0.0.1 的 8080 端口作为代理服务器。
完成上述配置后,“Coffee Shop Client”就可以通过已建立的 SSH 连接与 HTTP 代理进行安全连接,从而在不安全的无线网络上实现安全的 Web 通信。如果还为企业邮件和文件传输设置了端口转发,客户端还可以在不安全的网络中通过安全连接进行邮件收发、文件传输和 Web 浏览。
2.2 使用 SSH 和动态端口转发保障无线网络安全
动态端口转发只需 SSH 服务器和 SSH 客户端,无需代理服务器。同样以员工在咖啡店使用不安全无线网络为例,实现安全 Web 通信的步骤如下:
1. 在 11.30.6.12 上安装 SSH 服务器,监听 22 端口。
2. 允许 22 端口通过周边防火墙和路由器。
3. 在“Coffee Shop Client”上配置 SSH 客户端进行动态端口转发,使用 SOCKS 在回环地址 127.0.0.1 的 8080 端口:
- 对于 OpenSSH: ssh 11.30.6.12 -p 22 -l root -D 1080
- 对于 SSH: ssh2 11.30.6.12 -p 22 -l root -L socks/1080
4. 在“Coffee Shop Client”上配置 Web 浏览器,使用 127.0.0.1 的 8080 端口作为 SOCKS 服务器。具体操作:依次点击“Internet Explorer ➪ Tools ➪ Internet Options ➪ Connections ➪ LAN Settings”,勾选“Use Proxy Server”,选择“Advanced”,在 SOCKS 服务器字段中输入 127.0.0.1 并设置端口为 1080。
这两种方法为无线网络提供了快速、便捷、低成本且安全的解决方案,虽然并非适用于所有无线网络或需求,但 SSH 解决了无线用户的两个主要需求:安全的 Web 浏览和安全的邮件收发。
3. SSH 与代理技术结合的优势
SSH 与代理技术(如 HTTP 代理、SOCKS 服务器或动态端口转发)的结合,赋予了 SSH 更强大的功能。在不安全和不灵活的网络(如 802.11b 无线网络)中,这种结合使 SSH 能够轻松使用。借助 Web 代理或 SOCKS,原本需要大量安全设备投资才能保障安全的协议,现在可以以极低的成本轻松设置。
SSH 案例研究:以安全远程访问为例
1. 案例背景
Ace Tomato 公司是一家总部位于印度孟买的跨国公司,主要生产和销售乳制品。该公司的销售、专业服务和技术支持部门员工 90% 的时间都在客户现场,这些客户现场分布在国内外多个城市。公司需要为外部终端用户提供安全的远程访问解决方案。
2. 问题与业务需求
2.1 问题情况
Ace Tomato 公司需要为其外部终端用户提供安全的远程访问解决方案。
2.2 业务需求
- 支持强加密级别(Triple - DES 或更高)。
- 能够从各种类型的网络访问,包括 NAT 网络、远程办公室、酒店房间、内部代理服务器背后的网络以及仅允许 TCP 端口 80 和 443 出站的组织网络。
- 支持双因素认证。
- 能够轻松访问内部网络、DMZ 网络和外联网中的电子邮件和内部网服务器。
- 能够提供安全的文件共享访问。
- 新手终端用户只需一步操作即可访问电子邮件。
- 提供稳定且一致的性能。
3. 解决方案选择
为满足上述需求,选择以下工具和服务器:
- VShell SSH 服务器:能够在无需额外文件系统限制(如 NTFS 或 Unix 文件系统安全)的情况下提供安全的文件共享访问,并且可以轻松限制对 SSH 服务器的命令行访问。
- SecureCRT SSH 客户端:可以通过 CONNECT 字符串连接代理服务器,并且在建立 SSH 连接后能够自动执行其他应用程序(如电子邮件客户端),满足新手用户只需一步操作即可访问电子邮件的需求。
- SSH Communications SFTP 客户端:用于访问 Windows 文件服务器上的 SFTP 会话,因为 SecureCRT 没有内置的 SFTP 客户端。
4. 架构与防火墙规则
4.1 架构
架构主要包括在现有网络中添加位于周边防火墙外的 VShell SSH 服务器和安装在内部文件服务器上的 VShell,以便远程 SFTP 用户访问。架构图如下:
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px
A(Remote Clients):::process -->|Internet| B(Firewall):::process
B --> C(SSH Server VShell 11.17.6.12):::process
C --> D(Intranet Web Server 172.16.1.200):::process
C --> E(E-mail POP3 Server 172.16.1.150):::process
C --> F(File Server VShell 172.16.1.100):::process
C --> G(E-mail SMTP Server (Relay) 192.168.1.100):::process
4.2 防火墙规则
为实现远程访问,需要对周边防火墙进行修改,具体规则如下表所示:
| RULE | SOURCE | DESTINATION | PORT | ACTION | COMMENT |
| ---- | ---- | ---- | ---- | ---- | ---- |
| 1 | ANY | SSH server | 443 | Allow | 允许任何远程访问客户端访问端口 443 上的 SSH 服务器 |
| 2 | SSH server | E-mail SMTP (Relay) | 25 | Allow | 允许 SSH 服务器访问邮件中继服务器的端口 25 |
| 3 | SSH server | E-mail POP3 server | 110 | Allow | 允许 SSH 服务器访问邮件服务器的端口 110 |
| 4 | SSH server | Intranet Web server | 80 | Allow | 允许 SSH 服务器访问内部网 Web 服务器的端口 80 |
| 5 | SSH server | File server | 22 | Allow | 允许 SSH 服务器访问文件服务器的端口 22(SFTP) |
5. 配置步骤
5.1 SSH 客户端配置
-
生成并上传密钥 :
- 打开 SSH 客户端:依次点击“Start ➪ Programs ➪ SecureCRT 4.0 ➪ SecureCRT 4.0”。
- 从菜单栏选择“Tools ➪ Create Public Key”。
- 按照密钥生成向导的提示操作,依次选择密钥类型、设置密码短语、设置密钥长度等。
- 选择密钥存储位置,建议使用默认位置(C:\Documents and Settings\Administrator\Application Data\VanDyke\Identity),并设置 NTFS 权限以限制访问。
- 完成密钥生成后,不选择将其用作全局公钥。
- 打开 SecureCRT,使用快速连接选项连接到 VShell SSH 服务器。
- 连接成功后,返回快速连接菜单,在认证部分选择主认证方法为“Password”,辅助认证方法为“PublicKey”,并选择公钥文件进行上传。
- 输入用户名和密码进行认证,认证成功后公钥将上传到 VShell SSH 服务器。
- 在 VShell SSH 服务器上仅启用公钥认证,在 SecureCRT 上选择公钥作为主认证方法进行连接测试。
-
端口转发配置 :确保在 SecureCRT 中配置正确的端口转发选项,以满足访问电子邮件、文件共享和 Web 服务器的需求。同时,选择合适的电子邮件客户端作为邮件端口转发选项中的应用程序设置。
-
CONNECT 字符串配置 :如果 SecureCRT 客户端需要通过代理服务器连接,确保正确配置 CONNECT 字符串,并提醒用户在需要通过代理服务器访问 SSH 服务器时勾选“Use firewall to connect”选项。
-
SFTP 客户端配置 :由于 SFTP 将通过 SSH 连接与文件服务器的 SSH 服务器进行端口转发,因此只需将 SFTP 客户端的 IP 地址指向 127.0.0.1 的 22 端口即可。
通过以上配置,Ace Tomato 公司可以为外部终端用户提供安全、便捷的远程访问解决方案,满足业务需求并保障网络安全。
SSH 案例研究拓展:无线与文件服务安全保障
1. 案例研究 #2:安全无线连接
1.1 问题与需求
在现代办公环境中,无线连接的安全性至关重要。许多员工在外出办公时,如在咖啡店等公共场所使用不安全的无线网络,这给企业数据安全带来了潜在风险。企业需要一种解决方案,确保员工在使用无线连接时能够安全地访问公司资源,如内部网、电子邮件和文件服务器等。具体需求包括:
- 保障无线连接的数据传输安全,防止数据被窃取或篡改。
- 支持员工从不同的无线网络环境(如公共 Wi-Fi、酒店网络等)安全地访问公司内部资源。
- 提供简单易用的配置方式,方便员工在不同设备上快速部署。
1.2 解决方案
为满足上述需求,采用 SSH 和动态端口转发的方式来实现安全的无线连接。具体步骤如下:
1. 安装 SSH 服务器 :在 11.30.6.12 上安装 SSH 服务器,监听 22 端口。确保服务器具备足够的性能和安全性,以应对员工的访问需求。
2. 配置防火墙 :允许 22 端口通过周边防火墙和路由器。这一步骤确保了外部的 SSH 客户端能够与 SSH 服务器建立连接。
3. 配置 SSH 客户端进行动态端口转发 :在“Coffee Shop Client”上配置 SSH 客户端进行动态端口转发,使用 SOCKS 在回环地址 127.0.0.1 的 8080 端口。具体命令如下:
- 对于 OpenSSH: ssh 11.30.6.12 -p 22 -l root -D 1080
- 对于 SSH: ssh2 11.30.6.12 -p 22 -l root -L socks/1080
4. 配置 Web 浏览器 :在“Coffee Shop Client”上配置 Web 浏览器,使用 127.0.0.1 的 8080 端口作为 SOCKS 服务器。具体操作:依次点击“Internet Explorer ➪ Tools ➪ Internet Options ➪ Connections ➪ LAN Settings”,勾选“Use Proxy Server”,选择“Advanced”,在 SOCKS 服务器字段中输入 127.0.0.1 并设置端口为 1080。
通过以上配置,员工可以在不安全的无线网络环境中,通过 SSH 建立安全的通道,访问公司内部资源。动态端口转发的方式无需额外的代理服务器,简化了配置过程,提高了灵活性。
1.3 架构图
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px
A("Coffee Shop Client"):::process -->|Insecure Wi-Fi| B(Router):::process
B --> C(Firewall):::process
C --> D(SSH Server 11.30.6.12):::process
D --> E(Intranet Resources):::process
2. 案例研究 #3:安全文件服务器
2.1 问题与需求
企业的文件服务器存储着大量的敏感信息,如财务数据、客户信息等。确保文件服务器的安全性对于企业的正常运营至关重要。企业面临的问题包括:
- 防止外部攻击者非法访问文件服务器,保护数据的机密性和完整性。
- 提供安全的文件共享功能,方便员工在不同地点访问和协作处理文件。
- 支持多用户并发访问,确保文件服务器的性能和稳定性。
2.2 解决方案
为解决上述问题,采用 SSH 和 SFTP(安全文件传输协议)的方式来保障文件服务器的安全。具体步骤如下:
1. 安装 SSH 服务器 :在文件服务器上安装 SSH 服务器,如 VShell SSH 服务器。确保服务器配置了强加密算法和双因素认证,提高安全性。
2. 配置防火墙 :设置防火墙规则,只允许特定的 IP 地址和端口访问文件服务器。例如,允许 SSH 服务器的 IP 地址访问文件服务器的 22 端口(SFTP)。
3. 配置 SFTP 客户端 :员工使用 SSH Communications SFTP 客户端访问文件服务器。客户端需要配置正确的服务器地址、用户名和密码,并使用公钥认证提高安全性。
4. 设置文件权限 :在文件服务器上设置合理的文件权限,确保不同用户只能访问其授权范围内的文件和文件夹。
通过以上配置,企业可以建立一个安全的文件服务器环境,保护敏感信息的安全,同时提供便捷的文件共享功能。
2.3 架构图
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px
A(Remote Users):::process -->|Internet| B(Firewall):::process
B --> C(SSH Server):::process
C --> D(File Server):::process
3. 总结
SSH 与代理技术的结合为网络安全和连接提供了强大的解决方案。无论是通过 HTTP 代理实现 SSH 访问,还是利用 SSH 保障无线网络和文件服务器的安全,都展示了 SSH 在不同场景下的灵活性和实用性。
在实际应用中,企业可以根据自身的需求和网络环境,选择合适的技术和工具进行配置。例如,对于需要通过 HTTP 代理访问 SSH 服务器的场景,可以使用 SecureCRT 或 OpenSSH 结合 Corkscrew 工具;对于无线网络安全,可以采用 SSH 和动态端口转发的方式;对于文件服务器安全,可以使用 SSH 和 SFTP 协议。
同时,配置过程中的细节也非常重要,如密钥的生成和上传、端口转发的设置、防火墙规则的配置等。只有确保每个环节都正确配置,才能充分发挥 SSH 的安全优势,保障企业网络和数据的安全。
总之,SSH 技术在当今复杂多变的网络环境中具有重要的价值,它不仅能够提高网络的安全性,还能为企业提供便捷、高效的远程访问和文件共享解决方案。企业应该充分认识到 SSH 的优势,并积极应用到实际的网络建设和安全保障中。
超级会员免费看
9

被折叠的 条评论
为什么被折叠?



