⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 201.htm

📁 unix高级编程原吗
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>CTerm非常精华下载</title>
</head>
<body bgcolor="#FFFFFF">
<table border="0" width="100%" cellspacing="0" cellpadding="0" height="577">
<tr><td width="32%" rowspan="3" height="123"><img src="DDl_back.jpg" width="300" height="129" alt="DDl_back.jpg"></td><td width="30%" background="DDl_back2.jpg" height="35"><p align="center"><a href="http://apue.dhs.org"><font face="黑体"><big><big>apue</big></big></font></a></td></tr>
<tr>
<td width="68%" background="DDl_back2.jpg" height="44"><big><big><font face="黑体"><p align="center">               ● UNIX网络编程                       (BM: clown)                </font></big></big></td></tr>
<tr>
<td width="68%" height="44" bgcolor="#000000"><font face="黑体"><big><big><p   align="center"></big></big><a href="http://cterm.163.net"><img src="banner.gif" width="400" height="60" alt="banner.gif"border="0"></a></font></td>
</tr>
<tr><td width="100%" colspan="2" height="100" align="center" valign="top"><br><p align="center">[<a href="index.htm">回到开始</a>][<a href="185.htm">上一层</a>][<a href="202.htm">下一篇</a>]
<hr><p align="left"><small>FTP的安全问题 <br>

(985 个字于此篇帖子) <br>

(已阅读: 54 次) <br>

  <br>

>>转自绿色兵团,作者不详. <br>

  <br>

FTP的安全问题 <br>

  <br>

  <br>

文件传输协议(File Transfer Protocol,FTP)是一个被广泛应用的协议,它使得我们能够在 <br>

网络上方便地传输文件。早期FTP并没有涉及安全问题,随着互连网应用的快速增长,人们 <br>

对安全的要求也不断提高。本文在介绍了FTP协议的基本特征后,从两个方面探讨了FTP安全 <br>

问题的解决方案 <br>

:协议在安全功能方面扩展;协议自身的安全问题以及用户如何防范之。 <br>

  <br>

  <br>

  1. 简介 <br>

  <br>

1.1 FTP的一些特性 <br>

  早期对FTP的定义指出,FTP是一个ARPA计算机网络上主机间文件传输的用户级协议。其 <br>

主要功能是方便主机间的文件传输,并且允许在其他主机上进行方便的存储和文件处理。[B <br>

A72]而现在FTP的应用范围则是Internet。 <br>

  <br>

  <br>

根据FTP STD 9定义,FTP的目标包括:[PR85] <br>

  1) 促进文件(程序或数据)的共享 <br>

  2) 支持间接或隐式地使用远程计算机 <br>

  3) 帮助用户避开主机上不同的 <br>

  4) 可靠并有效地传输数据 <br>

  <br>

关于FTP的一些其他性质包括:FTP可以被用户在终端使用,但通常是给程序使用的。FTP中 <br>

主要采用了传输控制协议(Transmission Control Protocol,TCP)[PJ81],和Telnet 协议[P <br>

J83]。 <br>

  <br>

1.2 重要历史事件[PR85] <br>

  <br>

1971年,第一个FTP的RFC(RFC 114)由A.K. Bhushan在1971年提出,同时由MIT与Harvard实 <br>

验实现。 <br>

  <br>

1972年,RFC 172 提供了主机间文件传输的一个用户级协议。 <br>

  <br>

1973年2月,在长期讨论(RFC 265,RFC 294,RFC 354,RFC 385,RFC 430)后,出现了一 <br>

个官方文档RFC 454。 <br>

  <br>

1973年8月,出现了一个修订后的新官方文档 RFC 542。确立了FTP的功能、目标和基本模型 <br>

。当时数据传输协议采用NCP。 <br>



  <br>

1980年,由于底层协议从NCP改变为TCP,RFC 765 定义了采用TCP的FTP。 <br>

  <br>

1985年,一个作用持续至今的官方文档RFC 959(STD 9)出台。 <br>

  <br>

1.3 FTP模型[PR85] <br>

  <br>

就模型而言,从1973年以来并没有什么变化。下图是FTP使用模型: <br>

  <br>

------------- <br>

  |/---------| <br>

  || User || -------- <br>

  ||Interface|| User | <br>

  |----^----/| -------- <br>

  ---------- | | | <br>

  |/------| FTP Commands |/----V----| <br>

  ||Server|| User || <br>

  || PI || FTP Replies || PI || <br>

  |--^---/| |----^----/| <br>

  | | | | | | <br>

  -------- |/--V---| Data |/----V----| -------- <br>

  | File ||Server|| User || File | <br>



  |System| || DTP || Connection || DTP || |System| <br>

  -------- |------/| |---------/| -------- <br>

  ---------- ------------- <br>

  <br>

