Axerr | 2023-01-14 07:11:16 UTC | #1
Pierwszy na świecie e-mail został wysłany w 1971 roku.
Jak dostarcza EarthWeb – w dzisiejszych czasach, codziennie ludzie wysyłają do siebie około 333.2 miliarda e-maili. W skali światowej daje to 3,5 miliona e-maili na sekundę.
Przez te 51 lat poczta elektroniczna przeszła naprawdę wiele zmian, reform i przekształceń.
Czy istnieje możliwość potwierdzenia, że e-mail, który otrzymaliśmy, nie został sfałszowany oraz że jego prawdziwy nadawca jest tym, za kogo się podaje?
O tym w dzisiejszym poradniku!
Wykorzystując protokół SMTP (Simple Mail Transfer Protocol), możemy zarówno wysyłać, jak i odbierać elektroniczną pocztę. Jak to jednak wygląda pod spodem?
Załóżmy, że mamy dwóch użytkowników i dwa serwery pocztowe.
- Damian, który korzysta z serwera mail1.local
- Asię, która korzysta z serwera mail2.local
Jeżeli Damian chce wysłać do Asi wiadomość o następującej treści:
- Co robi żartowniś przy studni?
- Nabiera wodę.
MAIL FROM
wraz z adresem swojej skrzynki pocztowej.250 OK
.RCPT TO
wraz z adresem odbiorcy. W tym wypadku jest to [email protected]DATA
, wraz z treścią wiadomości, a potem komendę QUIT
i kończy połączenie.Co teraz robią serwery e-mailowe?
EHLO
do inicjowania połączenia.MAIL FROM
), treść wiadomości (DATA
), adresata (RCPT TO
) (i wiele więcej).QUIT
.Jeżeli wszystko pójdzie zgodnie z planem – wiadomość zostanie doręczona.
Zgodnie z klasycznymi Prawami Murphy’ego:
Jeśli coś może pójść źle, to pójdzie. (ang. Anything that can go wrong will go wrong.)
A więc, co może pójść nie tak?
Otóż można ze swojego komputera (~~lub nieswojego~~) ręcznie zestawić połączenie TCP z serwerem e-mailowym Asi (mail2.local), wysłać komendy wysyłane przy połączeniu serwer-serwer i Asia w ten sposób otrzyma wiadomość tak, jakby została wysłana z faktycznego serwera e-mail.
Duże mózgi wymyśliły, że ten typ ataku można ograniczać za pomocą rekordów DNS.
W jaki sposób to miałoby działać?
Damian dodaje sobie do DNS nowy rekord TXT: _spf.mail1.local
wraz z wartością v=spf1 ip4:1.2.3.4
, gdzie 1.2.3.4
to adres serwera Damiana.
Serwer Asi otrzymując wiadomość, sprawdza rekordy TXT serwera, który został podany przy połączeniu.
Szuka rekordu SPF, w którym zawarte są adresy IP upoważnione do wysyłki e-maili z danej domeny.
- Adres IP osoby, która samodzielnie otwiera połączenie do serwera – nie znajduje się na tej liście – dlatego wiadomość zostaje odrzucona.
- Adres IP serwera Damiana znajduje się na tej liście, dlatego wiadomość zostaje zaakceptowana przez serwer Asi.
DMARC (Domain-based Message Authentication, Reporting and Conformance) to kolejny protokół, który daje właścicielowi możliwość chronienia domeny poprzez włączenie weryfikacji autentyczności wiadomości (np. wyżej wspomniane SPF) oraz przede wszystkim umożliwia monitoring (w postaci raportów e-mail) nadużyć domeny do niecnych celów (spoofing wysyłany z jego domeny).
Aby zastosować to, Damian tworzy rekord TXT
w swojej domenie mail1.local
:
_dmarc.mail1.local
o wartości v=DMARC1; p=none; rua=mailto:[email protected]; adkim=s; aspf=s;
Od teraz SPF jest wymuszane niezależnie, czy Asia tego chce, czy nie, rekord musi zostać sprawdzony.
Pomimo tego, że nie używasz swojej domeny do e-maili – nadal można nadużyć ją poprzez spoofing.
Przykład #1: Prowadzisz małą, jednoosobową firmę. Masz swoją witrynę internetową, ale do kontaktu z klientami korzystasz z popularnej usługi pocztowej oferowanej przez gigantyczny koncern technologiczny, którego nazwa zaczyna się na literę “G”.
W wypadku, gdy z Twojej firmowej domeny ktoś rozpocznie spoofing e-maili, broń Boże akurat do Twoich adresatów – możesz mieć spore kłopoty. Nie tylko wizerunkowe, ale też prawne, w zależności, będzie akurat spoofowane.
Przykład #2: Masz domenę, nie wysyłasz e-maili. Ktoś zauważył, że nie masz zabezpieczonej domeny, dlatego rozpoczyna kampanię phishingową z Twojej domeny. Domena automatycznie leci do spam-list utrudniając, wręcz uniemożliwiając Ci w przyszłości postawienie tam serwera e-mailowego.
Istnieją gotowe generatory reguł SPF i DMARC ;)
https://www.google.com/search?q=spf+txt+generator
https://www.google.com/search?q=dmarc+txt+generator
Mam nadzieję, że jeżeli dotychczas nie stosowałeś/aś SPF i DMARC – powyższy tekst zmieni Twoje spojrzenie na tę część technologii e-mail.
Tekst ma wiele uogólnień, ale mam nadzieję, że to nie przeszkadza w przekazaniu merytorycznej części poradnika. Jeżeli znalazłeś w poradniku jakiś błąd, literówkę lub nie zgadzasz się co do treści – poproszę o komentarz :)
Tyle ode mnie, bajo :heart:
Axerr | 2023-01-14 14:56:46 UTC | #2
Jak teraz to czytam – szkoda, że nie jest możliwe edytowanie postów.
Kilka zdań zdecydowanie napisałbym na nowo, a nawet kilka literówek poprawił :)
Timo | 2023-01-14 16:53:19 UTC | #3
Jeśli chcesz coś zmienić, to daj znać w wiadomości prywatnej. Pomogę z tym.
NoName_1000 | 2023-01-20 14:30:02 UTC | #4
Opisałeś działanie SPF i DMARC w sposób przejrzysty. Szkoda, że nie wspomniałeś nic o mechanizmie DKIM czyli kryptograficznej weryfikacji autentyczności wiadomości e-mail - jest to też w dzisiejszych czasach dosyć bardziej szeroko stosowany mechanizm u popularnych dostawców poczty.