Inštalácia a konfigurácia E-mail servera na Debian 10/11, Ubuntu 22.04, Raspberry

Keď to chcete inštalovať na Ubuntu Server, použite Ubuntu Server 22.04. Na 22.10 skript na inštaláciu iRedmail nefunguje.

Inštaláciu je dokonca možné urobiť aj na Rasberry Zero 2W, pi 2, pi 3, pi 4 a pi 400

Ak si budete, chcieť naištalovať mailový server na Rasberry pi, tak na stiahnutie a inštaláciu OS použite Rasberry Pi imager, ten viete stiahnúť odtiaľ to.

https://www.raspberrypi.com/software/

Po nainštalovaní zvoľte CHOOSE OS

Zvoľte Other general-purpose OS

Kliknite na Ubuntu

V ponuke nájdite Ubuntu Server 22.04 LTS (64 bit)

Zvoľte CHOOSE STORAGE

Vyberte SD kartu z ponuky

Kliknite na WRITE

Počkajte, kým sa nainštaluje OS a môžete začať konfigurovať.

Úvod

V tomto článku sa naučíme, ako nakonfigurovať E-mail server

Budeťe potrebovať:

  • Doménu
  • Hosting
  • A napríklad VPS server (Virtual private server)

Konfigurácia DNS server

Vyplňte:

  • Názov
  • TTL
  • IP adresu

Ako prvé vytvorte DNS záznamy

Zvoľte A záznam

A záznam určuje, na akú IP adresu bude doména nasmerovaná. Pomocou nastavenia A záznamu možno tiež vytvoriť doménu tretieho rádu k už existujúcej doméne.

MX záznam

Je možné, že Vás server vyzve, že to bude funkčné až o 24 hodín. Nie to nie je pravda, bude funkčná okamžite

Inštalácia a konfigurácia emailového serveru

Urobte aktualizáciu

apt update
apt upgrade

Urobte konfiguráciu hostname

hostnamectl set-hostname mail.Vaša-doména.sk

Upravte príkaz pomocou textového editoru

nano /etc/hosts
127.0.0.1       mail.vaša-doména.sk localhost

Uložte to

Teraz skontrolujte, či sa zmenil hostname

hostname -f

Stiahnite najnovšiu verziu iRedMail. Najnovšiu verziu viete stiahnuť odtiaľto

https://www.iredmail.org/download.html

wget https://github.com/iredmail/iRedMail/archive/refs/tags/1.6.2.tar.gz

Rozbaľte archívne súbory

tar xvf 1.6.2.tar.gz

Teraz choďte do priečinka

cd iRedMail-1.6.2

Pridajte práva do iRedMail.sh script

chmod +x iRedMail.sh

Spustite script

bash iRedMail.sh

Hlavné loginy:

Roundcube webmail: https://mail.ibasterisk.sk/mail
netdata: https://mail.ibasterisk.sk/netdata
web admin panel: https://mail.ibasterisk.sk/iredadmin

Reštartujte server

shutdown -r now

Od tohto kroku môžete navštíviť, svoj emailový server:

Tento link slúži pre administrátorov:

https://Vaša-doména/iredadmin/

Môže sa Vám stať, že Vám server nepripustí k serveru z dôvodu, že máte neplatný certifikát. Nižšie je popis generovanie certifikátu

Emailová pošta pre užívateľov je:

https://mail.Vaša-domena.sk/mail

Vytvorte certifikát

Ak nenastavíte certifikáty, tak Vám webový prehliadač nemusí umožniť prístup na Váš emailový server

apt install certbot
certbot certonly --webroot --agree-tos --email you@example.com -d mail.your-domain.com -w /var/www/html/

V mojom prípade

certbot certonly --webroot --agree-tos --email postmaster@ibasterisk.sk -d mail.ibasterisk.sk -w /var/www/html/

Keď sa vás spýta, či chcete dostávať komunikáciu z EFF, môžete zvoliť Nie.

Upravte ssl.conf

nano /etc/nginx/sites-enabled/00-default-ssl.conf

Môžete skontrolovať

nginx -t

Keď vám prebehne test v poriadku reštartujte nginx

systemctl reload nginx

Spustite príkaz na získanie TLS certifikátu. Nahraďte text pre aktuálne nastavenie

certbot certonly –webroot –agree-tos –email you@example.com -d mail.your-domain.com -w /var/www/html/

Po získaní certifikátu pokračujte v konfigurácií Nginx web serveru:

nano /etc/nginx/templates/ssl.tmpl

nájdite 2 riadky

ssl_certificate /etc/ssl/certs/iRedMail.crt;
ssl_certificate_key /etc/ssl/private/iRedMail.key;

Tie nahraďte

ssl_certificate /etc/letsencrypt/live/mail.your-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mail.your-domain.com/privkey.pem;

Uložte to

Skontrolujte, či je to v poriadku

nginx -t
systemctl reload nginx

Naištaľujte TLS certifikát v Postfix a Dovecot

nano /etc/postfix/main.cf

Teraz nájdite riadky 95,96,97

smtpd_tls_key_file = /etc/ssl/private/iRedMail.key
smtpd_tls_cert_file = /etc/ssl/certs/iRedMail.crt
smtpd_tls_CAfile = /etc/ssl/certs/iRedMail.crt

tie nahraďte:

smtpd_tls_key_file = /etc/letsencrypt/live/mail.your-domain.com/privkey.pem
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.your-domain.com/cert.pem
smtpd_tls_CAfile = /etc/letsencrypt/live/mail.your-domain.com/chain.pem

Teraz to uložte a reštartujte postfix

systemctl reload postfix

Teraz nájdite 2 riadky 47,48

nano /etc/dovecot/dovecot.conf
ssl_cert = </etc/ssl/certs/iRedMail.crt
ssl_key = </etc/ssl/private/iRedMail.key

Tie nahraďte:

ssl_cert = </etc/letsencrypt/live/mail.your-domain.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.your-domain.com/privkey.pem

Reštartujte Dovecort

systemctl reload dovecot

Výsledok

Vytvorte užívateľa

V tomto linku vytvárate užívateľa, či je to administrátor alebo užívateľ, podľa toho má práva. Užívatelia sa vytvárajú cez webový prehliadač

https://mail.vaša-doména.sk/iredadmin

Ak si budete chcieť nastaviť, mail na mailovom klientovy, tak postup nájdete v tomto článku

https://baro.ibasterisk.sk/aktualizacia-novo-nastavenych-udajov-na-thunderbird-klienta/

Neodosielanie emailov  na server GMAIL

Momentálne viete odosielať email v rámci svojho servera. (Viete ich odosielať prakticky všade), ale niektoré servery, ako napríklad GMAIL vám môže emaily „hádzať“ do spamu. Vyriešite to tzv. revíznym záznamom. Ten Vám buď vytvorí Váš poskytovateľ, alebo si ho viete vytvoriť aj Sám.

Reverzný záznam (SPF Record)

Ako som postupoval pri vytvorení reverzného záznamu:

Keďže, svoj emailový server mám vytvorený na VPS a ten mám v prenájme od firmy forpsi Cloud môj prvý krok bol urobenie reverzného záznamu na ich servery. Postup ako vytvoriť reverzný záznam majú krásne zdokumentovaný tu:

https://kb.forpsicloud.cz/cz/computing/verejna-ip-adresa/nastaveni-reverzniho-dns-zaznamu-na-verejne-ip-adrese.aspx

Čo sa týka úpravy upozorní Vás, že sa zmeny prejavia do 48 hodín. Poskytovateľ sa týmto krokom chráni. Reálne to prejde to hodiny.

Druhá časť reverzného záznamu

Moju doménu a hosting mám na Active24

Ako prvé musíte nastaviť A záznam