Server-FTP USER-FTP <br>

  <br>

注: 1. data connection 可以双向使用(双工) <br>

  2. data connection 不需要一直存在. <br>

  <br>

图一 FTP使用模型 <br>

  术语 <br>

  User PI(user-protocol interpreter): 用户协议解释器 <br>

  Server PI(Server-protocol interpreter): 服务协议解释器 <br>

  control connection:控制连接 <br>

  Data connection:数据连接 <br>

  FTP Commands:FTP命令。描述Data connection的参数,文件操作类型 <br>

  FTP Replies:FTP命令 <br>

  <br>

在图一描述的模型中,User PI创建control connection。control connection遵从Telnet <br>

协议。在用户初始化阶段,标准FTP命令被User PI生成并通过control connection 传到服 <br>

务器处理。Server PI将相应的标准FTP应答通过control connection回传给User PI。数据 <br>

传输由Data <br>

传输由Data <br>

connection完成。 <br>

  User DTP 在特定端口监听,由Server DTP 用指定参数初始化连接。 <br>

  <br>

另一种情形是用户希望在两台非本地的主机上传递文件。用户与两个服务器建立control co <br>

nnection,安排两个服务器间的文件传输。下图描述了这样的模型。 <br>

  <br>

Control ------------ Control <br>

  ---------->| User-FTP || "B" | <br>

  -------------- Port (A) Port (B) -------------- <br>

  <br>

  <br>

  图二 服务器间交互模型 <br>

  <br>

  <br>

  2.FTP协议的安全扩展[HL97] <br>

  <br>

2.1 一些安全地进行文件传输实践 <br>

  <br>

a. 通过FTP传输预先被加密的文件 <br>

  b. 通过E-mail传输预先被加密的文件 <br>

  c. 通过PEM消息 <br>

  d. 通过使用Kerberos的rcp命令. <br>



  <br>

2.2 在RFC 2228 之前的FTP并不安全 <br>

  虽然FTP采用 TELNET 协议执行connection control操作,而且 TELNET 协议 <br>

  后来又增补了认证和加密选项,但在RFC 1123 中禁止在connection control中进行 TE <br>

LNET 选项协商。另外 TELNET 协议也没有提供完整性保护,而且也没有data connection <br>

的保护。 <br>

  <br>

2.3 扩展命令 <br>

  AUTH (Authentication/Security Mechanism),认证与安全机制 <br>

  ADAT (Authentication/Security Data),认证与安全数据 <br>

  PROT (Data Channel Protection Level),数据通道保护层次 <br>

  PBSZ (Protection Buffer Size),保护缓冲大小 <br>

  CCC (Clear Command Channel),清空命令通道 <br>

  MIC (Integrity Protected Command),完整性保护命令 <br>

  CONF (Confidentiality Protected Command), 保密保护命令 <br>

  ENC (Privacy Protected Command),私有性保护命令 <br>

  <br>

一种新的返回类型(6yz)也被引入以保护返回值。 <br>

  <br>

2.4 协议状态图 <br>

  <br>

下图描述了在一个提高了安全性的FTP实现中认证和和授权的流程。方形的块表示客户端需 <br>



要发出的命令的状态,菱形的块表示服务器需要发出响应的状态。 <br>

  <br>

  <br>

  ,------------------, USER <br>

  __| Unauthenticated |_________ <br>

  | /| (new connection) | /| <br>

  | `------------------ | <br>

  | | | <br>

  | | AUTH | <br>

  | V | <br>

  | / | <br>

  | 4yz,5yz / 234 | <br>

  |------------->. | <br>

  | / | | <br>

  | _/ | | <br>

  | | | | <br>

  | | 334 | | <br>

  | V | | <br>

  | ,--------------------, | | <br>

  | | Need Security Data |----------- | | <br>

   / | | <br>

  _/ | | <br>

  _/ | | <br>

  | | | <br>

  | 235 | | <br>

  V | | <br>

  ,---------------. | | <br>

  ,--->| Authenticated |------------->. <br>

  | / | <br>

  | _/ | <br>

  | | | <br>

  | | 3yz | <br>

  | V | <br>

  | ,---------------. | <br>

  | | Need Password | | <br>

  | `--------------- | <br>

  | | | <br>

  | | PASS | <br>

  | V | <br>

  | / | <br>

  | 4yz,5yz / 2yz | <br>

  |------------->| <br>

  | / | <br>

  | _/ | <br>

  | | | <br>

  | | | <br>

  | | 3yz | <br>

  | V | <br>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -