spamscanning mailgateway

Pagina: 1
Acties:

  • polthemol
  • Registratie: Maart 2006
  • Laatst online: 28-01 11:16

polthemol

Moderator General Chat
Topicstarter
de missie: een gateway die voor verschillende domeinen doet scannen op spam en deze mail zo snel mogelijk transporteert.

momenteel gebruikte software / eisen:

- debian etch / sid: wordt niet van afgeweken ivm aanwezige kennis
- sendmail: postfix bleek zich in een andere setup regelmatig te verslikken als er veel grote mails kwamen, sendmail werkt beter op dat punt, dus is ook een blijvertje
- spamassassin: met pyzor en razor, ben tevreden over wat het presteert op 1 domein, scannen gaat dmv. spamd / spamc setup. Snelheid is niet helemaal briljant en om de een of andere vage rede negeert hij heel obvious mailtjes (krijg ze niet aangeleerd). Nu is dat geen probleem, het is zo min dat de gebruikers er maar mee leren leven ;) (houd ze tenminste scherp met e mailbox af en toe te controleren :P )

En dan komen we nu aan bij het probleem:

ik heb een testsetup gemaakt met 4 virtual server. 1 gebruik ik als emailclient, 1 is de mailgateway, 2 functioneren als een soort dummy-exchangeserver. Mailen werkt perfect, sendmail doet netjes voor verschillende domeinen, doorsturen naar de correcte mailserver.

Wat echter een "gemene teef" is, is de integratie van spamassassin in sendmail. Mijn voorkeur gaat uit naar procmail, dit omdat procmail beheerbaar is via webmin (ik weet het, ik vloek, maar ik moet rekening houden met de aanwezige kennis, webmin begrijpt men, CLI absoluut niet).

Probleem is dat procmail voor lokale mail perfect werkt, laat alles lustig scannen en whoppa, maar voor de mailtjes die door de gateway moeten gaan doet het ding helemaal niets. Je ziet helemaal geen ene error in de logfiles dat er iets genegeerd zou worden, dus afaik slaat hij de procmail gewoon over.

Nu als handige computernerd laat je je niet stoppen door zoiets, dus zoek je verder: ik kwam uit bij spamass-milter. Deze werkt, alleen gaat pyzor op zijn gat met deze filter en gaat hij nogal slordig om met de useroptie (beide heb ik niet eruit kunnen krijgen, keer op keer herproduceerbaar). Het zijn wel geen fatal errors ivm useropties, maar pyzor heb ik perse nodig. Zonder die milter werkt pyzor wel perfect.

Dan nu de vraag: is er een kans dat ik de situatie, zoals beschreven hierboven, werkend kan krijgen met procmail ? Indien ja, hoe :P Heb me al de pleuris gezocht erop maar ik ben iets over het hoofd aan het zien heb ik het idee >.< Spamass-milter beschouw ik niet als een goed alternatief, het is slechts iets tijdelijks dat werkt.

Als er configs gewenst zijn: shoot en ik zal ze posten

(procmail is btw toegevoegd in sendmail via MAILER('procmail') optie, local_procmail heeft ook geen enkel effect en positie tov. de andere mailers geeft ook geen wezenlijk verschil.

Nunc purus risus, volutpat sagittis, lobortis at, dignissim sed, sapien


  • smesjz
  • Registratie: Juli 2002
  • Niet online
Ik zou eens kijken naar Amavisd-new, die kan netjes scannen op spam. Ik zou niks doen met user configuratie via webmin o.i.d. Gewoon standaard domeinen whitelisten moet volstaan.

Postfix kan uiteraard prima omgaan met grote mails, dat verslikken is waarschijnlijk gewoon een configuratie setting die niet goed stond ofzo.

Ik heb een tijd gedraaid met Postfix, maildrop die spamc aanriep. Probleem hierbij is alleen dat wanneer je mail naar buiten (bijv. gmail.com) aliast, deze dan niet gescanned worden.
Een combinatie met Postfix, Amavisd-new en maildrop werkte ook prima en uiteindelijk ben ik bij Dovecot's deliver uitgekomen. Voordeel is dat deze geen database lookup hoefde te doen om Maildir lokatie op te halen en je via Sieve kan filteren.

Ik zou toch eens overwegen om nog eens naar Postfix te kijken, op bijv. workaround.org zijn uitstekende tutorials te vinden.

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 23:39
Zelf gebruik ik amavisd-new op een tweetal postfix servers met spamassassin en clamd. Postfix routeert gewoon de mail door amavisd-new en deze stuurt het weer terug postfix in. Gebruikersvoorkeuren staan gewoon in dezelfde ldap database waar postfix ook zijn accounts uithaalt. Bayes en logging gaat naar een MySQL server zodat ik ook makkelijk mails terug kan vinden uit het spamfilter en spam niet op 2 servers hoef te trainen.
Amavisd-new heeft ook gewoon een milter interface, deze zou je ook kunnen proberen. Met procmail filteren op een mailgateway zou ik persoonlijk niet doen.
Je zegt zelf dat Postfix zich verslikt in veel grote mails, mijn ervaring met postfix is dat het zich zelden verslikt, maar als je vreemde filters met allerlei commandline utils gaat bouwen gaat je load al flink omhoog door de overhead die je hebt bij het starten van al die processen. Een verbinding via een TCP/IP socket opzetten naar amavisd-new is een stuk goedkoper dan het starten van procmail, het doorlopen van het filter en het starten van clamdscan en spamc.
Overigens hoef je voor amavisd-new geen spamd te draaien, amavisd-new integreert nml de spamassassin perl module.

  • polthemol
  • Registratie: Maart 2006
  • Laatst online: 28-01 11:16

polthemol

Moderator General Chat
Topicstarter
@smesjz: userconfigs doe ik helemaal niets aan :P Er is maar 1 config en dat moet zo blijven ook.

Het moet via webmin omdat ik het niet kan maken dat een heel bedrijf afhankelijk wordt van mijn kennis alleen (voordeel voor werkzekerheid, maar met de blik op nare dingen zoals "ik ben op vakantie en het de mailgateway gaat op zijn bek of er moet iets worden aangepast"). Ze hebben niemand daar die echt met linux kan werken buiten mij, dus ik moet iets opzetten dat goed werkt maar ook simpel te beheren is voor hun, zelfs te reinstallen zonder mijn tussenkomst.

Oplossing, voorlopig, daarvoor is dat ik wat scripts heb gemaakt die alles auto-installeren vanaf een kale debianinstallatie, configs van een webspace afhalen, enz. Maar een gui is dan nog altijd absolute noodzakelijk voor mijn collega's :)

Na even bestuderen van verslikken op grote mails en wat testen op eigen virtuele omgeving:
- de grote mails zijn veelal pdf attachements
- pdf's werden ook gescanned *g*
- de hele queue zat daardoor vol (geen spamc's meer vrij om aan door te geven)
- op sendmail had ik die pdfscan nog niet ingesteld

dus een stupid user error ;)

Al heb ik toch het idee dat sendmail iets prettiger werkt, buiten dat de syntax een mean bitch is, lijkt het me op het eerste zicht meer mogelijkheden te geven (werk normaal met postfix btw of soms exim). Sendmail lijkt ook wat meer mogelijkheden te hebben mbt. mx-records (bouncen als mensen daar vage stunts mee uithalen) dan ik zo snel kon vinden in postfix (verbeter me hierop / vul me aan pls ;) ).

Ik ga denk ik maar eens jullie ideetjes ook uitwerken in een virtual machine, zorgen dat ik 2 gateways heb draaien dan en met een scriptje dezelfde mail versturen over beide. Kijken wat het meeste kan verdragen.

Maar ik heb nog altijd geen antwoord op mijn oorspronkelijke vraag :P Of het beter kan is niet zo erg, maar kan ik dat doen met procmail ?

Nunc purus risus, volutpat sagittis, lobortis at, dignissim sed, sapien


  • smesjz
  • Registratie: Juli 2002
  • Niet online
polthemol schreef op woensdag 23 juli 2008 @ 09:36:
@smesjz: userconfigs doe ik helemaal niets aan :P Er is maar 1 config en dat moet zo blijven ook.

Het moet via webmin omdat ik het niet kan maken dat een heel bedrijf afhankelijk wordt van mijn kennis alleen (voordeel voor werkzekerheid, maar met de blik op nare dingen zoals "ik ben op vakantie en het de mailgateway gaat op zijn bek of er moet iets worden aangepast"). Ze hebben niemand daar die echt met linux kan werken buiten mij, dus ik moet iets opzetten dat goed werkt maar ook simpel te beheren is voor hun, zelfs te reinstallen zonder mijn tussenkomst.
Nou, succes er mee. Ik weet niet hoe je configuratie nu is maar het is vrij eenvoudig om domeinen + email adressen in een database te mikken. Persoonlijk zou ik als bedrijf niet willen dat zoiets kritisch slechts bij 1 persoon ligt en dat moet je zelf ook niet willen, maar dat terzijde.
Oplossing, voorlopig, daarvoor is dat ik wat scripts heb gemaakt die alles auto-installeren vanaf een kale debianinstallatie, configs van een webspace afhalen, enz. Maar een gui is dan nog altijd absolute noodzakelijk voor mijn collega's :)
En alle mail in /var/vmail dan? Jouw scriptje haalt zeker ook automatisch backup terug? Klinkt allemaal erg gammel.
Na even bestuderen van verslikken op grote mails en wat testen op eigen virtuele omgeving:
- de grote mails zijn veelal pdf attachements
- pdf's werden ook gescanned *g*
- de hele queue zat daardoor vol (geen spamc's meer vrij om aan door te geven)
- op sendmail had ik die pdfscan nog niet ingesteld

dus een stupid user error ;)
Dat staat uiteraard los van Postfix of Sendmail. Dit soort instellingen wil je of in Amavisd-new of in clamav.conf/clamd.conf e.d. hebben zitten, niet per MTA lijkt me. Je loopt nu inderdaad tegen het nadeel van spamc/spamd aan. Amavisd-new schaalt imho beter dan spamc/spamd.
Al heb ik toch het idee dat sendmail iets prettiger werkt, buiten dat de syntax een mean bitch is, lijkt het me op het eerste zicht meer mogelijkheden te geven (werk normaal met postfix btw of soms exim). Sendmail lijkt ook wat meer mogelijkheden te hebben mbt. mx-records (bouncen als mensen daar vage stunts mee uithalen) dan ik zo snel kon vinden in postfix (verbeter me hierop / vul me aan pls ;) ).
Ik wil niet beweren dat Postfix beter is maar je hebt duidelijk niet goed gezocht:
http://www.postfix.org/po...smtpd_sender_restrictions
Maar ik heb nog altijd geen antwoord op mijn oorspronkelijke vraag :P Of het beter kan is niet zo erg, maar kan ik dat doen met procmail ?
Mijn definitie van een gateway is dat het een doorgeefluik is. Dus mail komt binnen op zo'n bak en wordt gescanned en vervolgens afgeleverd aan backend Exchange servers of het volgende station.
In zo'n geval heb je dus niks met een Local Delivery Agent (zoals procmail,maildrop) te maken omdat die alleen wordt aangeroepen als de mail wordt gezien als lokaal.

En over hoeveel mails hebben we het nu eigenlijk? Dat kunnen er nooit heel veel zijn.

Mijn insteek zou dus zijn: Postfix als MTA en Amavis voor anti-spam/anti-virus (met SA & clamav) er tussen. Als je toch lokale mail wil afleveren: Dovecot's deliver als LDA en Dovecot voor IMAP/POP3 server.

Fijne van die combo is dat je ook SMTP-AUTH via Dovecot kan laten lopen, scheelt weer gepruts met SASL.

  • polthemol
  • Registratie: Maart 2006
  • Laatst online: 28-01 11:16

polthemol

Moderator General Chat
Topicstarter
er staat nooit mail op die server, buiten de queue ;) Wordt alleen gescanned en meteen doorgegeven, voor het verdere afhandelen draait er exchange

En alles bij 1 persoon wil ik zelf ook niet, dus ik probeer ervoor te zorgen dat ik een goede documentatie heb en een zo simpel mogelijk systeem. Daar waar het kan probeer ik met wat simpele "scriptjes" een soort reinstall iets te bouwen, stel de server zou plots helemaal het leven laten en er moet een nieuwe geinstalleerd worden.

Maar ik ben eens aan het proberen met amavis. (met sendmail + die pdf's, lees het als: de sendmailtestserver had ik die pdf-zooi niet ingesteld bij spamassassin, sendmail is gewoon gemakshalve de "naam" van het systeem dat ik bedoel ;) ).

Over inlezen met die mxstuff: true, maar denk dat voor deze setup werkelijk een bos/bomen probleem is :( Je vind er veel over, te veel zelfs. Daarbij groeit de berg leeswerk heel hard omdat je ook nog de verschillende anti-spam mogelijkheden moet bekijken, enz. enz. enz.

[ Voor 77% gewijzigd door polthemol op 23-07-2008 10:38 ]

Nunc purus risus, volutpat sagittis, lobortis at, dignissim sed, sapien


  • smesjz
  • Registratie: Juli 2002
  • Niet online
polthemol schreef op woensdag 23 juli 2008 @ 10:30:
er staat nooit mail op die server ;) Wordt alleen gescanned en meteen doorgegeven, voor het verdere afhandelen draait er exchange
Wat heb je dan met Procmail te maken?

  • polthemol
  • Registratie: Maart 2006
  • Laatst online: 28-01 11:16

polthemol

Moderator General Chat
Topicstarter
dat ik niet zo snel doorhad dat het local only was :'( Had me een hoop tijd gescheeld :P

aantal mails dat het systeem zou moeten afhandelen: onbekend nog. Het is atm gewoon nog een soort casestudy met bepaalde eisen. Kijken of het werkt zoals gewenst, hoe het werkt, enz. enz. Daarna ga ik eens op mijn gemak bekijken wat ik kan verwachten aan hoeveelheden verkeer ed., zodat ik ook weet wat bv. de hardwareeisen worden :)

[ Voor 65% gewijzigd door polthemol op 23-07-2008 10:41 ]

Nunc purus risus, volutpat sagittis, lobortis at, dignissim sed, sapien


  • Paul
  • Registratie: September 2000
  • Laatst online: 20:35
Wij gebruiken MailScanner met Postfix op CentOS 4.5, voor een honderdtal domeinen, meer dan 15k mailtjes per dag zonder probleem.

Staat op een PowerEdge 1850, (single) Xeon 3.0, 4GB ram, 10k RPM SCSI mirror.

Postfix (virtual en echte users, transports etc) laat zich door Webmin gewoon beheren, al wordt het een beetje een zooitje als je zowel zelf de bestanden edit als Webmin gebruikt.

"Your life is yours alone. Rise up and live it." - Richard Rahl
Rhàshan - Aditu Sunlock


  • smesjz
  • Registratie: Juli 2002
  • Niet online
polthemol schreef op woensdag 23 juli 2008 @ 10:39:
dat ik niet zo snel doorhad dat het local only was :'( Had me een hoop tijd gescheeld :P

aantal mails dat het systeem zou moeten afhandelen: onbekend nog. Het is atm gewoon nog een soort casestudy met bepaalde eisen. Kijken of het werkt zoals gewenst, hoe het werkt, enz. enz. Daarna ga ik eens op mijn gemak bekijken wat ik kan verwachten aan hoeveelheden verkeer ed., zodat ik ook weet wat bv. de hardwareeisen worden :)
Ok, neem dan ook _JGC_'s opmerkingen mee. Maar via LDAP zou je ook direct tegen AD kunnen praten, zodat je geen apart gebruikersbeheer hebt in webmin en AD/Exchange altijd leidend is.
Ik heb het zelf nog nooit gebruikt, maar volgens mij moet dat gewoon werken.
En caching mogelijkheden kan je natuurlijk ook onderzoeken.

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 23:39
Als je LDAP tegen AD gaat doen raad ik je aan om serieus tarpitting in je postfix config in te stellen. Doe je dat niet, is het exit DC als je een spamrun krijgt. Postfix is in staat om je DC neer te halen bij flinke spamruns.
Als alternatief kan je ook elk kwartier een script draaien die de AD gegevens naar een bestand dumpt zodat postfix deze kan gebruiken.

  • smesjz
  • Registratie: Juli 2002
  • Niet online
_JGC_ schreef op woensdag 23 juli 2008 @ 11:06:
Als je LDAP tegen AD gaat doen raad ik je aan om serieus tarpitting in je postfix config in te stellen. Doe je dat niet, is het exit DC als je een spamrun krijgt. Postfix is in staat om je DC neer te halen bij flinke spamruns.
Als alternatief kan je ook elk kwartier een script draaien die de AD gegevens naar een bestand dumpt zodat postfix deze kan gebruiken.
Neerhalen door het hoge aantal LDAP requests of door de hoeveelheid SMTP connecties naar Exchange?
In het eerste geval hintte ik daarom ook al voor caching. In Postfix heb je o.a. proxymap maar een cronjob moet ook wel kunnen.

  • polthemol
  • Registratie: Maart 2006
  • Laatst online: 28-01 11:16

polthemol

Moderator General Chat
Topicstarter
mwah link naar een ad is voorlopig nog onder de noemer "leuk, maar niet perse nodig". Gegevens in de ad mbt. useraccounts / mailadressen veranderen zelfs zo weinig dat het niet echt veel zin heeft om meer dan een keer per dag te laten bijwerken (met een filedump oid.).

Naja, ik ga me eens uitleven op de tips / ideeen / meningen die ik heir heb gekregen. Voorlopig testlijstje:

postfix, sendmail, amavisd-new, mailscanner

en eens kijken wat het beste bevalt \o/

Thnx voor de kritieken / meedenken / aanvullen / corrigeren :)

Nunc purus risus, volutpat sagittis, lobortis at, dignissim sed, sapien


  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 23:39
smesjz schreef op woensdag 23 juli 2008 @ 11:16:
[...]


Neerhalen door het hoge aantal LDAP requests of door de hoeveelheid SMTP connecties naar Exchange?
In het eerste geval hintte ik daarom ook al voor caching. In Postfix heb je o.a. proxymap maar een cronjob moet ook wel kunnen.
Neerhalen omdat elke "rcpt to:" een ldap lookup betekent. Met een dictionary attack van enkele duizenden adressen achterelkaar betekent dat een hoge load op je domain controler. De primaire taak van een domain controler is om logins te doen voor je hele netwerk, ga je dat ding vervolgens overspoelen met ldap queries dan zal je dat merken in je netwerk, in extreme gevallen is je DC gewoon onbereikbaar.
Pagina: 1