Kogelvrije hosting. Massale gespecialiseerde e-mailmailingservice

Voor degenen die lui zijn om een ​​video van 45 minuten te bekijken over het instellen van SMTP op VDS

Voorbereidende fase

1) Registreer een mailbox (waarin wij alle diensten registreren). We stoppen alle gegevens in een bestand, zodat we deze niet kwijtraken.

2) Registreer u op reg.domainik.ru (of een andere domeinregistratieservice) en koop een domein. Als je gratis een domein wilt krijgen, lees dan het artikel
We registreren DNS-servers ns1.firstvds.ru en ns2.firstvds.ru (nou ja, of NS van uw hosting)

3) Op firstvds.ru (of uw hosting) nemen we een VDS-server (de eenvoudigste is 150 roebel voor de test, hoewel de professionals de duurste kopen). Promocode voor 25% korting: 648439800. Bevestig uw accountnummer via de dienst sms-reg.com Selecteer het serversjabloon “Debian amd64” zonder ISPmanager. Na betaling moet u wachten totdat de serverstatus “Actief” wordt en er een IP wordt toegewezen

Serverafstemming

2) Ga na registratie naar de sectie ISPSysteemlicenties en voer het IP-adres van onze VDS in. Ga vervolgens naar hosting (VDS) in het gedeelte “Virtuele servers” - klik op onze server en de knop “Toevoegen aan paneel” bovenaan. Daar selecteren we onze server - "Opnieuw installeren" en selecteren Debian-amd64-ispmngr en geven het wachtwoord aan dat is verzonden na het activeren van de VDS. Wacht dan even. In de sectie “Containers” klikt u op “ISPmgr” en u zou doorgestuurd moeten worden naar ISPmanager

3) Ga in de ISPmanager van uw VDS naar “Gebruikers” - “Aanmaken” en maak een gebruiker aan, in de stappen geeft u aan welk domein u heeft aangeschaft.

4) Ga vervolgens naar "Domeinen - Domeinnamen" - uw domein zou er al moeten zijn, selecteer het en klik op NSy - "Aanmaken" en geef de gegevens op die in de brief stonden op het e-mailadres dat u hebt opgegeven bij het registreren van de VDS. De titel van de brief is “DNS-toegangsparameters wijzigen...” voer uit de brief alle gegevens in, inclusief ns1.firstvds.ru en ns2.firstvds.ru en vink het vakje "Toepassen op bestaand" aan

6) Maak 4-5 mailboxen aan in het gedeelte “Mailboxen”.

DKIM instellen

1) Ga in het ISP-paneel van UW VDS-server in de sectie naar “Instellingen-Software”, zoek “Mail Server” (SMTP), dit zou “exim” moeten zijn, zo niet, klik dan op de knop “Verwijderen” en vervolgens op “ Installeren” en selecteer “exim” -daemon-heavy” klik op “Volgende” - “Volgende” - “Voltooien”. Installatie voltooid. Selecteer vervolgens "Opendkim - DKIM-filter" en klik op "Installeren" (als u de software tijdens het proces moet bijwerken, update deze dan). Wanneer alles is geïnstalleerd (SMTP en DKIM) zal de status “geel licht” zijn

2) Ga naar “Domeinen-E-maildomeinen”, selecteer ons domein, dubbelklik en vink het selectievakje “DKIM inschakelen” aan

3) Ga naar “Domeinen-Domeinnamen” en kijk bij “Records” daar zou een lang DKIM-record moeten verschijnen

IP verbergen

1) Klik in het ISP-paneel van UW VDS-server “Systeembestandsbeheer” op “Terug” - vervolgens op de map etc, vervolgens op Exim4 en selecteer het bestand exim.conftemplate, klik er 2 keer op en bewerk het.
Plak de code na de regel +smtp_protocol_error en vóór de TLS/SSL-regel en klik op “Opslaan”

ontvangen_header_text = Ontvangen: \ $(if !def:authenticated_id \ ($(if def:sender_rcvhost \ (van $sender_rcvhost\n\t) \ ($(if def:sender_ident (van $(quote_local_part:$sender_ident) ))$ (if def:sender_helo_name ((helo=$sender_helo_name)\n\t))))\ ))\ by $smtp_active_hostname \ $(if def:received_protocol (met $received_protocol)) \ $(if def:tls_cipher (($ tls_cipher)\n\t))\ (Exim $versienummer)\n\t\ id $message_exim_id

2) Klik op de VDS-server in het gedeelte “Containers” op “Opnieuw opstarten”

Verzenden met ePochta Mailer

1) Klik in ePochta Mailer op Instellingen-SMTP, stel “Alleen SMTP” in, klik op + en voeg onze server toe.
Voer IP-poort 587 in. “Authorisatie” - AUTH PLAIN (verouderd). Encryptie - “Nee”. Login - een van onze e-mails (die is geregistreerd in het paneel op VDC) en het bijbehorende wachtwoord en voeg onze e-mail in de e-mail van de afzender. “Draden” 1. Voor de “Wacht”-test stelt u deze in op 1 seconde. “Na” 1 letters. Klik OK.

2) We schrijven een brief en klikken op "Test" en controleren de bezorging in onze mailboxen (Yandex, mailru)

3) Naar analogie worden de resterende mailboxen toegevoegd

4) Aanbevelingen bij het versturen in de eerste dagen: stuur niet meer dan 3000 brieven per dag naar Mail. De “Wacht”-instelling is 7 seconden. Het wordt ook aanbevolen om te gebruiken
"Tekstvervanging" om de letter willekeurig te maken. Als een domein verboden is, volg dan de instructies om een ​​nieuw domein toe te voegen en te configureren

De kosten van dit hele ding bedragen 250 roebel.
Bespaar 1,5 uur tijd bij het bekijken van de cursus.

Ik wens iedereen veel succes!

Op bijna al onze servers gebruiken wij een dienst genaamd Exim om mail te versturen.
Exim is de zogenaamde MTA (Mail Transfer Agent), een message transfer agent, in het gewone taalgebruik een mailer of mailserver, die in veel besturingssystemen van de Unix-familie wordt gebruikt.

Elke brief die door de postdienst gaat, heeft zijn eigen identificatie of anderszins uniek letternummer. Bericht-ID's in Exim-wachtrijen bestaan ​​uit alfanumerieke hoofdletters en kleine letters, zoals "1TrXS1-0003SL-3h", en worden gebruikt door de meeste opdrachten voor wachtrijbeheer en logboekregistratie in Exim.

Laten we nu eens kijken naar een korte lijst met ssh-opdrachten voor het beheren van e-mail en de e-mailwachtrij. Belangrijk! Alle opdrachten moeten als root worden uitgevoerd en zijn alleen beschikbaar voor VPS/Dedicated

Geef het aantal berichten in de e-mailwachtrij weer(wat we zien bij monitoring):

Druk een lijst met berichten in de wachtrij af. Het volgende wordt weergegeven: wachtrijtijd, grootte, bericht-ID, afzender, ontvanger:

Een voorbeeld van zo’n lijst:
4h 791 1TrXgs-0004t8-0W
Dit e-mailadres wordt beschermd tegen spambots. U moet JavaScript ingeschakeld hebben om het te kunnen bekijken.

4 uur 1,8K 1TrXgu-0004tZ-5w
Dit e-mailadres wordt beschermd tegen spambots. U moet JavaScript ingeschakeld hebben om het te kunnen bekijken.

Dienovereenkomstig zijn de identificatiegegevens van deze twee berichten: 1TrXgs-0004t8-0W en 1TrXgu-0004tZ-5w

Verwijder bericht uit wachtrij: exim -Mrm
(Voorbeeld: exim -Mrm 1TrXgs-0004t8-0W, verwijdert het bericht met de doorgegeven identificatie uit de wachtrij)

Berichtkoppen bekijken: exim-Mvh

Bekijk de berichttekst: exim -Mvb

Berichtenlogboeken bekijken: exim-Mvl

Verwijder alle geblokkeerde berichten in de e-mailwachtrij: exipick -z -i | xargs exim-Mrm

Verwijder alle berichten uit de e-mailwachtrij waarvan het domein van de afzender het domein is: exipick -f @domain -i | xargs exim-Mrm

Verwijder alle berichten uit de e-mailwachtrij waarvan het domein van de ontvanger het domein is: exipick -r @domain -i | xargs exim-Mrm

Verwijder alle berichten uit de e-mailwachtrij: exipick -i | xargs exim-Mrm

Als er enkele honderdduizenden berichten in de wachtrij staan, zal het sneller zijn om de wachtrij te verwijderen met behulp van de opdrachten

rm -rfv /var/spool/exim4/input/
rm -rfv /var/spool/exim4/msglog/

Laten we nu eens kijken hoe we erachter kunnen komen wie en hoe spam naar de server verzendt en hoe we deze kunnen blokkeren?

Om dit te doen doen wij het volgende:
Geef berichten in de e-mailwachtrij weer met behulp van de opdracht

Bepaal visueel in de lijst van welk domein of welke mailbox de mail afkomstig is. Dit is meestal goed zichtbaar vanwege het grote aantal post dat vanuit dezelfde mailbox wordt verzonden. U kunt ook bepalen waar de spam precies vandaan komt door de logbestanden, de hoofdtekst en de koptekst van verschillende soortgelijke brieven te analyseren met behulp van de hierboven beschreven opdrachten.

Als er spam uit een gehackte mailbox komt, schakel deze dan uit of wijzig het mailboxwachtwoord in de eigenschappen in de sectie Mailboxen

Als er spam afkomstig is van een cron-taak, verwijder dan zo'n taak in de sectie Cron Scheduler
Als u vanaf de site - WWW-domein gevonden, e-mail voor dit www-domein moet blokkeren of blokkeren, zal de site werken - alleen e-mail verzonden door het php-mailscript zal niet werken - voor de php cgi- en apache-modi werkt dit anders :
- voor de php apache-modus, in de algemene configuratie van de apache2-server onder root /etс/apache2/apache2.conf, zoek het Virtualhost-blok van het gewenste domein en in de regel
php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f
verander het woord sendmail in sendmoil in het pad /usr/sbin/sendmail.

Of doe hetzelfde in de sectie www-domeinen in de eigenschappen van de apache2-configuratie. Hierna moet u de apache2-service opnieuw opstarten om de wijzigingen door te voeren. Hierna zal php mail alleen voor deze site en alleen in php apache-modus niet werken en kunnen scripts geen brieven verzenden.

Voor php cgi-modus onder de gebruiker - de site-eigenaar, in het bestand php-bin/php.ini in de regel sendmail_path = "/usr/sbin/sendmail -t -i -f verander het woord sendmail in sendmoil in het pad / usr/sbin/sendmail. Hiervoor hoef je niets opnieuw te laden en de gespecificeerde blokkering zal van toepassing zijn op ALLE www-domeinen van deze gebruiker die in php cgi-modus werken, en niet op een specifiek domein.
Nogmaals zou ik willen opmerken dat een dergelijke blokkering alleen van toepassing is op scripts en kronen met behulp waarvan e-mail wordt verspreid - mailboxen die op hetzelfde domein zijn gemaakt, zullen werken.

Als u niet kunt bepalen wie spam verzendt via de wachtrij, kunt u nog een aantal opdrachten gebruiken:

staart -n 1000 /var/log/nginx/access.log | grep POST

zal uitvoeren lijst met POST-verzoeken van alle sites, waarin u het schadelijke bestand kunt identificeren dat de e-mail genereert.

Heb je het scriptbestand gezien? We zoeken het op de server met het commando

find / -name bestandsnaam

p.s. | grep ssh

waarin alle ssh-verbindingen met de server worden vermeld. Typ vervolgens de opdracht

waarin alle actieve verbindingen worden vermeld. Meestal wordt de gebruiker die niet in de uitvoer van deze opdracht zit, maar wel in de uitvoer van de vorige, gehackt. In dit geval wijzigt u eenvoudigweg het wachtwoord van de gebruiker of zijn ftp-account

het commando killall -u user sluit alle open ssh-verbindingen van de gebruiker-gebruiker

Als er in plaats van een gebruikersaanmelding nummers of een ftp-account van een gebruiker zijn die niet zichtbaar is in Gebruikers, kunt u deze vinden in het bestand /etc/group of /etc/passwd

U kunt ook spam verzenden door scripts via cron uit te voeren. U kunt snel alle crons van alle gebruikers bekijken in de map /var/spool/cron/crontabs

Als Exim maar postfix niet op de server is geïnstalleerd, kunt u de volgende opdrachten gebruiken
mailq mailwachtrijuitvoer

postsuper -d ALL wist de e-mailwachtrij

Om met de mailwachtrij te werken, is het ook in het ISP Manager 4-configuratiescherm mogelijk om een ​​plug-in te installeren en te gebruiken genaamd Mail Queue.
U kunt de plug-in alleen als root installeren in het gedeelte Plug-ins - klik rechtsboven op Installeren, selecteer ispmque in de lijst en installeer het. Vernieuw hierna het configuratiescherm en er verschijnt een nieuwe sectie Mail Queue in de sectie Tools. In deze sectie kunt u de volledige wachtrij en alle records van elke letter in de wachtrij volledig bekijken, evenals de wachtrij wissen en individuele brieven opnieuw verzenden, dat wil zeggen dat in wezen alles hetzelfde is als de hierboven beschreven methode via ssh.

Bron - https://thehost.ua/wiki/SPAM

Het proces van het verzenden van e-mail is dat u (de auteur) een bericht aanmaakt in uw persoonlijke SmartBoxPro-account en nadat u op de knop "Verzenden" hebt geklikt, wordt uw bericht verzonden Uw persoonlijke dedicated server via het smtp-protocol. De distributie wordt uitgevoerd met behulp van afzonderlijke speciale SMTP-servers die door SmartBoxPro aan elke auteur worden verstrekt. Zo ontvangt u na betaling van het tariefplan een geconfigureerde en verbonden VDS op uw SmartBoxPro-account. Elk tarief heeft zijn eigen VDS/VPS-serverconfiguratie, afhankelijk van de distributievereisten.

Serverconfiguratie op PROFI-tarief

  • 2 Verwerker
  • RAM-geheugen: 2048MB.
  • Ruimte op harde schijf: 30 GB.
  • 1 speciaal IP-adres
  • ISPmanager 5 servercontrolepaneel

Doordat de mailing via minimaal 3 IP-adressen en door slechts één auteur wordt uitgevoerd, wordt een hoog percentage berichtafleverbaarheid bereikt. Uiteraard kan een hoge INBOX alleen gegarandeerd worden als de auteur van de mailinglijst het proces niet in SPAM omzet. Deze mailingmethode is ideaal voor zowel een klein aantal abonnees als voor mailings naar grote klantenbestanden (bijvoorbeeld online winkels).

U ontvangt uw VDS voor gratis gebruik

Een ander voordeel van het werken met SmartBoxPro, naast een hoogwaardige mailingservice, is dat u volledige controle heeft over precies de server waarover uw mailing loopt. U kunt deze server gebruiken voor hosting door uw websites, portals of webwinkels erop te plaatsen.

Voor velen is het zelf maken van een eigen website nog steeds een probleem, maar ook hier heb je geluk: met behulp van het ISPmanager controlepaneel kun je tientallen websites of webwinkels volautomatisch installeren op het populairste CMS zoals WordPress , Joomla, OpenCart, enz.

Zo ontvangt u maar liefst TWEE hoogwaardige diensten in ÉÉN SmartBoxPro-tarief.


Het opzetten van uw eigen mailserver veroorzaakt in de regel geen bijzondere problemen. Op internet zijn een groot aantal kant-en-klare instructies beschikbaar. Letterlijk één commando, en poort 25 is al klaar voor gebruik. Het wordt leuk als verzonden e-mails terugkomen en ontvangers klagen dat de berichten niet worden afgeleverd. Hier zul je, of je het nu leuk vindt of niet, naar redenen moeten zoeken en je in de technologie moeten verdiepen.

Wie stuurt brieven

Tegenwoordig bieden veel webservices de mogelijkheid om uw domein aan een dienst te koppelen. Vooral het plaatsen van e-mail op Gmail of Yandex is populair. Alle berichten gaan via de door hen geleverde SMTP-server; een vertrouwde serviceprovider genereert alle benodigde headers en handtekeningen waarmee ze door elk spamfilter kunnen gaan. Maar deze optie is niet altijd mogelijk. Een organisatie heeft bijvoorbeeld een groot aantal gebruikers en heeft speciale instellingen nodig voor mail die niet beschikbaar zijn in clouddiensten. Of u gebruikt een eigen server met een portaal, CMS of webwinkel van waaruit u berichten moet versturen.

Standaard gebruiken alle PHP-applicaties de functie mail() om e-mail te verzenden, die deze op zijn beurt verzendt via de lokale SMTP-server die wordt beschreven in php.ini.

Sendmail_path = /usr/sbin/sendmail -t -i

Of in een virtuele host:

Php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f [e-mailadres beveiligd]"

En hoewel sendmail daar in 100% van de gevallen wordt geschreven, kan het in feite een symbolische link zijn, en wordt de mail verzonden via Postfix of Exim. Om e-mail vanuit de applicatie te verzenden, kunt u een van de drie opties kiezen:

  • Via de engine zelf kun je soms een externe SMTP-server opgeven (in de standaardinstellingen of via een plug-in, in WordPress is dit WP Mail SMTP of Easy WP SMTP). U hoeft alleen maar uw accountgegevens op te geven en alle problemen zijn opgelost.
  • Met behulp van een plug-inprogramma dat de werking van een lokale SMTP-server emuleert en berichten verzendt via een e-mailaccount op een server van derden. SSMTP is hier erg populair.
  • Met behulp van uw eigen mailserver. Natuurlijk zul je het moeten configureren, maar er zijn meer configuratie-opties.

Wij zijn geïnteresseerd in de laatste optie. Laten we eens kijken hoe we antispamtechnologieën kunnen doorbreken en ervoor kunnen zorgen dat een bericht bij de ontvanger wordt afgeleverd. Wij filteren zelf geen spam. Dit is het onderwerp van een ander artikel. We zullen Postfix en Exim kiezen als test-SMTP-server; ze zijn populair op hostingsites, eenvoudig en duidelijk te configureren, hoewel de belangrijkste problemen alle SMTP-servers zullen betreffen.

Hoe u kunt voorkomen dat u spam ontvangt

Het bestrijden van spam is een hoofdpijn voor alle e-mailbeheerders. Bovendien is de laatste tijd de andere kant van de medaille relevant geworden: spamfilters worden letterlijk afschuwelijk. Daarom zit er vrijwel geen spam in de binnenkomende post, maar normale berichten verdwijnen voortdurend ergens, klanten en management worden zenuwachtig en we moeten er bovendien voor zorgen dat het bericht de geadresseerde heeft bereikt. En na het installeren van de SMTP-server zul je waarschijnlijk nog wat meer moeten sleutelen om ervoor te zorgen dat berichten überhaupt ergens terechtkomen. Om de instellingen te evalueren, moet u met name zien of brieven worden afgeleverd in de mailboxen van de belangrijkste e-mailsystemen Gmail, Yandex, Mail.Ru. Meestal verschijnen in dit stadium de eerste moeilijkheden en moeten alle problemen persoonlijk worden opgelost.

Maildiensten maken gebruik van een spamfiltersysteem met meerdere niveaus, dat zo serieus en geheim is dat zelfs hun eigen technische ondersteuning de principes niet kent. En elke dienst heeft zijn eigen prioriteiten. Hoewel meestal een hint over de reden voor niet-levering is opgenomen in de antwoordbrief van de service. De dienst mail-tester.com helpt ook bij het analyseren van de oorzaken; stuur gewoon een brief naar het daar aangegeven adres en ontvang na analyse het resultaat en een lijst met problemen. Sommige problemen kunnen worden gecontroleerd en opgelost zonder dat u de SMTP-server nog hoeft in te stellen.

De strijd tegen spam heeft veel technologieën voortgebracht. De oudste daarvan is de zwarte lijst, die alle IP's en domeinen bevat die betrokken zijn bij het verzenden van spam; open relays, proxy's en inbeladressen die worden gebruikt voor externe toegang kunnen hier ook worden opgenomen (dat wil zeggen dat ze in theorie geen e-mail mogen verzenden). Dergelijke zwarte lijsten zijn op verschillende manieren georganiseerd. DNSBL (DNS-zwarte lijst) is populair: zwarte lijsten in DNS-formaat die gemakkelijk kunnen worden opgevraagd. Er zijn tegenwoordig veel databases beschikbaar, maar ze zijn niet allemaal populair of gebruikt. Het probleem is dat er geen lijst is voor een specifieke e-mailservice; hoeveel en welke ze vragen, is geheim.

Domeinnamen kunnen, net als IP-adressen, tegenwoordig tweedehands zijn. Het is mogelijk dat een berichtenservice ze eerder heeft gebruikt, of dat de host die daarop wordt gehost, is gehackt en spam heeft verzonden. Het is dus mogelijk dat ze in een van de DNSBL's terechtkomen en een probleem vormen. Mail.Ru weigerde brieven van één IP, juist omdat deze op een van deze halfvergeten lijsten stond, nadat hij daar in 2010 was aangekomen. Bovendien nam Mail.Ru niet eens de moeite om de juistheid van SPF en DKIM te controleren. Pas toen IP van de zwarte lijst werd verwijderd, gingen de zaken vooruit.

U kunt het IP-adres of domein zelf controleren door een DNS-verzoek naar de geselecteerde DNSBL-server te sturen met behulp van het dig-hulpprogramma:

$ host -tA site.ex.dnsbl..ex.dnsbl.org niet gevonden: 3(NXDOMAIN)

