Różnice pomiędzy wersjami 2 i 3
⇤ ← Wersja 2 z 2022-01-31 11:55:55 →
Rozmiar: 7191
Edytor: wtps0n
Komentarz: + digicert global root
← Wersja 3 z 2022-03-24 22:35:09 → ⇥
Rozmiar: 6708
Edytor: wtps0n
Komentarz: usunięcie bloków (skryptów) z końcowego komentarza
Usunięcia zostały oznaczone w ten sposób. Dodatki zostały oznaczone w ten sposób.
Linia 168: Linia 168:
== Skrypt shell ==
{{{#!highlight bash numbers=off
ls /root
}}}

== Plik konfiguracyjny ==
{{{#!highlight ini numbers=off
# komentarz
parametr = wartość
}}}

== Plik konfiguracyjny nginx ==
{{{#!highlight nginx numbers=off
# komentarz
server {
    listen 188.165.252.223:443 http2 ssl;
    listen [2001:41d0:2:c7df::14]:443 http2 ssl;
    server_name www.domain.tld;
}
}}}

== Skrypt mySQL ==
{{{#!highlight mysql numbers=off
SELECT * FROM tbl_name;
}}}

Wydrukuj tę dokumentację Pokaż jako slajdy

Uruchomienie MTA-STS oraz raportowania TLS

Sam mechanizm nie jest bardzo świeży, niemniej nie jest mocno rozpowszechniony. Z drugiej strony warto, przynajmniej w komunikacji z Google.

Konfiguracja specjalnej witryny webowej

Przed przystąpieniem do konfiguracji, musi powstać wpis w DNSie o nazwie mta-sts.domena.tld chociażby na potrzeby wystawienia certyfikatu SSL. Jak już będzie, to trzeba wykonać konfigurację:

# --- definicja serwera HTTP -----------------------------------
#
server {
    listen 217.182.201.233:80;
    listen [2001:41d0:602:4e9::1]:80;
    server_name mta-sts.bsdserwis.com;

    location / {
        return 301 https://$server_name$request_uri;
    }

    # logowanie
    access_log /var/log/nginx/mta-sts.bsdserwis.com/access.log main;
    error_log /var/log/nginx/mta-sts.bsdserwis.com/error.log;

    include codenix/014-acmele.conf;
    include codenix/000-cmsploit.conf;
    include codenix/004-dot-ht.conf;
    include codenix/004-err-page-404.conf;
    include codenix/004-err-page-5xx.conf;
    include codenix/004-pillaging-dvcs.conf;
    include codenix/005-no-logging.conf;
    include codenix/005-x-frame.conf;
    include expires.conf;
}

# --- definicja serwera HTTPS ----------------------------------
#
server {
    listen 217.182.201.233:443 http2 ssl;
    listen [2001:41d0:602:4e9::1]:443 http2 ssl;
    server_name mta-sts.bsdserwis.com;

    ssl_certificate      certs/mta-sts.bsdserwis.com.chained.pem;
    ssl_certificate_key  certs/mta-sts.bsdserwis.com.key;

    include codenix/005-x-robots-tag-all.conf;
    include codenix/005-x-headers-security.conf;

    # logowanie
    access_log /var/log/nginx/mta-sts.bsdserwis.com/access.log main;
    error_log /var/log/nginx/mta-sts.bsdserwis.com/error.log;

    root /var/www/htdocs/virtuals/mta-sts.bsdserwis.com/data;
    index index.html;

    location /.well-known/ {}

    include codenix/000-mta-sts-txt.conf;
    include codenix/000-cmsploit.conf;
    include codenix/004-dot-ht.conf;
    include codenix/004-err-page-404.conf;
    include codenix/004-err-page-5xx.conf;
    include codenix/004-pillaging-dvcs.conf;
    include codenix/005-no-logging.conf;
    include codenix/005-x-frame.conf;
}

Plik tekstowy z polityką

Tryby polityki:

  • none
  • testing
  • enforce

Zaś sama polityka wygląda następująco:

version: STSv1
mode: testing
max_age: 86400
mx: mx1.bsdserwis.com
mx: mx2.bsdserwis.com
mx: mx3.bsdserwis.com

Uruchomienie kontroli w MTA (postfix)

Serwer pocztowy może wykonywać kontrolę, jak wysyłać oraz przyjmować pocztę za pomocą STARTTLS. W tym używamy narzędzia mta-sts-resolver.

Zainstalowanie potrzebnych pakietów

Za pomocą własnego repozytorium pakietów należy zainstalować:

pkg install -Uy devel/py-uvloop py38-postfix-mta-sts-resolver-1.1.1

Dogranie certyfikatów

Należy sprawdzać logi serwera, czy coś nie wisi w kolejce z powodu niezaufanych wystawców certyfikatów. Przy pierwszym uruchomieniu okazało się, że trzeba dograć dwa certyfiakty:

fetch http://globalsign.tbs-certificats.com/GlobalSignRoot2028.crt -o /etc/ssl/
fetch http://www.tbs-x509.com/Comodo_AAA_Certificate_Services.crt -o /etc/ssl/
fetch https://cacerts.digicert.com/DigiCertGlobalRootCA.crt.pem -o /etc/ssl/

c_rehash /etc/ssl

Uruchomienie demona

Należy odpowiednio zmodyfikować plik /etc/rc.conf.d/mta_sts jak również plik konfiguracyjny (domyślnie /usr/local/etc/mta-sts-daemon.yml) a następnie uruchomić demona:

service mta_sts start

Konfiguracja main.cf

W pliku main.cf należy umieścić następującą konfigurację:

smtp_tls_policy_maps = socketmap:inet:127.0.0.1:8461:postfix

a następnie "przeładować" postfix-a.

Konfiguracja DNS

W konfiguracji dla danej domeny muszą powstać 3 rekordy.

mta-sts

Jest rekord odpowiedzialny za wskazanie serwera webowego (połączenie szyfrowane), który przetrzymuje w specjalnym URLu plik z polityką STS. Przyjęto zasadę, że ten rekord wskazuje na podstawowy serwer pocztowy.

mta-sts   IN   CNAME mx1

_smtp._tls

Jest to rekord odpowiadający na przesyłanie raportów dotyczących mta-sts. W swojej składni bardzo przypomina rekordy DMARC: Jeżeli chcemy przekierować raportowanie na inną domenę, to oczywiście wystarczy rekord CNAME:

_smtp._tls  IN  CNAME _smtp._tls.bsdserwis.com.

_mta-sts

Jak już zostało wszystko skonfigurowane, to można dodać rekord włączający politykę mta-sts (trzeba zrobić na końcu). Jako wartość ID proponowana jest wartość w postaci daty oraz godziny (YYYYMMDDhhmmss).

_mta-sts 7200 IN TXT "v=STSv1; id=20220101000000"

Analogicznie jak dla rekordu _smtp._tls jest możliwe przekierowanie na inną domenę:

_mta-sts  IN  CNAME _mta-sts.bsdserwis.com.

Źródła w sieci internet

  1. https://www.digitalocean.com/community/tutorials/how-to-configure-mta-sts-and-tls-reporting-for-your-domain-using-apache-on-ubuntu-18-04

  2. https://community.bitnami.com/t/how-to-create-a-subdomain-to-serve-a-single-txt-file-for-mta-sts/59774/2

  3. https://blog.jeanbruenn.info/2021/07/31/howto-setup-mta-sts-and-tlsrpt/

  4. https://gist.github.com/Tugzrida/4206a67bb037e30e0d2c3eb0dc2b1d3c

  5. https://datatracker.ietf.org/doc/html/rfc8461

  6. https://datatracker.ietf.org/doc/html/rfc8460


{i}  (c) 2004 - 2026 BSD Serwis Krzysztof Stryjek. W przypadku błędów, poprawek proszę kontaktować się z administratorem wiki.

MtaSts (ostatnio edytowane 2022-03-28 11:06:32 przez wtps0n)