ARK. B02Parametr monitoringuBezpieczeństwo · lista 50 parametrów

SSL: dni do wygaśnięcia

ważność krytycznamierzonysposób ssl

Ile dni zostało do wygaśnięcia certyfikatu. Alert, gdy automat Let's Encrypt się nie odnowił.

Od 2026-09-16 (CREATO_PING cf89ebe) w codziennym skanie dostępności jako odczyt ssl_expiry; osobny workflow ssl_daily zniknął. Już wygasły certyfikat łapie parametr „SSL: ważność certyfikatu”.

ARK. 1

WIKI

artykuł z 16.09.2026 · źródeł 9

Dni do wygaśnięcia certyfikatu SSL to parametr monitoringu stron internetowych, który odczytuje z certyfikatu serwera datę końca ważności i przelicza ją na liczbę pełnych dni pozostałych do tego terminu. Wynik zestawia się z progiem ostrzeżenia: certyfikat daleko od końca ważności, certyfikat bliski wygaśnięcia albo brak odczytu, gdy certyfikatu nie udało się pobrać. Parametr nie ocenia poprawności certyfikatu — to temat artykułu Ważność certyfikatu SSL. Sprawdza, czy odnowienie nastąpiło na czas: protokół ACME zakłada, że klient okresowo kontaktuje się z urzędem certyfikacji po zaktualizowane certyfikaty [1].

Jak działa

Wystawienie certyfikatu w ACME ma cztery kroki: złożenie zamówienia, udowodnienie kontroli nad nazwami, finalizację zamówienia żądaniem CSR i pobranie wystawionego certyfikatu [1]. Odnowienie powtarza ten przebieg. Let's Encrypt zaleca, by klient bez innych wskazówek odnawiał certyfikat, gdy zostanie mu jedna trzecia okresu ważności, co przy certyfikatach 90-dniowych oznacza odnowienie 30 dni przed końcem [3]. Nieudane odnowienie nie powinno być błędem krytycznym: klient ma ponawiać próby z wykładniczo rosnącym odstępem, najwyżej raz na dobę dla certyfikatu [3].

RYS. 1.1Cykl życia certyfikatu 90-dniowego

RFC 9773 dodaje do ACME rozszerzenie ARI (ang. ACME Renewal Information). Serwer ogłasza zasób renewalInfo, a dla konkretnego certyfikatu podaje sugerowane okno odnowienia z czasem początku i końca [2]. Klient powinien wylosować moment odnowienia w tym oknie [2]. Urząd może w ten sposób rozkładać obciążenie, a także poprosić o wcześniejsze odnowienie, na przykład przed masowym unieważnieniem certyfikatów [2]. Let's Encrypt zaleca sprawdzanie ARI co najmniej dwa razy dziennie dla każdego certyfikatu [3].

W wyzwaniu HTTP-01 klient udostępnia wartość key authorization pod ścieżką złożoną ze stałego przedrostka /.well-known/acme-challenge/ i tokenu [1]. Serwer ACME pobiera ją żądaniem GET, które musi trafić na port TCP 80, łączy się z co najmniej jednym adresem z rekordów A i AAAA domeny i powinien podążać za przekierowaniami [1].

RYS. 1.2Wyzwanie ACME HTTP-01

Standardy i specyfikacje

  • RFC 8555 (ACME) opisuje zamówienie, wyzwania i finalizację; w HTTP-01 walidacja udaje się tylko wtedy, gdy odpowiedź zawiera oczekiwaną wartość key authorization [1].
  • RFC 9773 (ARI), standard proponowany z 2025 r., definiuje zasób renewalInfo i sugerowane okno odnowienia; klient ma respektować nagłówek Retry-After przy kolejnych zapytaniach [2].
  • Ballot SC-081v3 CA/Browser Forum przyjęto 11 kwietnia 2025 r.: 25 głosów za wśród wystawców certyfikatów, bez głosów przeciw, i 4 głosy za wśród producentów przeglądarek [6]. Harmonogram skraca maksymalny okres ważności certyfikatu publicznego z 398 do 47 dni w latach 2026–2029, a okres ponownego użycia danych walidacji nazw z 398 do 10 dni [6]. Daty etapów podaje artykuł Ważność certyfikatu SSL.
  • Let's Encrypt wystawia domyślnie certyfikaty 90-dniowe i na życzenie 6-dniowe; udana walidacja domeny jest pamiętana do 30 dni [4]. Profil tlsserver przeszedł na 45 dni 13 maja 2026 r., a profil classic przejdzie na 64 dni 10 lutego 2027 r. i na 45 dni z 7-godzinnym ponownym użyciem autoryzacji 16 lutego 2028 r. [7]. Stały odstęp odnowienia co 60 dni przestanie wystarczać; zalecane jest ARI albo odnawianie po około dwóch trzecich okresu ważności [7].

Zagrożenia i skutki

Koniec powiadomień e-mail. Let's Encrypt przestał wysyłać e-maile o zbliżającym się wygaśnięciu certyfikatu 4 czerwca 2025 r. [5]. Jako powody podał upowszechnienie niezawodnej automatyzacji odnowień, ochronę prywatności, bo usługa wymagała przechowywania milionów adresów e-mail powiązanych z wystawieniami, oraz koszt rzędu dziesiątek tysięcy dolarów rocznie [5]. Subskrybentom wskazał zewnętrzne usługi monitorowania [5]. Nieudane automatyczne odnowienie nie wysyła więc od urzędu żadnego sygnału do właściciela strony.

Zablokowany port 80. HTTP-01 działa wyłącznie na porcie 80 [8]. Let's Encrypt zaleca, by każdy serwer ogólnodostępnej strony obsługiwał HTTP na porcie 80 i HTTPS na 443, a zablokowany port 80 wskazuje jako źródło problemów z HTTP-01 [9]. Let's Encrypt nie publikuje listy adresów IP używanych do walidacji, adresy mogą się zmienić w dowolnej chwili, a walidacja odbywa się z wielu punktów sieci [4]. Reguła firewalla przepuszczająca tylko wybrane adresy albo kraje może więc zablokować walidację, choć strona działa dla odwiedzających.

Przekierowania. Let's Encrypt podąża za najwyżej 10 przekierowaniami i akceptuje tylko przekierowania na schemat http lub https, na port 80 lub 443 [8]. Samo przekierowanie z HTTP na HTTPS jest dopuszczalne i zalecane [3], ale token musi być dostępny pod adresem docelowym, bo walidacja sprawdza treść odpowiedzi [1].

Zmiana DNS i wiele serwerów. Urząd łączy się z adresem z rekordów A lub AAAA domeny, wybranym według własnego uznania [1]. Gdy domena wskazuje już nowy serwer albo proxy, a klient ACME działa na starym, token leży tam, gdzie walidator nie zagląda. Przy kilku serwerach plik trzeba udostępnić na każdym z nich [8].

Pamięć autoryzacji. Skoro udana walidacja jest pamiętana do 30 dni [4], odnowienie może się udać mimo zepsutej walidacji, a problem wyjdzie dopiero przy kolejnym. Przy 7-godzinnym ponownym użyciu autoryzacji [7] praktycznie każde odnowienie będzie wymagało nowej walidacji.

Przykłady

SytuacjaSkutek dla odnowieniaPodstawa
Port 80 zamknięty na firewalluHTTP-01 nie przechodziwyzwanie tylko na porcie 80 [8] [9]
Firewall przepuszcza tylko wybrane adresy lub krajewalidacja z niepublikowanych adresów odrzuconawalidacja z wielu punktów sieci [4]
Przekierowanie ścieżki wyzwania na port 8443walidacja przerwanadozwolone tylko porty 80 i 443 [8]
Domena przeniesiona, klient ACME został na starym serwerzetoken niedostępny pod adresem z rekordu Awalidacja łączy się z adresem z DNS [1]
Nieaktualny rekord AAAAwalidator może trafić na serwer IPv6 bez tokenuwybór adresu należy do urzędu [1]
Certyfikat wieloznacznyHTTP-01 nie wystarczy, potrzebne DNS-01rekord TXT pod _acme-challenge [8]
Odnowienie na sztywno co 60 dni przy certyfikacie 45-dniowymcertyfikat wygasa przed odnowieniemzmiana okresu ważności [7]
Odnowienie nieudane, brak wiadomości od urzędunikt nie dostaje ostrzeżeniakoniec powiadomień e-mail [5]
TAB. 1.1Przypisy9
  1. [1] RFC 8555 — Automatic Certificate Management Environment (ACME) · IETF
  2. [2] RFC 9773 — ACME Renewal Information (ARI) Extension · IETF
  3. [3] Integration Guide · Let's Encrypt
  4. [4] FAQ · Let's Encrypt
  5. [5] Ending Support for Expiration Notification Emails · Let's Encrypt
  6. [6] Ballot SC081v3: Introduce Schedule of Reducing Validity and Data Reuse Periods · CA/Browser Forum
  7. [7] Decreasing Certificate Lifetimes to 45 Days · Let's Encrypt
  8. [8] Challenge Types · Let's Encrypt
  9. [9] Best Practice — Keep Port 80 Open · Let's Encrypt
ARK. 2

STATS

wyniki z systemu · tylko liczby zbiorcze
TAB. 2.1Odczyty per stronaostatni dzień pomiaru 21.09.2026
Stron zmierzonych
174w ostatnim dniu pomiaru
OK
321odczytów
Fail
3odczytów
Nie dało się sprawdzić
0timeout, blokada, limit zapytań
Udział fail
0,9%bez „nie dało się”
TAB. 2.2Od początkuod 17.09.2026
Stron łącznie
184choć jeden odczyt
OK
1802odczytów
Fail
13odczytów
Nie dało się sprawdzić
0timeout, blokada, limit zapytań
Udział fail
0,7%bez „nie dało się”
RYS. 2.130 dnicheck_type: ssl_expiry
23.08.202607.09.202621.09.2026
Odczyty parametru SSL: dni do wygaśnięcia, 30 dni · wysokość słupka = liczba odczytów dnia, warstwy od dołu: fail, nie dało się sprawdzić, ok · dni bez odczytu: 25 · dni ze stanem „fail”: 17.09.2026, 18.09.2026, 19.09.2026, 20.09.2026, 21.09.2026
Odczyty parametru SSL: dni do wygaśnięcia, 30 dni
Dzieńfailnie dało się sprawdzićok
23.08.20260 odczytów0 odczytów0 odczytów
24.08.20260 odczytów0 odczytów0 odczytów
25.08.20260 odczytów0 odczytów0 odczytów
26.08.20260 odczytów0 odczytów0 odczytów
27.08.20260 odczytów0 odczytów0 odczytów
28.08.20260 odczytów0 odczytów0 odczytów
29.08.20260 odczytów0 odczytów0 odczytów
30.08.20260 odczytów0 odczytów0 odczytów
31.08.20260 odczytów0 odczytów0 odczytów
01.09.20260 odczytów0 odczytów0 odczytów
02.09.20260 odczytów0 odczytów0 odczytów
03.09.20260 odczytów0 odczytów0 odczytów
04.09.20260 odczytów0 odczytów0 odczytów
05.09.20260 odczytów0 odczytów0 odczytów
06.09.20260 odczytów0 odczytów0 odczytów
07.09.20260 odczytów0 odczytów0 odczytów
08.09.20260 odczytów0 odczytów0 odczytów
09.09.20260 odczytów0 odczytów0 odczytów
10.09.20260 odczytów0 odczytów0 odczytów
11.09.20260 odczytów0 odczytów0 odczytów
12.09.20260 odczytów0 odczytów0 odczytów
13.09.20260 odczytów0 odczytów0 odczytów
14.09.20260 odczytów0 odczytów0 odczytów
15.09.20260 odczytów0 odczytów0 odczytów
16.09.20260 odczytów0 odczytów0 odczytów
17.09.20262 odczyty0 odczytów180 odczytów
18.09.20262 odczyty0 odczytów179 odczytów
19.09.20264 odczyty0 odczytów570 odczytów
20.09.20262 odczyty0 odczytów552 odczyty
21.09.20263 odczyty0 odczytów321 odczytów
TAB. 2.3Ustaleniaod 17.09.2026
Otwarte teraz
2stron: 2 · w okresie łaski: 1
Nowe w ostatnim dniu
121.09.2026
Otwarte od początku
3stron: 3
Zamknięte
0od początku
Mediana trwania
od wykrycia do zamknięcia
UstalenieSkutekOtwarte terazŁącznieZamknięte
Wygasanie certyfikatu SSL ssl_expiryWARNING230
RYS. 2.2Nowe ustalenia, 30 dni
23.08.202607.09.202621.09.2026
Nowe ustalenia parametru SSL: dni do wygaśnięcia, 30 dni · wysokość słupka = liczba ustaleń dnia, warstwy od dołu: nowe ustalenia · dni bez odczytu: 28
Nowe ustalenia parametru SSL: dni do wygaśnięcia, 30 dni
Dzieńnowe ustalenia
23.08.20260 ustaleń
24.08.20260 ustaleń
25.08.20260 ustaleń
26.08.20260 ustaleń
27.08.20260 ustaleń
28.08.20260 ustaleń
29.08.20260 ustaleń
30.08.20260 ustaleń
31.08.20260 ustaleń
01.09.20260 ustaleń
02.09.20260 ustaleń
03.09.20260 ustaleń
04.09.20260 ustaleń
05.09.20260 ustaleń
06.09.20260 ustaleń
07.09.20260 ustaleń
08.09.20260 ustaleń
09.09.20260 ustaleń
10.09.20260 ustaleń
11.09.20260 ustaleń
12.09.20260 ustaleń
13.09.20260 ustaleń
14.09.20260 ustaleń
15.09.20260 ustaleń
16.09.20260 ustaleń
17.09.20262 ustalenia
18.09.20260 ustaleń
19.09.20260 ustaleń
20.09.20260 ustaleń
21.09.20261 ustalenie
TAB. 2.4Przebiegi z tym sposobem sprawdzeniaod 15.09.2026
Przebiegów
16sposób ssl
W 30 dni
16przebiegów
Ostatni
19.09.2026start przebiegu
Stron w przebiegach
1050suma z przebiegów
ARK. 3

CARD

karta z kodu CREATO_PING, odczyt 16.09.2026
RYS. 3.1Droga parametru przez system: SSL: dni do wygaśnięcia
TAB. 3.1Pomiarpliki: 7
Obszar i ważnośćBezpieczeństwo · krytyczna (B02)
Workflow i częstotliwośćcreato_ping_avail_v2 działa na LAB247cron co 24 h, osobno T1–T4 · Strony w stanie DOWN i WARNING dostają dodatkowy odczyt co 6 h (timer availability_recheck poza n8n). Od 2026-09-16 sposób ssl daje odczyt ssl_expiry (dni do wygaśnięcia certyfikatu); od 2026-09-17 odczyty trafiają do check_results.
Sonda i helpersposób ssl · CREATO_PING/helpers/ssl_check.py
Testy
  1. Uzgadnianie TLS na porcie 443 formy adresu z listy stron, bez weryfikacji certyfikatu — to samo pobranie co odczyt certyfikatu parametru SSL: ważność certyfikatu; z certyfikatu końcowego brana jest data końca ważności.
  2. Dni = pełne doby do daty końca ważności, zaokrąglone w dół.
  3. Odczyt ssl_expiry powstaje tylko, gdy certyfikat udało się odczytać, nie wygasł (dni ≥ 0) i domena nie jest spoza SAN. Nieudane uzgadnianie, timeout, certyfikat wygasły albo na inną nazwę = brak odczytu.
  4. Codzienny skan dostępności od 2026-09-16: wszystkie tiery o 04:07–04:13 UTC, do 50 stron równolegle; od 2026-09-17 odczyty trafiają do check_results bazy LAB247. Odczyt co 6 h stron DOWN/WARNING (04, 10, 16, 22 UTC) pobiera certyfikat, ale ssl_expiry nie wystawia.
