Amavis - Amavis
![]() | tento článek se mohou příliš spoléhat na zdroje příliš úzce souvisí s tématem, což potenciálně brání tomu, aby článek byl ověřitelný a neutrální.Ledna 2019) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Vývojáři | Patrick Ben Koetter |
---|---|
První vydání | 1997 |
Stabilní uvolnění | 2.11.1 (9. října 2018[1]) [±] |
Úložiště | ![]() |
Napsáno | Perl |
Operační systém | Unixový |
Typ | Filtrování pošty |
Licence | GPLv2, Zjednodušená licence BSD |
webová stránka | www![]() |
Amavis je open-source filtr obsahu pro elektronická pošta, implementace přenosu poštovních zpráv, dekódování, určité zpracování a kontrola a propojení s filtry externího obsahu, aby byla zajištěna ochrana proti spam a viry a další malware. Lze jej považovat za rozhraní mezi poštou (MTA, Mail Transfer Agent) a jeden nebo více filtry obsahu.
Amavis lze použít k:
- detekovat viry, spam, zakázané typy obsahu nebo syntaktické chyby v e-mailových zprávách
- blokovat, označit, přesměrovat (pomocí sub-adresování ) nebo přeposílat poštu v závislosti na jejím obsahu, původu nebo velikosti
- do karantény (a vydání) nebo archivovat poštovní zprávy do souborů, do poštovních schránek nebo do a relační databáze
- dezinfikovat předané zprávy pomocí externího dezinfekčního prostředku
- generovat DKIM podpisy
- ověřte podpisy DKIM a poskytněte na základě DKIM seznam povolených
Pozoruhodné vlastnosti:
- poskytuje SNMP statistiky a sledování stavu pomocí rozsáhlé MIB s více než 300 proměnnými
- poskytuje strukturované záznam událostí v JSON formát
- IPv6 protokol je podporován při propojení a Formuláře adresy IPv6 v sekci záhlaví pošty
- správně ctí nastavení na příjemce i ve zprávách od více příjemců, přičemž skenuje zprávu pouze jednou.
- podporuje mezinárodní e-mail (RFC 6530, SMTPUTF8, EAI, IDN )
Běžná instalace filtrování pošty s Amavis sestává z a Postfix jako MTA, SpamAssassin jako spam klasifikátor a ClamAV jako antivirová ochrana, vše běží pod Unixový operační systém. Mnoho dalších antivirových programů (asi 30) a některých dalších antivirových programů (CRM114, DSPAM, Bogofilter ) jsou podporovány také, stejně jako některé další MTA.
Topologie rozhraní
Tři topologie pro propojení s MTA jsou podporovány. The amavisd proces může být vložen mezi dvě instance MTA, čímž se získá klasická následná fronta[2] nastavení filtrování pošty nebo amavisd lze použít jako filtr SMTP proxy ve frontě před[3]nastavení filtrování nebo amavisd proces lze konzultovat, aby poskytl klasifikaci pošty, ale nikoli k přeposílání poštovní zprávy sám, v takovém případě zůstává konzultační klient odpovědný za přeposílání pošty. Tento poslední přístup se používá v a Milter nastavení (s některými omezeními) nebo s historickým klientským programem amavisd-odeslat.
Od verze 2.7.0 je upřednostňováno nastavení před frontou, protože umožňuje odmítnutí přenosu e-mailové zprávy během relace SMTP[3] s odesílajícím klientem. V nastavení po frontě probíhá filtrování poté, co již byla e-mailová zpráva přijata a zařazena do fronty MTA, v takovém případě již poštovní filtr nemůže zprávu odmítnout, ale může ji pouze doručit (případně označit) nebo zahodit, nebo vygenerujte oznámení o nedoručení, které může způsobit nežádoucí zpětný rozptyl v případě poskakování zpráva s falešnou adresou odesílatele.
Nevýhodou nastavení před frontou[3] je to, že vyžaduje prostředky (CPU, paměť) úměrné aktuální rychlosti přenosu (špičky) pošty, na rozdíl od nastavení po frontě, kde je přijatelné určité zpoždění a využití prostředků odpovídá průměrné rychlosti přenosu pošty. Se zavedením možnosti smtpd_proxy_options = speed_adjust v Postfixu 2.7.0 byly výrazně sníženy požadavky na zdroje pro filtr obsahu před frontou.[4]
V některých zemích[5] legislativa neumožňuje filtrování pošty zahodit poštovní zprávu, jakmile ji přijme MTA, takže to vylučuje nastavení filtrování po frontě s vyřazením nebo umístěním do karantény zpráv, ale ponechává možnost doručování (případně označených) zpráv, nebo je odmítnout v nastavení před frontou (proxy SMTP nebo milter).
Propojovací protokoly
Amavis může přijímat e-mailové zprávy z MTA přes jednu nebo více zásuvky z rodiny protokolů PF_INET (IPv4 ), PF_INET6 (IPv6 ) nebo PF_LOCAL (Unixový socket domény ), pomocí protokolů ESMTP, LMTP nebo jednoduchý soukromý protokol AM.PDP lze použít s pomocným programem, jako je amavisd-milter[6] komunikovat s milters. Na výstupní straně lze protokoly ESMTP nebo LMTP použít k předání zprávy back-endové instanci MTA nebo LDA, nebo lze zprávu předat zpracovanému procesu přes a Unix potrubí. Při použití ESMTP nebo LMTP lze relaci volitelně zašifrovat pomocí a TLS STARTTLS (RFC 3207 ) rozšíření protokolu. Řetězení příkazů SMTP (RFC 2920 ) je podporován v kódu klienta a serveru.
Propojení se SpamAssassinem
Když spam skenování je povoleno, proces démona amavisd je koncepčně velmi podobný a spamd proces a SpamAssassin projekt. V obou případech rozdvojené podřízené procesy volají SpamAssassin Perl moduly přímo, proto je jejich výkon podobný.
Hlavní rozdíl je v použitých protokolech: Amavis obvykle mluví standardem ESMTP protokol k MTA, zatímco v případě spamc / spamd se MTA obvykle objeví a spamc program, který mu předá zprávu přes unixové potrubí, pak spamc proces přenese zprávu do a spamd démon pomocí soukromého protokolu a spamd poté zavolá moduly SpamAssassin Perl.
Priority designu
Designové priority amavisd-nové (odtud právě volal Amavis) jsou: spolehlivost, bezpečnost, dodržování standardů, výkon a funkčnost.
Spolehlivost
S úmyslem, aby nemohlo dojít ke ztrátě žádné e-mailové zprávy kvůli neočekávaným událostem, jako jsou selhání I / O, vyčerpání prostředků a neočekávané ukončení programu, amavisd program pečlivě kontroluje stav dokončení každého volání systému a I / O operace. Neočekávané události jsou protokolovány, pokud je to vůbec možné, a jsou zpracovávány několika vrstvami zpracování událostí. Amavis nikdy nepřijímá odpovědnost za doručení e-mailové zprávy mimo MTA: konečný stav úspěchu je hlášen MTA až poté, co byla zpráva předána instanci back-end MTA a příjem byl potvrzen. V případě jakýchkoli závažných selhání během zpracování nebo přenosu zprávy zůstane zpracovávaná zpráva pouze ve frontě front-endové instance MTA, která bude později znovu vyzkoušena. Tento přístup také pokrývá potenciální neočekávané selhání hostitele, selhání procesu amavisd nebo jedné z jeho komponent.
Používání prostředků programu, jako je velikost paměti, deskriptory souborů, využití disku a vytváření podprocesů, je kontrolováno. Velké poštovní zprávy nejsou uchovávány v paměti, takže dostupná velikost paměti neomezuje velikost poštovních zpráv, které lze zpracovat, a zbytečně se neplýtvá paměťovými prostředky.
Bezpečnostní
Velká pozornost je věnována bezpečnostním aspektům vyžadovaným zpracováním potenciálně škodlivých, nestandardních nebo jen zkomolených dat v e-mailových zprávách pocházejících z nedůvěryhodných zdrojů.
Proces, který zpracovává poštovní zprávy, běží se sníženými oprávněními pod vyhrazeným ID uživatele. Volitelně může běžet chroot -ed. Rizika přetečení vyrovnávací paměti a chybám v alokaci paměti se do značné míry vyhnete implementací veškerého zpracování protokolů a zpracování pošty v systému Perl, který zpracovává dynamickou správu paměti transparentně. Dbáme na to, aby se obsah zpracovaných zpráv nechtěně nerozšířil do systému. Perl poskytuje další bezpečnostní bezpečnostní síť se svým označením zkažený data pocházející z divočiny a společnost Amavis je opatrná, aby mohla tuto funkci Perlu dobře využít tím, že se vyhne automatickému znečišťování dat (použijte re "taint") a to pouze výslovně ve strategických bodech, pozdě v datovém toku.
Amavis může použít několik externích programů ke zlepšení své funkčnosti. To jsou de-archivátoři, de-kompresory, virus skenery a spam skenery. Protože tyto programy jsou často implementovány v jazycích jako C nebo C ++ existuje potenciální riziko, že e-mailová zpráva předaná jednomu z těchto programů může způsobit její selhání nebo dokonce otevřít bezpečnostní díru. Riziko je omezeno spuštěním těchto programů jako neprivilegovaného ID uživatele a případně chroot-ed. Je však třeba se vyhnout externím programům, jako jsou neudržované dearchivy. Použití těchto externích programů je konfigurovatelné a lze je deaktivovat selektivně nebo jako skupinu (jako všechny dekodéry nebo antivirové programy).
Výkon
Přesto, že je implementován v interpretovaném programovacím jazyce Perl Samotný Amavis není pomalý. Dobrý výkon funkčnosti implementované samotným Amavisem (nemluvě o externích komponentách) je dosažen zpracováním dat ve velkých blocích (např. Ne řádek po řádku), vyhýbáním se zbytečnému kopírování dat, optimalizací často procházených cest kódu, pomocí vhodných datových struktur a algoritmů, jakož i pomocí některých nízkoúrovňových optimalizací. Úzká místa jsou detekována během vývoje profilováním kódu a srovnáváním. Podrobná časová zpráva v protokolu může pomoci rozpoznat úzká místa v konkrétní instalaci.
Některé externí moduly nebo programy jako SpamAssassin nebo nějaký příkazový řádek virus skenery mohou být velmi pomalé a jejich použití by představovalo drtivou většinu uplynulého času a zdrojů pro zpracování, což by samo o sobě umožnilo poměrně malé prostředky využívané samotným Amavisem.
Komponenty jako externí dekodéry pošty, antivirové programy a spam skenery lze každý selektivně deaktivovat, pokud nejsou potřeba. Zbývá funkčnost implementovaná samotným Amavisem, jako je přenos e-mailových zpráv za do MTA pomocí SMTP nebo LMTP protokol, kontrola platnosti části záhlaví pošty, kontrola typů obsahu zakázané pošty, ověřování a generování DKIM podpisy.
V důsledku toho mohou být úkoly zpracování pošty, jako je podepisování a ověřování DKIM (se zakázanou další kontrolou pošty), výjimečně rychlé a mohou konkurovat implementacím v kompilovaných jazycích.[7][8][9] Dokonce i úplné kontroly pomocí rychlého antivirového programu, ale se zakázanou kontrolou spamu, mohou být překvapivě rychlé.
Dodržování norem
Implementace protokolů a struktur zpráv úzce navazuje na soubor platných standardů, jako jsou RFC 5322, RFC 5321, RFC 2033, RFC 3207, RFC 2045, RFC 2046, RFC 2047, RFC 3461, RFC 3462, RFC 3463, RFC 3464, RFC 4155, RFC 5965, RFC 6376, RFC 5451, RFC 6008, a RFC 4291. V několika případech byly některé funkce znovu implementovány do Amavis kód, i když veřejný (CPAN ) Perl modul existuje, ale postrádá pozornost k podrobnostem při dodržování normy nebo postrádá dostatečnou kontrolu a zpracování chyb.
Licence
Amavis má licenci pod GPLv2 licence. To platí jak pro aktuální kód, tak pro historické větve. Výjimkou jsou některé z podpůrných programů (jako je monitorování a vykazování statistik), na které se vztahuje a Nová licence BSD.
Projekt
Projekt byl zahájen v roce 1997 jako Unix skořápka skript pro detekci a blokování e-mailových zpráv obsahujících a virus. Bylo zamýšleno k blokování virů ve fázi MTA (agent přenosu pošty) nebo LDA (místní doručení), běžící na Unixový platforma doplňující další mechanismy antivirové ochrany běžící na osobních počítačích koncových uživatelů.
Dále byl nástroj znovu implementován jako Perl program, který se později vyvinul do a daemonized proces. Během prvních pěti let projektu se vystřídala desítka vývojářů, kteří vyvinuli několik variant při zachování společného cíle, názvu projektu a části vývojové infrastruktury.
Od prosince 2008 (do 10. 10. 2018) byla oficiálně jedinou aktivní pobočkou amavisd-nové, který vyvíjel a udržoval Mark Martinec od března 2002. To bylo dohodnuto mezi vývojáři v té době v soukromé korespondenci: Christian Bricart, Lars Hecking, Hilko Bengen, Rainer Link a Mark Martinec. Název projektu Amavis je do značné míry zaměnitelný s názvem amavisd-nové větev.
V průběhu let byla přidána spousta funkcí, například přidání ochrany proti spam a další nežádoucí obsah, kromě původní antivirové ochrany. Důraz je kladen na spolehlivost, zabezpečení, dodržování standardů a výkon.
Doména amavis.org použití v rámci projektu zaregistroval v roce 1998 Christian Bricart, jeden z prvních vývojářů, který stále udržuje registraci doménového jména. Doména je nyní zcela věnována jediné aktivní větvi. Mailing list projektu byl přesunut z SourceForge na amavis.org v březnu 2011 a hostují jej Ralf Hildebrandt a Patrick Ben Koetter. Webová stránka projektu a hlavní distribuční web byly umístěny na Institut Jožefa Stefana, Lublaň, Slovinsko (do předání v roce 2018), kde většina vývoje probíhala v letech 2002 až 2018.
Oznámení o změně vedoucích projektů
9. října 2018 oznámil Mark Martinec [10] na obecném seznamu podpory a diskuze o svém odchodu z projektu a také o tom, že Patrick Ben Koetter bude pokračovat jako nový vedoucí projektu.
Ben osobně znám, je jedním ze dvou autorů Knihy Postfixu a Amavis využívá i ve svém profesionálním životě, takže si myslím, že projekt bude v dobrých rukou.[10]
— Mark Martinec
Poté to Patrick oznámil[11] migrace zdrojového kódu do veřejného úložiště GitLab a jeho plán dalších kroků týkajících se vývoje projektu.
Pobočky a název projektu
V průběhu historie projektu se název projektu nebo jeho poboček poněkud lišil. Zpočátku byl pravopis názvu projektu AMAViS (Mail Virus Scanner), představil Christian Bricart. S přepisem na Perl název programu byl Amavis-perl. Daemonized verze byly původně distribuovány pod jménem amavisd-snapshot a pak jako amavisd. Bylo povoláno modulární přepsání Hilko Bengen Amavis-ng.
V březnu 2002 amavisd-nové pobočku představil Mark Martinec, původně jako a náplast proti amavisd-snapshot-20020300. To se později vyvinulo v samostatný projekt, který je nyní jedinou přežívající a aktivně udržovanou pobočkou. V dnešní době je název projektu nejlépe napsán Amavis (zatímco název samotného programu je amavisd). Název Amavis je nyní většinou zaměnitelný s amavisd-nové.
Historie projektu
![]() | Tato část může vyžadovat vyčištění setkat se s Wikipedií standardy kvality. Specifický problém je: důležité bity by měly být v próze; WP: NOTCHANGELOG.Ledna 2019) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
shell program
- 1997 (původní kód Mogens Kjær - Carlsberg Laboratory,[12] upraveno Jürgenem Quadem) počáteční, není oficiálně vydáno[13][14]
- 1998-01-17 AMaViS 0,1 (Christian Bricart) AMaViS, první oficiální vydání
- 1998-01-28 AMaViS 0.1.1
- 8. 12. 1998 AMaViS 0.2.0-pre1
- 1999-02-25 AMaViS 0.2.0-pre2
- 1999-03-29 AMaViS 0.2.0-pre3
- 1999-03-31 AMaViS 0.2.0-pre4
- 19. 7. 1999 AMaViS 0.2.0-pre5
- 1999-07-20 AMaViS 0.2.0-pre6
- 2000-10-31 AMaViS 0.2.1[13] (Christian Bricart, Rainer Link, Chris Mason)
Program Perl
- 2000-01 Amavis-perl (Chris Mason)
- 2000-08 Amavis-perl-8
- 2000-12 Amavis-perl-10
- 2001-04 Amavis-perl-11 (rozdělen na amavisd)
- 2003-03-07[15] Amavis-0.3.12 (Lars Hecking)
Perl daemon: amavisd
- 2001–01 daemonizace (Geoff Winkless)
- 2001-04 amavisd-snapshot-20010407 (Lars Hecking)
- 2001-07 amavisd-snapshot-20010714
- 2002-03 amavisd-snapshot-20020300 (rozdělen na amavisd-new)
- 2003-03-03[15] amavisd-0,1
Perl, modulární re-design
(Hilko Bengen)
- 2002-03 amavis-ng-0.1
- 2003-03 amavis-ng-0.1.6.2
amavisd-nové
(Mark Martinec)
- 2002-03-30 amavisd-new, pre-forked, Net :: Server
- 2002-05-17
- 2002-06-30 balíčky, SQL vyhledávání
- 16. 11. 2002 integrováno - jeden soubor
- 2002-12-27
- 2003-03-14 LDAP vyhledávání
- 2003-06-16
- 2003-08-25 p5
- 10. 11. 2003 p6 @ * _ mapy
- 5. 1. 2004, str
- 09.03.2004, str
- 2004-04-02 p9
- 2004-06-29 p10
- 2004-07-01 2.0 politiky banky, IPv6 adresa formáty
- 2004-08-15 2.1.0 monitorovací utilita amavisd-nanny
- 2004-09-06 2.1.2
- 2004-11-02 2.2.0
- 2004-12-22 2.2.1
- 2005-04-24 2.3.0 @ dekodéry, pravidla zákazu pro jednotlivé příjemce
- 2005-05-09 2.3.1
- 2005-06-29 2.3.2
- 2005-08-22 2.3.3
- 2006-04-02 2.4.0 DSN v SMTP,% * _ by_ccat
- 2006-05-08 2.4.1
- 2006-06-27 2.4.2 kamarádi, protokolování SQL a karanténa
- 2006-09-30 2.4.3
- 2006-11-20 2.4.4
- 2007-01-30 2.4.5
- 2007-04-23 2.5.0 blokující kategorie obsahu, přepsáno SMTP klient
- 2007-05-31 2.5.1 amavisd-requeue
- 2007-06-27 2.5.2
- 2007-12-12 2.5.3
- 2008-03-12 2.5.4
- 2008-04-23 2.6.0 DKIM, odskočit zabiják, TLS
- 2008-06-29 2.6.1
- 12. 12. 2008 Amavis je nový amavisd
- 2008-12-15 2.6.2
- 2009-04-22 2.6.3 podpora pro CRM114 a DSPAM, zkrácení
- 2009-06-25 2.6.4 monitorování nad SNMP
- 2010-04-25 2.7.0-pre4
- 03.02.2011 2.7.0-pre14
- 2011-03-07 e-mailový seznam přesunut z SourceForge na amavis.org
- 2011-04-07 2.6.5
- 2011-05-19 2.6.6
- 2011-06-01 2.7.0 vylepšení před frontou, zrychlení
- 2012-04-29 2.7.1
- 2012-06-30 2.7.2
- 2012-06-30 2.8.0 použití ØMQ namísto BDB, optimalizace výkonu
- 27. 04. 2013 2.8.1-rc1
- 2013-06-28 2.8.1 lze použít Redis pro uložení kamarádů
- 2013-09-04 2.8.2-rc1 (2.8.2 nevydáno)
- 2014-05-09 2.9.0 strukturované přihlášení JSON formát, IP adresa auto-pověst
- 2014-06-27 2.9.1
- 2014-10-22 2.10.0 Internacionalizovaný e-mail (RFC 6530, SMTPUTF8, EAI, IDN )
- 2014-10-22 2.10.1
- 2016-04-26 2.11.0
- 9. 10. 2018 2.11.1 drobné aktualizace, těsně před migrací do úložiště GitLab
Viz také
- Seznam antivirového softwaru
- SpamAssassin, populární klasifikátor spamu s otevřeným zdrojovým kódem
Reference
- ^ Martinec, Mark (09.10.2018). „vydán amavisd-new-2.11.1“. Archivy amavis-users-list. Amavisd-nový projekt. Citováno 2018-10-10.
- ^ Venema, Wietse (2010-01-17). "Postfixový filtr obsahu po frontě". Archivováno od originálu dne 2012-08-01.
- ^ A b C Venema, Wietse (11. 12. 2009). "Filtr obsahu před frontou Postfix". Archivováno od originálu dne 2012-08-01.
- ^ Venema, Wietse (2010-02-14). "Postfix stabilní vydání 2.7.0". Archivováno z původního dne 2012-08-03.
- ^ „StGB (Německo), § 206 Verletzung des Postderer Fernmeldegeheimnisses“. Bundesgesetzblattes. Archivováno od originálu dne 2012-08-21.
- ^ Rehor, Petr (02.05.2010). "amavisd-milter". Archivováno z původního dne 2012-07-27.
- ^ Martinec, Mark (06.06.2011). „amavisd 2.7.0 a Mail :: OpenDKIM“. Archivováno z původního dne 2012-07-30.
- ^ Martinec, Mark (06.06.2011). „amavisd 2.7.0 a Mail :: OpenDKIM“. Archivováno z původního dne 2012-07-30.
- ^ Martinec, Mark (06.06.2011). „amavisd 2.7.0 a Mail :: OpenDKIM“. Archivováno z původního dne 2012-07-30.
- ^ A b Martinec, Mark (09.10.2018). „OZNAM: Projekt Amavis předán novým vedoucím projektů“. Archivy amavis-users-list. Amavisd-nový projekt.
- ^ Koetter, Patrick Ben (10.10.2018). „amavis: Další kroky“. Archivy amavis-users-list. Amavisd-nový projekt.
- ^ Kjaer, Mogeny. „Jak bezpečné je to: Automatické skenování e-mailů na přítomnost virů (DLOUHÉ)“. Diskusní skupina: comp.mail.sendmail.
- ^ A b Bricart, Christian; Link, Rainer (2000-10-31). „AMaViS - skener virů pošty - technické informace a pokyny k instalaci“. Archivováno z původního dne 2012-07-27.
- ^ Quade, Jürgen (1998). "Mausefalle - EMail-Viren-Check pod Linuxem". iX - časopis pro profesionály Computertechnik (v němčině). Heise online (2/1998): 136. Archivováno z původního dne 2012-07-27.
- ^ A b „AMaViS - skener virů pošty“. 2004-10-07. Archivováno z původního dne 2012-07-27.