Internet DRAFT - draft-ellermann-spf-options

draft-ellermann-spf-options






Network Working Group                                       F. Ellermann
Internet-Draft                                                     xyzzy
Intended status: Experimental                          November 15, 2007
Expires: May 18, 2008


                  Sender Policy Framework: SPF Options
                     draft-ellermann-spf-options-02

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 May 18, 2008.

Copyright Notice

   Copyright (C) The IETF Trust (2007).

Abstract

   In discussions about the Sender Policy Framework (SPF) users often
   wanted to add optional properties to their sender policies.  The
   modifier "match_subdomains=yes" made it into early SPF drafts.  This
   memo proposes a general syntax for a modifier "op=" for this purpose.







Ellermann                 Expires May 18, 2008                  [Page 1]

Internet-Draft                 SPF options                 November 2007


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 3
   2.  Motivation  . . . . . . . . . . . . . . . . . . . . . . . . . . 3
   3.  op: options . . . . . . . . . . . . . . . . . . . . . . . . . . 4
     3.1.  The optional "pra" property . . . . . . . . . . . . . . . . 4
     3.2.  The optional "auth" property  . . . . . . . . . . . . . . . 5
   4.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . 5
   5.  Security Considerations . . . . . . . . . . . . . . . . . . . . 5
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . . . 6
     7.1.  Normative References  . . . . . . . . . . . . . . . . . . . 6
     7.2.  Informative References  . . . . . . . . . . . . . . . . . . 6
   Appendix A.  Document History . . . . . . . . . . . . . . . . . . . 7
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . . . 7
   Intellectual Property and Copyright Statements  . . . . . . . . . . 8



































Ellermann                 Expires May 18, 2008                  [Page 2]

Internet-Draft                 SPF options                 November 2007


1.  Introduction

   The key words "MAY, "MUST", "MUST NOT", and "NOT RECOMMENDED" in this
   memo are to be interpreted as described in [RFC2119].  One line of
   syntax uses the ABNF defined in [I-D.crocker-rfc4234bis].

   Readers should be familiar with [RFC2821], [RFC4409], and the SPF
   terminology in [RFC4408].  See [RFC4949] for an Internet Security
   Glossary.

   Comments and questions should be sent to the SPF-Discuss mailing list
   <http://dir.gmane.org/gmane.mail.spam.spf.discuss>.


2.  Motivation

   The SPF community often discussed optional "yes", "no", or similar
   modifiers.  SPF allows the introduction of new modifiers without a
   new SPF version under two conditions:

   1.  All SPF implementations can safely ignore the new modifier.

   2.  Implementations supporting the new modifier interpret all
       policies without this modifier like all other conforming
       implementations.

   The "op" modifier is a shorthand for optional properties and "opt-in"
   procedures.  The length of SPF policies is limited.  Instead of
   separate modifiers as in...

   IN SPF "v=spf1 o1=yes p2=no q3=1"

   ...the "op" modifier allows the shorter notation...

   IN SPF "v=spf1 op=o1.nop2.q3"

   ...for hypothetical properties "o1", "nop2", and "q3".  Please note
   that a policy without one of these properties does not implicitly
   have any "opposite" property.  Existing sender policies and
   implementations may not know these properties.  They are also free to
   ignore known properties intentionally.

   It is possible to define a hypothetical property "p2" as the opposite
   of "nop2", and to specify it explicitly in a sender policy.  The
   definitions could state that "p2" and "nop2" must not be used
   together.





Ellermann                 Expires May 18, 2008                  [Page 3]

Internet-Draft                 SPF options                 November 2007


3.  op: options

   The "op" modifier introduces a dot-separated list of optional
   properties.  New properties can be defined in additional documents in
   the same way as new SPF modifiers.

   At most one "op" modifier is allowed in an SPF sender policy.  It is
   a good idea to specify an "op" modifier before the first directive.
   An ABNF specification for options:

       options = "op=" name *( "." name )

   Property names can be given in any order, it is no syntax error to
   specify the same property more than once.  The term <name> for the
   names of individual properties is defined in [RFC4408].

   An initial set of properties is defined below: "pra", and "auth".

   In theory a modifier could be defined to have an effect on the
   evaluation of "included" policies.  This is not the case for the
   predefined (in [RFC4408]) modifiers "exp" and "redirect", and "op"
   follows this role model.

   In theory a modifier could be defined to have an effect on the
   evaluation of "continuation records" when following a "redirect"
   modifier.  This is not the case for the predefined "exp" modifier,
   and "op" follows this role model.

3.1.  The optional "pra" property

   The "pra" property indicates that the sender policy MAY be also
   evaluated for the "PRA" identity also known as "Purported Responsible
   Address" and defined in [RFC4407].

   Please note that many cases exist, where the "PRA" identity differs
   from the "MAIL FROM" identity, and that classic SPF sender policies
   are generally not designed to work with the "PRA" identity.

   Enforced submission rights for Message Submission Agents (MSAs) in
   [RFC4409] do not guarantee a match of any address in the 2822-From
   header field with the "MAIL FROM" identity, and they also do not
   guarantee the presence of a matching 2822-Sender header field.  For
   more details about these problems see [RFC2822] and compare sections
   6.1 and 8.1 in [RFC4409].







