Auteur Topic: Inrichten Mail Server  (gelezen 24257 keer)

Offline Briolet

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 180
  • -Ontvangen: 2667
  • Berichten: 16.547
Inrichten Mail Server
« Gepost op: 01 december 2019, 13:03:59 »


Je eigen mailserver inrichten

Als fervente nas gebruiker wil je natuurlijk zoveel mogelijk in eigen beheer doen. Mail in eigen beheer is daar een voorbeeld van. Synology biedt hiervoor twee pakketten aan. 'Mail Server' en 'Mail Server Plus'. Het stuk hieronder is toegespitst op het 'Mail Server' pakket, maar zal grotendeels ook gelden voor het 'Mail Server Plus' pakket.

Wat zijn de voordelen van een eigen mailserver
- Net zoveel opslag als dat je er HDD's in stopt.
- Alle data staat bij jou thuis en niet als plain tekst bij een externe mailprovider.
- Mail ontvangen via een eigen domeinnaam. (Kan overigens ook bij veel externe providers)
- Als het internet eruit ligt, blijft je bedrijfsnetwerk wel werken voor interne mail.

Wat zijn de nadelen van een eigen mailserver
- Als er storingen zijn met de internetverbinding of met de nas, ben je niet bereikbaar voor mail.
- Je bent zelf verantwoordelijk voor een goede backup van alle mail.
- Je zult tijd moeten investeren in de werking van mail en de nieuwe ontwikkelingen volgen op dat gebied.



Het gebruik van een mailserver berust op twee soorten verbindingen.

SMTP: De verbinding tussen mailservers onderling verloopt via SMTP verkeer over poort 25. Daarnaast lopen ook de verstuurde berichten van een mailcliënt via SMTP (poort 465 en 587).

IMAP/POP: De verbinding tussen je data op de mailserver en je mailcliënt lopen via IMAP (poort 993) of POP3 (poort 995). De poorten 110 en 143 voor een niet gecodeerde verbinding kun je beter direct vergeten, hoewel er ook mailproviders zijn die wel TLS verbindingen via deze poorten laten lopen.

Merk op dat het verkeer tussen mailservers vooral via poort 25 loopt. Er zijn mailservers die bij een gesloten poort 25 afleveren via poort 465 of 587 (b.v. gmail), maar de meerderheid vereist toegang tot poort 25.

Mail Server op de nas kan op twee manieren gebruikt worden:

A) Alleen als opslagplaats van je mail die via andere accounts binnenkomt.
B) Als een volledige mailserver die ook mail ontvangt en verstuurt.

Ik zal hieronder in een aantal stappen uitleggen hoe dat gaat. Verder is er nog een optie toegevoegd om de Synology DNS server erbij te gebruiken. Dit kan handig zijn om het hele mailgebeuren alvast binnen je lan te testen als je nog geen eigen domeinnaam hebt.

Wat hieronder bewust weggelaten wordt, is hoe en wanneer poorten geforward moeten worden. Als dat nog geen basiskennis is, moet je niet aan een eigen mailserver beginnen.

Zie voor aanvullende info ook de Synology handleiding Mail Server en Synology  handleiding MailPlus Server.
  • Mijn Synology: DS415+
  • HDD's: 3x 3TB in SHR
  • Extra's: DS212J, RT1900ac

Offline Briolet

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 180
  • -Ontvangen: 2667
  • Berichten: 16.547
Mail Server zonder eigen domeinnaam
« Reactie #1 Gepost op: 01 december 2019, 13:05:52 »
Mail Server gebruiken als opslag van je mail. (zonder eigen domeinnaam)

1) Installeer Mail Server.

2) Zorg ervoor dat iedere gebruiker een Home heeft omdat daar de mail opgeslagen word. Is dat nog niet gebeurd, schakel dan de service "Gebruiker basismap" in bij "Configuratiescherm > Gebruiker".

3) Om de mail op de nas via een mail cliënt te kunnen bekijken moeten we dit bij IMAP/POP3 instellen. Persoonlijk vind ik dat je alleen de beveiligde verbindingen moet toestaan. Ik zou alleen de IMAP SSL/TLS gebruiken. POP3 wil je eigenlijk niet omdat de mail bij deze opzet juist op de server moet blijven.

46821-0

4) Mail kun je nu via een mail cliënt bekijken of via de webmail applicatie Roundcube die in Mail Station zit. Installeer dus ook Mail Station als je webmail toegang wilt hebben.

Binnen roundcube heb je de optie om mail uit een extern account op te halen via POP3. Klik daarvoor rechtsboven op “instellingen”. Dan kies je links POP3 en vervolgens onderaan het plusje om een nieuw POP3 account toe te voegen. Hier vul je de accountgegevens in van je externe account.  Hierna wordt alle mail uit dat externe account op je nas binnengehaald.
NB: Bij sommige accounts, zoals b.v. gmail, moet je binnen dat account eerst de pop3 optie aan zetten.

Je kunt ook een mailcliënt op je telefoon, laptop of PC gebruiken. Bij het aanmaken van een account vul je dan het IP adres of de domeinnaam van je nas in. Als protocol kies je IMAP met codering. Bij deze cliënten is het vaak verplicht om ook de SMTP gegevens in te vullen, ook al gebruik je ze niet. Je kunt dit op lossen door de SMTP gegevens van een ander account te gebruiken, of door de SMTP functie in Mail Server tijdelijk aan te zetten.

Om mail via een cliënt op je nas te zetten, sleep je binnengekomen berichten uit een postbus van een extern account, naar een postbus op het account van je nas.
  • Mijn Synology: DS415+
  • HDD's: 3x 3TB in SHR
  • Extra's: DS212J, RT1900ac

Offline Briolet

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 180
  • -Ontvangen: 2667
  • Berichten: 16.547
Mail Server met eigen domeinnaam
« Reactie #2 Gepost op: 01 december 2019, 13:08:13 »
Mail Server gebruiken voor versturen, ontvangen en opslag op je nas. (met eigen domeinnaam)

Begin ook hier met stap 1 t/m 4. Hooguit kun je in stap 2 nog de optie POP3 SSL/TLS inschakelen als je gebruikers hebt die POP3 willen gebruiken.

In het onderstaande stuk gebruik ik steeds de domeinnaam “xxx.synology.me”. Vervang dit overal door je eigen domeinnaam.

5) Om vindbaar te zijn op het internet moet er een MX record aangemaakt worden in het dns record van je domeinnaam. Dit MX record wijst naar je nas. Als je een vast IP hebt, kun je hem het beste naar je domeinnaam laten wijzen. Als je een dynamisch IP hebt, kun je hem ook naar je DDNS naam laten wijzen. (b.v. naar xxx.synology.me). Als prioriteit vul je 10 of 20 in. De waarde is niet belangrijk. Hij wordt pas belangrijk als je meerdere IP adressen zou hebben waar de mail naar toe kan gaan.

Als er geen MX record is, dan zullen sommige mailservers het A record gaan gebruiken waardoor de mail gewoon aankomt. Je kunt dan ten onrechte denken dat de configuratie goed is. De meeste mailservers doen echter niets als er geen MX record is, dus begin altijd met de aanmaak van dit record.


6) In het Mail Server pakket moeten we eerst de SMTP instellingen doen. Alle instellingen spreken voor zichzelf.

46823-0

Schakel altijd de SMTP-verificatie in om te voorkomen dat de rest van de wereld via jouw server mail kan versturen.

Je kunt er wel voor kiezen om de autorisatie op de lan-verbindingen te negeren. b.v. als je onbetrouwbare apparatuur hebt waar je geen wachtwoord in durft op te slaan. (b.v. IP camera, netwerk printer etc.). Beter is het echter dergelijke apparaten via een eigen account mail te laten versturen. Dat is een account met minimale rechten.

De optie dat de naam van de afzender en de aanmeldnaam identiek moet zijn, heb ik in dit voorbeeld uit gelaten. Het verhoogt de veiligheid wel doordat je niet namens een ander mail mag versturen, maar toen ik het testte, blokkeerde deze functie ook het verzenden via een alias die je zelf opgegeven had in de alias lijst. In mijn optiek een bug.

Schakel in elk geval SMTP-TLS via poort 587 in. Dit is te huidige standaard, terwijl poort 465 uitgefaseerd wordt.

Bij extra domeinen kun je aanvullende domeinen toevoegen. Als iemand je een mail stuurt, worden alleen mails geaccepteerd waarvan het domein bekend is. Mails voor alle domeinen komt steeds in dezelfde postbus terecht van het account dat voor de @ staat.

Als je geen vast IP hebt vanaf waar je mail mag versturen, is het verstandig ook de SMTP Relay te gebruiken. Of het nodig is verschilt per internet provider. Ziggo staat b.v. niet toe dat je zonder speciaal contract zelf mail naar buiten stuurt. Dit moet via hun server lopen. In SMTP Relay, vul je gewoon de gegevens in van je mail-account bij Ziggo. Dat zal bij andere providers vergelijkbaar zijn.



Maar ook als je ISP het je wel toestaat op rechtstreeks mail te versturen vanaf een dynamisch IP, kan dit problemen geven bij de ontvanger als die een HELO check doet op het PTR record van je dynamische IP. Verder staan dynamische IP adressen per default op heel veel spam blacklists. Allemaal redenen om altijd de SMTP relay optie te gebruiken als je een dynamisch IP hebt.


7) Voor we beginnen met mail versturen is het verstandig om alle opties in de rubriek “beveiliging" te doorlopen. Onder water zijn o.a. de volgende twee pakketten verantwoordelijk voor de beveiligingen. MailScanner en SpamAssasin.

46918-2

Spam: Ik zou vrijwel alles aanzetten.

Zet alleen bij SpamAssassin-instellingen de optie "Automatische witte lijst" uit. Als spammers de filters weten te omzeilen, kunnen ze ook op de witte lijst komen, waarna de mailtjes die wel herkend zouden zijn, ook niet meer gecontroleerd worden.

Bij de DNSBL servers heeft Synology waarschijnlijk al iets ingevuld. (Dit varieert met installaties). Ik heb het zelf aangepast tot het volgende:



Dit zijn sites die zwarte lijsten aanleggen van IP adressen die spam versturen. In mijn ervaring houdt het niet zoveel tegen en het houdt soms ook correcte mail tegen. Dat laatste doordat spammers ook wel mail versturen via een correcte mailprovider die dan voor een paar dagen op deze lijsten komt met een of meerdere van hun smtp servers. Als het goed is behoort de afzender een bounce mail terug te krijgen.
In elk geval is dit geen instelling waarvoor geldt: hoe meer hoe beter. Begin met de lijst die Synology geplaatst heeft.

Bekende lijsten die gratis te gebruiken zijn als een RBL zijn: dnsbl-1.uceprotect.net, zen.spamhaus.org en bl.spamcop.net


Bij de geavanceerde spam instellingen werkt het volgende bij mij goed:



Dus eigenlijk alles weigeren behalve de 2e instelling. Dit heeft er bij mij nooit toe geleid dat een correcte mail niet aankwam. Mocht hij wel een mail tegenhouden, dan ligt de fout eigenlijk bij de verzender die zijn zaakjes niet goed op orde heeft.

Het is me tot nu toe nog meer één keer gebeurd dat een bedrijf plots geen mail kon afleveren omdat ze de HELO bij een nieuwe server verkeerd geconfigureerd hadden. Dit is opgelost door het afzend-domein op de witte lijst van MailScanner te zetten. (Zie hieronder)

Antivirus: Bedenk dat dit veel geheugen vraagt. Is dat beschikbaar, dan zou ik AV inschakelen. Ten slotte zit hier het risico om malware binnen te halen.

46920-5

Zwarte en Witte lijst: Dit is een lijst die door het MailScanner pakket beheerd wordt. Onder Spam vind je ook een Zwarte & Witte lijst die door SpamAssassin beheerd wordt. Beide werken anders. Zie voor details dit sticky topic.

Dagelijkse Quota: Zet de dagelijkse mailquota op een lage waarde. Dit voorkomt dat als één van je gebruikers met een spambot besmet wordt, hij grote hoeveelheden spam via jouw server kan versturen. Zijn er toch gebruikers die dagelijks meer mail moeten versturen, maak dan voor die gebruiker een uitzondering via de geavanceerde instellingen bij quota. Zet in elk geval niet de quota voor iedereen omhoog.

Bijlagefilter: Dit spreekt voor zich.

Inhoudscan: Dit is een zeer persoonlijke keuze. Ik gebruik de volgende instellingen:



NB: script tags zijn natuurlijk ook gevaarlijk, maar er is mail waarbij de layout via scripts bepaald wordt. Die mails komen dan verminkt over. De nu aangegeven 'ineffectief maken' opties hebben nagenoeg geen effect op de layout van de ontvangen mail.

Meer info over de inhoudscan vind je hier.

Verificatie: Dit is complexe materie die ik eerst uit zou laten staan. Wil je er toch mee aan de gang, zie dan iets verderop de reactie #6 over SPF, DKIM & DMARC.
Lees voor wat achtergrond info over deze beveiliging ook  mailcontrole met spf, dkim en dmarc uitgelegd

Alias: Dit is een handige optie om meerdere mailadressen aan te maken die allen naar jouw account lopen. b.v. “postmaster@xxx.synology.me”.  Zelf heb ik ook “admin@xxx.synology.me” toegevoegd omdat ik gemerkt heb dat deze post anders in de postbus van de admin terecht komt, ook al is dat account uitgeschakeld.

De alias optie is ook handig om een algemene postbus te maken. b.v. een “info” adres waarvan je de mail naar meerdere interne of externe gebruikers kunt doorsturen.

Tip: Voor een maillinglijst kun je aan een alias ook meerdere gebruikers, groepen of andere aliassen koppelen. Je kunt ook een combinatie van deze drie maken. Je kunt echter maar één extern email adres toevoegen. Wil je meer externe mailadressen toevoegen dan kun je wel een alias aanmaken voor dat externe adres en van aliassen kun je wel meerde toevoegen.
Een groep kun je alleen kiezen als geen van de leden van die groep een uitgeschakeld account heeft.

Aliassen gelden altijd voor alle domeinen. Als je meerdere domeinen gebruikt en wilt dat een alias per domein naar een andere gebruiker wijst dan kan dit niet via Mail Server. Postfix zelf ondersteunt dit wel via "virtuele aliassen'. Voor meer info zie dit draadje vanaf reactie #8 en hier bij reactie #7.

E-mail logboek. Dit is een summier logboek van in- en uitgaande mail.

Voor geavanceerde gebruikers: Het echte logboek met fouten en verbindingen is niet toegankelijk vanuit Mail Server. Dat moet je uitlezen via een ssh inlog. Meer hierover verderop in dit topic.

8) De mail kun je versturen via een eigen mail cliënt of via de webmail applicatie Roundcube, welke onderdeel is van Mail Station. Om mail via roundcube te kunnen versturen moet je daar nog via beheerdersinstellingen, de SMTP serverinstellingen invullen en de naam van het afzenderdomein. Omdat alles binnen dezelfde nas blijft, kun je “localhost’ invullen i.p.v. een expliciet IP adres.




Individuele gebruikers kunnen dit bij de eigen instellingen overrulen door een eigen SMTP server in te vullen.

Alles is nu ingesteld en het gebruik kan beginnen.
  • Mijn Synology: DS415+
  • HDD's: 3x 3TB in SHR
  • Extra's: DS212J, RT1900ac

Offline Briolet

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 180
  • -Ontvangen: 2667
  • Berichten: 16.547
Mail Server i.c.m. eigen DNS server
« Reactie #3 Gepost op: 01 december 2019, 13:11:17 »
9) Als je nog geen domeinnaam hebt, kun je voor het testen ook het DNS Server pakket van Synology installeren en daar die domeinnaam aanmaken. Je zet dan een mailsysteem op die alleen binnen je LAN werkt. Installeer hiervoor eerst de DNS Server zoals hier beschreven.

Ook als je een router hebt die geen nat-loopback ondersteunt, is het gebruik van de DNS Server aan te raden. Op die manier kun je dan toch binnen je lan met je domeinnaam werken.

Ik ga er nu vanuit dat je al een ddns naam ingesteld hebt bij Synology. Als voorbeeld neem ik de naam “xxx.synology.me”. In de DNS Server maak je nu een nieuwe masterzone met die domeinnaam en als master dns server, het IP adres van je nas.



Vervolgens open je de net aangemaakte zone en voegt het MX record toe:




Facultatief kun je nog twee A records toevoegen op naam van imap.xxx.synology.me en smtp.xxx.synology.me. Noodzakelijk is dit niet, maar het maakt dingen overzichtelijker. Als je dit doet, denk er dan wel aan dat je deze twee namen ook toevoegt aan je certificaat.
NB. De synology ddns namen kennen een wildcard subdomein zodat elk subdomein dat je voor je ddns naam plakt, ook naar je nas wijst.

Het geheel ziet er dan zo uit.



Zelfs als je een MX record aanmaakt hebt bij je domeinnaam hoster,  heeft het voordelen om ook nog de Synology DNS Server te gebruiken met dezelfde domeinnaam. Als het internet er uit ligt, blijft het locale mailverkeer werken. b.v. voor de waarschuwingsmailtjes van een IP camera, dat er een probleem is.
  • Mijn Synology: DS415+
  • HDD's: 3x 3TB in SHR
  • Extra's: DS212J, RT1900ac

Offline Briolet

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 180
  • -Ontvangen: 2667
  • Berichten: 16.547
Inrichten Mail Server
« Reactie #4 Gepost op: 02 december 2019, 16:03:10 »
Nog een paar algemene tips.

- Als je in de firewall regioblokkades toepast die slechts een paar landen doorlaten is dat goed voor alle mail-poorten, behalve voor poort 25. Die poort moet ruim open staan omdat mailservers over de hele wereld kunnen zitten. Zelfs mail van een benelux afzender kan over een mailserver aan de andere kant van de wereld lopen. b.v. omdat hij/zij daar een mailprovider heeft. (proton mail zit b.v. in Zwitserland, om maar een voorbeeld te noemen) Of omdat iemand vanaf zijn vakantieadres een mailtje verstuurt via een locale mailserver. (gmail heeft overal op de wereld mailservers staan)

- De mail komt in de homefolder van de betreffende gebruiker te staan in een folder met de naam ".Maildir". Op zich is dat een 'hidden' folder, maar File Station laat hidden folders zien. Je kunt beter van de inhoud afblijven.

- Bij een eigen server, ben je ook verantwoordelijk voor de backup. HyperBackup is hier heel geschikt voor. Let er wel op dat je ook de 'Homes' folders meeneemt in de backup want anders maak je alleen een backup van de Mail Server instellingen. Inplaats van alle Homes te backuppen, kun je er ook voor kiezen om bij elke gebruiker alleen de ".Maildir" map te backuppen.

- Als je internet er uit ligt kan er ook geen mail afgeleverd worden. In je MX record kun je een fallback server opnemen met een lagere prioriteit. Deze vangt dan de mail op en stuurt het door als je eigen server weer on-line is. Dit proces loopt echter spaak als je een SPF controle gaat uitvoeren. Het goed configureren hiervan kan niet via de GUI van Mail Server. Daarvoor moet je in de handleiding van PostFix duiken.
Gelukkig zullen alle mailservers 48 tot 72 uur blijven proberen om de mail af te leveren. Sommige servers sturen de verzender een melding dat de eerste aflevering mislukt is, maar dat hij 48 of 72 uur lang blijft proberen om de mail af te leveren. Dan weet de afzender ook dat de mail vertraging gaat krijgen. Bij een fallback kan de afzender ten onrechte denken dat de mail al aangekomen is. Dus als je de zaken zo regelt dat je binnen 48 uur weer on-line kunt zijn, heb je geen fallback nodig. Binnen een à twee uur dat je weer on-line bent, ontvang je dan alsnog alle vertraagde mail. (Die fallback kan het ook niet eerder afleveren bij jou)

- Enkele sites om je mailinstellingen te controleren.
https://www.internet.nl
https://mxtoolbox.com/SuperTool.aspx#
https://www.emailsecuritygrader.com
https://www.learndmarc.com
https://www.sidn.nl/handige-checklist-e-mailstandaarden
  • Mijn Synology: DS415+
  • HDD's: 3x 3TB in SHR
  • Extra's: DS212J, RT1900ac

Offline Briolet

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 180
  • -Ontvangen: 2667
  • Berichten: 16.547
Re: Inrichten Mail Server
« Reactie #5 Gepost op: 02 december 2019, 18:16:08 »
Technische info

- Mail Server is opgebouwd uit meerdere open source pakketten.

1: Postfix voor het binnenhalen en versturen van mail
2: Dovecot voor de IMAP/POP3 interactie met mail cliënten
3: MailScanner voor het scannen van mail in ruime zin
4: SpamAssassin voor het scannen op spam
5: ClamAV voor het scannen op malware

Als je meer details wilt weten is het soms beter op die sites van de open source pakketten te zoeken naar info en niet bij Synology.

- De config bestanden van de diverse onderdelen staan in:
/volume1/@appstore/MailServer/etc/main.cf  (postfix)
/volume1/@appstore/MailServer/etc/customize/postfix/main.cf
/volume1/@appstore/MailServer/etc/opendmarc.conf
/volume1/@appstore/MailServer/etc/opendkim.conf
/volume1/@appstore/MailServer/etc/dovecot/dovecot.conf
/volume1/@appstore/MailServer/etc/dovecot/conf.d
/volume1/@appstore/MailServer/etc/MailScanner/MailScanner.conf
/volume1/@appstore/MailServer/etc/MailScanner/conf.d

Merk op dat Dovecot en MailScanner een folder "conf.d" kennen waarin elke file met extensie ".conf" aan de configuratie toegevoegd wordt. Je hoeft dan niet een bestaande file te editten, maar voegt een "*.conf" file toe met je eigen aanpassingen.

- Na het aanpassen van een configuratie via een ssh inlog, is het niet nodig om de hele Mail Server te herstarten maar volstaat het vaak om alleen het betreffende proces te herstarten Hierbij worden geen aanpassingen in de template ingelezen, alleen van het config bestand zelf.:
sudo /var/packages/MailServer/target/scripts/PostfixDaemon.sh restart  #
sudo /var/packages/MailServer/target/scripts/opendkim.sh restart
sudo /var/packages/MailServer/target/scripts/opendmarc.sh restart
sudo /var/packages/MailServer/target/scripts/DovecotDaemon.sh restart
sudo /var/packages/MailServer/target/scripts/MailScanner.sh restart
# Dit blijkt niet te werken om aanpassingen in "customize/postfix/main.cf" te activeren. Waarschijnlijk omdat de "customize" folder geen onderdeel van postfix zelf is, maar iets wat Synology toegevoegd heeft. Als je in de GUI van Mailserver bij beveiliging de dagelijkse quota aanpast (of een andere instelling), dan worden de aanpassingen wel geactiveerd. Overigens is de customize folder niet standaard aanwezig. Je moet hem eerst zelf aanmaken. (Werkt ook in Mail Server Plus)

- De meeste configuratie bestanden worden bij een restart van de nas uit de folder "/volume1/@appstore/MailServer/etc/template" opgehaald en aangevuld met instellingen uit de GUI. Als je iets permanent wilt aanpassen via een ssh inlog, moet je dat ook in deze templates aanpassen.
Deze template files overleven meestal ook een update van Mail Server, behalve als er een wijziging binnen een template plaats vind.

- DSM slaat zijn instellingen op in "/var/packages/MailServer/etc/mailserver.conf". Maar dit zijn waardes die beter via de GUI veranderd kunnen worden.
  • Mijn Synology: DS415+
  • HDD's: 3x 3TB in SHR
  • Extra's: DS212J, RT1900ac

Offline Briolet

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 180
  • -Ontvangen: 2667
  • Berichten: 16.547
Re: Inrichten Mail Server
« Reactie #6 Gepost op: 12 december 2019, 11:54:56 »
SPF, DKIM en DMARC

Bij de oorspronkelijke opzet van mail protocollen is er nooit aan misbruik gedacht. Iedereen kan elke willekeurige naam als afzender invullen. Als het jou niet lukt is dat omdat sommige mailcliënten dat niet toelaten. Het mailprotocol laat het wel toe. Daarom zijn er later protocollen bedacht die de authenticiteit van de mail moeten garanderen. De protocollen die op dit moment in gebruik zijn, zijn SPF, DKIM en DMARC.
Zie ook:  mailcontrole met spf, dkim en dmarc uitgelegd



SPF

Bij een SPF beveiliging moet een domeineigenaar in zijn DNS een TXT record opnemen die aangeeft welke IP adressen namens dat domein mail mogen versturen. Een mailserver die mail ontvangt kijkt eerst of er een SPF instelling voor dat domein bestaat en zo ja, controleert hij of hij verbonden is met een IP adres uit dat lijstje.

Een TXT record ziet er als volgt uit:  “v=spf1 a:xxx.synology.me mx ip4:xxx ipv6:xxx  include:xxx -all”
Het record begint altijd met "v=spf1” om aan geven dat de spf info in dit TXT record staat. De toegestane IP adressen kun je vervolgens op verschillende manieren definiëren.

Citaat
- IPv4: of IPv6:  Dit zijn expliciete IP adressen of reeksen van IP adressen
- A: Dit is een domeinnaam en de mailserver haalt zelf de adressen uit het A of AAA record
- MX: De mailserver haalt het ip adres uit het MX record
- include: De mailserver haalt het hele spf record op dat het domein achter de include publiceert. (als die er niet is, wordt er een fout gegenereerd)

Bovenstaande definities van IP adressen kunnen gecombineerd worden, of weggelaten worden.  De volgorde is niet belangrijk. In de meeste gevallen is alleen een MX voldoende. Als je een fixed IP adres hebt versnelt het de boel als je die ook invult omdat er dan geen verdere dns lookup nodig is.

Het spf record eindigt altijd met “all”. Voor de “all” komt een symbool die aangeeft wat te doen als er geen match met een IP adres gevonden is.

Citaat
+all  : Toch goedkeuren. (niet erg zinvol, behalve in testsituaties)
-all  :  Een fail. Een mailserver mag deze mail verwerpen. Mail Server doet dat, maar veel mailservers gooien hem niet weg, maart plaatsen de mail in de spam folder.
~all  : Een soft fail. Dit is ook een fail, maar je geeft ermee aan dat hij minder streng aangepakt mag worden. Veel mailservers gebruiken dit alleen in de bepaling van de spamscore. Ik zou hier mee beginnen om geen mail te verliezen door configuratiefouten.

Zie voor meer uitgebreidere uitleg over de spf syntax b.v. hier: dmarcian.com Of open-spf.org

SPF en Relayserver

Het gebruik van een relayserver geeft problemen met het spf record omdat de ontvangende mailserver niet jouw IP adres ziet, maar het IP adres van de relayserver. Je moet dus dat IP adres in je spf record opnemen. Omdat zo’n adres onverwacht kan veranderen, kun je kijken of die relayserver niet zelf een spf record publiceert. Zo ja, dan neem je dat record op via een “include:”.

Omdat ik zelf Ziggo gebruik, neem ik dat even als voorbeeld. Het domein “ziggo.nl” moet zelf ook een spf publiceren voor alle mensen met een ziggo.nl adres. Je voegt dus “include:ziggo.nl” toe aan je eigen spf record om op die manier het spf record van ziggo op te nemen in je eigen record. Op die manier weet je zeker dat als er IP adressen veranderen van ziggo mailservers, deze ook in je eigen spf record meegenomen worden.

Ziggo gebruikt zelf ook een heleboel “include:” opdrachten van firma’s die in hun naam mail versturen. Al die domeinen zouden dan ook mail in jouw naam kunnen sturen. Nu heeft de ziggo smpt server ook een eigen spf record, waar alleen de IP adressen van hun eigen smpt servers op staan. Je kunt dus ook “include:smtp.ziggo.nl” opnemen.

Je zult zelf moeten uitzoeken of een domein een spf record publiceert. Dat doe je via het nslookup commando. Opvragen van het ziggo record doe je b.v. met:

nslookup -q=txt ziggo.nl
Het leerzaamst is om zelf diverse spf records van andere domeinen te bekijken via het nslookup commando.

Het is raadzaam om altijd een spf record te publiceren, ook al zet je er alleen "v=spf1 +all” in. Van veel mailservers krijgt de mail direct al een hoge spamscore als er geen spf record bestaat.

Er zijn veel sites waar je een gepubliceerd spf record kunt valideren op syntax. Twee die een actief record controleren zijn dmarcanalyzer.com en mxtoolbox.com. Een die een record vóór deployment test is vamsoft.com

Wil je het naadje van de kous weten, dan moet je de RCF 7208 documentatie bestuderen.



Tot zover heb je nog niets in Mail Server zelf in hoeven te stellen. Anderen kunnen wel al  jouw mail valideren. Als je zelf de ontvangen mail wilt valideren, moet je dit aanzetten bij SPF verificatie inschakelen. Mail Server zal mails met een fail dan weigeren. Wil je ook mail met een soft fail weigeren, dan moet je dit apart aankruisen. Bedenk echter dat er relatief veel firma’s zijn die hun mailbeleid niet in orde hebben. De instelling om ook bij een soft-fail te weigeren zal meer mail bouncen dan je misschien verwacht. Maar ook als je dit uit laat, zal een soft fail nog steeds meetellen in de spamscore berekening van spamassassin.




DKIM

De DKIM beveiliging kun je het beste zien als een markering van echtheid die in de mail achtergelaten wordt. Bij het versturen van de mail wordt er een checksum over de belangrijkste onderdelen van de mail uitgerekend. Vervolgens wordt deze checksum gecodeerd met een privé sleutel die alleen op de mailserver staat. In de mail staat ook waar de openbare sleutel binnen het domein van de ondertekenaar gevonden kan worden. Omdat alleen de ondertekenaar de privé sleutel bezit, weet je zeker dat de mail van domeinnaam afkomstig is en dat de mail ook niet tussendoor veranderd is.



Om DKIM te kunnen gebruiken kiezen we in mailserver om een nieuwe openbare sleutel te genereren. (En de bijbehorende privé sleutel, die je als gebruiker niet hoeft te weten) Verder moet je een selector definiëren. Dit mag elke willekeurige tekst zijn.

Vervolgens moet je de openbare sleutel in je DNS record publiceren. Daarvoor wordt een subdomein met de naam “_domainkey” in je domein gebruikt. Zie dit als een sleutelhanger waar je later meerdere sleutels in kunt plaatsen. Binnen dit subdomein gebruik je vervolgens een nieuw subdomein met de naam van de sleutel (De tekst die je bij selector ingevuld hebt.) In het DNS systeem van de Synology DNS server ziet het er als volgt uit:


(Bij een andere hosting provider zal dit er anders uit zien.)

Je kunt de twee geneste subdomeinen dus in één stap aanmaken. Als inhoud van het TXT record vul je vervolgens in:

"v=DKIM1; k=rsa;  h=sha256; p=
Daarna kopieer je de openbare sleutel die Mail Server aangemaakt heeft en plakt hem zonder spatie achter het p= symbool. Tenslotte sluit je af met een dubbele quote. Dit sla je nu op binnen het DNS systeem van je domeinnaam.

Als je meerdere mailservers hebt die jouw mail kunnen versturen, moet je elke server een eigen selector geven en aan in je “_domainkey” subdomein toevoegen. Dat is minder werk dan de privé key op te zoeken en naar die andere mailserver te kopiëren. Als je een nieuwe openbare sleutel aanmaakt is het verstandig om die niet in de oude selector te zetten, maar hiervoor een nieuwe selector aan te maken en de oude selector nor enige tijd actief te laten. Op die manier is reeds verstuurde mail nog steeds controleerbaar met de bijbehorende sleutel uit die oude selector.

Als je meerdere domeinnamen gebruikt moet je het _domainkey subdomein voor elk domein gebruiken en overal dezelfde selector plaatsen.

off-topic: Grote bedrijven die het versturen van mail uitbesteden en toch een dkim ondertekening op hun eigen naam willen hebben, maken een CNAME record aan voor de domainkey, die naar de domainkey van het versturende bedrijf wijst. Op die manier kan de verzender ondertekenen met de naam van de opdrachtgever zonder dat de opdrachtgever de publieke sleutel zelf hoeft te publiceren.



DMARC

Bij de normale SPF beveiliging wordt gekeken naar het SPF record van de verzendende mailserver, die anders kan zijn dan de afzender die de ontvanger ziet. Dit is zo gedaan om mail via een externe partij te kunnen laten versturen. Bij DKIM kan elke mailserver ook zijn ondertekening in de mail zetten. Als de mail via verschillende servers loopt, kunnen zelfs meerdere partijen de mail ondertekenen.

DMARC combineert de SPF en de DKIM controle op een strengere manier. Dit protocol eist dat de controle altijd gedaan moet worden via de domeinnaam die de ontvanger als afzender ziet. Voor Mail Server betekent dit, dat je eigenlijk niets hoeft in te stellen, zolang je DKIM maar aan hebt staan. Het kruisje bij DMARC betekend alleen dat ook ontvangen mail via dit protocol gecontroleerd moet worden.

Toch zijn we niet klaar, want je moet de buitenwereld wel laten weten dat jij wilt dat je mail gecontroleerd wordt. Dat doe je door een TXT record in een “_dmarc” subdomein van je domein aan te maken met de volgende tekst”

"v=DMARC1; p=none; rua=mailto:administrator@xxx.synology.me”


Het mailadres mag je ook weglaten, maar als je dat invult krijg je dagelijks mailtjes met resultaten over verstuurde mail. Dat maakt het voor jezelf beter te controleren of alles naar behoren werkt. Als je na een aantal weken denkt dat alles goed werkt, vervang je het woord “none” door “quarantaine” of “reject”. Zolang hij op none staat, zal de ontvanger nog niets met die mail doen bij een fail. Op het moment dat hij op reject staat, mag de ontvanger de mail gewoon weggooien bij een fail. Hoewel de meeste mailservers het in de spamfolder zullen zetten.

Zie voor nadere info over wat je nog meer kunt instellen op dmarcian.com of op dmarc.org

Tenslotte: Op mail-tester.com kun je een uniek mailadres ophalen om een daadwerkelijk mailtje te sturen ter controle op 'spammyness'.



ADSP

Dit is de Author Domain Signing Practices. Het is een voorloper van DMARC. Het is een aanvulling op DKIM waarbij je via je domein kunt aangeven dat al je mail ook daarwerkelijk DKIM ondertekend moet zijn. Lees meer hierover op: powerdmarc.com op op dkim.org

Het komt er op neer dat je het volgende TXT record opneemt in je DNS.

_adsp._domainkey.yourdomain.com. IN TXT "dkim=xxxxxx"
Vervang hier "yourdomain.com" door je eigen domein en "xxxxx" door "none", "all" of "discardable".

unknown: doe niets. Dit is hetzelfde als geen record definieren
all: eis dat alle mail van een DKIM handtekening is voorzien.
discardable:  gooi alle mail direct weg als er geen of geen geldige DKIM hantekening in zit.
  • Mijn Synology: DS415+
  • HDD's: 3x 3TB in SHR
  • Extra's: DS212J, RT1900ac

Offline Briolet

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 180
  • -Ontvangen: 2667
  • Berichten: 16.547
Re: Inrichten Mail Server
« Reactie #7 Gepost op: 22 mei 2021, 12:41:05 »
Het logboek uitlezen

Voor geavanceerde gebruikers: Het echte logboek is niet toegankelijk vanuit Mail Server. Dat moet je met Putty/Terminal uitlezen en staat op: “/volume1/@maillog/maillog”. Omdat het een groot bestand is dat wel 250 duidend regels kan beslaan, wil je dat met speciale software met zoekopties bekijken.

Als je dit logboek rechtstreeks via Putty of de Terminal wilt bekijken raad ik "tail" of "less" aan.

tail
tail laat standaard alleen de laatste 10 regels van een file zien. Wil je meer zien, moet je het aantal te tonen regels opgeven. tail is vooral handig met het testen van ontvangen/verzenden omdat dit op het eind van het log geschreven wordt. Met de optie '-f' wordt de file niet gesloten, maar blijft op nieuwe logregels wachten. Samen wordt het dan.

sudo tail -100 -f /volume1/@maillog/maillog
Afbreken doe je dan met ctrl-C

Dit is ideaal als je aan het testen bent. Je start het lezen van het log en stuurt dan een mail om te zien hoe alles gelogd wordt

less
Als je iets midden in het log wilt zoeken, raad ik het commando "less" aan. Dit is speciaal voor het bekijken en zoeken in grote files.
"less" staat niet standaard op de nas. Je kunt het installeren via Package Center door het pakket "SynoCli File Tools" van de SynoCommunity te installeren. Als dat nog niet gebeurd is moet je eerst de SynoCommunity toevoegen aan Packece Center via "Instellingen --> Pakketbronnen --> http://packages.synocommunity.com/".

Eenmaal geinstalleert open je het log met:

sudo less /volume1/@maillog/maillog
en dan zoeken met "/ zoekterm". Met de toets 'n' springt hij vooruit van treffer naar treffer. Met 'N' springt hij achteruit.

Voor meer opties van less type: "less --help"

Het is zinvol op periodiek door het log te lopen. b.v. door alle plekken met "fail", "softfail" etc te zoeken. Of op een specifiek tijdstip te zoeken waarop een bepaalde mail verzonden/ontvangen is.

Uitlezen met WinSCP

Met windows kun je het log ook benaderen via WinSCP. (lees hier voor installatie van WinSCP.) En hierna open je de logfile met je favoriete programma.

Uitlezen via een gemounte share

Voor de mac bestaat er geen gratis SCP cliënt, dus maak ik periodiek een hardlink naar een share op de nas. Het volgende terminal commando creëert zo’n hardlink in de home folder van diegene die het commando uitvoert. (Zorg ervoor dat je dus geen root bent op dat moment, want anders komt de link in de home van root te staan).

ln /volume1/@maillog/maillog ~/maillog.logHet voorbeeld is naar de home folder, maar dit mag elke willekeurige share zijn.

Dit commando moet je herhalen als je merkt dat er geen nieuwe entries bij komen door een logrotatie. (elke paar maand ) De extensie .log zorgt ervoor dat de mac hem met de standaard logviewer opent.

Even als geheugensteuntje wat een 'hard link' is. Dit is een extra entry in de directory van het filesysteem die naar dezelfde fysieke file op de nas wijst. Je mag de naam ook rustig aanpassen zonder dat dit gevolgen voor het origineel heeft. Alleen als de nas een logrotatie toepast en een nieuwe logfile maakt, blijft je link naar de oude logfile wijzen en moet je een nieuwe hard link aanmaken. Ik hernoem dan altijd eerst de oude logfile naar een naam met een datum van de laatste entry.
  • Mijn Synology: DS415+
  • HDD's: 3x 3TB in SHR
  • Extra's: DS212J, RT1900ac

Offline Briolet

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 180
  • -Ontvangen: 2667
  • Berichten: 16.547
Re: Inrichten Mail Server
« Reactie #8 Gepost op: 09 oktober 2021, 10:58:55 »
Oude logboeken bewaren

Elke keer als het logboek 'vol' raakt, wordt hij gecomprimeerd, hernoemd en een nieuw logboek gestart. Het oudste gecomprimeerde logboek wordt vervolgens gewist. Mail Server bewaart alleen de laatste 4 gecomprimeerde logboeken. (maillog.1.xz  maillog.2.xz  maillog.3.xz  maillog.4.xz) Wil je verder terug kijken, dan kan dat niet meer.

Zelf maakte ik al eigen kopiën van logboeken en kan dus verder terug kijken. Maar toen ik onlangs iets terug wilde zoeken en er achter kwam dat ik een roulatie gemist had en het gecomprimeerde log ook al gewist was, heb ik het volgende script geschreven.

#!/bin/sh

############################################
#                                          #
#  Make een nieuwe hardlink indien nodig   #
#                                          #
############################################

# ------------------------------------------------------------------
# Volgende 4 regels naar behoefte aanpassen
share=Logboeken
folderpath=Mail
filename=maillog
extension=log

maillog=/volume1/@maillog/maillog
destinationfolder=/volume1/${share}/${folderpath}/
destination=${destinationfolder}${filename}.${extension}

if [ ! -d ${destinationfolder} ]; then
    echo "De share/folder "${share}/${folderpath}" bestaat niet"
    exit 1
fi

if [ ! -f ${destination} ]; then
ln ${maillog} ${destination}
exit 0
fi

if [ ${maillog} -ef ${destination} ];  then
exit 0
else
Now=$(date +%Y-%m-%d)
mv ${destination} ${destinationfolder}${filename}-${Now}.${extension}
ln ${maillog} ${destination}
fi
# ------------------------------------------------------------------

Het script voer ik dagelijks uit in de taakplanner. Het script zet een hard link van het log op een zelf te kiezen share.
Als er geen log-roulatie was, stopt het script direct. Was er wel een log-roulatie, dan wordt het oude log hernoemd met de actuele datum in de naam en wordt een nieuwe hard link op de share gezet.
Op deze  manier gaan geen oude logbestanden verloren en zijn ze ook snel op de share te raadplegen zonder eerst op de nas in te loggen.

In het script moet je zelf de naam van de share aanpassen waar het log heen moet. Idem voor de folder (of het folder pad) waar de bestanden in gezet moeten worden. Dat zijn dus de twee regels:
share=Logboeken
folderpath=Mail

Vervolgens kopieer je het stuk tussen de twee horizontale strepen en plakt dit in de taakplanner. Laat het script dagelijks runnen en laat de taakplanner een mailtje sturen als er een uitvoerfout is.

Na de eerste keer runnen zal er nu steeds een actueel maillog op die share staan.
  • Mijn Synology: DS415+
  • HDD's: 3x 3TB in SHR
  • Extra's: DS212J, RT1900ac


 

Gevraagd: Stappenplan voor inrichten website op DS-106

Gestart door HanzThePanzBoard NAS hardware vragen

Reacties: 1
Gelezen: 3286
Laatste bericht 19 december 2006, 22:27:51
door Frank
Tweede Synology inrichten

Gestart door pstasBoard NAS hardware vragen

Reacties: 2
Gelezen: 2085
Laatste bericht 09 juli 2012, 10:57:37
door pstas
Reverse proxy inrichten

Gestart door DSM'tjeBoard Web Station mods

Reacties: 12
Gelezen: 24298
Laatste bericht 23 februari 2016, 14:31:57
door Wyodor
DS1512+ opnieuw inrichten

Gestart door RaphieBoard NAS hardware vragen

Reacties: 3
Gelezen: 1600
Laatste bericht 30 januari 2016, 20:32:04
door Raphie
Inrichten NAS 4 schijven

Gestart door SandraBoard Synology DSM algemeen

Reacties: 6
Gelezen: 2873
Laatste bericht 23 juni 2019, 10:33:26
door Birdy