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

📄 draft-ietf-ftpext-sec-consider-02.txt

📁 ProFTPd 是一款基于GPL协议的可配置的FTP服务器
💻 TXT
📖 第 1 页 / 共 2 页
字号:
FTPEXT Working Group                                         Mark AllmanInternet Draft                              NASA Lewis/Sterling SoftwareExpires: October, 1998                                   Shawn Ostermann                                                             Ohio University                                                                 April, 1999                                  FTP Security Considerations                <draft-ietf-ftpext-sec-consider-02.txt>    Status of this Memo                                        This document is an Internet-Draft.  Internet-Drafts are working    documents of the Internet Engineering Task Force (IETF), its areas,    and its working groups.  Note that other groups may also distribute    working documents as Internet-Drafts.    Internet-Drafts are draft documents valid for a maximum of six    months and may be updated, replaced, or obsoleted by other documents    at any time.  It is inappropriate to use Internet-Drafts as    reference material or to cite them other than as ``work in    progress.''    To learn the current status of any Internet-Draft, please check the    ``1id-abstracts.txt'' listing contained in the Internet- Drafts    Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),    munnari.oz.au (Pacific Rim), ftp.ietf.org (US East Coast), or    ftp.isi.edu (US West Coast).    Distribution of this document is unlimited.  Please send comments    to the FTP Extension working group (FTPEXT-WG) of the Internet    Engineering Task Force (IETF) at <ftp-wg@hethmon.com>.    Subscription address is <ftp-wg-request@hethmon.com>.    Discussions of the group are archived at    <URL:http://w3.hethmon.com/ftpext/>.Abstract        The specification for the File Transfer Protocol contains a number    of mechanisms that can be used to compromise network security.  The    FTP specification allows a client to instruct a server to transfer    files to a third machine.  This third-party mechanism, known as    proxy FTP, causes a well known security problem.  The FTP    specification also allows an unlimited number of attempts at    entering a user's password.  This allows brute force "password    guessing" attacks.  This document provides suggestions for system    administrators and those implementing FTP servers that will decrease    the security problems associated with FTP.1   Introduction    The File Transfer Protocol specification [PR85] provides a mechanism    that allows a client to establish an FTP control connection and    transfer a file between two FTP servers.  This "proxy FTP" mechanismExpires: April, 1999                                            [Page 1]draft-ietf-ftpext-sec-consider-02.txt                       October 1998    can be used to decrease the amount of traffic on the network; the    client instructs one server to transfer a file to another server,    rather than transferring the file from the first server to the    client and then from the client to the second server.  This is    particularly useful when the client connects to the network using a    slow link (e.g., a modem).  While useful, proxy FTP provides a    security problem known as a "bounce attack" [CERT97:27].  In    addition to the bounce attack, FTP servers can be used by attackers    to guess passwords using brute force.    This document does not contain a discussion of FTP when used in    conjunction with strong security protocols, such as IP Security.    These security concerns should be documented, however they are out    of the scope of this document.    This paper provides information for FTP server implementers and    system administrators, as follows.  Section 2 describes the FTP    "bounce attack".  Section 3 provides suggestions for minimizing the    bounce attack.  Section 4 provides suggestions for servers which    limit access based on network address.  Section 5 provides    recommendations for limiting brute force "password guessing" by    clients.  Next, section 6 provides a brief discussion of mechanisms    to improve privacy.  Section 7 provides a mechanism to prevent user    identity guessing.  Section 8 discusses the practice of port    stealing.  Finally, section 9 provides an overview of other FTP    security issues related to software bugs rather than protocol    issues.2   The Bounce Attack    The version of FTP specified in the standard [PR85] provides a    method for attacking well known network servers, while making the    perpetrators difficult to track down.  The attack involves sending    an FTP "PORT" command to an FTP server containing the network    address and the port number of the machine and service being    attacked.  At this point, the original client can instruct the FTP    server to send a file to the service being attacked.  Such a file    would contain commands relevant to the service being attacked (SMTP,    NNTP, etc.).  Instructing a third party to connect to the service,    rather than connecting directly, makes tracking down the perpetrator    difficult and can circumvent network-address-based access    restrictions.    As an example, a client uploads a file containing SMTP commands to    an FTP server.  Then, using an appropriate PORT command, the client    instructs the server to open a connection to a third machine's SMTP    port.  Finally, the client instructs the server to transfer the    uploaded file containing SMTP commands to the third machine.  This    may allow the client to forge mail on the third machine without    making a direct connection.  This makes it difficult to track    attackers.    Expires: April, 1999                                            [Page 2]draft-ietf-ftpext-sec-consider-02.txt                       October 19983   Protecting Against the Bounce Attack    The original FTP specification [PR85] assumes that data connections    will be made using the Transmission Control Protocol (TCP) [Pos81].    TCP port numbers in the range 0 - 1023 are reserved for well known    services such as mail, network news and FTP control connections    [RP94].  The FTP specification makes no restrictions on the TCP port    number used for the data connection.  Therefore, using proxy FTP,    clients have the ability to tell the server to attack a well known    service on any machine.    To avoid such bounce attacks, it is suggested that servers not open    data connections to TCP ports less than 1024.  If a server receives    a PORT command containing a TCP port number less than 1024, the    suggested response is 504 (defined as "Command not implemented for    that parameter" by [PR85]).  Note that this still leaves non-well    known servers (those running on ports greater than 1023) vulnerable    to bounce attacks.        Several proposals (e.g., [AOM98] and [Pis94]) provide a mechanism    that would allow data connections to be made using a transport    protocol other than TCP.  Similar precautions should be taken to    protect well known services when using these protocols.    Also note that the bounce attack generally requires that a    perpetrator be able to upload a file to an FTP server and later    download it to the service being attacked.  Using proper file    protections will prevent this behavior.  However, attackers can also    attack services by sending random data from a remote FTP server    which may cause problems for some services.    Disabling the PORT command is also an option for protecting against    the bounce attack.  Most file transfers can be made using only the    PASV command [Bel94].  The disadvantage of disabling the PORT    command is that one loses the ability to use proxy FTP, but proxy    FTP may not be necessary in a particular environment.4   Restricted Access    For some FTP servers, it is desirable to restrict access based on    network address.  For example, a server might want to restrict    access to certain files from certain places (e.g., a certain file    should not be transferred out of an organization).  In such a    situation, the server should confirm that the network address of the    remote hosts on both the control connection and the data connection    are within the organization before sending a restricted file.  By    checking both connections, a server is protected against the case    when the control connection is established with a trusted host and    the data connection is not.  Likewise, the client should verify the    IP address of the remote host after accepting a connection on a port    opened in listen mode to verify that the connection was made by the    expected server.    Expires: April, 1999                                            [Page 3]draft-ietf-ftpext-sec-consider-02.txt                       October 1998    Note that restricting access based on network address leaves the FTP    server vulnerable to "spoof" attacks.  In a spoof attack, for    example, an attacking machine could assume the host address of    another machine inside an organization and download files that are    not accessible from outside the organization.  Whenever possible,    secure authentication mechanisms should be used, such as those    outlined in [HL97].5   Protecting Passwords         To minimize the risk of brute force password guessing through the    FTP server, it is suggested that servers limit the number of    attempts that can be made at sending a correct password.  After a    small number of attempts (3-5), the server should close the control    connection with the client.  Before closing the control connection    the server must send a return code of 421 ("Service not available,    closing control connection." [PR85]) to the client.  In addition, it    is suggested that the server impose a 5 second delay before replying    to an invalid "PASS" command to diminish the efficiency of a brute    force attack.  If available, mechanisms already provided by the    target operating system should be used to implement the above    suggestions.    An intruder can subvert the above mechanisms by establishing    multiple, parallel control connections to a server.  To combat the    use of multiple concurrent connections, the server could either    limit the total number of control connections possible or attempt to

⌨️ 快捷键说明

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