Praca Dyplomowa In»Ynierska
Total Page:16
File Type:pdf, Size:1020Kb
Politechnika Warszawska Rok akademicki Wydziaª Elektroniki i Technik Informacyjnych 2014/2015 Instytut Informatyki Praca Dyplomowa In»ynierska Wojciech Szymski System zarz¡dzania przestrzeni¡ adresów e-mail Opiekun pracy: prof. nzw. dr hab. in». Piotr Gawrysiak Ocena pracy: . ....................................... Data i podpis Przewodnicz¡cego Komisji Egzaminu Dyplomowego Kierunek: Informatyka Specjalno±¢: In»ynieria Systemów Informatycznych Data urodzenia: 13 wrze±nia 1991 Data rozpocz¦cia studiów: 1 pa¹dziernika 2010 yciorys Urodziªem si¦ 13 wrze±nia 1991 roku w Warszawie. W latach 2007-2010 ucz¦szczaªem do VIII Liceum Ogólnoksztaªc¡cego im. Wªadysªawa IV w Warszawie. W roku 2010 uko«czyªem szkoª¦ ±redni¡ oraz zdaªem matur¦. W pa¹dzierniku 2010 roku rozpocz¡ªem studia stacjonarne pierwszego stopnia na Wydziale Elektroniki i Technik Informacyjnych na kierunku Informatyka. ................................. podpis studenta Egzamin dyplomowy Zªo»yª egzamin dyplomowy w dn. Z wynikiem . Ogólny wynik studiów . Dodatkowe wnioski i uwagi Komisji . .................................................................................. 1 Streszczenie Przedmiotem pracy byªo zaprojektowanie oraz zaimplementowanie systemu e-mailowego. Przedstawiono dost¦pne na rynku rozwi¡zania oraz wskazano ich zalety i wady. Pozwoliªo to na zdeniowanie wymaga« sta- wianych przed systemem. Opisano wykorzystane protokoªy oraz architektur¦ i szczegóªy implementacyjne systemu. Jako efekt pracy powstaª system umo»liwiaj¡cy proste zarz¡dzanie przestrzeni¡ adresów e-mail w obr¦bie wªasnej domeny. Sªowa kluczowe: e-mail, zarz¡dzanie przestrzeni¡ adresow¡, ltrowanie wia- domo±ci, ochrona przed spamem E-mail address space management system The subject of the thesis was to design and create an e-mail system. Review of available solutions was introduced with their pros and cons pointed out. This allowed to dene the requirements for the system. Used protocols, architecture and implementation details have been described. As a result a system allowing simple management of e-mail address space within an owned domain was created. Keywords: e-mail, address space management, message ltering, spam pro- tection 2 Pragn¦ serdecznie podzi¦kowa¢ Panu prof. nzw. dr hab. in». Piotrowi Gawrysiakowi za po±wi¦cony czas oraz uwagi, bez których napisanie niniejszej pracy nie byªoby mo»liwe. Dzi¦kuj¦ rodzicom i siostrze za wsparcie okazane podczas pisania tej pracy. Dzi¦kuj¦ równie» Bartoszowi Szrederowi za okazan¡ cierpliwo±¢ oraz wszystko, czego mnie nauczyª. Spis tre±ci Wykaz skrótów ......................................6 1. Wprowadzenie ....................................7 1.1. Krótka historia poczty elektronicznej . .7 1.2. E-mail we wspóªczesnym ±wiecie . .8 1.3. Cel pracy . .8 1.4. Struktura pracy . .9 2. Model dziaªania poczty elektronicznej ..................... 10 2.1. Agenty . 10 2.2. SMTP . 11 2.3. IMAP . 12 3. Przykªady istniej¡cych rozwi¡za« ........................ 15 3.1. Gmail . 15 3.2. Guerrilla Mail . 17 3.3. Postx i Courier IMAP . 18 3.4. Podsumowanie . 18 4. Koncepcja systemu ................................. 20 4.1. MTA . 20 4.2. MSA . 21 4.3. MDA . 21 4.3.1. Potok przetwarzania . 21 4.3.2. Grupowanie i zapis . 22 4.4. MAA . 22 4.5. Przechowalnia . 22 5. Implementacja systemu .............................. 24 5.1. Go . 24 5.2. Konguracja . 24 4 5.3. MTA ....................................... 25 5.3.1. Authenticator . 26 5.3.2. Handler . 26 5.4. MSA ....................................... 26 5.5. MDA ....................................... 27 5.5.1. Przetwarzanie . 27 5.5.2. Utrwalanie . 28 5.6. Maildir . 28 6. Do±wiadczenia praktyczne ............................. 30 6.1. Analiza wydajno±ciowa . 33 7. Podsumowanie .................................... 35 Bibliograa ........................................ 36 A. J¦zyk Go ........................................ 38 5 Wykaz skrótów DKIM ang. DomainKeys Identied Mail, metoda ª¡czenia domeny z wiado- mo±ci¡ e-mail DNS ang. Domain Name Server, rozproszony system translacji hostów na adresy IP IMAP ang. Internet Message Access Protocol, protokóª synchronizacji skrzy- nek e-mailowych IP ang. Internet Protocol, protokóª komunikacyjny MAA ang. Mail Access Agent, p. 2.1 MDA ang. Mail Delivery Agent, p. 2.1 MRA ang. Mail Retrieval Agent, p. 2.1 MSA ang. Mail Submission Agent, p. 2.1 MTA ang. Mail Transport Agent, p. 2.1 MUA ang. Mail User Agent, p. 2.1 POP3 ang. Post Oce Protocol v3, protokóª odbioru wiadomo±ci e-mail ze zdalnej skrzynki SMTP ang. Simple Mail Transfer Protocol, protokóª przekazywania wiadomo- ±ci e-mail pomi¦dzy MTA SPF ang. Sender Policy Framework, metoda uwierzytelniania serwerów nada- j¡cych wiadomo±ci e-mail TLS ang. Transport Layer Security, protokóª bezpiecznej transmisji danych VPS ang. Virtual Private Server, prywatny serwer wirtualny 6 1. Wprowadzenie Popularyzacja internetu spowodowaªa, »e tradycyjna komunikacja pocztowa zo- staªa w du»ej cz¦±ci wyparta przez wiadomo±ci elektroniczne. Wynika to z bardzo prozaicznych cech komunikacji internetowej. Transmisja wiadomo±ci przez internet jest o wiele rz¦dów wielko±ci szybsza ni» tradycyjna. Koszt takiej transmisji jest z punktu widzenia u»ytkownika ko«cowego nieistniej¡cy lub pomijalny. 1.1. Krótka historia poczty elektronicznej Jednym z najstarszych i najpopularniejszych formatów wiadomo±ci elektronicz- nych jest e-mail. Pierwsza koncepcja e-maili jest starsza ni» sieci komputerowe powstaªa w latach 60. XX w. w ±rodowisku akademickim USA. Wiadomo±ci byªy przesyªane w obr¦bie pojedynczej stacji roboczej. Wymiana wiadomo±ci przebie- gaªa w bardzo prosty sposób plik z wiadomo±ci¡ byª kopiowany do folderu od- biorcy. Pierwszymi programami do wysyªania lokalnych e-maili byªy MAILBOX oraz SENDMSG. Rozwi¡zanie to byªo wystarczaj¡ce do momentu powstania ARPA- NET, pierwszej sieci komputerowej. BBN Technologies, rma pracuj¡ca nad ARPA- NET, stworzyªa program CPYNET sªu»¡cy m. in. do zdalnego zapisu plików. Jeden z programistów BBN, Ray Tomlinson, zauwa»yª, »e funkcje programów CPYNET i SENDMSG mo»na poª¡czy¢. Po poª¡czeniu tych programów i stworzeniu systemu adresowania (który funkcjonuje do dzi± w tej samej postaci: u»ytkownik@host), sys- tem do wysyªania wiadomo±ci elektronicznych na odlegªo±¢ byª gotowy. Pierwszy e-mail zostaª wysªany pod koniec 1971 roku. Pomysª okazaª si¦ udany po kilku latach e-maile generowaªy ponad poªow¦ ruchu w ARPANET. W kolejnych latach nast¡piªo wiele zmian w modelu dziaªania poczty elektronicznej. Do dostarczania wiadomo±ci stosowano protokoªy, których oryginalny zamysª u»ycia odbiegaª od wy- syªania e-maili, m. in. FTP i UUCP. W roku 1982 powstaª dedykowany transpor- 7 towi e-maili protokóª SMTP. Obecnie wi¦kszo±¢ globalnej infrastruktury e-mailowej funkcjonuje w oparciu o ten protokóª. 1.2. E-mail we wspóªczesnym ±wiecie W dzisiejszych czasach posiadanie skrzynki e-mailowej to norma. Podanie ad- resu e-mail jest nieodª¡czn¡ cz¦±ci¡ rejestracji w wi¦kszo±ci serwisów internetowych. Kontakty z tradycyjnymi usªugodawcami (np. bankami) równie» cz¦sto odbywaj¡ si¦ t¡ drog¡. Jest to wygodne rozwi¡zanie, ale posiada swoje wady. Podawanie jednego adresu wszystkim nadawcom cz¦sto prowadzi do napªywu du»ej ilo±ci niezorgani- zowanej poczty. Nie mamy równie» kontroli nad grup¡ osób znaj¡cych dany adres. W przypadku, gdy adres tra w niepowoªane r¦ce mo»e sta¢ si¦ celem spamu. Wady te mo»na w du»ej mierze zneutralizowa¢ stosuj¡c wyranowane narz¦dzia organi- zacyjne i antyspamowe, ale »aden sko«czony zbiór reguª nie jest w stanie w peªni wyeliminowa¢ wszystkich problemów. 1.3. Cel pracy Dost¦pne s¡ rozwi¡zania, które staraj¡ si¦ przeciwdziaªa¢ problemom wynikaj¡- cych z natury staªego adresu e-mailowego. Organizacja przychodz¡cej poczty jest sto- sunkowo prostym zadaniem zwykle odbiorca jest w stanie sklasykowa¢ wiadomo±¢ za pomoc¡ adresu nadawcy lub tematu. Odltrowywanie niechcianych wiadomo±ci jest du»o trudniejszym zadaniem. Istniej¡ zaawansowane systemy do walki ze spa- mem oparte o bardzo wyranowane algorytmy. Nadawcy spamu nie pozostaj¡ jednak w tyle stale przystosowuj¡ swoje wiadomo±ci tak, aby ltry miaªy gorsz¡ skutecz- no±¢. Celem pracy jest stworzenie systemu, który poza klasycznymi mechanizmami rozwi¡zywania wcze±niej wspomnianych problemów, u»ywa innego, rzadko stoso- wanego ze wzgl¦dów praktycznych, podej±cia. System opiera si¦ o nieograniczone mo»liwo±ci zarz¡dzania przestrzeni¡ adresów w obr¦bie pojedynczej domeny. Pod- stawowym zaªo»eniem dziaªania jest model, w którym pojedynczy nadawca dostaje unikalny adres, na który wysyªa e-maile. Problem ewentualnej zmiany adresu e-mail zostaje zredukowany do poinformowania o zmianie jednego nadawcy. Dzi¦ki temu jedna z nietypowych operacji, która w klasycznym modelu wydaje si¦ by¢ bardzo 8 radykalna caªkowita rezygnacja z u»ywania danego adresu staje si¦ normalnym przypadkiem u»ycia. Pozwala to m. in. na porzucanie adresów, które traªy w r¦ce niepowoªanych osób zajmuj¡cych si¦ reklam¡ specycznej grupy medykamentów. Kolejn¡ zalet¡ tego modelu jest ªatwo±¢ organizacji przychodz¡cych wiadomo±ci, które mog¡ by¢ klasykowane na podstawie adresu odbiorcy. Oczywi±cie system ten nie rozwi¡zuje wszystkich problemów zwi¡zanych z poczt¡ elektroniczn¡. Jest jednak dobr¡ podstaw¡, która mo»e by¢ rozszerzana o istniej¡ce ju» klasyczne rozwi¡zania. 1.4. Struktura pracy Praca ma nast¦puj¡c¡ budow¦: Rozdziaª 2. zawiera opis dziaªania wspóªczesnych systemów e-mailowych. Opi- sany zostaª model transmisji wiadomo±ci pomi¦dzy agentami oraz protokoªy SMTP i IMAP.