Network Working Group R. Johnson Request for Comments: 5107 J. Jumarasamy Category: Standards Track K. Kinnear M. Stapp Cisco Systems, Inc. January 2008 DHCP Server Identifier Override Suboption Status of This Memo This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited. Copyright Notice Copyright (C) The IETF Trust (2008). Abstract This memo defines a new suboption of the DHCP relay information option that allows the DHCP relay to specify a new value for the Server Identifier option, which is inserted by the DHCP Server. This allows the DHCP relay to act as the actual DHCP server such that RENEW DHCPREQUESTs will come to the relay instead of going to the server directly. This gives the relay the opportunity to include the Relay Agent option with appropriate suboptions even on DHCP RENEW messages. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . .23 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . .23 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4. Server Identifier Override Suboption Definition . . . . . . . .2 4.4 5. Security Considerations . . . . . . . . . . . . . . . . . . . .4 5.5 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . .4 6.6 7. Intellectual Property Rights and Copyright . . . . . . . . . .5 7.6 8. References . . . . . . . . . . . . . . . . . . . . . . . . . .5 7.1.6 8.1. Normative References . . . . . . . . . . . . . . . . . . .5 7.2.6 8.2. Informative References . . . . . . . . . . . . . . . . . .56 1. Introduction There are many situations wherethea DHCP relay agent is involved, and it can easily insert arelay agentRelay Agent Information option [3] with appropriate suboptions intoDHCP DISCOVERDHCPDISCOVER messages. Once the lease has been granted, however, futureDHCP RENEWALDHCPREQUEST messages sent by a client in RENEWING state are sent directly to the DHCPServer,server, as specified in the Server Identifier option.This means thatIn this case, the relay may not seethe DHCP RENEWALthese DHCPREQUEST messages (depending upon network topology) and thus cannotprovideinsert thesame relay agentRelay Agent Information optioninformationin theRENEWALDHCPREQUEST messages. ThisnewDHCP relay agent suboption, Server Identifieroverride,Override, allows the relay agent to tell the DHCP server what value to place into the Server Identifier option [5]. Using this, the relay agent can forceRENEWAL messagesa host in RENEWING state tocomesend DHCPREQUEST messages toitthe relay agent instead of directly to the server. The relaymayagent then has the opportunity to insert therelay agentRelay Agent Information option with appropriate suboptions and relay the DHCPREQUEST to the actual server. In this fashion, the DHCP server will be provided with the same relay agent information upon renewals (such as Circuit-ID, Remote-ID, Device Class, etc.) as was provided in the initialDISCOVERDHCPDISCOVER message. Ineffect, this makes a RENEWAL into a REBINDING. This new suboption could also be used by the DHCP relay in order to allow the relay to appear as the actual DHCP server to the client. This has the advantage that the relay can more easily keep up-to-date information about leases granted, etc. Inshort, this new suboption allows the DHCPv4 relay to function in the same fashion as the DHCPv6 relay [7] currently does. 2. Conventions 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 [1]. 3. Terminology This document uses DHCP terminology as defined in section 1.5 of RFC 2131 [2], with the exception of the term "DHCP relay agent" replacing "BOOTP relay agent". Other terms used in this document: o RENEW DHCPREQUEST - a DHCPREQUEST message sent by a client in RENEWING state 4. Server Identifier Override Suboption Definition The format of the suboption is: Code Len Overriding Server Identifier Address +-----+-----+-----+-----+-----+-----+ | 11 | n | a1 | a2 | a3 | a4 | +-----+-----+-----+-----+-----+-----+ Figure 1 The option length (n) is 4. The octets "a1" through "a4" specify the value that MUST be inserted into the Server Identifier option by the DHCP Server upon reply. DHCPServersservers that implement this RelaySuboptionAgent Information suboption MUST use this value, ifpresent,present in a DHCP message received from a client, as the value to insert into the Server Identifier optionwhenever respondingin the corresponding response. The DHCP server must also record the address in the suboption for use in subsequent messages toathe DHCP client until the next DHCP message is received from the DHCPClient.relay agent. If a DHCPServerserver does not understand/implement this RelaySuboption,Information suboption, it will ignore theSuboption,suboption, and thus it will insertit'sits own appropriate interface addressasin the Server Identifieraddress.option. In this case, the DHCP Relay will not receive RENEW DHCPREQUESTpacketsmessages from the client. When configuring a DHCPRelayrelay agent to use thisSuboption,suboption, the administrator of theRelayrelay agent should take into account whether or not the DHCPServerserver to which thepacketmessage will be relayed will correctly understand thisSuboption.suboption. When servicing a DHCPREQUESTpacket,message, the DHCPServerserver would normally look at the Server Identifier option for verification that the address specified there is one of the addresses associated with the DHCPServer,server, silently ignoring the DHCPREQUEST if it does not match a configured DHCPServerserver interface address. If the DHCPREQUESTpacketmessage contains a Server Identifier OverrideSuboption,suboption, however, comparison should be made between the address in this suboption and the Server Identifier option. If both the Server Identifier OverrideSuboptionsuboption and the Server IdentifierOptionoption specify the same address, then theServerserver should accept the DHCPREQUESTpacketmessage for processing, regardless of whether or not the Server IdentifierOptionoption matches a DHCPServerserver interface. The DHCPRelayrelay agent should fill in the giaddr field when relaying thepacket,message, just as it normally would do. In a situation where the DHCPRelayrelay agent is configured to forwardpacketsmessages to more than one server, the DHCPRelayrelay agent SHOULD forward all DHCPpacketsmessages to all servers. This applies toDHCPRENEWpacketsDHCPREQUEST messages as well. The intent is that the DHCPRelayrelay agent should not need to maintain state information about the DHCP lease. DHCPRelays usingrelay agents implementing this suboption SHOULD also implement and use the DHCPv4 Relay Agent Flags Suboption [4] in order to specify whether the DHCPRelayrelay agent received the originalpacketmessage as a broadcast or unicast. The DHCPServerserver receiving apacketmessage containing the Server Identifier Override Suboption may use this additional information in processing thepacket.message. Note that if the DHCPRelayrelay agent becomes inaccessible by the DHCPClientclient or loses network access to the DHCPServer,server, furtherDHCPRENEWpacketsDHCPREQUEST messages from the DHCPClientclient may not be properly processed and the DHCPClient'sclient's lease may time out.4.5. Security Considerations Message authentication in DHCP for intradomain use where the out-of- band exchange of a shared secret is feasible is defined in [6]. Potential exposures to attack are discussed in Section 7 of the DHCP protocol specification in [2]. The DHCP Relay Agent Information option depends on a trusted relationship between the DHCP relay agent and the DHCP server, as described in Section 5 of RFC 3046. While the introduction of fraudulentrelay-agentDHCP relay agent information options can be prevented by a perimeter defense that blocks these options unless the DHCP relay agent is trusted, a deeper defense using the authenticationoptionsuboption for DHCP relay agentoptionsinformation option [8] SHOULD be deployed as well. If a rogue DHCP relay agent were inserted between the DHCP client and the DHCP server, it could redirect clients toititself using this suboption. This would allow such a system to later deny RENEWDHCPREQUESTDHCPREQUESTs and thus force clients to discontinue use of their allocatedaddress.addresses. It could also allow the rogue relay to change, insert, or delete DHCP options in DHCPACK messages and extend leases beyond what the server has allowed.This interception, however, would need to be done during the initial DISCOVER and OFFER phase since the suboption value SHOULD be ignored by the server during RENEWAL state.DHCPAuthenticationauthentication [6] and/or DHCP Relay Agent Information option authentication [8] would address this case. (Note that, as is always the case, lack of DHCPAuthenticationauthentication would allow a rogue DHCP relay agent to change theServer-IDServer Identifier Override option in the DHCPOFFER and DHCPACKpacketsmessages without detection. This threat is not new to theServer-ID-OverrideServer Identifier Override suboption.) This document does not add any new vulnerabilities that were not already present, except in the case where DHCP authentication is already in place, and DHCP clients require its use. It is suggested that DHCP Authentication and DHCP Relay Agent Option Authentication SHOULD be deployed when this option is used, or protection should be provided against the insertion of rogue DHCPrelaysrelay agents between the client and server. This relaysub-optionsuboption is not intended, by itself, to provide any additional security benefits.5.6. IANA Considerations IANA has assigned a suboption number (11) for the Server Identifier Override Suboption from the DHCP Relay Agent Information Option [3] suboption number space.6.7. Intellectual Property Rights and Copyright The IETF has been notified of intellectual property rights claimed in regard to some or all of the specification contained in this document. For more information consult the online list of claimed rights.7.8. References7.1.8.1. Normative References [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [2] Droms, R., "Dynamic Host Configuration Protocol", RFC 2131, March 1997. [3] Patrick, M., "DHCP Relay Agent Information Option", RFC 3046, January 2001. [4] Kinnear, K., Normoyle, M., and M. Stapp, "The Dynamic Host Configuration Protocol Version 4 (DHCPv4) Relay Agent Flags Suboption", RFC 5010, September 2007.7.2.8.2. Informative References [5] Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor Extensions", RFC 2132, March 1997. [6] Droms, R. and W. Arbaugh, "Authentication for DHCP Messages", RFC 3118, June 2001. [7] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., and M. Carney, "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", RFC 3315, July 2003. [8] Stapp, M. and T. Lemon, "The Authentication Suboption for the Dynamic Host Configuration Protocol (DHCP) Relay Agent Option", RFC 4030, March 2005. Authors' Addresses Richard A. Johnson Cisco Systems, Inc. 170 W. Tasman Dr. San Jose, CA 95134 US Phone: +1 408 526 4000 EMail: raj@cisco.com Jay Kumarasamy Cisco Systems, Inc. 170 W. Tasman Dr. San Jose, CA 95134 US Phone: +1 408 526 4000 EMail: jayk@cisco.com Kim Kinnear Cisco Systems, Inc. 170 W. Tasman Dr. San Jose, CA 95134 US Phone: +1 408 526 4000 EMail: kkinnear@cisco.com Mark Stapp Cisco Systems, Inc. 170 W. Tasman Dr. San Jose, CA 95134 US Phone: +1 408 526 4000 EMail: mjs@cisco.com Full Copyright Statement Copyright (C) The IETF Trust (2008). 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. 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, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Intellectual Property 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. Acknowledgement Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA).