| AllExperts > Encyclopedia | ||
![]() |
Sender Policy Framework: Encyclopedia BETAFree Encyclopedia |
| Home · Index · Browse A-Z | · Questions and Answers · |
|
QualifiersEach mechanism can be combined with one of four qualifiers:* + for a PASS result, this can be omitted, +mx is the same as mx. * ? for a NEUTRAL result interpreted like NONE (no policy). * ~ for SOFTFAIL, a debugging aid between NEUTRAL and FAIL. * - for FAIL, the mail should be rejected (see below). ModifiersThe modifiers allow for future extensions ofthe framework. So far only the two modifiersdefined in the RFC are widely deployed.exp=some.example.com gives the name of adomain with a DNS TXT record,which is interpreted using SPF's macro language toget an explanation for FAIL results, typically anURL, added to the SMTPerror code. This baroque feature is rarely used. redirect=some.example.com can be used instead of the ALL-mechanism to link to thepolicy record of another domain. This modifieris easier to understand than the somewhat similarINCLUDE-mechanism. Error handlingAs soon as SPF implementations detect syntax errors in a sender policy they must abortthe evaluation with result PERMERROR. Skippingerroneous mechanisms cannot work as expected,therefore include:bad.example andredirect=bad.example also cause aPERMERROR.Another safety guard is the maximum of tenmechanisms querying DNS, i.e. any mechanismexcept from IP4, IP6, and ALL. Implementations can abort the evaluation with result SOFTERROR when ittakes too long or a DNS query times out, but theymust return PERMERROR if the policy directlyor indirectly needs more than ten queries for mechanisms, any redirect= also counts towards this processing limit. A typical SPF HELO policy v=spf1 a -allneeds three DNS queries: (1) TXT, (2) SPF, and (3)A or AAAA. This last query counts as the first mechanism towards the limit (10), in thisexample it's also the last, because ALL needs noDNS lookup. CaveatsSPF normally only validates the domain of the envelope sender (in the Return-Path). Domains that share mail senders (e.g. with virtual hosting) can forge each others' domain. SPF does not validate that a given e-mail actually comes from the claimed user, because it operates at the network level.SPF FAIL rejectionSPF FAIL policies can be an effective but dangerous tool.Some publishers of SPF policies try to avoid the dangersby using SOFTFAIL (designed for limited testing periods)instead of FAIL.But SOFTFAIL can be even more dangerous than FAIL withreceivers rejecting FAIL and accepting SOFTFAIL taggedas potential junk.A reject in a forwarding scenario is a clean decision,the forwarder will send an error message to the addressin the Return-Path. Typically the error message (bounce)contains an explanation of the SMTP error and the failing(forwarded to) address. The original sender can thensend his mail again directly to this address bypassingthe forwarder, a crude emulation of the normal SMTPerror code 551 user not local. However an accepted SOFTFAIL tagged as potential junkcould be deleted by the final recipient. This is a userwho has arranged his forwarding in a way that cannotwork with SPF, this user could be also careless withchecking his potential junk and simply delete it. The same line of arguments also suggests that receiversshould take the SPF recommendation to reject SPF FAILseriously where possible. Accepting SPF FAIL resultsas potential junk can be more dangerous than simplyrejecting FAILed mails.While senders with an SPF FAIL can be expected to knowwhat it means, the same is obviously not the case for areceiver arrranging his forwarding in a way that cannotwork with SPF. CheckpointsChecking SPF behind the "border"MTA(MX) is not impossible,the relevant info is usually noted in a Receivedtimestamp line added by one of the MXs of the receiver.But at this time it's too late to reject SPF FAIL, thechecking entity can essentially only delete FAILing mail.Experts should be able to get this right, but it's noplug and play situation, therefore the SPF specificationrecommends to check SPF only at the "border" (MX) in theSMTP session, not later.Later SPF checks can also have unexpected results if the publishers of sender policies don't plan modifications of their policy carefully with regard to DNS cache expiration. DoS attackA new draft SPF DoS Exploitationdiscusses concerns related to the scale of an SPF answer leading to network exploits as a meansto corrupt DNS. This issue is also covered in the security considerations of the SPF RFC.HistoryThe SPF concept was presented at YAPC and OSCON (O'Reilly Open Source Convention) in 2003, in a short paper titled "Repudiating Mail-From" written by Paul Vixie in 2002. Other predecessors were"Reverse MX" by Hadmut Danisch, and "Designated Mailer Protocol" by Gordon Fecyk.In June 2003, Meng Weng Wong merged the RMX and DMP specifications and solicited suggestionsfrom other programmers. Over the next six months,a large number of changes were made and a large community had started working on SPF. Originally SPF stood for Sender Permitted Fromand was sometimes also called SMTP+SPF, but it waschanged to Sender Policy Framework in February 2004. In early 2004, the IETF created the MARID working group and tried to use SPF and Microsoft'sCallerID proposal as the basis for what is now known as Sender ID. After the collapse of MARID the SPF communityreturned to the original "classic" version of SPF.In July 2005 this version of the specification wasapproved by the IESG as anIETF experiment. On April 28th, 2006, the SPF RFC was published as RFC 4408. ControversySteven M. Bellovin has written a [news://news.gmane.org./6.0.1.1.2.20040105081256.03788ec0@ux13.sp.cs.cmu.edu long e-mail dated January 5, 2004], discussing some of hisconcerns with SPF. Some of these include:* SPF uses TXT records in DNS, which are supposed to be free-form text with no semantics attached. SPF proponents readily acknowledge that it would be better to have records specifically designated for SPF, but this choice was made to enable rapid implementation of SPF. In July 2005, IANA assigned the Resource Record type 99 to SPF. SPF publishers may publish both record types and SPF checkers may check for either types. It will likely take many years before all DNS software fully supports this new record. * As of the time he wrote his message, there was no consensus that this is the right way to go. Some major e-mail service providers have not bought into this scheme. Unless and until they do, it doesn't help much, either for their customers (who make up a substantial proportion of the user population) or for everyone else (since their addresses could be forged). It's worth noting that since this concern was raised, among others AOL has embraced SPF. * Bellovin's strongest concerns involve the underlying assumptions of SPF (SPF's "semantic model"). When using SPF, the SPF DNS records determine how a sender is allowed to send. That means that the owner of the domain will control how senders are allowed to send. People who use "portable" e-mail addresses (such as e-mail addresses created by professional organizations) will be required to use the domain owner's SMTP sender, which may not currently even exist. Organizations providing these "portable" addresses could, however, create their own Mail Submission Agents (MSAs) (RFC 4409) or offer VPNs. Besides SPF only ties the SMTP Return-Path to permitted MSAs, users are still free to use their RFC 2822 addresses elsewhere. Jonathan de Boyne Pollard has written a separate diatribe against SPF that discusses, among other things, SPF's conflict with several major mail RFCs, its ability to force ISPs to force their customers to use mail in particular ways, and the fact that it breaks when used with secondary MX hosts. The Register has written a brief article mentioning that more spam uses SPF than legitimate mail. Brad Knowles has a general article on problems with SPF. John Levine has a short general article on problems with SPF as well. DeploymentIn spite of its limitations, many people have decided that the pros of SPF outweigh its cons and have begun implementing SPF. Anti-spam products such as SpamAssassin version 3.0.0 implement SPF. Many mail transfer agents (MTAs) support SPF directly such as Wildcat, or have patches/plug-ins available that support SPF, including Postfix, Sendmail, Exim, and Qmail. Many prominent domains decided to post SPF data for their domains as of mid-2004, includingAmazon, AOL, EBay, Google, GMX, Hotmail, and W3C.See also* E-mail authentication overview* MARID * Sender ID * Sender Rewriting Scheme * Sender Signing Policy External links* SPF homepage and news* Mailing list archives * SPF Testing site * emailbattles: SPF Claws Sender-ID (Aug 2005) * Canadian recommendation for ISPs (May 2005) * Interview with co-author W. Schlitt (Mar 2005) * David Woodhouse discusses flaws in SPF (Jan 2005) * SpamCop FAQ entry about bogus bounces discusses also SPF (2005) * M. Wong's Deployment White Paper (PDF, Nov 2004) * CircleID interview with co-author M. Wong (Jun 2004) * Jonathan de Boyne Pollard's list of the flaws in SPF (2004) * Diagram of e-mail flow and SPF's impact (PDF, PNG ) * MIT Spam Conference Handout on SPF (Jan 2004) * Steve Bellovin expresses doubts (Jan 2004)
|
||||||||||||||||||||||||||||||
| About Us | Advertise on This Site | User Agreement | Privacy Policy | Kids' Privacy Policy | Help About and About.com are registered trademarks of About, Inc. The About logo is a trademark of About, Inc. All rights reserved. This is the "GNU Free Documentation License" reference article from the English Wikipedia. All text is available under the terms of the GNU Free Documentation License. See also our Disclaimer. |