Maar het is handiger om online services te gebruiken die meerdere databases tegelijk controleren. Het IP-adres kan worden gecontroleerd in dnsbl.info (59 bases) of whatismyipaddress.com (72 bases), het domein bovendien in mxtoolbox.com (107 bases), spamhaus.org of multirbl.valli.org. Als er plotseling een domein of IP op de lijst verschijnt, is het beter om onmiddellijk te schrijven om uw adres te ondersteunen en te verwijderen.


Correcte DNS

Wanneer een bericht wordt ontvangen, analyseert de externe SMTP-server eerst de berichtkop. Het mailprogramma verzendt alleen Van, Aan, Datum, Onderwerp en X-Mailer. Ze zijn over het algemeen duidelijk en geven eenvoudig aan van wie en waar naartoe gestuurd moet worden. De rest van de header wordt gegenereerd door zowel de SMTP-server als de applicatie die deze verzendt. Hier moet overigens ook rekening mee worden gehouden, want brieven die via Telnet worden verzonden kunnen wel worden verzonden, maar niet met Roundcube, simpelweg omdat ze een andere header hebben. Roundcube vervangt bijvoorbeeld zijn HELO/EHLO op basis van de servernaam of localhost-variabele als deze niet is gedefinieerd. Soms moet je het dus gewoon expliciet instellen:

$rcmail_config["smtp_helo_host"] = "voorbeeld.org";

Hetzelfde geldt voor zelfgeschreven PHP-scripts.

Tijdens de verzending passeert de brief minimaal twee SMTP-servers, die elk ook iets eigens aan de header toevoegen. Allereerst voegt elke server zijn Ontvangen: van toe. Het is beter om ze van onder naar boven te lezen. Het onderste bericht is de server van de afzender, het bovenste is de server van de ontvanger. Hoewel er in werkelijkheid mogelijk meer servers zijn, is dit vooral het geval als u met grote serviceproviders werkt die, nadat ze de brief hebben geaccepteerd, deze verder doorsturen, of als u onderweg een SMTP-proxy gebruikt. Om het berichtenpad te analyseren, kunt u een dienst van Google gebruiken, die in begrijpelijke vorm alle SMTP-servers, transittijden en SPF-, DKIM- en DMARC-tests toont (hierover later meer).


Ontvangen headers verschillen, hoewel er algemene regels zijn. Een typisch voorbeeld ziet er als volgt uit:

Ontvangen: van server.example.org (helo=server.example.org) door st15.provider.com met esmtps (Exim 4.80.1) (envelope-from )

Hier werd het bericht ontvangen van een server genaamd server.example.org, heeft IP 1.2.3.4, dezelfde naam werd gebruikt in de helo-begroeting, Exim 4.80.1 van de server st15.provider.com ontving het. Bericht verzonden van [e-mailadres beveiligd]. Nadat een dergelijke header is geaccepteerd, begint de SMTP-server de gegevens te controleren. Zoekt domein en IP in DNSBL-databases. Controleert de aanwezigheid van een MX-record voor een domein. MX wordt in eerste instantie gebruikt om mailservers te vinden die een bepaald domein bedienen; de aanwezigheid ervan bevestigt dat het domein e-mail verzendt.

Vervolgens voert het een omgekeerde naamomzetting uit via IP via een omgekeerde DNS-query met behulp van een PTR-record. Dat wil zeggen, hij ontdekt welke servernaam op het adres moet staan ​​waar het bericht vandaan komt. Dit gedrag is gespecificeerd in RFC 2505 van februari 1999, Anti-Spam Recommendations for SMTP MTAs. En hoewel al lang wordt erkend dat retourzones geen voldoende voorwaarde zijn om de afzender ondubbelzinnig te identificeren en vaak tot fouten en vertragingen leiden, worden ze nog steeds ondersteund. Daarom moeten ze overeenkomen, anders krijgt het bericht op zijn minst een minpunt in de beoordeling en in het ergste geval wordt het weggegooid.

In ons voorbeeld moet server.example.org worden toegewezen aan IP 1.2.3.4. Het DNS-record ziet er als volgt uit:

1.2.3.4.in-adr.arpa. IN PTR-server.voorbeeld.org

Voor IPv6 wordt ip6.arpa gebruikt. In principe is het niet nodig om de kenmerken van PTR te kennen, aangezien PTR, op zeldzame uitzonderingen na, alleen door de hostingprovider wordt geconfigureerd. En als u er niet tevreden mee bent, hoeft u alleen maar contact op te nemen met de ondersteuning. U kunt PTR controleren met behulp van het verzoek:

$ dig -x 1.2.3.4

In feite kan het PTR-record na VDS-implementatie verwijzen naar een technisch domein dat door de provider wordt geleverd, zoals srv01.provider.net, in de VDS-sjabloon wordt de hostnaam ingevoerd als Ubuntu1604 (wijzigingen in /etc/hostname), in HELO/EHLO de SMTP-server schrijft over het algemeen localhost .localdomain en de brief komt van het example.org-domein. De kans dat onder dergelijke omstandigheden een brief wordt afgeleverd, zal snel nul naderen. Hoewel sommige services dergelijke inconsistenties als een fout markeren en een volledige controle uitvoeren.

Ik wil er vooral op wijzen dat VDS meestal twee IPv4 en v6 heeft. Daarom is alles wat gezegd is van toepassing op beide versies, aangezien een brief aan de ene server via IPv4 kan gaan en afgeleverd kan worden, terwijl een andere de voorkeur geeft aan IPv6, en de brief mogelijk niet bij de ontvanger aankomt. Tegelijkertijd doen veel providers die IPv6 aanbieden helemaal niet de moeite om een ​​PTR-record in te stellen, en het controleren ervan levert een foutmelding op. Maar Google geeft bijvoorbeeld de voorkeur aan IPv6 en gooit de letter meteen weg als de PTR niet overeenkomt met de servernaam. In het serviceresponsbericht ziet het er als volgt uit:

