SMTP
Plast | Protokol |
aplikacijska plast | DNS, FTP, HTTP, IMAP, IRC, NNTP, POP3, SIP, SMTP, SSH, |
predstavitvena plast | |
plast seje | |
transportna plast | DCCP, TCP, UDP, SCTP, RTP ... |
omrežna plast | IPv4, IPv6, ICMP, IGMP, ARP ... |
povezovalna plast | ECP, ATM, DDCMP, BSC, LAPB, LAPD, LLC, SDLC ... |
fizična plast | Token ring, Ethernet, FDDI, PPP, Wi-Fi ... |
SMTP (angleško Simple mail transfer protocol) je preprost protokol za prenos elektronske pošte, ki je standard za prenos elektronske pošte na Internetu.
S temi protokoli prenašamo elektronsko pošto med različnimi sistemi, povezanimi s TCP/IP. To so samo protokoli, ki so namenjeni za prenose elektronske pošte, medtem ko potrebujemo za sestavo pošte druge programe, ki jim pravimo uporabniški agenti (user agents).
SMTP struktura je osnovana na sledečem modelu povezave kot rezultat zahteve uporabnika pošte. SMTP vzpostavi obojestranski prenosni kanal sprejemniku. Sprejemnik je lahko končni ali vmesni.
Odgovori SMTP-ja so poslani od sprejemnika pošiljatelja v odgovor na ukaze, ko je prenosni kanal vzpostavljen, pošiljatelj pošlje poštne ukaze, ki označujejo pošiljatelja pošte. Če ima sprejemnik prost kanal, sprejme in odgovori z OK. SMTP pošiljatelj pošlje RCPT ukaz, ki identificira prejemnika pošte. Če prejemnik SMTP-ja lahko sprejme pošto za tega prejemnika, odgovori z OK, če ne, ti odgovori oziroma zavrne tega prejemnika ( toda ne celotne pošiljke transakcije prenosa).
SMTP pošiljatelj in SMTP prejemnik se pogajata. Ko se dogovorita, pošiljatelj SMTP-ja pošlje sporočilo, ki je določen s specialnimi sekvencami. Če je sprejemnik SMTP-ja uspešno prejel sporočilo, zopet odgovori z OK. Grafični prikaz SMTP protokola.
Potek dialoga s strežnikom SMTP
[uredi | uredi kodo]Pogovor s strežnikom (S:) in odjemalcem (C:):
S: <strežnik čaka na vratih 25 na odjemalca> S: 220 www.primer.com ESMTP Postfix C: HELO mojadomena.com S: 250 Hello mojadomena.com C: MAIL FROM: <posiljatelj@mojadomena.com> S: 250 Ok C: RCPT TO: <prejemnik@novadomena.com> S: 250 Ok C: DATA S: 354 End data with <CR><LF>.<CR><LF> C: Subject: test message C: C: Pozdravljen, C: To je samo test. C: Lep pozdrav. C: . S: 250 Ok: queued as 12345 C: QUIT S: 221 Bye
Varnost
[uredi | uredi kodo]Sam protokol, kot je zapisan v RFC 822, ne vsebuje nobenih resnih varnostnih mehanizmov. To omogoča težko nadzorljivo masovno pošiljanje nadležne pošte. Obenem je vsebina elektronskega sporočila, ki ni kriptirano, berljivo vsaki napravi ali osebi, ki ima možnost doseči komunikacijski kanal med pošiljateljem in prejemnikom sporočila. Razlog za obe pomanjkljivosti je v tem, da je bil standard napisan leta 1982, ko kriptografija še ni bila tako razvita.
Strežnik in bralec v običajnem poštnem spročilu ne moreta biti prepričana, ali je pošiljatelj dejansko tisti, ki je naveden v vrstici »MAIL FROM:«. Zato so boljši programi za predajo in prevzem pošte uveljavili naslednje prijeme:
- SPF TXT DNS zapis na domeni pošiljatelja, ki opredeli IP naslove dovoljenih poštnih strežnikov. Tu ni nobene uporabljene kriptografije, zato so še vedno možna ponarejanja.
- DKIM zapis, ki vključuje javni šifrirni ključ na domeni pošiljatelja, ki se v kombinaciji s kriptografskim podpisom na vsakem poštnem sporočilu uporabi za preverjanje verodostojnosti.
- DMARC kot kontrolni protokol, ki SPF in DKIM združi in z uporabo modernejših algoritmov zagotovo zagotovi verodostojnost sporočila
Od leta 2020 je za dostavljivost sporočil pomembna uporaba DKIM ali vsaj SPF zapisov, saj drugače naslovnikov poštni strežnik ne more biti prepričan o verodostojnosti in to pogosto označi z oznako *SPAM*. Sistemski administratorji pogosto uporabljajo najnovejšo odprtokodno poštno programsko opremo, saj se le-ta sklada z večino modernih varnostnih protokolov.