AktualnościWłasny Serwer

Własny serwer Red Hat – cz.6: serwer poczty IMAP

Ostatnia aktualizacja: 3 kwietnia 2025, 12:05



 
W piątej części z cyklu Własny Serwer Red Hat zainstalowaliśmy i skonfigurowaliśmy serwer poczty SMTP w systemie kompatybilnym z Red Hat – Rocky Linux. Można go również zastosować w innych, kompatybilnych systemach, takich jak: CloudLinux, AlmaLinux, EuroLinux, CentOS Stream, MIRACLE Linux, etc.

W tej części zainstalujemy i skonfigurujemy serwer poczty IMAP, który pozwoli na zarządzanie skrzynką pocztową za pomocą klienta pocztowego zainstalowanego na komputerze lokalnym.

Co to jest serwer IMAP?
Serwer IMAP to aplikacja serwerowa, która umożliwia komunikację pomiędzy programem pocztowym a serwerem poczty za pomocą protokołu IMAP.

Do celów tego wpisu użyjemy aplikacji Dovecot.

Porty zapory ogniowej
W pierwszej kolejności otwórz porty, które będą przepuszczały komunikację pomiędzy serwerem IMAP a lokalnym programem pocztowym:
firewall-cmd --permanent --add-service={http,https,smtp-submission,smtps,imap,imaps}
systemctl reload firewalld

Certyfikat TSL/SSL
W 3 części cyklu zainstalowaliśmy aplikację 'cerbot’ służącą do szyfrowania połączenia za pomocą Let’s Encrypt. Użyjemy jej ponownie do zabezpieczenia połączenia z subdomeną pocztową.

Pobierz certyfikat, bez instalacji, dla Apache:
certbot certonly -a apache --agree-tos --no-eff-email --staple-ocsp --email login@linuxiarze.pl -d mail.linuxiarze.pl

i przeładuj Apache2:
systemctl restart httpd

Lub pobierz certyfikat, bez instalacji, dla Nginx:
certbot certonly -a nginx --agree-tos --no-eff-email --staple-ocsp --email login@linuxiarze.pl -d mail.linuxiarze.pl

i przeładuj nginx:
systemctl restart nginx

Konfiguracja Postfix
W poprzedniej części zainstalowaliśmy serwer poczty SMPT, a właściwie aplikację do jej obsługi Postfix.
Aby serwer IMAP działał poprawnie, trzeba zmienić ustawienia do przekazywania poczty do serwera IMAP.
Wyedytuj plik konfiguracyjny Postfix dodając do niego obsługę usługi Submission:
nano /etc/postfix/master.cf

dodając:
submission inet n - y - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_tls_wrappermode=no
-o smtpd_sasl_auth_enable=yes
-o smtpd_relay_restrictions=permit_sasl_authenticated,reject
-o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject
-o smtpd_sasl_type=dovecot
-o smtpd_sasl_path=private/auth

Usługa będzie działała na porcie 587, dla Microsoft Outlook działa na porcie 465.

Następnie wyedytuj plik main.cf aktywując szyfrowanie TLS:
nano /etc/postfix/main.cf

dodając:
#Aktywuj TLS Encryption dla Postfix
smtpd_tls_cert_file=/etc/letsencrypt/live/mail.linuxiarze.pl/fullchain.pem
smtpd_tls_key_file=/etc/letsencrypt/live/mail.linuxiarze.pl/privkey.pem
smtpd_tls_loglevel = 1
smtp_tls_loglevel = 1
#Force TLSv1.3 or TLSv1.2
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtp_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1

Przeładuj Postfix:
systemctl restart postfix

Możesz sprawdzić, czy Postfix nasłuchuje na portach 587 i 465:
ss -lnpt | grep master

Instalacja Dovecot
dnf install dovecot

Wyedytuj plik konfiguracyjny dovecot:
nano /etc/dovecot/dovecot.conf
dodając/zmieniając wartości na poniższe:
protocols = imap lmtp

Zmień ustawienia skrzynki mailowej:
nano /etc/dovecot/conf.d/10-mail.conf
na:
mail_location = maildir:~/Maildir
mail_privileged_group = mail

