Yannik.relaymail

Opis

Status budowania

Ta rola konfiguruje host, aby wysyłał wychodzące maile przez smarthost i opcjonalnie przesyłał e-maile skierowane do lokalnych użytkowników systemu. To bezpieczna alternatywa dla ssmtp.

Dlaczego nie powinienem używać ssmtp, czy nie jest łatwiejsze do skonfigurowania?

Uważam, że ta rola ułatwia konfigurację postfixa bardziej niż ssmtp.

Oto co odkryłem, gdy sam zainstalowałem ssmtp:

Chciałem użyć ssmtp, ale zauważyłem, że nie weryfikuje certyfikatu SSL/TLS zdalnego serwera na obecnych wersjach Debiana i Ubuntu i nie weryfikuje nazwy hosta certyfikatu. To duży problem, ponieważ sprawia, że szyfrowanie staje się bezużyteczne, a twoje hasło jest przesyłane jak w formie tekstu jawnego i ktokolwiek może je przechwycić. Zgłoszono to również jako błąd w Debianie, ale nie było żadnego postępu przez lata: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=662960

Wersja ssmtp w pakietach Redhat została poprawiona, aby przynajmniej weryfikować certyfikat, ale nazwa hosta nadal nie jest weryfikowana, co sprawia, że szyfrowanie jest tak samo niebezpieczne jak w Debianie/Ubuntu. Istnieje błąd w tej sprawie, ale nie ma postępu od lat: https://bugzilla.redhat.com/show_bug.cgi?id=864894

Jeśli zależy ci na bezpieczeństwie konta e-mail, które używasz do wychodzących wiadomości ze swoich serwerów, nie używaj ssmtp.

ssmtp nie miało aktywnego rozwoju przynajmniej od 2009 roku: https://anonscm.debian.org/gitweb/?p=ssmtp/ssmtp.git

Oprócz tych kwestii, każdy użytkownik, który może wysyłać maile przez ssmtp, potrzebuje dostępu do pliku konfiguracyjnego ssmtp, który zawiera nazwę użytkownika i hasło używane do uwierzytelniania smtp. W normalnych warunkach prawdopodobnie dałbyś uprawnienia do odczytu dla "innych", co oznacza, że każdy użytkownik/usługa w tym systemie mógłby czytać Twoje dane uwierzytelniające smtp.

To nie dotyczy projektowania z myślą o bezpieczeństwie w postfixie.

Wymagania

Ta rola działa na wszystkich dystrybucjach opartych na Debianie i można ją łatwo dostosować do pracy na każdej dystrybucji, która obsługuje postfix.

Wymagana jest wersja Ansible 2.4 lub wyższa dla tej roli.

Zmienne roli

  • relaymail_smtp_host: nazwa hosta serwera smtp używanego do przesyłania e-maili (wymagane)
    • Przykład: smtp.example.org
  • relaymail_smtp_port: port serwera smtp używanego do przesyłania e-maili
    • Domyślnie: 587
  • relaymail_smtp_user: nazwa użytkownika do uwierzytelniania w serwerze poczty (wymagane)
  • relaymail_smtp_password: hasło do uwierzytelnienia w serwerze poczty (wymagane)
  • relaymail_force_from_address: nadpisuje adres nadawcy na relaymail_smtp_user (lub relaymail_from_address, jeśli jest zdefiniowane). all nadpisuje adres nadawcy dla wszystkich e-maili, local nadpisuje go dla wszystkich maili wysyłanych przez lokalnego użytkownika, none nigdy nie nadpisuje adresu nadawcy
    • Domyślnie: all
  • relaymail_from_address: opcjonalny adres nadawcy, który będzie używany przez relaymail_force_from_address zamiast relaymail_smtp_user
  • relaymail_overwrite_to: all nadpisuje adres odbiorcy dla wszystkich e-maili, local nadpisuje adres odbiorcy dla e-maili skierowanych do lokalnych użytkowników, none nigdy nie nadpisuje adresu odbiorcy
    • Domyślnie: all
  • relaymail_overwrite_to_target: adres e-mail, na który powinny być wysyłane maile z nadpisanym adresem odbiorcy (wymagane, gdy relaymail_overwrite_to nie jest none)
  • relaymail_smtp_tls_security_level: Zobacz http://www.postfix.org/postconf.5.html#smtp_tls_security_level
    • Przykład: dane-only
    • Domyślnie: secure
  • relaymail_smtp_tls_wrappermode: Połączenie z użyciem trybu SSL/TLS (zamiast STARTSSL). Wymagany przy przesyłaniu maili na porcie 465 (SMTPS).
    • Przykład: "yes"
    • Domyślnie: "no"
  • relaymail_authorized_submit_users: Tylko wybrani użytkownicy mogą przesyłać maile za pomocą komendy sendmail (zobacz http://www.postfix.org/postconf.5.html#authorized_submit_users)
    • Przykład: root
    • Domyślnie: static:anyone
  • relaymail_restrict_port_25: Ogranicza wychodzący ruch na porcie 25 do użytkownika postfix (za pomocą iptables).
    • Przykład: false
    • Domyślnie: true
  • relaymail_enable_smtpd: Aktywuje smtpd na porcie 25 dla przesyłania e-maili opartego na smtp
    • Przykład: true
    • Domyślnie: false
  • relaymail_inet_interfaces: Interfejsy do nasłuchiwania, gdy smtpd jest aktywowany
    • Przykład: all
    • Domyślnie: loopback-only
  • relaymail_mynetworks: Sieci, z których można akceptować i przekazywać e-maile (dotyczy tylko, gdy smtpd jest aktywowany)
    • Przykład: 127.0.0.0/8 172.30.0.0/16
    • Domyślnie: 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
  • relaymail_authorized_smtp_users: Użytkownicy, którzy mogą przesyłać maile za pośrednictwem lokalnego smtp
    • Przykład: ['keepalived']
    • Domyślnie: []
  • relaymail_install_rsyslog: Instaluje rsyslog, który jest odpowiedzialny za zapisywanie wiadomości dziennika postfixa w /var/log/mail.log
    • Przykład: false
    • Domyślnie: true
  • relaymail_additional_options: słownik par klucz/wartość, który zostanie dodany do main.cf.
    • Domyślnie: {}
  • relaymail_additional_master_config: Dodatkowa konfiguracja, która jest dodawana do master.cf
    • Domyślnie: ``

Uwaga: Opcje ustawione za pomocą relaymail_additional_options nadpiszą wcześniejsze ustawienia. Zgodnie z podręcznikiem postfixa, "Gdy ten sam parametr jest definiowany wielokrotnie, tylko ostatni przypadek jest zapamiętywany." Więc chociaż nadpisania są dozwolone, postfix wygeneruje komunikat ostrzegawczy.

Przykładowy playbook

- hosts: all
  roles:
    - role: Yannik.relaymail
      relaymail_smtp_host: smtp.example.org
      relaymail_smtp_user: [email protected]
      relaymail_smtp_password: secret
      relaymail_overwrite_to: local
      relaymail_overwrite_to_target: [email protected]
      relaymail_additional_options:
        smtp_tls_wrappermode: "yes"

Licencja

GPLv2

Informacje o autorze

Yannik Sembritzki

O projekcie

This role setups up a host so that it sends outgoing mails over a smarthost and optionally forwards email addressed to local system users. A secure alternative to ssmtp.

Zainstaluj
ansible-galaxy install Yannik.relaymail
Licencja
gpl-2.0
Pobrania
499
Właściciel