Network Working Group Internet Draft Senthil K Balasubramanian Expires: December 2006 Intoto Michael Alexander Gustaf Neumann Wirtschaftsuniversitaet Wien June 2006 DHCP Option for Proxy Server Configuration draft-ietf-dhc-proxyserver-opt-05.txt Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. 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." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on December 2006. Copyright Notice Copyright (C) The Internet Society (2006). Abstract This document defines a new Dynamic Host Configuration Protocol DHCP) option, which can be used to configure the TCP/IP host's Proxy Server configuration for standard protocols like HTTP,FTP, NNTP,SOCKS, Gopher, SLL and etc. Proxy Server provides controlled and efficient access to the Internet by access control mechanism for different types of user requests and caching frequently accessed information (Web pages and possibly files that might have been Balasubramanian, et al. Expires - December 2006 [Page 1] Internet-Draft DHCP Option for Proxy Server Configuration June 2006 downloaded using FTP and other protocols). 1. Terminologies Used DHCP Client: A DHCP [RFC-2131] client is an Internet host that uses DHCP to obtain configuration information such as a network address. DHCP Server: A DHCP server [RFC-2131] is an Internet host that returns configuration parameters to DHCP clients. Proxy Server: In an enterprise network that connects to Internet, a proxy server is a server that acts as an intermediary between a workstation user and the Internet so that the enterprise can ensure security and administrative control. A Proxy server MAY provide caching services or be associated with or part of a gateway server that separates the enterprise network from the outside network (usually the Internet) and a firewall that protects the enterprise network from outside intrusion. PAC : PAC stands for Proxy Auto-Configuration. It is a file that contains information about the proxy servers to be used. Most of the browsers support Proxy Auto Configuration File format to specify the proxies to be used. URI : Uniform Resource Identifier [RFC-3986]. A Uniform Resource Identifier is a formatted string that serves as an identifier for a resource, typically on the Internet. The formatted string comprises a name or address that can be used to refer to a internet resource. URIs in common practice include Uniform Resource Locators(URLs). The following are the examples of URI: http://www.ietf.org/rfc/rfc1234.txt ftp://ftp.isi.edu/rfc/rfc124.txt In addition to identifying a resource, the URI also provides a means of acting upon or obtaining a representation of the resource by describing its primary access mechanism. For example, http://www.ietf.org is a URI that identifies a resource and implies that the resource is accessible through HTTP protocol. 2. Introduction The Dynamic Host Configuration Protocol [RFC-2131] provides a framework for passing configuration information to hosts on a TCP/IP network. This document describes a DHCP configuration option that can be used to inform a DHCP client of the IP Balasubramanian, et al. Expires - December 2006 [Page 2] Internet-Draft DHCP Option for Proxy Server Configuration June 2006 addresses and properties of one or more proxy services that are either available to it or that must be used in order to access internet services, for example through a coporate firewall. The following diagram depicts the typical setup of a proxy server providing proxy services to clients on a network that is protected by a firewall +---------------------------+ +-----------+ | | |Remote HTTP| | | HTTP |Server | | +------------+ +-------------+<--->+-----------+ | | Clients | |Proxy Server | | | Inside the |<------>| + | FTP +-----------+ | | Firewall | |Firewall |<--->|Remote FTP | | +------------+ +-------------+ |Server | | | ^ +-----------+ | | | | | | +-----------+ +---------------------------+ | NNTP |Remote NNTP| +------------>|Server | +-----------+ The primary use of proxies is to allow access to the World Wide Web from within a firewall. A proxy service typically runs on firewall machine. It waits for a request from inside the firewall, forwards the request to the remote server outside the firewall, reads the response and then sends it back to the client. Usually, all the clients use the same proxy within a given network, which helps in efficient caching of documents that are requested by a number of clients. Similarly, proxies can provide document caching functions on the outside Internet. A proxy server can increase network security and user productivity by filtering content and controlling both internal and external access to information. Also, it provides several other functionalities that are not discussed here. 3. Requirements terminology The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC 2119]. 4. Proxy Server Configuration Option This document defines a new DHCP Option called the Proxy Server Configuration Option. The format of the Proxy Server configuration option is: Balasubramanian, et al. Expires - December 2006 [Page 3] Internet-Draft DHCP Option for Proxy Server Configuration June 2006 Code Len Proxy Server Configuration Field +------+------+------+------+------+------+--...-+------+ | TBD | N | i1 | i2 | i3 | i4 | | iN | +------+------+------+------+------+------+--...-+------+ Code is TBD and will be assigned by IANA according to [RFC-2939]. The length N gives the total number of octets in the proxy server configuration field. The Proxy server configuration field consists of SubOpt/Length/Value tuples for each sub-option, encoded in the following manner: SubOpt Len Sub-option Value +------+------+------+------+------+------+--...-+------+ | 1 | N | s1 | s2 | s3 | s4 | | sN | +------+------+------+------+------+------+--...-+------+ SubOpt Len Sub-option Value +------+------+------+------+------+------+--...-+------+ | 2 | N | i1 | i2 | i3 | i4 | | iN | +------+------+------+------+------+------+--...-+------+ The length N of the DHCP Proxy Server Information Option shall include all bytes of the sub-option code/length/value tuples. The length N of the sub-options shall be the number of octets in only that sub-option's value field. The sub-option need not appear in sub-option code order. No pad sub-option is defined, and the proxy server configuration field shall NOT be terminated with a 255 sub- option. The initial assignment of DHCP Proxy Server Sub-options is as follows +------------------+------------------------+ |DHCP Proxy Server | Sub Option Description | |Sub Option Code | | +------------------+------------------------+ | 1 | PAC URI | |------------------+------------------------+ | 2 | MD5 Digest of PAC URI | +------------------+------------------------+ 5. Proxy Server Configuration Sub Options 5.1 PAC URI Sub Option and MD5 Digest Sub Option of PAC URI Balasubramanian, et al. Expires - December 2006 [Page 4] Internet-Draft DHCP Option for Proxy Server Configuration June 2006 The PAC URI Sub Option specifies an URI in the UTF-8[STD-63] format. The length of the sub-option is actually depends on the scheme used to specify an URI. However, it MUST be restricted to a maximum of 255 octets. The DHCP Server MAY compute MD5[MD5] digest on the PAC URI configured and send the value in MD5 Digest Sub Option(Sub Option 2). The DHCP Client on receiving this sub-option MUST compute MD5 digest on the URI received in the PAC URI Sub Option and match it with the digest present in MD5 Digest Sub Option. If the calculated MD5 digest doesn't match with the received MD5 digest, then the DHCP client MUST drop this configuration. The PAC URI Sub-Option is as follows: SubOpt Len PAC URI Sub-Option +-----+-----+-----+-----+-----+--...-+------+ | 1 | N | c1 | c2 | c3 | | cN | +-----+-----+-----+-----+-----+--...-+------+ SubOpt Len MD5 Digest Sub Option +-----+-----+-----+-----+-----+--...-+------+ | 2 | N | c1 | c2 | c3 | | cN | +-----+-----+-----+-----+-----+--...-+------+ The MD5 sub option is OPTIONAL and DHCP Server MAY send it if it calculates MD5 digest on the PAC URI. 6. Option Usage The DHCP Proxy server configuration option MUST always carry PAC URI Sub Option. However MD5 Digest of PAC URI Sub Option is OPTIONAL. This is provided for additional security. If the length of the Proxy server configuration option exceeds the maximum permissible within a single option (255 octets), then the Configuration Option MUST be represented in the DHCP message as specified in [RFC-3396]. 7. Security Considerations The DHCP Options defined here allow an intruder DHCP server to misdirect a client, causing it to access a nonexistent or malicious proxy server. This allows for a denial of service or man-in-the-middle attacks. The latter security consideration is a well known property of the DCHP protocol; this option does not create any additional risk of such attacks. DHCP provides an authentication mechanism, as described in [RFC-3118], which may be used if authentication is required. 8. IANA Considerations IANA is requested to assign an option code to the Proxy Server Configuration Option and protocol numbers for the SSL and RDF Balasubramanian, et al. Expires - December 2006 [Page 5] Internet-Draft DHCP Option for Proxy Server Configuration June 2006 protocol. 9. Normative References [RFC-2131] Droms, R., "Dynamic Host Configuration Protocol", RFC 2131, March 1997. [RFC-2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC-3396] Lemon, T. and S. Cheshire, "Encoding Long DHCP Options", RFC 3396, November 2002. [STD63] Yergeau, F., "UTF-8, a transformation format of ISO 10646", STD 63, RFC 3629, November 2003. [MD5] Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, April 1992. 10. Informative References [RFC-3118] Droms, R. and W. Arbaugh, "Authentication for DHCP Messages", RFC 3118, June 2001. [RFC-2939] Droms, R., "Procedures and IANA Guidelines for Definition of New DHCP Options and Message Types", BCP 43, RFC 2939, September 2000. [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform Resource Identifiers (URI): Generic Syntax", RFC 3986, January 2005. 11. Acknowledgments Thanks to the DHC Working Group for their time and input into the specification. In particular, thanks to (in alphabetical order) Bernie Volz, Ralph Droms, Robert Elz, Stig Venaas and Ted Lemon for their thorough review. Author's Addresses Senthil Kumar Balasubramanian Intoto Software (I) Pvt Ltd., New No 5, Old No 3, First Street, Nandanam Extension, Chennai, India Balasubramanian, et al. Expires - December 2006 [Page 6] Internet-Draft DHCP Option for Proxy Server Configuration June 2006 Phone: +91 44 5211 2783/4/5 Email: ksenthil@intoto.com Michael Alexander Wirtschaftsuniversitaet Wien Augasse 2-6 A-1090 Vienna, Austria Phone: +43 31336 4467 Email: malexand@wu-wien.ac.at Gustaf Neumann Wirtschaftsuniversitaet Wien Augasse 2-6 A-1090 Vienna, Austria Phone: +43 31336 4671 Email: neumann@wu-wien.ac.at Intellectual Property Statement The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Disclaimer of Validity This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE Balasubramanian, et al. Expires - December 2006 [Page 7] Internet-Draft DHCP Option for Proxy Server Configuration June 2006 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Copyright Statement Copyright (C) The Internet Society (2006). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. Acknowledgment Funding for the RFC Editor function is currently provided by the Internet Society. Balasubramanian, et al. Expires - December 2006 [Page 8]