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

📄 rfc2228.txt

📁 著名的RFC文档,其中有一些文档是已经翻译成中文的的.
💻 TXT
📖 第 1 页 / 共 4 页
字号:
      data, it should respond with reply code 335.      If the server accepts the security data, but does not require any      additional data (i.e., the security data exchange has completed      successfully), it must respond with reply code 235.      If the server is responding with a 235 or 335 reply code, then it      may include security data in the text part of the reply as      specified above.Horowitz & Lunt             Standards Track                     [Page 7]RFC 2228                FTP Security Extensions             October 1997      If the ADAT command returns an error, the security data exchange      will fail, and the client must reset its internal security state.      If the client becomes unsynchronized with the server (for example,      the server sends a 234 reply code to an AUTH command, but the      client has more data to transmit), then the client must reset the      server's security state.   PROTECTION BUFFER SIZE (PBSZ)      The argument is a decimal integer representing the maximum size,      in bytes, of the encoded data blocks to be sent or received during      file transfer.  This number shall be no greater than can be      represented in a 32-bit unsigned integer.      This command allows the FTP client and server to negotiate a      maximum protected buffer size for the connection.  There is no      default size; the client must issue a PBSZ command before it can      issue the first PROT command.      The PBSZ command must be preceded by a successful security data      exchange.      If the server cannot parse the argument, or if it will not fit in      32 bits, it should respond with a 501 reply code.      If the server has not completed a security data exchange with the      client, it should respond with a 503 reply code.      Otherwise, the server must reply with a 200 reply code.  If the      size provided by the client is too large for the server, it must      use a string of the form "PBSZ=number" in the text part of the      reply to indicate a smaller buffer size.  The client and the      server must use the smaller of the two buffer sizes if both buffer      sizes are specified.   DATA CHANNEL PROTECTION LEVEL (PROT)      The argument is a single Telnet character code specifying the data      channel protection level.      This command indicates to the server what type of data channel      protection the client and server will be using.  The following      codes are assigned:         C - Clear         S - Safe         E - Confidential         P - PrivateHorowitz & Lunt             Standards Track                     [Page 8]RFC 2228                FTP Security Extensions             October 1997      The default protection level if no other level is specified is      Clear.  The Clear protection level indicates that the data channel      will carry the raw data of the file transfer, with no security      applied.  The Safe protection level indicates that the data will      be integrity protected.  The Confidential protection level      indicates that the data will be confidentiality protected.  The      Private protection level indicates that the data will be integrity      and confidentiality protected.      It is reasonable for a security mechanism not to provide all data      channel protection levels.  It is also reasonable for a mechanism      to provide more protection at a level than is required (for      instance, a mechanism might provide Confidential protection, but      include integrity-protection in that encoding, due to API or other      considerations).      The PROT command must be preceded by a successful protection      buffer size negotiation.      If the server does not understand the specified protection level,      it should respond with reply code 504.      If the current security mechanism does not support the specified      protection level, the server should respond with reply code 536.      If the server has not completed a protection buffer size      negotiation with the client, it should respond with a 503 reply      code.      The PROT command will be rejected and the server should reply 503      if no previous PBSZ command was issued.      If the server is not willing to accept the specified protection      level, it should respond with reply code 534.      If the server is not able to accept the specified protection      level, such as if a required resource is unavailable, it should      respond with reply code 431.      Otherwise, the server must reply with a 200 reply code to indicate      that the specified protection level is accepted.   CLEAR COMMAND CHANNEL (CCC)      This command does not take an argument.Horowitz & Lunt             Standards Track                     [Page 9]RFC 2228                FTP Security Extensions             October 1997      It is desirable in some environments to use a security mechanism      to authenticate and/or authorize the client and server, but not to      perform any integrity checking on the subsequent commands.  This      might be used in an environment where IP security is in place,      insuring that the hosts are authenticated and that TCP streams      cannot be tampered, but where user authentication is desired.      If unprotected commands are allowed on any connection, then an      attacker could insert a command on the control stream, and the      server would have no way to know that it was invalid.  In order to      prevent such attacks, once a security data exchange completes      successfully, if the security mechanism supports integrity, then      integrity (via the MIC or ENC command, and 631 or 632 reply) must      be used, until the CCC command is issued to enable non-integrity      protected control channel messages.  The CCC command itself must      be integrity protected.      Once the CCC command completes successfully, if a command is not      protected, then the reply to that command must also not be      protected.  This is to support interoperability with clients which      do not support protection once the CCC command has been issued.      This command must be preceded by a successful security data      exchange.      If the command is not integrity-protected, the server must respond      with a 533 reply code.      If the server is not willing to turn off the integrity      requirement, it should respond with a 534 reply code.      Otherwise, the server must reply with a 200 reply code to indicate      that unprotected commands and replies may now be used on the      command channel.   INTEGRITY PROTECTED COMMAND (MIC) and   CONFIDENTIALITY PROTECTED COMMAND (CONF) and   PRIVACY PROTECTED COMMAND (ENC)      The argument field of MIC is a Telnet string consisting of a base      64 encoded "safe" message produced by a security mechanism      specific message integrity procedure.  The argument field of CONF      is a Telnet string consisting of a base 64 encoded "confidential"      message produced by a security mechanism specific confidentiality      procedure.  The argument field of ENC is a Telnet string      consisting of a base 64 encoded "private" message produced by a      security mechanism specific message integrity and confidentiality      procedure.Horowitz & Lunt             Standards Track                    [Page 10]RFC 2228                FTP Security Extensions             October 1997      The server will decode and/or verify the encoded message.      This command must be preceded by a successful security data      exchange.      A server may require that the first command after a successful      security data exchange be CCC, and not implement the protection      commands at all.  In this case, the server should respond with a      502 reply code.      If the server cannot base 64 decode the argument, it should      respond with a 501 reply code.      If the server has not completed a security data exchange with the      client, it should respond with a 503 reply code.      If the server has completed a security data exchange with the      client using a mechanism which supports integrity, and requires a      CCC command due to policy or implementation limitations, it should      respond with a 503 reply code.      If the server rejects the command because it is not supported by      the current security mechanism, the server should respond with      reply code 537.      If the server rejects the command (if a checksum fails, for      instance), it should respond with reply code 535.      If the server is not willing to accept the command (if privacy is      required by policy, for instance, or if a CONF command is received      before a CCC command), it should respond with reply code 533.      Otherwise, the command will be interpreted as an FTP command.  An      end-of-line code need not be included, but if one is included, it      must be a Telnet end-of-line code, not a local end-of-line code.      The server may require that, under some or all circumstances, all      commands be protected.  In this case, it should make a 533 reply      to commands other than MIC, CONF, and ENC.4.  Login Authorization   The security data exchange may, among other things, establish the   identity of the client in a secure way to the server.  This identity   may be used as one input to the login authorization process.Horowitz & Lunt             Standards Track                    [Page 11]RFC 2228                FTP Security Extensions             October 1997   In response to the FTP login commands (AUTH, PASS, ACCT), the server   may choose to change the sequence of commands and replies specified   by RFC 959 as follows.  There are also some new replies available.   If the server is willing to allow the user named by the USER command   to log in based on the identity established by the security data   exchange, it should respond with reply code 232.   If the security mechanism requires a challenge/response password, it   should respond to the USER command with reply code 336.  The text   part of the reply should contain the challenge.  The client must   display the challenge to the user before prompting for the password   in this case.  This is particularly relevant to more sophisticated   clients or graphical user interfaces which provide dialog boxes or   other modal input.  These clients should be careful not to prompt for   the password before the username has been sent to the server, in case   the user needs the challenge in the 336 reply to construct a valid   password.5.  New FTP Replies   The new reply codes are divided into two classes.  The first class is   new replies made necessary by the new FTP Security commands.  The   second class is a new reply type to indicate protected replies.   5.1.  New individual reply codes      232 User logged in, authorized by security data exchange.      234 Security data exchange complete.      235 [ADAT=base64data]            ; This reply indicates that the security data exchange            ; completed successfully.  The square brackets are not            ; to be included in the reply, but indicate that            ; security data in the reply is optional.      334 [ADAT=base64data]            ; This reply indicates that the requested security mechanism            ; is ok, and includes security data to be used by the client            ; to construct the next command.  The square brackets are not            ; to be included in the reply, but indicate that            ; security data in the reply is optional.      335 [ADAT=base64data]            ; This reply indicates that the security data is            ; acceptable, and more is required to complete the            ; security data exchange.  The square brackets            ; are not to be included in the reply, but indicate            ; that security data in the reply is optional.Horowitz & Lunt             Standards Track                    [Page 12]RFC 2228                FTP Security Extensions             October 1997      336 Username okay, need password.  Challenge is "...."            ; The exact representation of the challenge should be chosen            ; by the mechanism to be sensible to the human user of the            ; system.      431 Need some unavailable resource to process security.      533 Command protection level denied for policy reasons.      534 Request denied for policy reasons.      535 Failed security check (hash, sequence, etc).      536 Requested PROT level not supported by mechanism.      537 Command protection level not supported by security mechanism.   5.2.  Protected replies.      One new reply type is introduced:         6yz   Protected reply            There are three reply codes of this type.  The first, reply            code 631 indicates an integrity protected reply.  The            second, reply code 632, indicates a confidentiality and            integrity protected reply.  the third, reply code 633,            indicates a confidentiality protected reply.            The text part of a 631 reply is a Telnet string consisting            of a base 64 encoded "safe" message produced by a security            mechanism specific message integrity procedure.  The text            part of a 632 reply is a Telnet string consisting of a base            64 encoded "private" message produced by a security            mechanism specific message confidentiality and integrity            procedure.  The text part of a 633 reply is a Telnet string            consisting of a base 64 encoded "confidential" message            produced by a security mechanism specific message            confidentiality procedure.            The client will decode and verify the encoded reply.  How            failures decoding or verifying replies are handled is            implementation-specific.  An end-of-line code need not be            included, but if one is included, it must be a Telnet end-            of-line code, not a local end-of-line code.            A protected reply may only be sent if a security data            exchange has succeeded.            The 63z reply may be a multiline reply.  In this case, the            plaintext reply must be broken up into a number of            fragments.  Each fragment must be protected, then base 64Horowitz & Lunt             Standards Track                    [Page 13]RFC 2228                FTP Security Extensions             October 1997            encoded in order into a separate line of the multiline            reply.  There need not be any correspondence between the            line breaks in the plaintext reply and the encoded reply.            Telnet end-of-line codes must appear in the plaintext of the            encoded reply, except for the final end-of-line code, which            is optional.            The multiline reply must be formatted more strictly than the            continuation specification in RFC 959.  In particular, each            line before the last must be formed by the reply code,            followed immediately by a hyphen, followed by a base 64            encoded fragment of the reply.            For example, if the plaintext reply is               123-First line               Second line                 234 A line beginning with numbers               123 The last line            then the resulting protected reply could be any of the            following (the first example has a line break only to fit            within the margins):

⌨️ 快捷键说明

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