{"id":2044,"date":"2016-01-23T15:55:45","date_gmt":"2016-01-23T13:55:45","guid":{"rendered":"http:\/\/www.void.gr\/kargig\/blog\/?p=2044"},"modified":"2016-01-23T19:15:16","modified_gmt":"2016-01-23T17:15:16","slug":"the-sorry-state-of-starttls-support-of-greek-email-providers","status":"publish","type":"post","link":"https:\/\/www.void.gr\/kargig\/blog\/2016\/01\/23\/the-sorry-state-of-starttls-support-of-greek-email-providers\/","title":{"rendered":"The sorry state of STARTTLS support of Greek email providers"},"content":{"rendered":"<p>I started looking into the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Starttls\" target=\"_blank\">STARTTLS<\/a> support of Greek email providers completely by accident when one email of mine wasn&#8217;t being delivered for some reason to a friend who has an email address at a traditional Greek ISP. I started looking into the delivery issues by running <a href=\"http:\/\/www.jetmore.org\/john\/code\/swaks\/\" target=\"_blank\">swaks<\/a> against the email server of the ISP and I just couldn&#8217;t believe it that the ISP&#8217;s mail server response did not include STARTTLS support. That made me wonder about the rest of the ISPs, so I created a very simple script that takes domains, finds their MX addresses and performs very simple TLS lookups using openssl. Yeah I know that there are websites that track the STARTTLS support of mail servers, but they usually don&#8217;t save the previous results and you can&#8217;t grep and compare.<\/p>\n<p>What I&#8217;ve looked into is how emails are sent between servers (SMTP), not if users can read emails from the mail servers (POP3\/IMAP) using encrypted connections.<\/p>\n<p><strong>TL;DR<\/strong><br \/>\nThe situation is <strong>BAD, REALLY BAD<\/strong>. Only 1,5 (yes, this is one and a half) commercial ISPs supports STARTTLS. OTE\/COSMOTE has &#8220;proper&#8221; STARTTLS support while Wind has STARTTLS support only for windtools.gr domain, but not for their wind.gr.<\/p>\n<p>I couldn&#8217;t believe the situation was SO, SO BAD before looking at the results. It seems that I had a lot more faith in those providers than I should have. Yeah I was wrong once again.<\/p>\n<p><strong>wtf is STARTTLS?<\/strong><br \/>\n(please don&#8217;t read the next sentence if you know what TLS is)<br \/>\nIf you have no idea about TLS and STARTTLS, then consider STARTTLS a way for servers to communicate and exchange data in encrypted form instead of cleartext. If mail servers don&#8217;t support STARTTLS then other servers can&#8217;t send them emails in encrypted form and everyone between those 2 servers can read the emails. It&#8217;s the equivalent of &#8220;https:\/\/&#8221; for mail servers. (There, I said it&#8230;).<\/p>\n<p><strong>TLS support per provider<\/strong><br \/>\nThe following is current as of <a href=\"https:\/\/github.com\/kargig\/gr-mx\/blob\/master\/results\/results-20160123\" target=\"_blank\">2016\/01\/23<\/a><\/p>\n<p><em>Commercial Providers<\/em><br \/>\n<a href=\"https:\/\/cosmote.gr\/\" target=\"_blank\">OTE\/COSMOTE<\/a>: Some servers support TLS version 1.0 and some others 1.2 (more on that later)<br \/>\n<a href=\"https:\/\/www.wind.gr\" target=\"_blank\">WIND<\/a>: Supports TLS version 1.0 on windtools.gr but does NOT support TLS on wind.gr (different mail servers)<br \/>\n<a href=\"https:\/\/cyta.gr\/\" target=\"_blank\">CYTA<\/a>: Does NOT support TLS on their mail servers<br \/>\n<a href=\"https:\/\/www.forthnet.gr\" target=\"_blank\">FORTHNET<\/a>: Does NOT support TLS on their mail servers<br \/>\n<a href=\"https:\/\/hol.gr\/\" target=\"_blank\">HOL<\/a>: Does NOT support TLS on their mail servers<br \/>\n<a href=\"https:\/\/www.vodafone.gr\/\" target=\"_blank\">VODAFONE<\/a>: Does NOT support TLS on their mail servers<\/p>\n<p><em>non-Commercial Providers<\/em><br \/>\n<a href=\"https:\/\/www.grnet.gr\" target=\"_blank\">GRNET<\/a>: Supports TLS 1.2<br \/>\n<a href=\"http:\/\/www.sch.gr\" target=\"_blank\">SCH<\/a>: Supports TLS 1.0<br \/>\n<a href=\"http:\/\/www.tee.gr\/\" target=\"_blank\">TEE<\/a>: Does NOT support TLS on their mail servers<br \/>\n<a href=\"http:\/\/www.mil.gr\" target=\"_blank\">MIL<\/a>: Supports TLS 1.0<\/p>\n<p><em>Universities<\/em><br \/>\n<a href=\"https:\/\/www.auth.gr\/\" target=\"_blank\">AUTH<\/a>: Supports TLS 1.2<br \/>\n<a href=\"https:\/\/www.ntua.gr\/\" target=\"_blank\">NTUA<\/a>: Some servers support TLS 1.0 and one supports TLS 1.2<br \/>\n<a href=\"https:\/\/www.upatras.gr\" target=\"_blank\">UPATRAS<\/a>: Supports TLS 1.0<\/p>\n<p><em>Free Providers<\/em><br \/>\n<a href=\"http:\/\/www.in.gr\" target=\"_blank\">IN<\/a>: Does NOT support TLS on their mail servers<br \/>\n<a href=\"https:\/\/www.freemail.gr\/\" target=\"_blank\">FREEMAIL<\/a>: Does NOT support TLS on their mail servers<br \/>\n<a href=\"http:\/\/www.mailbox.gr\/\" target=\"_blank\">MAILBOX<\/a>: Supports TLS 1.2<\/p>\n<p><em>Radical Providers<\/em><br \/>\n<a href=\"https:\/\/www.espiv.net\" target=\"_blank\">ESPIV<\/a>: Supports TLS 1.2<\/p>\n<p><strong>Certificate status per provider (that have STARTTLS support)<\/strong><br \/>\nOTE\/COSMOTE: *.otenet.gr mail servers, which are the ones that support TLS 1.0, use a certificate that is valid for mailgate.otenet.gr, *.ote.gr mail servers have their own certificates, but all mail*.dt-one.com mail servers, which are the ones that use TLS 1.2, use the same self-signed certificate.<br \/>\nWIND: mx2.windtools.gr uses a valid certificate<br \/>\nGRNET: uses a valid certificate<br \/>\nSCH: uses a self-signed certificate (which has expired 5 years ago) signed by their own CA (which has expired 4 years ago)<br \/>\nMIL: uses a self-signed certificate (which has expired 1 year ago)  signed by their own CA<br \/>\nAUTH: uses a certificate signed by their own CA called HARICA, whose certificate is now included in modern OSes, so I will consider this a valid certificate.<br \/>\nNTUA: all mail servers use a certificate that is valid for mail.ntua.gr<br \/>\nUPATRAS: uses a valid certificate<br \/>\nMAILBOX: uses a self-signed certificate (by plesk)<br \/>\nESPIV: uses a valid certificate (a wildcard *.espiv.net)<\/p>\n<p><strong>Why does it matter<\/strong><br \/>\nIt makes a huge difference for users&#8217; privacy. If a mail server does not support STARTTLS then anyone with the ability to look into packets traveling on the net from a source mail server to the destination mail server can read the emails in pure plaintext, as you read them on your mail client. Support of STARTTLS for a mail server forces an adversary that previously just passively monitored traffic to have to start a MITM (Man in the middle) attack in order to read those same emails. This converts the adversary from a passive to an active attacker. And this is both expensive and dangerous for the adversary, it can get caught in the act.<\/p>\n<p>Security and privacy-minded people might start bashing me on my next proposal, but considering the current situation I think it&#8217;s OK for most of the users of those providers that don&#8217;t support TLS at all.<br \/>\n<strong>Dear providers, please install a certificate, even a self-signed one, and add support for STARTTLS on your mail servers today.<\/strong><\/p>\n<p>Even a self-signed certificate improves this situation. And it costs absolutely nothing. There&#8217;s really no excuse to not even have a self-signed certificate for your email server.<\/p>\n<p><strong>Self-signed vs CA-Signed<\/strong><br \/>\nTruth is that it 99.9999% of email servers on the Internet do not verify the remote end&#8217;s certificate upon communication. That means that it makes absolutely no difference in most cases whether the certificate is CA-signed or self-signed. Most modern email servers support fingerprint verification for remote servers&#8217; certificates but this can&#8217;t obviously scale on the Internet. If a user fears that some entity could MITM their email provider just to read their email, they already have bigger problems and certificate verification would not be able to help them a lot anyway. They either need to protect the contents of their email (gpg?) or start using alternate means of messaging\/communication (pond?)<\/p>\n<p><strong>script<\/strong><br \/>\nThe script I used is on github: <a href=\"https:\/\/github.com\/kargig\/gr-mx\" target=\"_blank\">gr-mx<\/a>. Feel free to make changes and send pull requests.<br \/>\nI plan to run the script once a week just to keep an archive of the results and be able to track and compare. Let&#8217;s see if something changes&#8230;<\/p>\n<p><strong>Various weirdness<\/strong><br \/>\n * windtools.gr has 2 MX records, mx1.windtools.gr and mx2.windtools.gr. mx1.windtools.gr has been unreachable since I started running the script on 2016\/01\/08.<br \/>\n * mail{5,6,7,8}.dt-one.com mailservers used by OTE\/COSMOTE did not have the self-signed certificate on <a href=\"https:\/\/github.com\/kargig\/gr-mx\/blob\/master\/results\/results-20160108\" target=\"_blank\">2016\/01\/08<\/a> while mail{1,2,3,4}.dt-one.com had it. The certificate was added at some point between <a href=\"https:\/\/github.com\/kargig\/gr-mx\/blob\/master\/results\/results-20160111\" target=\"_blank\">2016\/01\/11<\/a> and <a href=\"https:\/\/github.com\/kargig\/gr-mx\/blob\/master\/results\/results-20160117\" target=\"_blank\">2016\/01\/17<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I started looking into the STARTTLS support of Greek email providers completely by accident when one email of mine wasn&#8217;t being delivered for some reason to a friend who has an email address at a traditional Greek ISP. I started looking into the delivery issues by running swaks against the email server of the ISP [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ep_exclude_from_search":false,"footnotes":""},"categories":[6,11,5,3,8,4],"tags":[618,247,597,616,599,596,617,206,615,488,619],"class_list":["post-2044","post","type-post","status-publish","format-standard","hentry","category-encryption","category-greek","category-internet","category-linux","category-networking","category-privacy","tag-certificate","tag-email","tag-internet","tag-isp","tag-networking","tag-privacy","tag-providers","tag-security","tag-startls","tag-tls","tag-verification"],"aioseo_notices":[],"views":23281,"_links":{"self":[{"href":"https:\/\/www.void.gr\/kargig\/blog\/wp-json\/wp\/v2\/posts\/2044","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.void.gr\/kargig\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.void.gr\/kargig\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.void.gr\/kargig\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.void.gr\/kargig\/blog\/wp-json\/wp\/v2\/comments?post=2044"}],"version-history":[{"count":15,"href":"https:\/\/www.void.gr\/kargig\/blog\/wp-json\/wp\/v2\/posts\/2044\/revisions"}],"predecessor-version":[{"id":2060,"href":"https:\/\/www.void.gr\/kargig\/blog\/wp-json\/wp\/v2\/posts\/2044\/revisions\/2060"}],"wp:attachment":[{"href":"https:\/\/www.void.gr\/kargig\/blog\/wp-json\/wp\/v2\/media?parent=2044"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.void.gr\/kargig\/blog\/wp-json\/wp\/v2\/categories?post=2044"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.void.gr\/kargig\/blog\/wp-json\/wp\/v2\/tags?post=2044"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}