A záznam

A záznam určuje, na akú IP adresu bude doména nasmerovaná. Pomocou nastavenia A záznamu možno tiež vytvoriť doménu tretieho rádu k už existujúcej doméne.

MX záznam

Určuje mailserver, na ktorý budú smerovať e-maily zaslané na zvolenú doménu. Vždy sa udáva doménový názov servera. Ak máte iba jeho IP adresu, nastavte ju najprv ako A záznam a ten potom vyplňte tu do poľa Mailserver.

TXT záznam

TXT záznamy umožňujú vložiť do DNS záznamu ľubovoľný text. Text môže byť dlhý maximálne 255 znakov. Využíva sa napríklad pre podpis odoslaných emailov (DKIM, SPF).

X.X.X.X zmeňte na vašu IP adresu

v=spf1 mx ip4:X.X.X.X ~all

Teraz vytvorte ďalší reverzný záznam tzv. _dmarc

v=DMARC1; p=none; pct=100; rua=mailto:dmarc@ibasterisk.sk

Teraz vytvorte MX záznam. Názov bude @ a názov Maiserver názov Vašej domény. V mojom prípade mail.ibasterisk.sk

Teraz vygenerujte, kľúč. Ten sa Vám vygeneruje pomocou príkazu

amavisd-new showkeys

Po spustení príkazu sa Vám vygeneruje, reťazec (toto je príklad)

v=DKIM1; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApaaeJMTUoXgU5O3SC1rTRT8OtY+qaDdktbkqa+IMmUAGC1vreDwH0n7ULm3WSYwhJYG+WwUJS7x5/2R2frbicfuM2SdoKfeBcRLyqC0XG49hC8LfLgNie4mXiVzOby83Ue82hWxM4cT4mbks5rmqncnJtuvBYK2E0jC8duz5qQXPT/EldBWtWs702GQJVDb8b5TyeAbob5LseAZ3rJ75MmfXl9s22cTN02kAmCBDEf27/3wmH56ywlJVUmMFYxcvXVFtLcj2pNgPojfVsuKbmv/1B++WaEuq+lI2KWivTRTr+5PkZimHOmx601bSDlODDnBsBHcSFkn7wf2jVsMXLQIDAQAB

Kopírujte kľúč bez úvodzoviek a bez zátvoriek musí to byť v jednom riadku. Názov dkim_domainkey

Po uložení zadajte príkaz, či sa Vám verejný kľúč zhoduje s DNS záznamami

sudo amavisd-new testkeys

Keď to máte hotové, musíte nejaký čas počkať. Zhruba hodinu, kým sa prejavia zmeny.

Ďalší test:

Ak chcete skontrolovať, či sa váš záznam SPF šíri na verejný internet, môžete použiť pomôcku dig na vašom počítači so systémom Linux, ako je uvedené nižšie:

dig mail.ibasterisk.sk txt
dig ibasterisk.sk txt

Test, či Vám funguje MX záznam

Na domene, ktorá je na fopriscloude som mal možnosť postaviť mail server, postupoval som viac menej rovnako

Potreboval som nastaviť zaznamy, aby prechádzali aj na O365

Vytvoril som A záznam na verejnú IP

mail.ibasterisk.eu	1800	A	109.230.12.223

MX záznam

ibasterisk.eu	1800	MX	10 mail.ibasterisk.eu

TXT záznam

ibasterisk.eu	1800	TXT	v=spf1 a mx include:_spf.ibasterisk.eu -all

dmarc

_dmarc.ibasterisk.eu	1800	TXT	v=DMARC1; p=none; pct=100; rua=mailto:p

a vytvoriť dkim

dkim.ibasterisk.eu	1800	TXT	v=DKIM1; p=MIaAutorizačný_kód_vygenerovaný_na_emailovom_serveryIBIjANBgkqhkiG9w0BAQEFA

Ďalšie TXT záznamy, aby prešli na o365

