Przyszła mi do głowy pewna metoda, dzięki której można by skutecznie chronić swoją skrzynkę przed spamem. Ochrona mogła by być na tyle skuteczna, że nawet stu procentowa. Całość jest dość skomplikowana technicznie, dlatego ten wpis jest poświęcony samej idei. Za jakiś czas postaram się opisać przykładową implementację pomysłu.
Aby spamer mógł wysłać nam spam, musi posiadać nasz adres, który może pozyskać na bardzo wiele sposobów. Podstawową metodą obrony przed spamem jest ukrywanie swojego adresu. Bo jeśli doprowadzimy do sytuacji, kiedy spamer nie może zdobyć naszego adresu, wszystkie filtry antyspamowe i inne zabezpieczenia stają się zbędne. Jednak niezależnie od sposobu w jaki postaramy się ukryć adres, zasada jest prosta: jeśli adres jest możliwy do zdobycia dla człowieka, prędzej czy później zdobędzie go też spamer. W ten sposób dochodzimy do tego, że aby być bezpiecznym, nie powinniśmy podawać swojego adresu. Można to rozwiązać za pomocą formularza na naszej stronie internetowej, jednak takie rozwiązanie nie wydaje się zbyt atrakcyjne. Innym pomysłem jest stworzenie aliasów i rozpowszechnianie wyłącznie ich. Jednak jeśli alias podamy do obiegu publicznego (usenet, fora), prędzej czy później zacznie na niego napływać spam. Alias zablokujemy. A osoby które chciały by się z nami skontaktować i tak nie będą miały takiej możliwości.
Tutaj do gry wchodzi mój pomysł. Wymyśliłem, jak podać komuś nasz adres, tak naprawdę go nie podając. Dziwne? Już mówię jak to działa. Aby skorzystać z tekiego systemu musimy posiadać dostęp do kilku rzeczy: własny serwer pocztowy, własną domenę lub subdomenę, miejsce na stronę www. Wymagania niestety są duże i niewiele osób stać na podołaniu im, jednak być może kiedyś powstaną serwisy udostępniające za darmo konta, z możliwością używania tej metody. A metoda bazuje na tym, że każdy adres email w internecie, posiada odpowiadający sobie adres na naszym serwerze. Jeśli z danego adresu zostanie wysłany email na odpowiedni adres na naszym serwerze, email zostanie przekierowany na nasze “prawdziwe” konto i będziemy mogli go przeczytać, jeśli zaś email zostanie wysłany na inne konto, zostanie zignorowany. A tak to wygląda w praktyce:
Serwer
Serwer jest skonfigurowany tak, by wszystkie emaile przychodzące na nasza.domena.pl, były kierowane do odpowiedniego mechanizmu: gdy serwer odbiera email nadchodzący z konta kolega@serwer.pl przepuszcza go przez odpowiedni algorytm, który może wyglądać następująco:
md5([email kolegi] + [jakiś dziwny ciąg znaków]) + @nasza.domena.pl
W wyniku działania algorytmu generowany jest adres email na naszym serwerze. Adres ten porównywany jest przez serwer z polem TO:. Jeśli występuje zgodność, email jest kierowany na konto, z którego odbieramy pocztę, jeśli nie, odrzucany.
Co się dzieje gdy wysyłamy pocztę?
Serwer po prostu generuje adres zwrotny, odpowiadający adresowi, na który wysyłamy i wstawia go w pole FROM: oraz REPLY-TO:. Dzięki temu osoba może odpowiedzieć do nas używając REPLY oraz dodać nas do książki adresowej.
Jak podać komuś nasz adres?
Tu w grę wchodzi strona, na której pracuje specjalny generator. Gdy do generatora wpisany zostanie adres, osoby z którą chcemy korespondować, zwrócony zostanie adres na naszym serwerze, na jaki powinna ona pisać. Z generatora możemy skorzystać my i podać koledze od razu wygenerowany adres lub podać mu adres generatora. Adres generatora powinniśmy podawać też na forach dyskusyjnych i wszystkich innych miejscach, gdzie chcemy zostawić adres kontaktowy do siebie.
Biała lista i specjalne aliasy
Dwoma mechanizmami, dzięki którymi cały system staje się o wiele bardziej użyteczny, są “biała lista” i “specjalne aliasy”. Biała lista zawiera adresy/domeny, z których wszystkie emaile powinny być przyjmowane (bez sprawdzania poprawności). Specjalne aliasy są to adresy, na które jest przyjmowana cała poczta (bez sprawdzania poprawności), zasada ich działania jest taka sama jak serwisu mailnull.com. Oba mechanizmy pozwalają w pewnym stopniu korzystać z emaila “w starym stylu”, jednocześnie wykorzystując w pewnym stopniu zalety systemu.
Co się stanie gdy taki system będzie miał i nadawca i odbiorca?
Jest to ciekawy problem natury technicznej, ponieważ nie jest możliwe wygenerowanie odpowiedniej pary email. Da się jednak to obejść na parę sposobów, jednym z nich jest dodanie tej osoby do białej listy
Wady rozwiązania
Rozwiązanie ma oczywiście kilka wad, które mogą być mniej lub bardziej dokuczliwe. Postaram się przetestować wymyślony przezemnie system i dać znać na temat jego funkcjonalności.
Tomasz “tomwys” Wysocki