Typ wynikuenum: ok / fail (odczyt ssl_expiry); od skanu 2026-09-18 04:07 UTC liczba dni, data końca ważności i zgodność nazwy w polu extra (days_to_expiry, not_after, hostname_match); brak stanu timeout
Jednostkadni (liczba całkowita, zaokrąglenie w dół)
Próg i regułaReguła: dni ≤ 14 = fail („odnowienie nie zadziałało”). Timeout uzgadniania 4,0 s (+0,5 s marginesu). Próg 3 dni (SSL_CRITICAL_DAYS) nadal daje fail w helperze, ale zapis zamienia go na ok odczytu ssl i nie wpływa na ssl_expiry.
Gdzie leżą pokrętłaCREATO_PING/helpers/config.py → SSL_WARN_DAYS (14), SSL_CRITICAL_DAYS (3), TIMEOUTS["ssl"]CREATO_PING/tools/avail_writer_input.py → SSL_WARN_DAYS (14, kopia stałej), _ssl_recordsCREATO_PING/helpers/site_params.py → CRITICAL_CHECK_TYPES (ssl_expiry poza listą)
Retencja odczytówKażdy odczyt w tabeli check_results bazy LAB247; kod LAB247 tej tabeli nie czyści. Polityki retencji nikt jeszcze nie ustalił.
Znane rozbieżności
  1. Historia zaczyna się 2026-09-17: wcześniejsze odczyty ssl_expiry (od 2026-09-16) poszły tylko do ClickUp i w STATS ich nie ma.
  2. Brak trzeciego stanu: nieudane uzgadnianie albo timeout nie dają odczytu ssl_expiry — cisza zamiast „nie dało się sprawdzić”; otwarty subtask ani się nie zamyka, ani nie eskaluje.
  3. Liczba dni trafia do pola extra dopiero od skanu 2026-09-18 04:07 UTC; wcześniejsze odczyty mają ją tylko w tekście błędu przy fail, więc rozkład i trend dni liczy się od tej daty.
  4. Próg w dwóch miejscach (config.py i kopia w avail_writer_input.py) — zmiana jednej stałej rozjedzie regułę.
  5. Tylko certyfikat formy z listy stron: druga forma (www) może mieć osobny certyfikat wygasający wcześniej; pole san_covers_www jest liczone i nieużywane.
  6. Próg 14 dni nie zależy od długości certyfikatu: certyfikat 6-dniowy daje stały fail, a 45-dniowy odnawiany przy 1/3 ważności wchodzi w próg zaraz po terminie odnowienia.
  7. Odczyt co 6 h nie wystawia ssl_expiry, więc odnowienie widać dopiero w skanie dobowym.
kandydaci do pętli: kod a opis parametru albo specyfikacja
Karta przepisana zCREATO_PING/helpers/ssl_check.py · CREATO_PING/tools/avail_writer_input.py · CREATO_PING/helpers/config.py · CREATO_PING/helpers/availability_recheck.py · CREATO_PING/helpers/clickup_writer_v2.py · CREATO_PING/helpers/site_params.py · LAB247/site/src/lib/parameters/stats.ts · odczyt 16.09.2026
TAB. 3.2Co oznacza failtypów ustaleń: 1

1. fail = subtask w okresie łaski (IN PROGRESS, bez alertu). 2. fail z rzędu, czyli następnego dnia = WARNING — ssl_expiry nie jest sprawdzeniem krytycznym i nie daje DOWN. Odczyt ok po odnowieniu zamyka subtask. Po wygaśnięciu certyfikatu odczytu ssl_expiry nie ma, stronę przejmuje parametr SSL: ważność certyfikatu (NO SSL), a otwarty subtask ssl_expiry czeka na odnowienie.

UstaleniePowagaPewnośćSkutekSubtask / alarmCo zrobić
Wygasanie certyfikatu SSLssl_expiryNormalneEwidentneWARNINGtak / nieSprawdź odnowienie Let's Encrypt / certyfikatu u hostingu.
ARK. 4

LOOP

pętli: 2
RYS. 4.1Pętla parametru — sześć etapów
TAB. 4.1Trafność, 30 dnialarmy · prawdziwe · fałszywe · bez rozstrzygnięcia

Trafności jeszcze nie liczymy: zamknięcie subtaska nie niesie dziś werdyktu (prawdziwy / fałszywy / nie dało się sprawdzić). Cztery liczby pojawią się, gdy każde zamknięcie dostanie werdykt — to warunek startu pętli 1.

TAB. 4.2Pętle2 · zmian: 4 · wpływających na cały system: 2
NO SSL zamiast CERT; wygasły certyfikat bez DOWNzamknięta historyczna 2026-08-13

Sygnał: Status CERT nie istniał na liście statusów w ClickUp (dodano tam „no ssl”), więc pierwsza zmiana statusu skończyłaby się błędem API. Przy przeglądzie wyszła też luka: wygasły certyfikat przy udanym uzgadnianiu dawał zwykły fail, czyli DOWN. · dotyczy też: SSL: ważność certyfikatu

  1. 1. Zbiórkaręcznieodczyt z nocnego skanu, bez zapisu per strona
  2. 2. Werdyktręcznierozjazd nazwy statusu i luka reguły zauważone przy przeglądzie
  3. 3. Miarabrakliczników trafności wtedy nie było
  4. 4. Kartabrakkarta parametru powstała 2026-09-16
  5. 5. Zmianazrobionenazwa NO SSL, wygasły = cert_invalid
  6. 6. Replaybrakbrak zapisanych odczytów do replayu
