abbr.
sun protection factor
| Dictionary: SPF |
| 5min Related Video: Sender Policy Framework |
| Computer Desktop Encyclopedia: SPF |
(1) (Stateful Packet Firewall) See stateful inspection.
(2) (Sender Policy Framework) An e-mail authentication system that verifies that the message came from an authorized mail server. SPF is designed to detect messages from spammers and phishers who falsify the sender's IP address in the e-mail header. SPF is an extension to the SMTP mail protocol.
SPF Records
The DNS system identifies the IP address of a receiving mail server with a line of text in the DNS database known as an MX record. DNS also supports a "reverse MX" record, which identifies the sending mail server and is used by SPF. When an e-mail message is received, the mail server checks the SPF record in the DNS to see if it matches the actual IP address of the message. If it does, the e-mail is considered valid. For more information, visit www.spf.pobox.com.
SPF Classic and PRA
There are two approaches to checking e-mail messages via SPF. SPF Classic systems check only the envelope header, while Microsoft's Purported Responsible Address (PRA) method looks at the headers within the message. See Sender ID, Joe Job, spam, phishing, throwaway domain and SMTP.
Download Computer Desktop Encyclopedia to your iPhone/iTouch
| Measures and Units: SPF |
The fraction of B-type ultraviolet light that sun-screen cream allows to reach the skin, e.g. SPF 15 means reduction to 1/15.
| Abbreviations: SPF |
| Meaning | Category |
| Sale Pending Funds | Business->Accounting |
| Sender Permitted From | Internet->Chat |
| Serious Pennsy Fan | Miscellaneous->Funnies |
| Shortest Path First | Academic & Science->Mathematics |
| Single Point Failure | Governmental->NASA |
| Single Project Funding | Governmental->Military |
| Sizzle People Fast | Miscellaneous->Funnies |
| Skin Protection Factor | Academic & Science->Meteorology |
| Slide Presentation File | Computing->File Extensions |
| Software Production Facility | Governmental->NASA |
| Spacelab Processing Facility | Governmental->NASA |
| Specific Pathogen Free | Medical->Physiology |
| Sphincter Pucker Factor | Internet->Chat |
| Spruce Pine Fir | Academic & Science->Botany |
| Standard Pacific Corporation | Business->NYSE Symbols |
| Summertime Phone Functionality | Computing->Telecom |
| Sun Protection Factor | Medical->Physiology |
| Sunbelt Personal Firewall | Computing->Software |
| Sunscreen Protection Factor | Medical->Physiology |
Click here to submit an acronym.
| Wikipedia: Sender Policy Framework |
| This article may be too technical for most readers to understand. Please improve this article to make it accessible to non-experts, without removing the technical details. (July 2009) |
Sender Policy Framework (SPF), as defined in RFC 4408, is an e-mail validation system designed to prevent e-mail spam by addressing a common vulnerability, source address spoofing. SPF allows e-mail administrators the ability to specify which Internet hosts are allowed to send e-mail claiming to originate from that domain by creating a specific DNS SPF record in the public DNS record. Mail exchangers then use the DNS record to verify the sender's identity against the list published by the e-mail administrator.[1]
Contents |
Normal SMTP allows any computer to send an e-mail claiming to be from anyone. Thus, it is easy for spammers to send e-mail from forged addresses. This makes it difficult to trace back to where the spam truly comes from, and easy for spammers to hide their true identity in order to avoid responsibility. Many believe that the ability for anyone to forge sender addresses (also known as Return-Paths) is a security flaw in modern SMTP, caused by an undesirable side-effect of the deprecation of source routes.
SPF allows the owner of an Internet domain to use special format of DNS records ("SPF", type 99) to specify which machines are authorized to transmit e-mail for that domain. For example, the owner of the example.org domain can designate which machines are authorized to send e-mail whose sender e-mail address ends with "@example.org". Receivers checking SPF can reject messages from unauthorized machines before receiving the body of the message. Thus, principles of operations are quite similar to those of DNSBL, except that SPF leverages the authority delegation scheme of the real Domain Name System. Early implementations used TXT records for quick deployment before the new type was available in many server programs. Use of TXT records for SPF as a transitional mechanism, although still common in 2009, is deprecated.
The sender address is transmitted at the beginning of the SMTP dialog. If the server rejects the sender, the unauthorized client should receive a rejection message, and if that client was a relaying MTA, a bounce message to the original sending address may be generated. If the server accepts the sender, and subsequently also accepts the recipient(s) and the body of the message, it should insert a Return-Path header in the message's body in order to save the sender address. While the address in the Return-Path often matches other originator addresses in the mail header like "From:" or "Sender:" this is not necessarily the case, and SPF does not prevent forgeries of these other addresses.
Spammers can send e-mail with an SPF PASS result if they have an account in a domain with a sender policy, or abuse a compromised system in this domain. However, doing so makes the spammer easier to trace and prosecute.
The main benefit of SPF is to people whose e-mail addresses are forged in the Return-Paths. They receive a large mass of unsolicited error messages and other auto-replies, making it difficult to use e-mail normally. If such people use SPF to specify their legitimate sending IPs with a FAIL result for all other IPs, receivers checking SPF can reject forgeries, thus reducing or eliminating the amount of backscatter.
SPF has potential advantages beyond helping identify unwanted e-mail. In particular, if a sender provides SPF information, then receivers can use SPF PASS results in combination with a white list to identify known reliable senders. Scenarios like compromised systems and shared sending mailers limit this use.
If a domain publishes an SPF record, spammers and phishers are less likely to forge e-mails pretending to be from that domain, since the forged e-mails are more likely to be caught in spam filters which check the SPF record. Therefore, an SPF protected domain is less attractive to spammers and phishers. Since an SPF protected domain is less attractive as a spoofed address, it is less likely to be blacklisted by spam filters and so ultimately the legitimate e-mail from the domain is more likely to get through. [2]
SPF does not allow plain message forwarding. When a domain publishes an SPF FAIL policy, then legitimate mails sent to receivers forwarding their mail to third parties can be rejected and bounced if
This is a necessary and obvious feature of SPF – checks behind the "border" MTA (MX) of the receiver cannot work directly.
Publishers of SPF FAIL policies must accept this potential problem. They should test (e.g., with a SOFTFAIL policy) until they are satisfied with the results. See below for a list of alternatives to plain message forwarding.
For an empty Return-Path as used in error messages and other auto-replies, an SPF check of the HELO-identity is mandatory.
With a bogus HELO identity the result NONE would not help, but for valid host names SPF also protects the HELO identity. This SPF feature was always supported as an option for receivers, and later SPF drafts including the final specification recommend to check the HELO always.
This allows to white list sending mailers based on a HELO PASS, or to reject all mails after a HELO FAIL. It can also be used in reputation systems (any white or black list is a simple case of a reputation system).
Compliance with SPF consists of three loosely related tasks:
551 User not local; please try <user@example.com>,Thus, the key issue in SPF is the specification for the new DNS information that domains set and receivers use. The records are laid out like this (in typical DNS-syntax):
example.org. IN SPF "v=spf1 a mx -all"
"v=" defines the version of SPF used. The following words provide mechanisms to use to determine if a domain is eligible to send mail. The "a" and "mx" specify the systems permitted to send messages for the given domain. The "-all" at the end specifies that, if the previous mechanisms did not match, the message should be rejected.
Eight mechanisms are defined:
| ALL | Matches always, used for a default result like -all for all IPs not matched by prior mechanisms. |
| A | If the domain name has an A (or AAAA for IPv6) record corresponding to the sender's address, it will match. (That is, the mail comes directly from the domain name.) |
| IP4 | If the sender is in a given IPv4 range, match. |
| IP6 | If the sender is in a given IPv6 range, match. |
| MX | If the domain name has an MX record resolving to the sender's address, it will match. (That is, the mail comes from one of the domain's mail servers.) |
| PTR | If the Forward Confirmed reverse DNS domain of the sending IP ending in the domain name. |
| EXISTS | If the given domain resolves, match (no matter the address it resolves to). This is rarely used. Along with the SPF macro language it offers more complex matches like DNSBL-queries. |
| INCLUDE | If the included (a misnomer) policy passes the test this mechanism matches. This is typically used to include policies of more than one ISP. |
Each mechanism can be combined with one of four qualifiers:
The modifiers allow for future extensions to the framework. To date only the two modifiers defined in the RFC 4408 have been widely deployed:
exp=some.example.com gives the name of a domain with a DNS TXT record (interpreted using SPF's macro language) to get an explanation for FAIL results – typically a URL which is added to the SMTP error code. This feature is rarely used.
redirect=some.example.com can be used instead of the ALL-mechanism to link to the policy record of another domain. This modifier is easier to understand than the somewhat similar INCLUDE-mechanism.
As soon as SPF implementations detect syntax errors in a sender policy they must abort the evaluation with result PERMERROR. Skipping erroneous mechanisms cannot work as expected, therefore include:bad.example and redirect=bad.example also cause a PERMERROR.
Another safety guard is the maximum of ten mechanisms querying DNS, i.e. any mechanism except from IP4, IP6, and ALL. Implementations can abort the evaluation with result SOFTERROR when it takes too long or a DNS query times out, but they must return PERMERROR if the policy directly or indirectly needs more than ten queries for mechanisms. Any redirect= also counts towards this processing limit.
A typical SPF HELO policy v=spf1 a -all may execute up to three DNS queries: (1) SPF, (2) TXT (deprecated, but for backwards compatibility during the transition), and (3) A or AAAA. This last query counts as the first mechanism towards the limit (10). In this example it is also the last, because ALL needs no DNS lookup.
SPF avoids abuses of domain names; it does not validate that a given e-mail actually comes from the claimed user. Users within a given domain can forge each others' address ("cross-user forgery" or even "cross-domain" forgery where outbound mail servers are shared), if permitted by the signature process.
SPF FAIL policies can be an effective but dangerous tool. Some publishers of SPF policies try to avoid the dangers by using SOFTFAIL (designed for limited testing periods) instead of FAIL. But SOFTFAIL can be even more dangerous than FAIL with receivers rejecting FAIL and accepting SOFTFAIL tagged as potential junk.
A reject in a forwarding scenario is a clean decision. The forwarder will send an error message to the address in 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 then send his mail again directly to this address bypassing the forwarder, a crude emulation of the normal SMTP error code 551 user not local.
However, an accepted SOFTFAIL tagged as potential junk could be deleted by the final recipient. This is a user who has arranged his forwarding in a way that cannot work with SPF; this user could also be careless with checking his potential junk and simply delete it.
The same line of argument also suggests that receivers should take the SPF recommendation to reject SPF FAIL seriously where possible. Accepting SPF FAIL results as potential junk can be more dangerous than simply rejecting FAILed mails. While senders with an SPF FAIL can be expected to know what it means, the same is obviously not the case for a receiver arranging his forwarding in a way that cannot work with SPF.
Checking SPF behind the "border" MTA (MX) is not impossible; the relevant info is usually noted in a Received timestamp line added by one of the MXs of the receiver. But at this time it is too late to reject SPF FAIL; the checking entity can essentially only delete FAILing mail.
Experts should be able to get this right, but it is no "plug and play" situation; therefore the SPF specification recommends to check SPF only at the "border" (MX) in the SMTP session, not later. Later SPF checks can also have unexpected results if the publishers of sender policies do not plan modifications of their policy carefully with regard to DNS cache expiration.
An Internet draft[3] discussed concerns related to the scale of an SPF answer leading to network exploits as a means to corrupt the DNS. This issue is also covered in the security considerations of the SPF RFC. The SPF project did a detailed analysis [4] of this draft and claimed that SPF does not pose any unique threat of DNS DoS.
SPF validates the message envelope (the SMTP bounce address), not the message contents (header and body) – this is the distinction between SMTP (as specified in STD 10 or RFC 5321) and Internet Message Format (as specified in STD 11 or RFC 5322). It is orthogonal and complementary to DomainKeys Identified Mail (DKIM), which signs the contents (including headers).
In brief, SPF validates MAIL FROM vs. its source server; DKIM validates "From:" by cryptographic means.
The idea to limit by IP address who could send mail using a given sender domain may date back as far as 1997. The first public mention of the concept was in 2000 but went mostly unnoticed. No mention was made of the concept again until a first attempt at an SPF-like specification was published in 2002 on the IETF "namedroppers" mailing list by David Green, who was unaware of the 2000 mention of the idea. The very next day, Paul Vixie posted his own SPF-like specification on the same list. These posts ignited a lot of interest, and eventually led to the forming of the IETF Anti-Spam Research Group (ASRG) and their mailing list, where the SPF idea was debated among a subscriber base that seemed to grow exponentially day by day. Among the proposals submitted to the ASRG were "Reverse MX" by Hadmut Danisch, and "Designated Mailer Protocol" by Gordon Fecyk.[5]
In June 2003, Meng Weng Wong merged the RMX and DMP specifications[6] and solicited suggestions from other programmers. Over the next six months, a large number of changes were made and a large community had started working on SPF.[7]
Originally SPF stood for Sender Permitted From and was sometimes also called SMTP+SPF, but it was changed to Sender Policy Framework in February 2004.
In early 2004, the IETF created the MARID working group and tried to use SPF and Microsoft's CallerID proposal as the basis for what is now known as Sender ID.
After the collapse of MARID the SPF community returned to the original "classic" version of SPF. In July 2005 this version of the specification was approved by the IESG as an IETF experiment, inviting the community to observe SPF during the two years following publication. On April 28, 2006, the SPF RFC was published as experimental RFC 4408.
In 2004, Steven M. Bellovin wrote an e-mail that discusses his concerns with SPF.[8] Some of these include:
Anti-spam software such as SpamAssassin version 3.0.0 and ASSP implement SPF. Many mail transfer agents (MTAs) support SPF directly such as Courier, CommuniGate Pro, Wildcat, and Microsoft Exchange, or have patches/plug-ins available that support SPF, including Postfix, Sendmail, Exim, and Qmail. More than one million domains publish SPF FAIL -all policies.[10]
In a survey published in 2007, 5% of the .com and .net domains had some kind of SPF policy. In 2009, a continuous survey run at Nokia Research reports that 51% of the tested domains specify a SPF policy.[11] These results can include trivial policies like v=spf1 ?all.[12] In April 2007, BITS, a division of the Financial Services Roundtable, published e-mail security recommendations for its members including SPF deployment.[13]
In 2008, the Messaging Anti-Abuse Working Group (MAAWG) published a paper about email-authentication covering SPF, Sender ID, and DKIM.[14]. In their "Sender Best Communication Practices" the MAAWG stated: "At the very least, senders should incorporate SPF records for their mailing domains".[15]
This entry is from Wikipedia, the leading user-contributed encyclopedia. It may not have been reviewed by professional editors (see full disclaimer)
| Sender ID (technology) | |
| SPF | |
| DomainKeys |
| What rhymes with sender? Read answer... | |
| What is theoritical framework? Read answer... | |
| What is CAGE framework? Read answer... |
Copyrights:
![]() | Dictionary. The American Heritage® Dictionary of the English Language, Fourth Edition Copyright © 2007, 2000 by Houghton Mifflin Company. Updated in 2007. Published by Houghton Mifflin Company. All rights reserved. Read more | |
![]() | Computer Desktop Encyclopedia. THIS COPYRIGHTED DEFINITION IS FOR PERSONAL USE ONLY. All other reproduction is strictly prohibited without permission from the publisher. © 1981-2009 Computer Language Company Inc. All rights reserved. Read more | |
![]() | Measures and Units. A Dictionary of Weights, Measures, and Units. Copyright © Donald Fenna 2002, 2004. All rights reserved. Read more | |
![]() | Abbreviations. STANDS4.com - The source for acronyms and abbreviations. Copyright ©2004-2007 STANDS4 LLC. All rights reserved. Read more | |
![]() | Wikipedia. This article is licensed under the Creative Commons Attribution/Share-Alike License. It uses material from the Wikipedia article "Sender Policy Framework". Read more |