Ellermann                 Expires May 18, 2008                  [Page 4]

Internet-Draft                 SPF options                 November 2007


3.2.  The optional "auth" property

   The "auth" property indicates that the domain owner not only
   authorizes the hosts that "Pass" the sender policy to send mail using
   the domain in the "MAIL FROM" and "HELO" identities, but that the
   domain owner also asserts those uses of the domain to be authentic,
   i.e. not forged.

   In particular, this means that any authorized hosts that are shared
   with other domains are guaranteed to prevent cross-user forgery (see
   [RFC4408], section 10.4).  This is often the case for MSAs as defined
   in [RFC4409], but many MSAs and smart hosts still allow to use any
   "MAIL FROM" identity after a successful authentication.

   For details about enforced submission rights see [RFC4409].  Example:

   IN SPF "v=spf1 op=auth +a ?include:example.com -all"

   Please note that the "auth" property has no technical effect.  It is
   arguably better to use a "Neutral" mechanism for any shared smart
   host, and to use "Pass" only if the MSA enforces submission rights.


4.  Acknowledgements

   Many persons on the SPF-Discuss mailing list contributed to the ideas
   published in this memo.  Special thanks for this and completely
   different reasons to April Lorenzen, Bruce Lilly, Chris Hayes, Hector
   Santos, Julian Mehnle, Keith Moore, Meng Weng Wong, Scott Kitterman,
   Stuart D. Gathman, Wayne Schlitt, and William Leibzon.

   Bill Fenner's _xml2rfc validator_ and _ABNF checker_ were a great
   help in the creation of (not only) this memo.  The same goes for
   various great _IETF tools_ written by Henrik Levkowetz.


5.  Security Considerations

   Please consult the security considerations in [RFC4409] and
   [RFC4408].  A sender policy is only a claim by the domain owner, this
   can be a spammer or an attacker.

   The SPF specification [RFC4408] explains why checking other
   identities except from the "HELO" and "MAIL FROM" identities against
   SPF version 1 records is NOT RECOMMENDED without explicit approval of
   the domain owner.

   While the "pra" property offers a way for this explicit approval in



Ellermann                 Expires May 18, 2008                  [Page 5]

Internet-Draft                 SPF options                 November 2007


   the case of a "PRA" identity, it does not solve any of the underlying
   technical problems with this approach.  Receivers should treat all
   PRA-results with utmost care.


6.  IANA Considerations

   The creation of a IANA registry for additional SPF modifiers not
   limited to "op=" and/or for additional properties might be desirable
   in the future, but at this time it's unnecessary.


7.  References

7.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC4408]  Wong, M. and W. Schlitt, "Sender Policy Framework (SPF)
              for Authorizing Use of Domains in E-Mail, Version 1",
              RFC 4408, April 2006.

   [RFC4409]  Gellens, R. and J. Klensin, "Message Submission for Mail",
              RFC 4409, April 2006.

   [I-D.crocker-rfc4234bis]
              Crocker, D. and P. Overell, "Augmented BNF for Syntax
              Specifications: ABNF", draft-crocker-rfc4234bis-01 (work
              in progress), October 2007.

7.2.  Informative References

   [RFC2821]  Klensin, J., "Simple Mail Transfer Protocol", RFC 2821,
              April 2001.

   [RFC2822]  Resnick, P., "Internet Message Format", RFC 2822,
              April 2001.

   [RFC4407]  Lyon, J., "Purported Responsible Address in E-Mail
              Messages", RFC 4407, April 2006.

   [RFC4949]  Shirey, R., "Internet Security Glossary, Version 2",
              RFC 4949, August 2007.







Ellermann                 Expires May 18, 2008                  [Page 6]

Internet-Draft                 SPF options                 November 2007


Appendix A.  Document History

   *This appendix should not be published in an RFC.*

   For [draft-ellermann-spf-options-00] the last
   [draft-spf-6-3-options-10] was renamed and submitted as Internet
   draft (I-D).  A note that it should be not implemented before that
   time was removed - apparently no additional SPF modifiers have been
   implemented so far.

   The first revision of the I-D (version 01) got a reference to
   [RFC4949] for the improved "auth" section.  More acronyms are
   expanded on first usage.

   Version 02 is a maintenance update removing the
   [draft-spf-6-3-options] (2004-2006) history.  RFC 2828 was replaced
   by [RFC4949], and RFC 4234 was replaced by [I-D.crocker-rfc4234bis].
   The popular demand for "helo" and "nohelo" options over the years was
   near zero, they are now removed.


Author's Address

   Frank Ellermann
   xyzzy
   Hamburg, Germany

   Email: hmdmhdfmhdjmzdtjmzdtzktdkztdjz@gmail.com
   URI:   http://purl.net/xyzzy/






















Ellermann                 Expires May 18, 2008                  [Page 7]

Internet-Draft                 SPF options                 November 2007


Full Copyright Statement

   Copyright (C) The IETF Trust (2007).

   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.


Acknowledgments

   Funding for the RFC Editor function is provided by the IETF
   Administrative Support Activity (IASA).  This document was produced
   using xml2rfc v1.33pre5 (of http://xml.resource.org/) from a source
   in RFC-2629 XML format.



Ellermann                 Expires May 18, 2008                  [Page 8]