Następnie dodaj dovecot do grupy użytkowników poczty, aby Dovecot mógł czytać skrzynkę odbiorczą:
gpasswd -a dovecot mail

Teraz wyedytuj plik konfiguracyjny 10-master.conf:
nano /etc/dovecot/conf.d/10-master.conf

Zmień definicję usługi lmtp na następującą:
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
mode = 0600
user = postfix
group = postfix
}
}

oraz:
service auth {
unix_listener /var/spool/postfix/private/auth {
mode = 0660
user = postfix
group = postfix
}
}

Ponownie wyedytuj plik konfiguracyjny Postfix:
nano /etc/postfix/main.cf

Dodaj następujące wiersze na końcu pliku. Pierwsza linia mówi Postfixowi, aby dostarczał przychodzące wiadomości e-mail do lokalnego magazynu wiadomości za pośrednictwem serwera Dovecot LMTP. Druga linia wyłącza SMTPUTF8 w Postfixie, ponieważ Dovecot-LMTP nie obsługuje tego rozszerzenia e-mail.

mailbox_transport = lmtp:unix:private/dovecot-lmtp
smtputf8_enable = no

Konfigurowanie mechanizmu uwierzytelniania użytkownika:
nano /etc/dovecot/conf.d/10-auth.conf

Odkomentuj linię:
disable_plaintext_auth = yes

oraz:
auth_username_format = %n

dodając na koniec linii '%n’.

zmień linię:
auth_mechanisms = plain

na:
auth_mechanisms = plain login

Konfiguracja szyfrowania TSL
nano /etc/dovecot/conf.d/10-ssl.conf

Zmień:
ssl = yes

na:
ssl = required

oraz certyfikat:
ssl_cert = </etc/dovecot/private/dovecot.pem
ssl_key = </etc/dovecot/private/dovecot.key

na certyfikat od Let’s Encrypt:
ssl_cert = </etc/letsencrypt/live/mail.linuxiarze.pl/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.linuxiarze.pl/privkey.pem

Zmień linię:
#ssl_prefer_server_ciphers = no
na:
ssl_prefer_server_ciphers = yes

odkomentuj linię:
#ssl_dh = </etc/dovecot/dh.pem

oraz zmień:
#ssl_min_protocol = TLSv1
na:
ssl_min_protocol = TLSv1.2

Zapisz plik i wygeneruj parametr Diffie-Hellmana za pomocą:
openssl dhparam -out /etc/dovecot/dh.pem 4096

Zrestartuj Postfix i Dovecot:
systemctl restart postfix dovecot

Dovecot będzie nasłuchiwał na porcie 143 (IMAP) i 993 (IMAPS), co można sprawdzić:
ss -lnpt | grep dovecot

Konfiguracja klienta lokalnego
Otwórz teraz swojego lokalnego klienta poczty e-mail, np. Mozilla Thunderbird.
Przejdź do Edycja -> Ustawienia konta -> Akcje konta -> Dodaj konto pocztowe, aby dodać konto pocztowe:
– W sekcji serwera poczty przychodzącej wybierz protokół IMAP, wpisz mail.twoja-domena.com jako nazwę serwera, wybierz port 143 i STARTTLS. Wybierz normalne hasło jako metodę uwierzytelniania.
– W sekcji wychodzącej wybierz protokół SMTP, wpisz mail.twoja-domena.com jako nazwę serwera, wybierz port 587 i STARTTLS. Wybierz normalne hasło jako metodę uwierzytelniania.

Możesz także użyć portu 993 z szyfrowaniem SSL/TLS dla IMAP i portu 465 z szyfrowaniem SSL/TLS dla SMTP. NIE należy używać portu 25 jako portu SMTP w klientach poczty do przesyłania wychodzących wiadomości e-mail.

Jeśli potrzebujesz więcej wiadomości użyj stron man:
man postfix
man dovecot
man smtp
man imapd

W następnym, siódmym tutorialu, zadbamy o bezpieczeństwo poczty email instalując program antywirusowy i antyspamowy.

Click to rate this post!
[Total: 0 Average: 0]

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna jest chroniona przez reCAPTCHA i Google Politykę Prywatności oraz obowiązują Warunki Korzystania z Usługi.

Accessibility Toolbar