SMTP AUTH (SMTP Autentizace) je rozšíření protokolu Simple Mail Transfer Protocol (SMTP), které umožňuje přihlášení klient pomocí libovolného autentizačního mechanismu podporovaného serverem. Využívají jej především servery v roli Mail submission agent, kde je autentizace povinná.Relevantní RFC jsou uvedeny v části #Standardy

Historie Protokol SMTP, jak jej definoval Jon Postel v 70. letech 20. století, neumožňoval použití hesla pro odesílání e-mailových zpráv; každý server byl z podstaty věci otevřeným přenašečem elektronické pošty. Kvůli tomu se spam a počítačoví červi, které zpočátku nepředstavovaly problém, koncem 90. let 20. století staly pohromou. Před nasazením SMTP AUTH se relay klient mohl identifikovat pouze IP adresou, což postačuje pouze pro e-mailové služby poskytované stejným poskytovatelem internetového připojení (ISP), který dodává připojení, nebo pomocí jiných hacků, např. POP před SMTP.

První pracovní verzi rozšíření SMTP AUTH publikoval John Gardiner Myers v roce 1995; rozšíření bylo postupně vyvíjeno a diskutováno v IETF spolu s protokolem pro odesílání pošty, rozšířeným protokolem SMTP (ESMTP) a protokolem Simple Authentication and Security Layer (SASL). Starším mechanismem SASL pro ESMTP autentizaci (ESMTPA) je CRAM-MD5 a použití algoritmu Message-Digest algorithm v HMAC (hash-based message authentication codes) je stále považováno za vyhovující.

Internet Mail Consortium (IMC) uvedlo, že v roce 1998 bylo 55 % poštovních serverů otevřenými relé, ale v roce 2002 jich bylo méně než 1 %.

Použití v systému dopravy elektronické pošty Použití Mail submission agenta (MSA), obvykle na portu 587, implikuje SMTP AUTH. Použití MSA je podporováno většinou softwaru, a doporučuje se zvláště pro podporu často se přesunujících uživatelů, protože některé síťové huby buď blokují port 25 anebo používají SMTP proxy. MSA odpovídá za to, že obálka zprávy bude obsahovat správné adresy, a může vynucovat lokální pravidla pro hlavičku From. Ověření, že odesilatel obálky (neboli Return-Path) použitý pro SPF a adresa From souhlasí s autentizovanou identifikací uživatele, je důležité zejména pro domény, které podepisují zprávy pomocí DKIM.

Pokud jsou zprávy přijímány pomocí SMTP AUTH, jsou pro with část hlaviček Received k dispozici klíčová slova zakončená písmenem „A“ např. ESMTPA a ESMTPSA. „Pro statistické nebo diagnostické účely jsou uváděna klíčová slova“ (RFC 3848), která jsou kontrolována některými klienty, například Spamassassinem.

Detaily Jako u všech SMTP rozšíření je SMTP AUTH oznamováno v odezvě EHLO, spolu se seznamem podporovaných autentizačních metod. Tyto metody se mohou změnit po vyslání STARTTLS, kdy typicky bude dovoleno i použití nešifrovaných hesel. RFC 4954 poskytuje následující příklad (úvodní „C:“ a „S:“ pouze indikují, které řádky posílá klient a které server, a nejsou součástí protokolu):

S: 220 smtp.prijemce.com ESMTP Server C: EHLO klient.odesilatel.com S: 250-smtp.prijemce.com Hello klient.odesilatel.com S: 250-AUTH GSSAPI DIGEST-MD5 S: 250-ENHANCEDSTATUSCODES S: 250 STARTTLS C: STARTTLS S: 220 Ready to start TLS ... probíhá TLS vyjednávání. Další příkazy jsou již chráněné TLS vrstvou ... C: EHLO klient.odesilatel.com S: 250-smtp.prijemce.com Hello klient.odesilatel.com S: 250 AUTH GSSAPI DIGEST-MD5 PLAIN C: AUTH PLAIN dGVzdAB0ZXN0ADEyMzQ= S: 235 2.7.0 Autentication successful

SMTP AUTH může být použito i na portu 25. Servery obvykle odmítnou příkaz RCPT TO, které znamená předávání (), pokud nebyly přijaty autentizační údaje. Specifikace doporučuje, aby v případě, kdy je server zkonfigurovaný, aby vyžadoval autentizaci, a klient ji ještě neprovedl, server na většinu příkazů odpovídal 530 5.7.0 Authentication required. Takto by měly být nakonfigurovány pouze servery naslouchající na portu 587 nebo soukromé servery, nikoliv servery uvedené jako MX. Historická vlastnost, že ve výchozím nastavení SMTP nepoužívá autentizaci, vede v některých případech k tomu, že chování závisí na přístupovém protokolu; například když se použije AUTH EXTERNAL po STARTTLS.

Rozšíření kromě příkazu AUTH definuje také parametr AUTH příkazu MAIL FROM, které umožňuje rozlišit autentizaci od autorizace. Díky tomu se odesilatel může jednou identifikovat a předat několik zpráv během jedné relace. Zatímco jednou provedená autentizace se nemusí opakovat, různé zprávy mohou být posílány podle různých dohod a proto vyžadují různé autorizace. Zprávy mohou být například předávány jménem různých uživatelů. Tento parametru se používá mnohem méně než příkaz pro udělení oprávnění k předávání pošty.

SMTP autentizace je z hlediska SMTP „rozšíření“, takže vyžaduje, aby klient v úvodním vyjednávání místo příkazu HELO používal příkaz EHLO indikující, že podporuje rozšíření. Pro zpětnou kompatibilitu může být přijat příkaz HELO, pokud se nepoužívá žádné rozšíření.

Slova uvedená velkými písmeny za příkazem AUTH, je seznam typů autorizace, které SMTP server přijímá.

K autorizačním protokolům patří:

PLAIN (používá kódování Base64) LOGIN (používá kódování Base64)K. Murchison and M. Crispin, The LOGIN SASL Mechanism, 28. srpna 2003, expired draft. LOGIN je v dokumentu SASL Mechanisms popisován jako zastaralý, ale mechanismus se stále používá. (nahrazeno PLAIN) GSSAPI (Generic Security Services Application Program Interface) DIGEST-MD5 (Digest access authentication) MD5 CRAM-MD5 OAUTH10A (OAuth 1.0a HMAC-SHA1 tokeny definované v RFC 5849) OAUTHBEARER (OAuth 2.0 přenosové tokeny definované v RFC 6750) XOAUTH2 Gmail's XOAuth2 SASL protocol

Standardy

Jiné

Odkazy

Reference

Související články E-poštovní autentizace Simple Mail Transfer Protocol Mail submission agent Email klient Čísla portů Simple Authentication and Security Layer Otevřená poštovní relay POP před SMTP

Kategorie:Elektronická pošta Kategorie:Řízení přístupu