Wirtualna Tarcza to narzędzie które skanuje bezpieczeństwo stron WWW - w tym konfigurację email. Ironicznie, gdy uruchomiliśmy skan na własnej domenie, okazało się że wirtualnatarcza.pl ma DMARC w trybie p=none i brakuje TLS-RPT. Ten artykuł opisuje jak krok po kroku wdrożyliśmy pełną ochronę email w 3 tygodnie - z rzeczywistymi danymi i decyzjami które podjęliśmy.
Stan wyjściowy - co pokazał nasz własny skan
Wynik skanu email wirtualnatarcza.pl przed wdrożeniem DMARC p=reject:
- ✅ SPF: v=spf1 include:_spf.home.pl ~all (home.pl SMTP dla formularza kontaktowego)
- ❌ DKIM: brak podpisu dla domeny wirtualnatarcza.pl
- ⚠️ DMARC: p=none - zbieramy raporty ale nie blokujemy spoofingu
- ❌ MTA-STS: brak - nie wymuszamy TLS przy dostarczaniu maili
- ❌ TLS-RPT: brak - nie monitorujemy błędów TLS transportu
- ❌ BIMI: nie dotyczy (wymaga DMARC p=reject lub p=quarantine)
Wskazówka - p=none to bezpieczny punkt startowy. Zbierasz dane o tym kto wysyła maile 'od' Twojej domeny zanim zaczniesz blokować. Ale pozostanie na p=none na zawsze to błąd - Twoja domena może być używana do phishingu bez żadnych konsekwencji.
Tydzień 1: Analiza raportów p=none
Zanim zmieniliśmy politykę, analizowaliśmy raporty DMARC przez 2 tygodnie. Raporty DMARC to pliki XML wysyłane przez głównych dostawców poczty (Gmail, Microsoft, Yahoo) na adres podany w rua=. Pokazują ile maili wysłano 'od' Twojej domeny i ile przeszło przez SPF i DKIM.
Wskazówka - Użyj dmarc.postmarkapp.com lub dmarcian.com do analizy raportów XML - czytelne dashboardy zamiast surowego XML. Tygodniowe raporty agregowane (rua) vs raporty o konkretnych błędach (ruf) - ruf może zawierać dane osobowe, używaj ostrożnie.
Nasz rekord DMARC (stan początkowy): _dmarc.wirtualnatarcza.pl. IN TXT \ "v=DMARC1; p=none; rua=mailto:kontakt@wirtualnatarcza.pl" Co odkryliśmy w raportach: - 98% maili wysyłanych przez home.pl SMTP - DKIM miss (brak podpisu) - 2% maili przez Gmail (formularze testowe) - SPF miss - 0% podejrzanych maili spoofingowych na naszą domenę - BRAK raportów TLS (bo nie mieliśmy TLS-RPT)
Tydzień 2: Naprawa SPF i konfiguracja DKIM
Przed podniesieniem polityki DMARC musieliśmy upewnić się że WSZYSTKIE legalne maile przechodzą SPF lub DKIM. Jeden niezabezpieczony strumień maili i p=reject zablokuje prawdziwe wiadomości.
Wskazówka - Zmiana ~all (softfail) na -all (hardfail) w SPF to osobna decyzja od DMARC. SPF -all odrzuca maile z nieznanych serwerów niezależnie od DMARC. Bezpiecznie jest ustawić -all gdy masz pewność że znasz wszystkie serwery wysyłające maile z Twojej domeny.
Problem: home.pl SMTP nie konfiguruje DKIM dla zewnętrznych domen. Rozwiązanie: Upewnić się że SPF obejmuje serwery home.pl. Nasz SPF po poprawce: wirtualnatarcza.pl. IN TXT \ "v=spf1 include:_spf.home.pl -all" (Zmiana ~all → -all: twarda polityka SPF - odrzuć maile spoza listy) Weryfikacja: dig TXT _spf.home.pl ← sprawdź że IP home.pl są tam zaincludowane nmap TW_IP -sV ← potwierdź że SMTP przychodzi z IP home.pl
Tydzień 2: Dodanie TLS-RPT i MTA-STS
Przy okazji konfiguracji DMARC dodaliśmy też TLS-RPT - raportowanie o błędach TLS przy dostarczaniu maili. To oddzielny standard od DMARC ale uzupełnia monitoring email security.
Wskazówka - MTA-STS mode: testing nie wymusza TLS ale loguje problemy. Zostań na testing przez 2-4 tygodnie i monitoruj raporty TLS-RPT. Gdy nie ma błędów - zmień na mode: enforce i zwiększ max_age do 604800 (7 dni) lub 86400*30.
Dodane rekordy DNS: # TLS Reporting (raporty o błędach TLS transportu) _smtp._tls.wirtualnatarcza.pl. IN TXT \ "v=TLSRPTv1; rua=mailto:kontakt@wirtualnatarcza.pl" # MTA-STS (wymuszenie TLS przy dostarczaniu) # Krok 1: Rekord DNS _mta-sts.wirtualnatarcza.pl. IN TXT "v=STSv1; id=20260702" # Krok 2: Plik polityki (musi być na HTTPS) # https://mta-sts.wirtualnatarcza.pl/.well-known/mta-sts.txt version: STSv1 mode: testing ← zacznij od testing, nie enforce mx: mail.wirtualnatarcza.pl max_age: 86400
Tydzień 3: p=none → p=quarantine → p=reject
Moment prawdy. Zmiana polityki DMARC w dwóch krokach z buforem 48 godzin.
Wskazówka - Parametr pct= pozwala stopniować wdrożenie - pct=25 oznacza że polityka (kwarantanna/odrzucenie) dotyczy tylko 25% niesprawdzonych maili. Reszta przechodzi z informacją w raporcie. Zwiększaj pct w krokach: 25 → 50 → 75 → 100.
Krok 1: p=quarantine z pct=25 (kwrantanna 25% niezweryfikowanych maili) _dmarc.wirtualnatarcza.pl. IN TXT \ "v=DMARC1; p=quarantine; pct=25; rua=mailto:kontakt@wirtualnatarcza.pl" Po 48h: brak raportów o fałszywych pozytywach. Krok 2: p=quarantine z pct=100 _dmarc.wirtualnatarcza.pl. IN TXT \ "v=DMARC1; p=quarantine; pct=100; rua=mailto:kontakt@wirtualnatarcza.pl" Po 48h: wciąż zero problemów - wszystkie maile przechodzą. Krok 3: p=reject (docelowy stan) _dmarc.wirtualnatarcza.pl. IN TXT \ "v=DMARC1; p=reject; rua=mailto:kontakt@wirtualnatarcza.pl"
Wynik po wdrożeniu - kolejny skan wirtualnatarcza.pl
Skan Wirtualnej Tarczy po wdrożeniu DMARC p=reject pokazuje kompletną ochronę email:
- ✅ SPF: v=spf1 include:_spf.home.pl -all - hardfail dla nieznanych serwerów
- ✅ DMARC: p=reject - wszystkie maile które nie przejdą SPF są odrzucane
- ✅ TLS-RPT: rekord _smtp._tls - monitorujemy błędy TLS transportu
- ⚠️ MTA-STS: mode testing - docelowo mode: enforce po 2 tygodniach monitoringu
- ❌ DKIM: nadal brak - home.pl SMTP nie obsługuje DKIM dla zewnętrznych domen
- ❌ BIMI: nie dotyczy dopóki nie wdrożymy DKIM
Wskazówka - DMARC wymaga że mail przejdzie SPF LUB DKIM (nie oba jednocześnie). Nasze maile przez home.pl przechodzą SPF - co wystarczy dla DMARC p=reject. Ale dla najwyższego scoringu i przyszłego BIMI - DKIM jest niezbędny. To wymaga albo własnego serwera SMTP z obsługą DKIM, albo zmiany providera.
Co dalej: DKIM i BIMI
Kolejne kroki dla kompletnej ochrony email wirtualnatarcza.pl:
- DKIM: rozważamy przepięcie wysyłki formularza kontaktowego na Resend.com lub Postmark - obaj obsługują DKIM dla własnych domen
- MTA-STS: zmiana mode: testing → mode: enforce po 2-4 tygodniach bez błędów TLS
- BIMI: po wdrożeniu DKIM możemy dodać logo firmy do maili w Gmail/Yahoo
- DNSSEC: podpisanie strefy DNS wirtualnatarcza.pl w panelu OVH - następny krok w hardening DNS