Instalacja certyfikatu SSL w serwerze Postfix
14.08.2022
- Po otrzymaniu e-maila zawierającego certyfikat SSL dla serwera skopiuj go do dowolnego edytora tekstowego i zapisz jako np.
mojadomena.pem
w katalogu serwera np. w/etc/postfix/
Zainstaluj certyfikat pośredni (intermediate) wystawcy odpowiedni dla zamówionego certyfikatu SSL. Certyfikat pośredni należy umieścić na końcu pliku
mojadomena.pem
, czyli za certyfikatem serwera. Bardzo ważne jest zachowanie kolejności certyfikatów w pliku.Struktura pliku powinna być następująca:
-----BEGIN CERTIFICATE----- jLjNGrII5i98fcKYlXhxuvts7dcMD5m1b+nwcO4gt ezN2vxF+gjG0hU804uFXww5C0dfsgdsTRSxVcvcR+ « certyfikat serwera O2IWGtrgZqYZN2zPAQpYaXc5NOjJbi2vcbxcbvvbj -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- BgNVsHR8t587fdghddfgEP6DAMDigNqA0hjJodHRw Oi8vcmFwaWRtY3JsLmdl5cejjb3eefrRydXN0LmNv « certyfikat pośredni 4vkBDvp4RHwRE44bT49ymDAdvsfgX3kVWGWfGpN3Q -----END CERTIFICATE-----
- Otwórz plik konfiguracyjny Postfiksa
main.cf
w edytorze tekstowym (plikmain.cf
przeważnie jest zlokalizowany w katalogu /etc/postfix/) - W sekcji dotyczącej TLS (# TLS parameters) zlokalizuj dyrektywy
smtpd_tls_key_file
,smtpd_tls_cert_file
. Jeżeli nie istnieją, należy je dopisać jak poniżej:smtpd_tls_key_file = /etc/postfix/mojadomena.key smtpd_tls_cert_file = /etc/postfix/mojadomena.pem
- Dodatkowo, należy uaktywnić obsługę TLS za pomocą dyrektywy
smtpd_tls_security_level
ismtp_tls_security_level
(dla wersji 2.3 i nowszych):
Dla demona smtpd:
Ustawienie parametrusmtpd_tls_security_level = may
smtpd_tls_security_level
na wartośćmay
uaktywnia połączenia SSL warunkowo: Jeżeli zdalny serwer (wysyłający wiadomość e-mail) ogłasza obsługę SSL, to połączenie do naszego serwera (smtpd) zostanie nawiązane w połączeniu SSL. Gdy zdalny serwer nie ma włączonej obsługi połączeń SSL, to połączenie zostanie nawiązane bez szyfrowania. E-mail zostanie dostarczony do naszego serwera w nieszyfrowanym połączeniu.
Dla klienta smtp:
Ustawienie parametrusmtp_tls_security_level = may
smtp_tls_security_level
na wartośćmay
uaktywnia połączenia SSL warunkowo: Jeżeli zdalny serwer (odbierający wiadomość e-mail) ogłasza obsługę SSL, to połączenie z naszego serwera (smtpd) zostanie nawiązane w połączeniu SSL. Gdy zdalny serwer nie ma włączonej obsługi połączeń SSL, to połączenie zostanie nawiązane bez szyfrowania. E-mail zostanie dostarczony z naszego serwera w nieszyfrowanym połączeniu. - Wyłączenie przestarzałych i słabych szyfrów oraz protokołów. Jednocześnie aktywne pozostaną protokoły TLSv1, TLSv1.1 i TLSv1.2.
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3 smtpd_tls_mandatory_ciphers = high tls_high_cipherlist=EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA
- Dołączenie certyfikatów wystawców (wymaga zainstalowanego pakietu ca-certificates).
Zapobiega pojawianiu się w logach Postfiksa komunikatów o niezaufanym połączeniu do obcego serwera. Na poniższym przykładzie połączenie do usługi Gmail.smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
Przed:
Po:Jun 1 12:34:29 mail postfix/smtp[27589]: setting up TLS connection to gmail-smtp-in.l.google.com[74.125.136.27]:25 Jun 23 12:34:29 mail postfix/smtp[27589]: Untrusted TLS connection established to gmail-smtp-in.l.google.com[74.125.136.27]:25: TLSv1.1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)
Jun 1 12:34:50 mail postfix/smtp[29277]: setting up TLS connection to gmail-smtp-in.l.google.com[74.125.136.27]:25 Jun 1 12:34:50 mail postfix/smtp[29277]: Trusted TLS connection established to gmail-smtp-in.l.google.com[74.125.136.27]:25: TLSv1.1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)
- Włączenie logowania zdarzeń związanych z obsługą połączeń TLS dla serwera smtpd i klienta smtp
smtpd_tls_loglevel = 1 smtp_tls_loglevel = 1
- Przeładuj konfigurację Postfiksa.
sudo service postfix reload
Przydatne linki
- Strona domowa serwera Postfix: www.postfix.org
- Postfix TLS Support: www.postfix.org/TLS_README.html