~/talk

The not so simple mail transport protocol

Talkat Dutch PHP Conference 2018 · 2018-06-07..06-09· [security, web-platform]
speakerdeck:zghosts
slides:none on file

Explains how SMTP lacks authorization and shows concrete fixes: SPF via DNS TXT records, examples of records and the real caveats such as SPF limits: 10 DNS lookups and that SPF breaks forwarding; shows DKIM key generation with openssl 2048-bit key, selector DNS record format, and SwiftMailer/PHPMailer signer integration; covers DMARC policies (none/quarantine/reject), alignment modes relaxed/strict, reporting as XML aggregate files and the rollout advice start DMARC at pct=1% so you can validate before enforcing.

AI-written summary · about

  1. 0:00Intro
  2. 0:54Collector of elePHPants
  3. 3:08SMTP is old
  4. 4:05what is this
  5. 5:28how SMTP works
  6. 7:09The Internet Message
  7. 7:51Sending a message using SMTP
  8. 8:10The envelope
  9. 8:54The message
  10. 9:24Meanwhile on the server....
  11. 11:30No authorization
  12. 13:43How SPF works
  13. 14:46Your first SPF record
  14. 16:37Qualifiers
  15. 16:49Limitations
  16. 17:44Creating our own complete SPF configuration Allow the MX's to send email, denying all other systems (use--all when testing)
  17. 18:38Creating our own SPF configuration
  18. 19:31Best practices when implementing SPF
  19. 21:39Resources
  20. 21:54Recap
  21. 23:18How DKIM works
  22. 24:43Generate a keypair • Generate a keypair (you should use a 2048 bit key)
  23. 26:27How to use DKIM
  24. 27:18sending a signed message using swiftmailer
  25. 28:31Understanding the signature
  26. 29:35Advantages of DKIM
  27. 30:05How DMARC works
  28. 32:05Creating a DMARC record
  29. 33:37Alignment
  30. 35:05Advantages of DMARC
  31. 36:49Takeaways
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.