DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 863|回复: 0
打印 上一主题 下一主题

[待整理] 为客户端与服务器端的通信安全保驾护航

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-13 15:28:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
OpenSSH为保障Client(客户端)与服务器端(Server)的安全通信提供了一整套的工具,这些工具允许用户为任何类型的Client与Server的通信创建安全通道,包括检查/发送电子邮件或Web浏览。
OpenSSH
在通过Internet登录到一个远程系统时,总会存在一种危险,即用户的口令如果以明文方式传输,就可能会被监视字节流的黑客中间截获并加以滥用。多数用户实际上都清楚这种风险,并通过使用所谓的“安全外壳”(secure shell)程序来减轻风险,这种“安全外壳”程序的设计目的是在用户通过互联网传输数字证书之前对证书进行加密。目前这类程序最流行、最通用的就是OpenSSH,这是一个OpenBSD的项目。
不过,许多OpenSSH用户并没有认识到,这个程序不仅允许用户加密用户的(远程登录)telnet会话,它还提供了一整套用以保障客户端/服务器通信安全的工具,而且允许用户为任何类型的C/S通信创建安全“通道”,其中包含检查/发送电子邮件或Web浏览。使用这些通道可以极大改善系统的安全性,特别是机密性成为一个关键要素的时候。
本文将通过一个具体的例子向您展示如何通过这个OpenSSH来创建加密通道,用于检查一个POP3邮箱,从而使我们进一步理解并掌握OpenSSH的安全通道特性。
第一步:下载并安装OpenSSH
用户可从http://www.openssh.com/下载源代码,用户从多种平台的版本中选择所需要的版本。其文件已被数字化签名,从而可以避免损害用户的安全。本文例子使用的是OpenSSH 4.3。
一旦用户下载了程序包,将它解到一个临时目录并执行标准的“配置─生成─安装”循环:

           
  1. shell> tar -xzvf openssh-4.3p2.tar.gz
  2. shell> cd openssh-4.3p2/
  3. shell> ./configure
  4. shell> make
  5. shell> make install
复制代码
           
第二步:生成主机密钥并启动OpenSSH进程
安装过程的最后一步就是生成一对主机密钥,即特定系统的唯一标识符。这些密钥,包含一个私有密钥和一个公有密钥,分别存储在诸如 /etc/ssh_host_key and /etc/ssh_host_key.pub,的文件中:

           
  1. shell> make install

  2. Generating public/private rsa1 key pair
  3. Your identification has been saved in /etc/ssh_host_key
  4. Your public key has been saved in /etc/ssh_host_key.pub

  5. Generating public/private dsa key pair
  6. Your identification has been saved in /etc/ssh_host_dsa_key
  7. Your public key has been saved in /etc/ssh_host_dsa_key.pub

  8. Generating public/private rsa key pair
  9. Your identification has been saved in /etc/ssh_host_rsa_key
  10. Your public key has been saved in /etc/ssh_host_rsa_key.pub
复制代码
           
一旦密钥创建完成,通过执行“sshd”启动OpenSSH进程:(以超级用户身份):

           
  1. shell> /sbin/sshd
复制代码
           
通过打开一个Telnet连接到22号端口确认服务正在运行:

           
  1. shell> telnet localhost 22
  2. Trying 127.0.0.1…
  3. Connected to localhost.
  4. Escape character is ‘^]’.
  5. SSH-1.99-OpenSSH_4.3
复制代码
           
第三步:创建一个到用户的POP3服务器的安全通道
现在让我们假定用户的本地系统名为localbox,主管用户的目标POP3邮箱的主机名为remotebox。下一步就是在remotebox主机上的110端口(POP3连接的标准端口)与localbox计算机上的一个未用的端口之间创建一个加密的SSH通道。这个过程称为TCP转发,用OpenSSH完成这个操作是相当简单的,只需要运行如下的命令:

           
  1. shell> ssh -L 2110:localbox:110 remotebox
  2. root@localbox's password: ****
复制代码
           
这个命令意思是说:将localbox上未用端口2110上的所有连接转发到remotebox上的POP3端口110上,并在通道上加密。此命令的结果是:所有到localbox上2110端口的连接企图都被自动加密,并被发送到remotebox上的110端口上。
现在如果用户在localbox上打开了telnet连接到端口2110,例如:

           
  1. shell> telnet localbox 2110
  2. Trying 127.0.0.1…
  3. Connected to localhost.
  4. Escape character is ‘^]’.
  5. +OK DPOP ready
复制代码
           
用户的连接会被自动转发到remotebox上的110端口─POP3邮件服务,并且加上高质量的加密以确保任何人都无法“窃听”用户与远程服务器的数据通信。
在这里要注意两个重要的问题:如果你正使用一个特权端口,必须要有对转发端口的超级用户权限;此外,你不应试图使用已经在用的端口号。
第四步:改变你的POP3客户端设置
一旦你的安全通道能够运作,你需要将所做的改变告诉你的邮件客户端,对于前向通道,你的邮件客户端可能直接连接到remotebox以检索电子邮件-一个让用户的电子邮件口令以一种非加密的格式沿着线路传输,需要对客户端作类似如下的设置:

           
  1. Server: remotebox
  2. Port: 110
  3. User: john
  4. Password: guessme
复制代码
           
对于后向通道,你的邮件客户端应该被重置,直接连接到本地系统上的2110端口,用OpenSSH实现将连接转发到远程服务器并实现线路加密。新的设置应看起来是如下的样子:

           
  1. Server: localbox
  2. Port: 2110
  3. User: john
  4. Password: guessme
复制代码
           
经过这四步安装设置之后,你已经拥有了一个邮件客户端与邮件服务器之间的安全通道,你的口令和数据对他人来说将是不可见的。很明显,这仅仅是一个例子,可以说是仅仅展示了OpenSSH强大功能的冰山之一角。用户还可以设置OpenSSH用以加密SMTP、FTP、IRC或者任何类型的客户端/服务器的连接,或者创建通过防火墙的加密通道。为了您的数据传输的安全性,请用OpenSSH为您的传输保驾护航!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-11-15 06:01 , 耗时 0.202686 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表