Voortzetting is alleen beschikbaar voor leden

Optie 1. Sluit u aan bij de “site”-gemeenschap om al het materiaal op de site te lezen

Lidmaatschap van de community binnen de aangegeven periode geeft je toegang tot ALLE Hacker-materialen, verhoogt je persoonlijke cumulatieve korting en stelt je in staat een professionele Xakep Score-beoordeling te verzamelen!


Onze reden was te wijten aan herhaalde klachten over spam afkomstig van onze hosting- en VPS-klanten. Het is niet altijd met zekerheid te zeggen of het om opzettelijke handelingen van klanten ging of dat zij zelf niet vermoedden slachtoffer te zijn geworden van spambots. Wat het ook was, het probleem moest opgelost worden.


Ze houden niet van spam. Spam laat een “zwarte vlek” achter op het gezicht van de provider wanneer zijn IP-adressen op de zwarte lijst staan, wat gevolgen heeft voor alle klanten. Het verwijderen van IP van zwarte lijsten is een andere zaak. Maar dit is één kant van de medaille. Hoewel het mogelijk is om de reputatie van een IP-adres te herstellen, is het herstellen van de reputatie en het vertrouwen van het bedrijf veel moeilijker.


We besloten een oplossing te vinden en een complex voor het beschermen en voorkomen van ongewenste mailings in de Unihost-structuur te implementeren. Na brainstormen en discussies begonnen we te controleren en vergelijken wat de SPAM/AV-gemeenschap te bieden had.


Er zijn veel opties op de markt. De meeste hoogwaardige oplossingen worden echter betaald met een tarief van 1 licentie per 1 server of zelfs per aantal uitgaande/inkomende e-mails, wat zou leiden tot hogere tarieven. Daarom hebben we alleen voor opensource gekozen.

Populaire opensource-antispamoplossingen

Rspamd

Het is geschikt voor systemen van verschillende groottes. Kan worden geïntegreerd in verschillende MTA's (de documentatie beschrijft Exim, Postfix, Sendmail en Haraka) of werken in SMTP-proxymodus.


Het berichtevaluatiesysteem is hetzelfde als in SpamAssassin, met name gebaseerd op verschillende factoren: reguliere expressies, DNS-blokkeerlijsten, witte, grijze, zwarte lijsten, SPF, DKIM, statistieken, fuzzy hashes en andere dingen - alleen gebruikt in andere algoritmen .


Rspamd ondersteunt extensies met behulp van plug-ins.

Apache SpamAssassin

SA verwierf bekendheid dankzij het gebruik van Bayesiaanse filtertechnologie. Elk bericht krijgt bij het doorstaan ​​van de tests een bepaalde score en wordt, wanneer de drempel wordt bereikt, in de spam geplaatst.


Gemakkelijk te integreren met vrijwel elke e-mailservice. SA heeft populaire technologieën beschikbaar die als plug-ins kunnen worden aangesloten: DNSBL, SPF, DKIM, URIBL, SURBL, PSBL, Razor, RelayCountry, automatische whitelisting (AWL) en andere.


Installatie is over het algemeen niet moeilijk. Na de installatie vereist SpamAssassin het verfijnen van de parameters en training over spam-e-mails.

ASSP

Een platformspecifieke SMTP-proxyserver die berichten vóór de MTA accepteert en analyseert op spam.


Alle populaire technologieën worden ondersteund: witte en grijze lijsten, Bayesiaanse filter, DNSBL, DNSWL, URIBL, SPF, DKIM, SRS, viruscontrole (met ClamAV), het blokkeren of vervangen van bijlagen en nog veel meer. MIME-gecodeerde spam en afbeeldingen worden gedetecteerd (met behulp van Tesseract). Met behulp van modules worden de mogelijkheden uitgebreid.


De projectdocumentatie is niet altijd duidelijk en de instructies zijn vaak verouderd, maar met enige ervaring kom je er wel uit.

MailScanner

MailScanner is een allesomvattende oplossing voor het bestrijden van phishing-e-mails en het controleren van e-mail op virussen en spam. Het analyseert de inhoud van de brief, blokkeert aanvallen gericht op e-mailclients en HTML-tags, controleert bijlagen (verboden extensies, dubbele extensies, gecodeerde archieven, enz.), controleert spoofing van adressen in brieven en nog veel meer.


MailScanner kan eenvoudig worden geïntegreerd met elke MTA; het wordt geleverd met kant-en-klare configuratiebestanden. Naast zijn eigen ontwikkelingen kan hij gebruik maken van oplossingen van derden. SpamAssassin kan worden gebruikt om te controleren op spam.

EFA-project

Er is nog een Open Source-project - "eFa-project" - Email Filter Appliance. EFA is in eerste instantie ontworpen als een virtueel apparaat dat op Vmware of HyperV kan draaien. Het programma maakt gebruik van kant-en-klare pakketten MailScanner, Postfix, SpamAssasin (de hele lijst hieronder) om spam en virussen te stoppen, en deze zijn al geïnstalleerd en geconfigureerd om correct te werken in VM. Dit betekent dat er geen krukken nodig zijn: alles werkt out-of-the-box.


EFA omvat de volgende componenten:


Postfix fungeert als MTA (mail transfer agent) - betrouwbaar, snel, bewezen door de jaren heen;
De kern van het spamfilter – MailScanner – schouder aan schouder met de antivirus, krijgt de dupe;
Spamfilter - SpamAssassin - identificeert spam-e-mails. Het raamwerk omvat veel scoresystemen, MTA's en reguliere expressiesets;
ClamAV is een antivirusprogramma dat werkt met MailScanner;
MailWatch - een handige webinterface voor het werken met MailScanner en andere applicaties;
Het inhoudsfilter – DCC – bepaalt massamailing door hashsommen van de brievenbundel naar een speciale server te sturen, die op zijn beurt een antwoord geeft in de vorm van het aantal ontvangen hashes. Als het aantal de drempelwaarde van score=6 overschrijdt, wordt de brief als spam beschouwd;
Pyzor en - SpamAssassin helpen spam nauwkeuriger te herkennen met behulp van spamdetectienetwerken;
Voor de grijze lijst wordt de postfix-beleidsservice gebruikt, waarmee u de hoeveelheid spam kunt verminderen die door ontvangers kan worden geaccepteerd;
Voor beeldherkenning wordt de ImageCeberus-module gebruikt - deze identificeert pornobeelden, enz.
We hebben voor EFA gekozen omdat het project de beste eigenschappen van het bovenstaande bevat. Bovendien hadden onze beheerders er al enige ervaring mee en kozen ze voor EFA. Laten we verder gaan met de beschrijving van de installatie.

Installatie en daaropvolgende configuratie van EFA

We hebben besloten om te installeren op een VPS met pure CentOS 6.8 x64, die fungeert als relay-server. Allereerst moet u alle systeemhulpprogramma's en componenten bijwerken naar de nieuwste versies die beschikbaar zijn in de repository's. Om dit te doen gebruiken we het commando:


yum-y-update

Installeer vervolgens de wget- en screen-hulpprogramma's, als deze nog niet zijn geïnstalleerd:


yum -y installeer wget-scherm

Download daarna het script dat EFA zal installeren:


wget https://raw.githubusercontent.com/E-F-A/v3/master/build/prepare-build-without-ks.bash

We geven de uitvoeringsrechten van het script:


chmod +x ./prepare-build-without-ks.bash

Startscherm:


scherm

En voer het script uit:


./prepare-build-zonder-ks.bash

Nu kunt u ons scherm minimaliseren met de combinatie Ctrl + A + D.


Na de installatie dient u via ssh opnieuw in te loggen op de server met uw eerste inloggegevens. Dit is nodig om het initialisatiescript en de initiële configuratie van EFA uit te voeren.


Nadat u bent ingelogd, vraagt ​​het systeem u een aantal vragen te beantwoorden om EFA in te stellen.


De lijst met vragen is als volgt:


Functie Eigendom
Hostnaam De hostnaam van de machine wordt aangegeven
Domeinnaam Het domein waartoe de machine behoort. Gecombineerd met de hostnaam krijgt u de volledige FQDN van de server
Beheermail De mailbox van de beheerder, waarin brieven van het systeem zelf worden ontvangen (beschikbare updates, verschillende rapporten, enz.)
Postmastere-mailadres Postbus van de persoon die post ontvangt die gerelateerd is aan de MTA
IP adres Machine-IP-adres
Netmasker Masker
Standaardgateway poort
Primaire DNS Primaire DNS-server
Secundaire DNS Secundaire DNS-server
Lokale gebruiker Lokale beheerder inloggen. Wordt gebruikt om in te loggen op het systeem en de MailWatch-webinterface
Lokaal gebruikerswachtwoord Wachtwoord
Root-wachtwoord Wachtwoord voor rootgebruiker
VMware-tools Wordt alleen weergegeven als de installatie plaatsvindt op een virtuele machine waarop VMware draait. Het is vereist om tools te installeren om met VMware te werken
UTC-tijd Als uw machine zich in de UTC-tijdzone bevindt, moet u Ja selecteren
Tijdzone Hier kunt u een andere tijdzone dan UTC selecteren
Toetsenbordindeling Toetsenbordindeling die in het systeem wordt gebruikt
IANA-code Hierop staat de landcode waarin de auto zich bevindt. Dit is nodig om te bepalen van welke mirrors in de toekomst updates zullen worden gedownload.
Uw mailserver Individuele parameter. Wordt gebruikt als EFA ook brieven ontvangt
Uw organisatienaam Naam van de organisatie. Gebruikt voor koppen in brieven
Automatische updates Het beleid voor automatische updates is ingesteld. De standaardinstelling is uitgeschakeld. In dit geval zijn er geen automatische updates, maar worden meldingen over beschikbare updates naar het e-mailadres van de beheerder verzonden.

Na zo'n vragenlijst wordt de volledige lijst met antwoorden weergegeven. Als er iets gewijzigd moet worden, kiest u het vraagnummer en voert u nieuwe gegevens in. Wanneer u klaar bent om verder te gaan, typt u OK en drukt u op Enter. Het systeem begint met het automatische afstemmingsproces.



