Hi Michel,

Currently, HTTP and SSL are separate measurements. But for SMTP it will 
probably not work this way... Encryption is not mandatory for SMTP and thus 
negotiated between client and server every time on port 25. Ports 465 and 587 
are used for Client Email Submission. You could run some measurements for these 
ports as well, but for the beginning, i would focus on server2server 
communication.

So here's what i think:

What we could measure:
- General reachability/availability of the e-mail service
- Response time of the remote server: time between connection establish and 
first SMTP response (220 service ready)
- Which enhanced status codes are offered by the server?
- Forward/Reverse DNS matching?
- SMTP banner matching the DNS name?
    - if not: what is it?
- Does the remote server offer encryption (250-STARTTLS)
- Which cipher settings are offered by the server (SSL/TLS Version, Key 
Exchange Algorithms, Encryption Algorithms, Hashing Algorithms)
    - alternatively: Which cipher setting has been negotiated between probe and 
server?
- Can we successfully establish a TLS connection?
- Certificate Check: is the server-certificate valid and does it match the 
hostname?
- Forced Encryption: MTA-STS available and 'enforced' or 'testing' or 'report'?
- Forced Authentication: DANE available and check successfull?


What we should not do:
- send MAIL FROM: command
- send RCPT TO: command
- send DATA command
- measure e-mail delivery/roundtrip time, etc.
- Sending e-mails at all

The Atlas probe should quit the connection after the data is collected. An actual e-mail should not 
be send. The target mailserver would count this session as "incomplete" or 
"aborted" which is totally fine. If someone would want to monitor what happens after a 
mailserver has successfully accepted a testmail, he should better use a monitoring 
service/solution. We measure the INTERnet, not what comes after (Intra) :)

I don't expect any "spam" problems. Since the Atlas probes wouldn't send e-mails, there's nothing a 
spamfilter could analyze. The only thing that could theoretically happen, is that the probes ip addresses are 
flagged as bad by services like Spamhaus etc. and thus be listed on DNSBL/IPBL, but i really don't see a 
reason why that should happen. There wouldn't be any activity originating from the probes which could be 
classified as bad. IP addresses are normally only blacklisted, if they send unwanted mails like spam. Also: 
there are a lot of "check you mailserver" or "check your SSL/TLS" websites. The RIPE 
Atlas probes would behave the same way. No big deal.

Maybe we can think of an "extended" SMTP measurement where RIPE Atlas sends 
actual e-mails, but that would require (in my opinion), that the person who is creating 
the measurement somehow provides proof, to be the owner of the target mailserver.


BR,
Simon


On 15.09.22 12:03, Michel Stam wrote:
Hello Simon,

Thank you for the suggestion.

I have a couple of questions to get a better idea:

  * Can you maybe describe what a SMTP measurement would look like?
      o Simple EHLO/HELO
      o Sending an email to a designated address (which would then validate 
that the SMTP server is capable of relaying etc.)
  * How would DNSBL or other spam prevention techniques fit into this?
  * What would the result be?
      o Delay until mail received
      o Response time by the actual mail server
      o Using the Received: headers to get a “traceroute” like result.
  * What about the more uncommon ports such as 565 (SMTP+SSL/TLS) or 587 (mail 
submission port).
  * How can we prevent this implementation from having RIPE Atlas be identified 
as a spam bot network?

Best regards,

Michel

On 3 Sep 2022, at 14:48, Simon Brandt via ripe-atlas <ripe-atlas@ripe.net> 
wrote:

Hello,

i'd like to start a discussion about having a RIPE Atlas SMTP measurements.
First of all: yes, i know there's a big obstacle for such a measurement type. A 
lot of probes are deployed using enduser internet-connections like dsl, cable, 
etc. with dynamic/eyeball IP addresses. Those IP spaces are usually blocked by 
SMTP servers as approach to reduce spam mails. For Example: by using blocklists 
like Spamhaus PBL. So a proper SMTP measurement wouldn't work.

BUT we could have an easy way for RIPE Atlas probe hosters to signalize, that 
their probe is eligible for SMTP measurements:

Step 1: enable "Simple DNS Entry"
Step 2: create a matching reverse DNS record for the probes IP address

Everybody who is able so configure a reverse DNS record for his probes IP address, is 
most likely using a non-dynamic/non-home ip address space e.g. a datacenter or office 
network. If an ISP provides the option for his customers to configure a reverse DNS 
record, it's most likely a "business-customer" subnet which can be used to run 
mailservers. After Step 1+2 are done, the RIPE Atlas platform would easily be able to 
verify if forward-confirmed reverse DNS is successful, and if so, automatically enable 
that probe for SMTP measurements. Alternatively: probe hosters choose their own 
Forward-confirmed reverse DNS name and submit it on the RIPE Atlas website.

Also: if we would have STMP measurements, forward-confirmed reverse DNS should 
be mandatory for anchors, or is it already?

Why should we have SMTP measurements?

Besides general reachability checks, we could also evaluate SMTP response 
codes. But the most important thing for me is this: the SMTP protocol is old. 
Very old. From a security point of view, it's absolutely outdated. Most 
security features have been added years after the initial RfC. Thus, those 
security features are optional. Mandatory SMTP encryption is not provided by 
the SMTP RfC. So both sides have to signalize, that they are capable of 
encryption using the STARTTLS command. An attacker (man-in-the-middle) can 
perform a downgrade attack by suppressing the STARTTLS command. So both sides 
are forced to fallback and communicate unencrypted. RIPE Atlas would be a 
really good tool to identify such attacks, by monitor/measure the (enhanced) 
status codes of a target.

But there's more!
I see a two-sided model here. Either use the RIPE Atlas SMTP measurements to 
monitor/measure your own mailserver by alot of other RIPE probes out there, OR 
probe hosters could run SMTP measurements originating from their own probe to 
find out, if their own IP address is currently blocked by other mailservers.


What do you think?


BR,
Simon
--
ripe-atlas mailing list
ripe-atlas@ripe.net
https://lists.ripe.net/mailman/listinfo/ripe-atlas

-- 
ripe-atlas mailing list
ripe-atlas@ripe.net
https://lists.ripe.net/mailman/listinfo/ripe-atlas

Reply via email to