Terug naar blog

Mailserver configuratiehandleiding: Hoe Postfix, Dovecot, MySQL en SpamAssassin te gebruiken

Mailserver configuratiehandleiding: Hoe Postfix, Dovecot, MySQL en SpamAssassin te gebruiken

Introductie

Op Ubuntu 20.04, kun je tools gebruiken zoals Postfix, Dovecot, MySQL, en SpamAssassin om een mailserver te configureren. Dit proces kan verwarrend zijn voor iemand die het voor de eerste keer probeert. Deze handleiding is bedoeld om het configuratieproces van de mailserver voor je te vereenvoudigen met gedetailleerde stappen. Aan het einde van deze handleiding weet je hoe je virtuele domeinen, gebruikers en aliassen toevoegt. Uiteindelijk maak je je virtuele server beter beveiligd tegen spamhubs.

Vereisten

Voordat je begint met de configuratie van de mailserver, moet je aan een aantal vereisten voldoen. Zorg er eerst voor dat je virtual private server een domein heeft dat doorverwijst naar je server. Je moet ook MySQL installeren en configureren. Daarnaast moet je beschikken over een gebruiker met root-privileges en een SSL-certificaat installeren. Zorg er ten slotte voor dat je FQDN  is geconfigureerd en geïdentificeerd.

Als je je pakketten installeert als de root-gebruiker, heb je alle privileges. Daarom raden we dit aan:

Voer het wachtwoord van je gebruiker in. Op dit punt zie je het $-symbool veranderen in #. Laten we vervolgens de verschillende aspecten van de configuratie één voor één bekijken.

Stap 1: Pakketten installeren

We beginnen met het leren installeren van pakketten:

Wanneer de Postfix-configuratie verschijnt, selecteer je Internet Site:

Mail Server postfix config

Er zal worden gevraagd naar de System mail-naam. Hier kun je de FQDN of het hoofddomein gebruiken:

postfix configuration 2

Stap 2: Een MySQL-database, virtuele domeinen, gebruikers en aliassen maken

Vervolgens, zodra alle pakketten zijn geïnstalleerd, gaan we verder met de configuratie. Ons doel is om drie tabellen te configureren. Eén voor domeinen, één voor gebruikers en één voor aliassen. Deze worden ondergebracht in een MySQL-database die we gaan maken.

Stel dat we onze database servermail willen noemen. Je bent vrij om een naam naar keuze te gebruiken. Hier is hoe we deze maken:

Je moet inloggen als de MySQL root-gebruiker:

Voer vervolgens je wachtwoord in. Een succesvolle poging toont dit als resultaat:

Vervolgens maken we een nieuwe gebruiker aan, in het bijzonder voor e-mailauthenticatie. Geef de SELECT-machtiging als volgt:

Laad daarna je MySQL-privileges opnieuw om de machtigingen succesvol toe te passen:

Vervolgens gebruiken we onze database om de tabellen te maken en de gegevens in te voeren:

We maken afzonderlijke tabellen voor de specifieke domeinen die als geautoriseerde domeinen worden herkend:

Het doel is om gebruikers aan de tabel toe te voegen. Daarom voegen we het relevante e-mailadres en wachtwoord toe. Houd er rekening mee dat je elke gebruiker aan een domein moet koppelen:

Vervolgens maken we een tabel voor al onze virtuele aliassen om alle e-mails te specificeren die we naar het andere e-mailadres zullen doorsturen:

Aan het einde van dit proces heeft u met succes drie tabellen gemaakt. Vervolgens moeten we de gegevens invoeren.

  • Virtuele domeinen

In dit gedeelte leren we hoe we domeinen kunnen invoeren in de virtual_domains tabel. Specifiek zullen we ons richten op het invoeren van het primaire domein (example.com) en de FQDN (hostname.example.com):

  • Virtuele e-mails

Voer vervolgens het e-mailadres en de bijbehorende wachtwoorden in voor elk van de domeinen. Zorg ervoor dat alle informatie is gewijzigd met uw specifieke gegevens:

  • Virtuele aliassen

Nu kunt u het e-mailadres invoeren waarnaar u het andere e-mailadres wilt doorsturen. De eerste is de bron, terwijl de laatste de bestemming is:

Daarna kunt u MySQL afsluiten:

Stap 3: Postfix configureren

Het is belangrijk om Postfix zo te configureren dat het de SMTP-verbindingen kan beheren. Het moet ook in staat zijn om de berichten te verzenden voor alle gebruikers die in de MySQL-database zijn ingevoerd. Laten we beginnen met het maken van een kopie van het standaardbestand. Dit is zodat u indien nodig eenvoudig kunt terugkeren naar de standaardconfiguratie:

Open nu het main.cf-bestand om het te bewerken:

Begin met het uitcommentariëren van de TLS-parameters en voeg vervolgens eventuele andere parameters toe. In ons voorbeeld gebruiken we de gratis SSL-certificaten. U kunt de configuratie uiteraard aanpassen aan uw eigen wensen:

Vervolgens voegt u deze parameters toe onder de TLS-instellingen:

Daarna moeten we de mydestination standaardinstellingen uitcommentariëren. Vervolgens vervangen we deze door localhost. Met deze wijziging kan de VPS de virtuele domeinen in de MySQL-tabel gebruiken:

Gebruik nu dit commando om te controleren of de parameter myhostname is ingesteld in je FQDN:

Voeg daarnaast deze regel toe om lokale e-mailbezorging te activeren voor alle virtuele domeinen die in de tabel staan vermeld:

Tenslotte voegen we de volgende parameters toe om Postfix te instrueren de virtuele domeinen, gebruikers en aliassen te configureren:

Om er zeker van te zijn dat er geen fouten zijn, vergelijk je deze wijzigingen met het volgende bestand:

https://www.dropbox.com/s/x9fpm9v1dr86gkw/etc-postfix-main.cf.txt

Zodra dat allemaal is gecontroleerd, maak je drie bestanden aan om toe te voegen aan het main.cf-bestand. Het doel hiervan is om Postfix instructies te geven over hoe verbinding te maken met MySQL. Om dit te doen, beginnen we met het maken van het mysql-virtual-mailbox-domains.cf-bestand. Uiteraard breng je in jouw bestand wijzigingen aan volgens je persoonlijke configuratie:

Herstart vervolgens Postfix:

Je moet ervoor zorgen dat Postfix in staat is om je domein te vinden. Gebruik dit commando om dit te testen:

Het commando retourneert 1 als het succesvol is. In dat geval kun je doorgaan met het maken van het mysql-virtual-mailbox-maps.cf-bestand:

Herstart Postfix nogmaals:

Opnieuw controleren we of Postfix in staat is om het eerste e-mailadres te vinden. Gebruik het volgende commando om dit te testen:

Als dit succesvol is, krijg je als resultaat een 1 terug. Daarom gaan we nu over tot het maken van het laatste bestand:

Hiermee is de configuratie tussen Postfix en MySQL voltooid. Herstart Postfix om toe te passen:

Gebruik dit commando om te controleren of Postfix inderdaad uw aliassen vindt:

Idealiter ontvangt u de e-mail die naar de alias is doorgestuurd als uitvoer. U kunt ook het /etc/postfix/master.cf-bestand als volgt aanpassen als u poort 587 veilig wilt verbinden met e-mailclients:

Hier leest u hoe u bepaalde regels uitcommentarieert en parameters toevoegt:

Soms moet u Postfix herstarten om te controleren of de poort open is:

Deze tool kan ook worden gebruikt om de domeinpoorten te scannen. U kunt het gebruiken om te controleren of poorten 25 en 587 open zijn.

Stap 4: Dovecot configureren

Nu is het tijd om Dovecot te configureren. Voor dit gedeelte moeten we de 7 bestanden kopiëren die u wilt wijzigen. Dit is om ervoor te zorgen dat u indien nodig kunt terugkeren. Voer deze commando's één voor één in:

U moet het configuratiebestand van Dovecot bewerken:

Zorg ervoor dat de optie niet is uitgecommentarieerd:

Vervolgens schakelen we protocollen in onder de !include_try /usr/share/dovecot/protocols.d/*.protocol regel. Als u wilt, kunt u ook pop3:

Om er zeker van te zijn dat er geen fouten zijn, vergelijkt u het met dit bestand:

https://www.dropbox.com/s/wmbe3bwy0vcficj/etc-dovecot-dovecot.conf.txt

Bewerk vervolgens het mailbevestigingsbestand:

Zoek de mail_location regel. U moet deze activeren (de commentaartekens verwijderen) en deze parameter toevoegen:

Zoek daarna de mail_privileged_group regel. Activeer deze opnieuw en voeg de mail-parameter toe:

Om elke kans op fouten uit te sluiten, vergelijkt u het met dit bestand:

https://www.dropbox.com/s/hnfeieuy77m5b0a/etc.dovecot.conf.d-10-mail.conf.txt

  • Machtigingen verifiëren

Gebruik dit commando om de machtigingen te verifiëren:

Zorg ervoor dat uw machtigingen er als volgt uitzien:

U kunt voor elk domein een map maken. Al deze mappen worden geregistreerd in de MySQL-tabel:

Maak een vmail-gebruiker en -groep aan met een ID van 5000:

Vervolgens moet u de eigenaar wijzigen van de /var/mail map naar de vmail-gebruiker:

Bewerk nu het /etc/dovecot/conf.d/10-auth.conf bestand:

Voeg de volgende regel toe na het decommentariëren van de platte tekst authenticatie:

Gebruik dit om de auth_mechanisms parameter te wijzigen:

Zet nu deze regel in commentaar:

Om MySQL-autorisatie in te schakelen, moet u de volgende regel decommentariëren:

Gebruik het volgende bestand om fouten op te sporen en te bewerken:

https://www.dropbox.com/s/4h472nqrj700pqk/etc.dovecot.conf.d.10-auth.conf.txt

Het maken van een /etc/dovecot/dovecot-sql.conf.ext bestand met uw gegevens stelt u in staat om te authenticeren:

Voer deze code in het bestand in:

We zullen onze aangepaste MySQL-gegevens gebruiken om het /etc/dovecot/dovecot-sql.conf.ext bestand te wijzigen:

Stel MySQL in als de parameter na het decommentariëren van de driver-parameter, als volgt:

U kunt uw MySQL-specifieke informatie invoeren door het decommentariëren van de connect regel:

Nu moet u de default_pass_scheme regel decommentariëren en deze wijzigen in SHA-512:

Voeg de volgende informatie toe na het decommentariëren van password_query:

Gebruik dit bestand ter vergelijking om fouten op te sporen:

https://www.dropbox.com/s/48a5r0mtgdz25cz/etc.dovecot.dovecot-sql.conf.ext.txt

Vervolgens kunt u de eigenaar en de groep van de dovecot-map wijzigen naar de vmail-gebruiker:

De volgende stap is het wijzigen van het /etc/dovecot/conf.d/10-master.conf bestand. U moet hier extra voorzichtig zijn, omdat er verschillende parameters zullen worden gewijzigd:

Gebruik de volgende code om de unix_listener parameter te wijzigen in service_auth:

Vervolgens bewerkt u service auth-worker als volgt:

Spoor fouten op door te vergelijken met dit bestand:

https://www.dropbox.com/s/g0vnt233obh6v2h/etc.dovecot.conf.d.10-master.conf.txt

De volgende stap is het aanpassen van het SSL-configuratiebestand van Dovecot. Als u van plan bent de standaardconfiguratie te gebruiken, kunt u deze stap overslaan en doorgaan naar de volgende sectie:

Wijzig vervolgens de ssl-parameter naar required als volgt:

We zullen ook het pad aanpassen voor zowel ssl_cert als ssl_key:

Herstart Dovecot:

Zorg ervoor dat u controleert of poort 993 open is. Als u pop3 heeft ingeschakeld, controleer dan ook poort 995:

Als u de stappen tot dit punt heeft voltooid, gefeliciteerd! U heeft uw mailserver succesvol geconfigureerd. Om er zeker van te zijn dat u alle stappen correct heeft uitgevoerd, kunt u uw account testen met behulp van een e-mailclient als volgt:

Poort 993 wordt gebruikt voor beveiligde IMAP en poort 587/poort 25 voor SMTP.

Stap 5: SpamAssassin configureren

We zijn eindelijk aangekomen bij het laatste deel van de handleiding waarin we SpamAssassin gaan configureren. We beginnen met het installeren van SpamAssassin:

Maak als volgt een gebruiker aan voor SpamAssassin:

U moet de configuratie-instellingen openen en wijzigen om SpamAssassin te kunnen configureren:

Nu u hier bent, moet u de ENABLED-parameter wijzigen om de SpamAssassin-daemon in te schakelen:

Wijzig de home- en options-parameters met deze code:

Gebruik deze regel om de PID_File-parameter op te geven:

Gebruik vervolgens deze opdracht om aan te geven dat de regels van SpamAssassin automatisch worden bijgewerkt:

Controleer op fouten door te vergelijken met het volgende document:

https://www.dropbox.com/s/ndvpgc2jipdd4bk/etc.default.spamassassin.txt

Als u de anti-spamregels wilt instellen, moet u het bestand /etc/spamassassin/local.cf opnieuw openen:

De werking van SpamAssassin is dat het elke e-mail die door de gebruiker wordt ontvangen een score geeft. Het beoordeelt de scores voor de e-mails en als deze hoger is dan 5.0 bij de spamcontrole, wordt de e-mail gemarkeerd als spam. Hier zijn de parameters die u kunt gebruiken om deze anti-spamregels te configureren:

Zodra de anti-spamregels zijn ingesteld, moet u Postfix laten weten dat elke e-mail moet worden gecontroleerd met SpamAssassin. Hiervoor moeten we het /etc/postfix/master.cf -bestand wijzigen:

Zoek de volgende regel en voeg het spamassassin -filter toe:

Nu kunt u deze parameters toevoegen:

Start ten slotte SpamAssassin en herstart Postfix om de wijzigingen toe te passen. Wanneer u opnieuw opstart, begint Postfix met het verifiëren van spam in e-mails:

En dat is alles! U hebt met succes uw mailserver geconfigureerd met Postfix en Dovecot. U hebt ook MySQL-authenticatie uitgevoerd en spamfiltering ingesteld met SpamAssassin.

Conclusie

Deze handleiding beschrijft de stappen die u moet volgen om de configuratie van uw mailserver uit te voeren met de bovengenoemde tools. Het kan worden gebruikt als een uitgebreide gids om uw mailserver zelfstandig in te richten. Als u geïnteresseerd bent in het gebruik van de SMTP-serverfunctie van Google, volg dan deze handleiding.

Veel computerplezier!

author

Pranay Kapgate

Auteur · CloudSigma

Preslav Dobrev is een creatief ontwerper bij CloudSigma, met de nadruk op een consistente bedrijfsidentiteit door middel van traditionele en innovatieve marketingkanalen. Hij is bedreven in het samenvoegen van artistieke visie met strategische marketing om impactvolle merkverhalen te creëren.

Reacties

Nog geen reacties. Wees de eerste.