DataZmianaPowódWpływ na systemCommit · replay
2026-08-13Status CERT przemianowany na NO SSL w zapisie i w kolejności statusów strony.helpers/clickup_writer_v2.py · helpers/site_params.pyZapis musi wysyłać status istniejący na liście; CERT kończył się błędem 400.cały system Zmienia nazwę statusu wszystkich stron z nieważnym certyfikatem.98ce862bez replayubez zapisu zatwierdzenia
2026-08-13Odczyt certyfikatu: data wygaśnięcia już minęła przy udanym uzgadnianiu = cert_invalid (NO SSL) zamiast fail (DOWN).helpers/ssl_check.py · helpers/common.pySerwer stoi, przeglądarka tylko zatrzymuje odwiedzającego — „nie działa” było mylące.tylko ten parametr98ce862bez replayubez zapisu zatwierdzenia
Certyfikat w codziennym skanie; wygasanie osobnozamknięta historyczna 2026-09-16

Sygnał: Przegląd harmonogramu: odczyt certyfikatu chodził tylko w odczycie co 6 h stron DOWN/WARNING, więc zły certyfikat na działającej stronie nie był wykrywany codziennie. · dotyczy też: SSL: ważność certyfikatu

  1. 1. Zbiórkaręcznieodczyt z nocnego skanu, bez zapisu per strona
  2. 2. Werdyktręczniepodgląd na 216 stronach przed włączeniem
  3. 3. Miarabrakliczników trafności wtedy nie było
  4. 4. Kartabrakkarta parametru powstała 2026-09-16
  5. 5. Zmianazrobionecertyfikat codziennie, wygasanie osobno
  6. 6. Replaybrakbrak zapisanych odczytów do replayu
DataZmianaPowódWpływ na systemCommit · replay
2026-09-16Odczyt certyfikatu w codziennym skanie dostępności; ważny certyfikat wygasający za ≤ 3 dni = ok, a wygasanie raportuje osobny odczyt ssl_expiry (≤ 14 dni, WARNING). Ta sama reguła w odczycie co 6 h.tools/avail_writer_input.py · helpers/availability_recheck.py · helpers/schedule_publish.pyssl jest sprawdzeniem krytycznym — fail zrobiłby DOWN z działającej strony.cały system Nowy odczyt ssl_expiry — parametr SSL: dni do wygaśnięcia zaczyna być mierzony.cf89ebebez replayubez zapisu zatwierdzenia
2026-09-16Gdy odczyt form adresu dał cert_invalid, odczyt certyfikatu z cert_invalid nie trafia do zapisu.tools/avail_writer_input.pyJeden problem, jedno ustalenie.tylko ten parametrcf89ebebez replayubez zapisu zatwierdzenia
Blog 24/7
20.09Zastrzeżony PESEL: zmiana raz na 30 minut, blokada przy wypłaciedobreprogramy.pl20.09Fałszywe SMS-y od GITD o mandacie za autostradę wyłudzają dane kartyinstalki.pl20.09Pakiet npm indexed-btree omija blokadę skryptów instalacyjnychbleepingcomputer.com19.09SolarWinds łata CVE-2026-28326 w Access Rights Manager, zdalny kod bez logowaniathehackernews.com19.09Orkes Conductor: luka CVE-2026-58138 atakowana w sieci, poprawka w wersji 3.30.2thehackernews.com19.09Trzy luki jądra Linux w katalogu CISA KEV, Red Hat potwierdza aktywne atakithehackernews.com18.09Publiczne exploity na cztery luki jądra Linux dają lokalnie uprawnienia rootthehackernews.com18.09Brevo: skradziony klucz API Cloudflare i skrypty ClickFix na stronach klientówbleepingcomputer.com18.09WaterPlum z Korei Północnej zainfekowała 30 000 urządzeń w 100 krajachtherecord.media18.09Jedna zgoda OAuth daje napastnikowi dostęp do poczty i plików mimo MFAdarkreading.com