<<

agents

LinxChix  MUA = Mail User Agent  Interacts directly with the end user , MH, , , mail, , Marcel, Mailstrom, And , Pegasus, Simeon, , Outlook, ...  Multiple MUAs on one system - end user choice

 MTA = Mail Transfer Agent

 Receives and delivers messages

Sendmail, Smail, PP, MMDF, Charon, Exim, ,

Postfix, ...

 One MTA per system - sysadmin choice

Message format (1) Message format (2)

From: Philip Hazel  An address consists of a local part and a domain To: Julius Caesar [email protected] Cc: Mark Anthony Subject: How Internet mail works  A basic message body is unstructured

Julius, I'm going to be running a course on ...  Other RFCs (MIME, 2045) add additional headers which define structure for the body  Format was originally defined by RFC 822 in 1982

 Now superseded by RFC 2822  MIME supports attachments of various kinds and in  Message consists of Header lines various encodings

A blank line  Creating/decoding attachments is the MUA's job Body lines

1 A message in transit (3) MUA MTA Spool log  A message is transmitted with an envelope: in MAIL FROM: Mailbo Folders RCPT TO: x SMTP  The envelope is separate from the RFC 2822 message MTA Spool

 Envelope (RFC 2821) fields need not be the same as the SMTP Folders SMTP header (RFC 2822) fields

MUA MTA Spool  MTAs are (mainly) concerned with envelopes

POP / IMAP Just like the Post Office... Ser- Mailbo Folders ver x  Error (“bounce”) messages have null senders

MAIL FROM:<>

An SMTP session (1) An SMTP session (2)

telnet relay.ancient-rome.net 25 From: ...

220 relay.ancient-rome.net ESMTP Exim ... To: ...

EHLO taurus.cus.cam.ac.uk etc...

250-relay.ancient-rome.net ... . 250-SIZE 10485760 250 OK id=10sPdr-00034H-00

250-PIPELINING quit

250 HELP 221 relay.ancient-rome.net closing conn... MAIL FROM: 250 OK SMTP return codes RCPT TO: 2xx OK 250 Accepted DATA 3xx send more data 354 Enter message, ending with “.” 4xx temporary failure Received: from ...

(continued on next slide) 5xx permanent failure

2 Email forgery Use of the DNS for email (1)

 It is trivial to forge unencrypted, unsigned mail  Two DNS record types are used for routing mail

 This is an inevitable consequence when the sender and  Mail Exchange (MX) records map mail domains to host recipient hosts are independent names, and provide a list of hosts with preferences:

hermes.cam.ac.uk. MX 5 green.csi.cam.ac.uk.

MX 7 ppsw3.csi.cam.ac.uk.  It is less trivial to forge really well! MX 7 ppsw4.csi.cam.ac.uk.

 Most SPAM usually contains some forged header lines  Address (A) records map host names to IP addresses:

green.csi.cam.ac.uk. A 131.111.8.57

ppsw3.csi.cam.ac.uk. A 131.111.8.38  Be alert for forgery when investigating ppsw4.csi.cam.ac.uk. A 131.111.8.44

Use of the DNS for email (2) Routing a message

 Process local addresses  MX records were added to the DNS after its initial Alias lists deployment Forwarding files

 Backwards compatibility rule:  Recognize special remote addresses If no MX records found, look for an A record, and if found, e.g. local client hosts treat as an MX with 0 preference

 Look up MX records for remote addresses  MX records were invented for gateways to other mail systems, but are now heavily used for handling generic  If self in list, ignore all MX records with preferences mail domains greater than or equal to own preference

 For each MX record, get IP address(es)

3 Delivering a message Relay control  Incoming: From any host to specified domains

 Perform local delivery e.g. incoming gateway or backup MTA

 Outgoing: From specified hosts to anywhere  For each remote delivery e.g. outgoing gateway on local network Try to connect to each remote host until one succeeds

If it accepts or permanently reject the message, that's it  From authenticated hosts to anywhere e.g. travelling employee or ISP customer connected to  After temporary failures, try again at a later time remote network

 Time out after deferring too many times  Encryption can be used for password protection during authentication

 Addresses are often sorted to avoid sending multiple copies  Authentication can also be done using certificates

4