SSH实现POP的安全传输


基于SSH安全端口转发实现POP的安全传输


在SSH实现telnet安全传输的实验中,用SSH加密telnet是并没有太多使用价值的,其旨在说明SSH的端口转发功能,在此基础上,本次试验通过SSH实现了具有一定使用价值的邮局协议POP的安全传输。


一、实验环境:


两台Linux虚拟机,一台模拟本地主机(localhost),一台模拟远程主机(HostServer)。并且安装有telnet、SSH和POP,sendmail需要注意的是telnet和ssh都是CS工作模式,安装包包括客户端和服务器。在宿主机上用putty远程登录登陆Linux。并使用wireshark验证数据包是否加密。



二、实验构想:


假设用户yanji要读取远程主机(HostServer)上的邮件。用户为了保证安全,使用SSH安全端口转发,在本地主机的2000端口和远程主机的邮局协议POP的110端口建立安全隧道,然后在本地主机使用telnet登录到远程主机,安全读取用户邮件。



三、实验步骤:


1、查看并启动Linux 172.16.1.3(HostServer)上的POP协议和sendmail协议:

rpm -qa | grep sendmail     查看是否安装sendmail

service sendmail start      立即启动sendmail服务,也可用开机启动命令chkconfig

pstree | grep sendmail      检验sendmail是否已启动


rpm -qa | grep imap         查看是否安装imap,RH Linux9 中imap的RPM包包括POP和IMAP两种协议的程序

vi /etc/xinetd.d/ipop3      将disable=yes 改为 disable=no

vi /etc/xinetd.d/imap       将disable=yes 改为 disable=no 

service xinetd restart      重启超级服务xinetd,imap和POP是挂在在超级服务下的


备注:一般sendmail和imap在系统安装时已安装,不需要自己安装的


2、在Linux 172.16.1.3 (HostServer)上用root账户发一封邮件给非根用户yanji:

echo "一封root发给yanji的测试邮件" | mutt -s "Hello World" yanji



3、在宿主机上启动wireshark,对数据包进行验证

捕捉过滤器的过滤语句: host 172.16.1.2 and 172.16.1.3;


4、在Linux 172.16.1.2(localhost)上建立ssh端口转发:

   ssh -L2000:localhost:110 172.16.1.3 (非后台执行,会占据终端,需要另外打开一个远程终端来完成余下试验)

   ssh -f -L2000:localhost:110 172.16.1.3 sleep 7200(后台执行,不会占据终端,可以继续使用该终端完成实验);


按要求输入用户名和密码


5、依据是否选择了后台执行,选择正确的终端进行telnet连接:telnet localhost 2000并读取邮件:

若在上一步中选择拉后台执行,在可以在同一putty终端(172.16.1.2)进行telnet的远程登陆,若没有,则需要另外开启一个putty终端(172.16.1.2)进行telnet连接读取信件。

实际操作如下:

[yanji@localhost yanji]$ telnet localhost 2000

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

+OK POP3 localhost.localdomain v2001.78rh server ready

user yanji

+OK User name accepted, password please

pass yanji123

+OK Mailbox open, 1 messages

retr 1

+OK 817 octets

Return-Path: <root@localhost.localdomain>

Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])

        by localhost.localdomain (8.12.8/8.12.8) with ESMTP id s3II3PrL004289

        for <yanji@localhost.localdomain>; Sat, 19 Apr 2014 02:03:25 +0800

Received: (from root@localhost)

        by localhost.localdomain (8.12.8/8.12.8/Submit) id s3II3Pa5004287

        for yanji@localhost.localdomain; Sat, 19 Apr 2014 02:03:25 +0800

Date: Sat, 19 Apr 2014 02:03:25 +0800

From: root <root@localhost.localdomain>

To: yanji@localhost.localdomain

Subject: Hello World

Message-ID: <20140418180325.GA4282@localhost.localdomain>

Mime-Version: 1.0

Content-Type: text/plain; charset=utf-8

Content-Disposition: inline

Content-Transfer-Encoding: 8bit

User-Agent: Mutt/1.4i

Status:  O


一封root发给yanji的测试邮件

.

qiut

+OK Sayonara

Connection closed by foreign host.


备注:当用root登陆时,输入密码后会提示bad login


pop常用命令:

命令   参数          状态    描述

user   username      认可   此命令与下面的pass命令若成功,将导致状态转换

pass   password      认可

?apop   name,digest   认可   一种安全传输口令的办法,执行成功导致状态转换。

stat                 处理   请求服务器发回关于邮箱的统计资料,如邮件总数和总字节数

uidl   [msg#]        处理   返回邮件的唯一标识符,pop3会话的每个标识符都将是唯一的

list   [msg#]        处理   返回邮件数量和每个邮件的大小

retr   [msg#]        处理   返回由参数标识的邮件的全部文本

dele   [msg#]        处理   服务器将由参数标识的邮件标记为删除,由quit命令执行

rset                 处理   服务器将重置所有标记为删除的邮件,用于撤消dele命令

top    [msg#],n      处理   服务器将返回由参数标识的邮件前n行内容,n必须是正整数

noop                 处理   服务器返回一个肯定的响应,不做任何操作。

quit                 更新   退出


6、分析wireshark捕获的数据包:

数据全部为SSH加密


我们可以建立ssh安全端口的情况下,用telnet 172.16.1.3 110登录到远程主机收取邮件。我们可以在wireshark清楚的看到登陆账户、口令和邮件内容,POP是明文传输。



四、实验总结:


1、当用root登陆时,输入密码后会提示bad login;


2、POP命令的执行:

POP命令是一条命令执行一次,与服务器进行一次通信。而telnet则有四种通信模式,且一般为一次一个字符。


3、IMAP的一个与POP3的区别是:

IMAP它只下载邮件的主题,并不是把所有的邮件内容都下载下来,而是你邮箱当中还保留着邮件的副本,没有把你原邮箱中的邮件删除,你用邮件客户软件阅读邮件时才下载邮件的内容。较好支持这两种协议的邮件客户端有:ThunderMail,Foxmail,outlook等。通俗来说,POP运用于邮件客户端(outlook,foxmail),imap则更多用于网页版邮箱,目前国内免费的imap服务提供商有腾讯的QQ邮箱、21cn世纪龙、搜狐邮箱和网易邮箱。当然,imap也是可以用于outlook等邮件客户端软件中。IMAP协议比较酷的功能是用户可以维护自己在服务器上的邮件目录;可以直接抓取邮件的特定部分(例如只有文本)。


备注:关于端口转发的其他问题可以查看“SSH实现telnet的安全传输”一文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值