邮件协议和FTP协议

0 阅读4分钟

SMTP

  • Simple Mail Transfer Protocol:简单邮件传输协议,工作在应用层,制定了一种邮件上传到服务器的标准,基于传输层TCP协议25端口进行数据传输;

POP

  • Post Office Protocol:邮局协议,工作在应用层,制定了一种本地下载邮件的标准,基于传输层TCP协议110端口进行数据传输,目前主要使用POP3;

IMAP

  • Internet Message Access Protocol:互联网消息访问协议,工作在应用层,制定了一种在线查看邮件的标准,基于传输层TCP协议143端口进行数据传输,目前主要使用IMAP4;
组成
  • MUA:邮件用户代理,邮件的发送方和接收方;
  • MTA:邮件传输代理,邮件服务器;

image-20260407094502392

数据安全建议

  • 关闭不必要、不安全的协议支持;

FTP

概述

  • File Transfer Protocol:文件传输协议,工作在应用层,制定了一种实现文件上传和下载的标准;
  • 基于传输层的TCP/21端口实现数据传输;
  • 工作模式:主动模式被动模式;
  • 它的一个独特之处在于,通常会使用两个独立的TCP连接

控制连接:始终开启,用于发送命令和接收响应。默认端口 21

数据连接:仅在需要传输文件或目录列表时临时建立,用于传输实际数据。主动模式和被动模式的核心区别,就在于数据连接是如何建立的。

被动模式(默认)

工作流程

  • 客户端向服务器21端口发起TCP三次握手过程,创建控制命令传输连接
  • 客户端通过控制连接发送 PASV 命令,请求进入被动模式。
  • 服务器随机开启一个较大端口(一般大于1024)用于数据传输,并告诉客户端:“我已经在 我的IP地址:端口 上准备好了,你过来连接吧”。
  • 客户端主动发起连接到服务器告知的这个端口,建立文件数据传输连接;。
  • 比喻:客户给快递公司打电话:“请告诉我一个你们网点的地址,我上门自提”。快递公司提供一个网点地址,客户自己找过去取货。
  • 优势:由于是客户端主动向外发起数据连接,更容易穿透客户端的防火墙或NAT设备。这是现代网络环境下最常用、默认推荐的模式。
  • 适用场景:绝大多数情况,尤其是客户端在家庭、企业内网时。

image-20260120160257100

客户端 向 服务器 发送 PASV 服务器 等待连接,随后客户端主动发起三次握手,建立文件传输通道

主动模式

  • 客户端向服务器21端口发起TCP三次握手过程,创建控制命令传输连接,
  • 客户端随机开启一个较大端口(大于1024),
  • 客户端通过控制连接,用 PORT 命令告诉服务器:“请把数据发送到我这个 IP地址:端口 来”。
  • 服务器从自己的数据端口(默认20)  主动发起TCP三次握手连接到客户端指定的端口。
  • 比喻:就像客户(客户端)给快递公司(服务器)打电话:“请把包裹送到我家(我的IP:端口)”。然后快递员从公司出发,主动找到客户家送货。
  • 问题:如果客户端位于防火墙或NAT路由器之后,外部服务器(快递员)无法成功连接到客户端内部网络指定的那个端口,导致连接失败。
  • 适用场景:客户端没有防火墙限制,或服务器要求使用此模式。

image-20260120161043727

总结

特性主动模式被动模式
数据连接发起方服务器 发起连接到客户端客户端 发起连接到服务器
防火墙友好性对客户端防火墙不友好(需要为FTP开放入站端口)对客户端防火墙友好(仅需允许出站连接)
服务器配置服务器配置简单服务器需开放一个端口范围供客户端连接,配置稍复杂
网络环境适用于服务器受限(如服务器有严格出站规则)或客户端无防火墙的环境适用于客户端位于NAT/防火墙后的现代网络环境(如家庭、公司Wi-Fi)
命令PORTPASV / EPSV (扩展被动模式)

研判

  • 查看服务器日志记录,查看短时间内是否存在大量登录失败日志;
  • 利用抓包工具进行流量分析,查看短时间内是否存在大量登录失败数据;

防御

  • 使用验证码(图形化验证码、手机验证码),滑块,图像识别;
  • 限制登录失败次数(失败三次锁定30分钟);