Apache SpamAssassin: Difference between revisions

Content deleted Content added
Infobox
Tags: Mobile edit Mobile web edit
m revert - already listed at https://www.wikidata.org/wiki/Q1503674 , which is captured by the property listed here
 
(46 intermediate revisions by 35 users not shown)
Line 1:
{{Short description|Open-source e-mail spam filter}}
{{Use dmy dates|date=August 2023}}
{{More citations needed |date=May 2024}}
{{Infobox software
| name = Apache SpamAssassin
| logo = =Apache SpamAssassin logo.svg
| logo size = 210px
| screenshot = Reco spam.png
| developer = [[Apache Software Foundation]]<ref>{{cite web|url=http://svn.apache.org/repos/asf/spamassassin/trunk/CREDITS|title=Project Management Committee|website=The Apache Software Foundation|year=2022|access-date=23 August 2023}}</ref>
| released = {{Start date and age|2001|04|20}}
| latest release version = 3.4.2<ref>{{cite web | title=SpamAssassin: News and Announcements | accessdate=2018-09-16 |url = http://spamassassin.apache.org/news.html}}</ref>
| latest release date version = {{release date and agewikidata|property|preferred|references|2018edit|09Q1503674|16P348|dfP548=noQ2804309}}
| latest release date = {{start date and age|{{wikidata|qualifier|preferred|single|Q1503674|P348|P548=Q2804309|P577}}}}
| operating system = [[Cross-platform]]
| programming language = [[Perl]]
| repo = {{URL|https://svn.apache.org/repos/asf/spamassassin/|SpamAssassin Repository}}
| genre = [[Spam filter]]
| programming language = {{#statements:P277|from= [[Perl]]Q1503674}}
| license = [[Apache License 2.0]]
| genre = [[Spam filter]]
| license = [[Apache License 2.0]]
}}
'''Apache SpamAssassin''' is a [[computer program]] used for [[anti-spam techniques|e-mail spam filtering]]. It uses a variety of spam-detection techniques, including [[Domain Name System|DNS]]-based and [[fuzzy-checksum-based spamchecksum]] detectiontechniques, [[Bayesian spam filtering|Bayesian filtering]], external programs, blacklists and online databases. It is released under the [[Apache License|Apache License 2.0]] and is a part of the [[Apache Foundation]] since 2004.
 
The program can be integrated with the [[Mail transfer agent|mail server]] to automatically filter all mail for a site. It can also be run by individual users on their own mailbox and integrates with several [[mail user agent|mail programs]]. Apache SpamAssassin is highly configurable; if used as a system-wide filter it can still be configured to support per-user preferences.
 
==History==
Apache SpamAssassin was created by Justin Mason, who had maintained a number of patches against an earlier program named ''filter.plx'' by Mark Jeftovic, which in turn was begun in August 1997. Mason rewrote all of Jeftovic's code from scratch and uploaded the resulting codebase to [[SourceForge]] on April 20, 2001.<ref>{{cite web |title=SpamAssassin Prehistory |url=https://spamassassin.apache.org/old/prehistory/index.html |publisher=Apache Foundation |accessdateaccess-date=19 December 2018}}</ref>
 
In Summer 2004 the project became an [[Apache Software Foundation]] project and later officially renamed to ''Apache SpamAssassin''.<ref>{{cite web |title=SpamAssassin Project Incubation Status |url=http://incubator.apache.org/projects/spamassassin.html |publisher=Apache Foundation |accessdateaccess-date=19 December 2018}}</ref>
 
The SpamAssassin 3.4.2 release was the first in well over three years, but the developers say that "The project has picked up a new set of developers and is moving forward again."<ref>{{cite web |title=SpamAssassin is back |url=https://lwn.net/Articles/769917/ |publisher=LWN.net |accessdate=19 December 2018}}</ref>
 
==Methods of usage==
Apache SpamAssassin is a [[Perl]]-based application (<tt>{{mono|Mail::SpamAssassin</tt>}} in [[CPAN]]) which is usually used to filter all incoming mail for one or several users. It can be run as a [[Computer process|standalone application]] or as a subprogram of another application (such as a [[Milter]], [[SA-Exim]], [[Exiscan]], [[MailScanner]], [[MIMEDefang]], [[Amavis]]) or as a [[client (computing)|client]] (<tt>{{mono|spamc</tt>}}) that communicates with a [[daemon (computer software)|daemon]] (<tt>{{mono|spamd</tt>}}). The client/server or embedded mode of operation has performance benefits, but under certain circumstances may introduce additional security risks.
 
Typically either variant of the application is set up in a generic [[mail filter]] program, or it is called directly from a [[mail user agent]] that supports this, whenever new mail arrives. Mail filter programs such as [[procmail]] can be made to [[pipe (computing)|pipe]] all incoming mail through Apache SpamAssassin with an adjustment to a user's <tt>.{{mono|procmailrc</tt>}} file.
 
==Operation==
Line 44 ⟶ 47:
Apache SpamAssassin also supports:
* [[DNSBL|DNS-based blacklists]] and [[DNSWL|DNS-based whitelists]]
* Fuzzy-checksum-based spam detection filters such as the [[Distributed Checksum Clearinghouse]], [httphttps://razor.sourceforge.net/ Vipul's Razor] {{Webarchive|url=https://web.archive.org/web/20130328202325/http://razor.sourceforge.net/ |date=28 March 2013 }} and the Cloudmark Authority plugins (commercial)
* [[Hashcash]] email stamps based on [[Proof-of-work system|proof-of-work]]
* [[Sender Policy Framework]] and [[DomainKeys Identified Mail]]
Line 52 ⟶ 55:
 
==Bayesian filtering==
Apache SpamAssassin reinforces its rules through [[Bayesian spam filtering|Bayesian filtering]] where a user or administrator "feeds" examples of good (ham) and bad (spam) into the filter in order to learn the difference between the two. For this purpose, Apache SpamAssassin provides the command-line tool <tt>{{mono|sa-learn</tt>}}, which can be instructed to learn a single mail or an entire mailbox as either ham or spam.
 
Typically, the user will move unrecognized spam to a separate folder, and then run <tt>{{mono|sa-learn</tt>}} on the folder of non-spam and on the folder of spam separately. Alternatively, if the mail user agent supports it, <tt>{{mono|sa-learn</tt>}} can be called for individual emails. Regardless of the method used to perform the learning, SpamAssassin's Bayesian test will help score future e-mails based on this learning to improve the accuracy.
 
==Licensing==
Apache SpamAssassin is [[free software|free]]/[[open source software]], licensed under the [[Apache License|Apache License 2.0]]. Versions prior to 3.0 are dual-licensed under the [[Artistic License]] and the [[GNU General Public License]].
 
Many commercially available anti-spam packages integrate SpamAssassin as part of their products, such as SpamKiller by [[McAfee]] and [[Kerio MailServer]] by Kerio.<ref name="Hong">{{cite book |last1=Hong |first1=Bryan |title=Building A Server with FreeBSD 7: A Modular Approach |date=2008 |publisher=No Starch Press |___location=San Francisco |isbn=9781593271459 |page=197 |edition=1st}}</ref>
 
==sa-compile==
<code>sa-compile</code> is a utility distributed with Apache SpamAssassin that compiles a SpamAssassin ruleset into a [[deterministic finite automaton]] that allows Apache SpamAssassin to use processor power more efficiently.
 
==Testing Apache SpamAssassin==
Apache SpamAssassin is designed to trigger on the [[GTUBE]], a 68-byte string similar to the antivirus [[EICAR test file]]. If this string is inserted in an RFC 5322 formatted message and passed through the Apache SpamAssassin engine, Apache SpamAssassin will trigger with a weight of 1000.
 
Line 85 ⟶ 90:
| url = http://www.packtpub.com/spamassassin/book
}}
*{{cite book |first1 = Alan
|last1 first1 = AlanSchwartz
|title last1 = SchwartzSpamAssassin
| publisher = [[O'Reilly Media]]
| title = SpamAssassin
|edition = 1st
| publisher = [[O'Reilly Media]]
|page = [https://archive.org/details/spamassassin00schw/page/207 207]
| edition = 1st
|date page = 207July 2004
|isbn date = July 2004978-0-596-00707-2
|url = https://archive.org/details/spamassassin00schw/page/207
| isbn = 978-0-596-00707-2
|url-access = registration
| url = http://oreilly.com/catalog/9780596007072/
}}
{{Refend}}
Line 100 ⟶ 105:
==External links==
* {{official website}}
* [https://wikicwiki.apache.org/spamassassinconfluence/display/SPAMASSASSIN/ Apache SpamAssassin Wiki]
* [https://wikicwiki.apache.org/spamassassinconfluence/display/SPAMASSASSIN/RuleUpdates Apache SpamAssassin Rule Updates Wiki] Automatically updating Apache SpamAssassin
* [httphttps://www.mcgrail.com/downloadstemplate/KAM.cfprojects#KAM1 KAM.cf] KAM Ruleset for Apache SpamAssassin
 
{{Apache Software Foundation}}
{{Perl}}
 
{{DEFAULTSORT:Spamassassin}}
[[Category:Apache Software Foundation projects|SpamAssassin]]
[[Category:Cross-platform software]]
[[Category:Free email software]]
[[Category:Free software programmed in Perl]]
[[Category:Perl softwareAnti-spam]]
[[Category:SpamAnti-spam filteringserver softwares]]
[[Category:Spamming]]
[[Category:Email-related software for Linux]]