ibasterisk.eu	1800	TXT	v=spf1 a mx include:_spf.ibasterisk.eu -all
ibasterisk.eu	1800	TXT	v=spf1 include:spf.protection.outlook.com
ibasterisk.eu	1800	TXT	v=spf1 ip4:109.230.12.223 include:spf.prot
	

TXT pre gmailNa google

ibasterisk.eu	1800	TXT	v=spf1 ip4:109.230.12.223 include:_spf.google.com ~all

Vysvetlenia

  • @ do poľa názvu, ktorý bude predstavovať názov hlavnej domény.
  • v=spf1 označuje, že ide o záznam SPF a verzia je SPF1.
  • mx znamená, že všetci hostitelia uvedení v záznamoch MX môžu odosielať e-maily pre vašu doménu a všetci ostatní hostitelia sú zakázaní.
  • ~all znamená, že e-maily z vašej domény by mali pochádzať iba z hostiteľov uvedených v zázname SPF. E-maily od iných hostiteľov budú označené, ako sfalšované.
  • A Záznam určuje, na akú IP adresu bude doména nasmerovaná. Pomocou nastavení a záznamu možno vytvoriť doménu tretieho rádu už existujúcu doméne.
  • AAAA záznam určuje, akou adresu IPv6 bude doména nasmerovaná. Tu sa pre presmerovanie použije záznam alebo AAAA záznam rozhoduje o nastavení internetových prehliadačov.
  • CAA Definuje politiku vystavení SSL/TLS certifikátu na zvolenú doménu. Ovplyvňuje certifikačnú autoritu, ktorú možno vystaviť pre vyplnenú doménu certifikátu SSL/TLS.
  • CNAME slúži k presmerovaniu subdomény na inú doménu. Názov CNAME musí byť vždy vyplnený. Alias ​​sa zadáva vo forme celého názvu domény (napr. mail.ibasterisk.sk).
  • MX Určuje mailserver, na, ktorý budú smerovať e-maily zaslané na túto doménu. Vždy sa použije celý doménový názov serveru. Ak máte iba jeho IP adresu, nastavte najprv, ako záznam a jeho doménový názov potom vyplňte pole Mailserver.
  • NS Nastavuje sa nameserver pre konkrétnu subdoménu. Z určeného menného serveru je určené správanie subdomény. Ostatné záznamy DNS sú naďalej brány z nastavení nameserverov na menej.
  • SRV Pomocou SRV záznamov je možné nájsť server obsluhujúcej vybranú službu v cieľovej doméne. Zvyčajne sú používané vo spojení so štandardizovanými protokolmi, ako sú XMPP, SIP alebo LDAP.
  • SSHFP Pri použití technológie DNSSEC môžete využívať záznam typu SSHFP pre ukladanie otlačkov verejných kľúčov pre protokol SSH (nemusíte potom overovať otlačok kľúča ručne pri prvom spojení).
  • TLSA Pri použití technológie DNSSEC môžete využívať záznam typu TLSA pre ukladanie certifikátov SSL použitých na menej.
  • TXT stačí vložiť do DNS ľubovoľný text. Text môže byť dlhý maximálne 255 znakov. Používa sa napríklad pre podpis odoslaných emailov (DKIM, SPF).

Na firewalle je potrebné otvoriť porty

  • 443 HTTPS
  • 80 HTTP
  • 25 SMTP – protokol, určený na prenos správ medzi odosielateľom a prijmateľom. Užívateľ môže kedy koľvek pristupovať priamo na server.
  • 22 SSH – SSH, hlavne určený na pripojenie sa k serveru prostredníctvom putty, alebo iného programu, ktorý podporuje pripjenie cez SSH.
  • 143 IMAP – je protokol pre vzdialený prístup k e-mailovej schránke, rpstredníctvom e-mailoveho klienta (Outlook, Thunderbird, Blue mail)
  • 587 – je predvolený port na odosielanie správ
naspäť