Czasem część oprogramowania które instalujemy na naszym serwerze, podczas wysyłki emaili nie współpracuje z najnowszymi standardami szyfrowania TLS. W poniższym przypadku opiszę rozwiązanie problemu, z jakim natknąłem się podczas wdrażania Wazuh-a który nie ma natywnie tego wsparcia.
Poniższy przykład możemy również wykorzystać podczas wysyłki maili z poziomu php.
Konfiguracja
Na początku należy zainstalować wymagane pakiety:
apt-get update
apt-get install postfix mailutils libsasl2-2 ca-certificates libsasl2-modules
Następnie należy skonfigurować
usługę Postfix poprzez podmianę pliku konfiguracyjnego na:
relayhost = [smtp.kamdev.pl]:465
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_wrappermode = yes
smtp_tls_security_level = encrypt
myhostname = kamdev.pl
myorigin = kamdev.pl
sender_canonical_classes = envelope_sender, header_sender
sender_canonical_maps = hash:/etc/postfix/sender_canonical
Aby uniknąć tego problemu z mapowaniami użytkowników, dodajemy plik:
/etc/postfix/sender_canonical
root@kamdev.pl kontakt@kamdev.pl
root kontakt@kamdev.pl
@kamdev.pl kontakt@kamdev.pl
@localdomain kontakt@kamdev.pl
Teraz musimy podać nasze hasło do naszego konta pocztowego
[smtp.kamdev.pl]:465 kontakt@kamdev.pl:<hasło_do_poczty>
Następnie musimy nadać odpowiednie uprawnienia i wygenerować mapy:
chmod 600 /etc/postfix/sasl_passwd
postmap /etc/postfix/sasl_passwd
postmap /etc/postfix/sender_canonical
systemctl restart postfix
Test
Po wszystkim. pozostaje nam tylko przetestowanie naszej konfiguracji:
echo "Test mail from postfix" | mail -s "Test Postfix" -r "kontakt@kamdev.pl" testowy-mail@kamdev.pl
W razie problemów możemy wykonać komendę:
mailq
W ostateczności, gdy kolejka będzie pusta należy sprawdzić logi wykonując:
tail -f /var/log/mail.log
Komentarze