Na voltooiing van de configuratie wordt het systeem opnieuw opgestart en is het volledig gevechtsgereed.


  • Netwerkparameters wijzigen;
  • MailScanner instellen;
  • Grijze lijst in-/uitschakelen;
  • Automatische update in-/uitschakelen;
  • Configureren van het systeem als uitgaande relayserver;
  • Het wijzigen van de Adminmail-mailbox;
  • E-maildomeinen toevoegen/verwijderen;
  • Spamfilterinstellingen wijzigen;
  • Herstellen van een mysql-database in geval van schade als gevolg van een abnormale afsluiting.
  • Dit is een lijst met basis-EFA-opties die niet kunnen worden bewerkt via de MailWatch-webinterface. Daarom is het goed om te weten waar je ze kunt vinden.

    Handmatige EFA-installatie

    We hebben een moeilijk, maar flexibeler pad gevolgd. EFA werd niet aangepast via een interactief menu, maar via configuratiebestanden. We wilden niet alleen alles opzetten, maar ook alle componenten begrijpen en begrijpen wat werkt en hoe.


    Allereerst hebben we in het main.cf-bestand van de postfix-instellingen mynetworks toegevoegd, waarvan verbindingen via SMTP werden geaccepteerd. Vervolgens stellen we beperkingen in voor helo-verzoeken, afzenders, ontvangers en aangegeven paden naar kaarten met het ACCEPT- of REJECT-beleid, onder bepaalde voorwaarden. Ook is inet_protocols gewijzigd in ipv4 om ipv6-verbindingen uit te sluiten.


    Vervolgens hebben we het Spam Actions-beleid gewijzigd in Store in het configuratiebestand /etc/MailScanner/MailScanner.conf. Dit betekent dat als wordt vastgesteld dat een brief spam is, deze in quarantaine wordt geplaatst. Dit helpt SpamAssassin verder te trainen.


    Na deze instellingen kwamen we het eerste probleem tegen. We zijn gebombardeerd met duizenden brieven van ontvangers [e-mailadres beveiligd], [e-mailadres beveiligd], [e-mailadres beveiligd] enz. De ontvangers waren vergelijkbaar. Wij ontvingen ook brieven van MAILER-DAEMON, dus eigenlijk zonder afzender.


    Als gevolg hiervan kregen we een verstopte wachtrij waarin we geen normale, niet-spambrieven tussen het “rode linnen” konden vinden. We hebben besloten soortgelijke brieven te WEIGEREN met behulp van de standaardfunctionaliteit van Postfix-kaarten: helo_access, receiver_access, sender_access. Nu zijn schadelijke ontvangers en dergelijke met succes begonnen met het VERWERPEN. En de brieven die door MAILER-DAEMON zijn verzonden, worden gefilterd op helo-verzoeken.


    Toen de wachtrij was opgeruimd en onze zenuwen waren gekalmeerd, zijn we begonnen met het opzetten van SpamAssassin.

    SpamAssassin-training

    SpamAssassin-training wordt gegeven op brieven die al in spam zijn beland. Er zijn twee manieren om dit te doen.

    Via webinterface

    De eerste manier is via de MailWatch-webinterface. In elke letter ziet u de koptekst, de hoofdtekst en een score op basis van het Bayes-algoritme en andere indicatoren. Het ziet er zo uit:


    Scoren Overeenkomende regel Beschrijving
    -0.02 AWL Aangepaste score van AWL-reputatie van Van: adres
    0.80 BAYES_50 De kans op Bayes-spam is 40 tot 60%
    0.90 DKIM_ADSP_NXDOMAIN Geen geldige handtekening van de auteur en domein niet in DNS
    0.00 HTML_MESSAGE HTML opgenomen in bericht
    1.00 KAM_LAZY_DOMAIN_SECURITY Het verzendende domein beschikt niet over anti-vervalsingsmethoden
    0.00 NO_DNS_FOR_FROM Envelopafzender heeft geen MX- ​​of A DNS-records
    0.79 RDNS_NONE Geleverd aan het interne netwerk door een host zonder rDNS
    2.00 TO_NO_BRKTS_HTML_IMG To: mist haakjes en HTML en één afbeelding
    0.00 WEIRD_POORT Gebruikt een niet-standaard poortnummer voor HTTP

    Nadat u de brief hebt geopend, kunt u het selectievakje ‘SA Learn’ aanvinken en een van de volgende acties selecteren:

    • As Ham - markeer de letter als schoon (train het Bayes-algoritme);
    • Als spam - markeer de brief als spam (training van het Bayes-algoritme);
    • Vergeten - sla een brief over;
    • Als spam+rapport - markeer een brief als spam en stuur informatie erover naar het spamdetectienetwerk (razor + pyzor);
    • Als Ham+Revoke: markeer de brief als schoon en stuur informatie erover naar het spamdetectienetwerk (razor + pyzor).

    Via de console

    Dit gebeurt eenvoudig. De opdracht ziet er als volgt uit:


    sa-learn --ham /20170224/spam/0DC5B48D4.A739D

    In deze opdracht wordt een brief met ID: 0DC5B48D4.A739D, die zich bevindt in het archief met spambrieven voor een bepaalde datum /20170224/spam/, gemarkeerd als schone (geen spam) bash--ham.


    Er is een mening dat het voldoende is om SpamAssassin alleen te trainen voor effectieve e-mailfiltering. We hebben besloten SpamAssassin te trainen door absoluut alle e-mails in te voeren, zowel schone als spam. Bovendien vonden we een database met spam-e-mails en lieten we SA in stukken scheuren.


    Deze training hielp bij het nauwkeuriger kalibreren van het Bayesiaanse algoritme. Hierdoor is de filtratie veel efficiënter. We voeren dergelijke trainingen uit wanneer het mailverkeer niet erg hoog is, zodat we tijd hebben om het maximale aantal brieven te analyseren en vast te leggen.


    Om SpamAssassin op volle capaciteit te laten werken, moet het in het begin ongeveer 1000 verschillende e-mails ontvangen. Wees dus geduldig en begin met trainen.

    Het is nog te vroeg om te spreken van een volledige overwinning op spam. Nu is het aantal klachten over spam van onze servers echter nul. Over het leerproces zelf gaan we nu niet dieper in; ik wil niet alle trucjes prijsgeven. Hoewel, als je dieper in de instellingen graaft, het niet moeilijk is om erachter te komen.