Elektronická pošta

Tomaničková Ivana, 143152@mail.muni.cz

Obsah

Princíp fungovania SMTP

  -------------------------------------------------------------

   
               +----------+                +----------+
   +------+    |          |                |          |
   | User |<-->|          |      SMTP      |          |
   +------+    |  Sender- |Commands/Replies| Receiver-|
   +------+    |   SMTP   |<-------------->|    SMTP  |    +------+
   | File |<-->|          |    and Mail    |          |<-->| File |
   |System|    |          |                |          |    |System|
   +------+    +----------+                +----------+    +------+
   

                Sender-SMTP                Receiver-SMTP

                           Model for SMTP Use

DNS MX záznamy versus A záznamy

; zone fragment example.com
; mail servers in the same zone
; will support email with addresses of the format 
; user@example.com
$TTL 2d ; zone default = 2 days or 172800 seconds
$ORIGIN example.com.
example.com. IN       SOA   ns1.example.com. root.example.com. (
               2003080800 ; serial number
               3h         ; refresh =  3 hours 
               15M        ; update retry = 15 minutes
               3W12h      ; expiry = 3 weeks + 12 hours
               2h20M      ; minimum = 2 hours + 20 minutes
               )
              IN      MX     10  mail  ; short form
; the line above is functionally the same as the line below
; example.com. IN     MX     10  mail.example.com.
; any number of mail servers may be defined
              IN      MX     20  mail2.example.com.
; use an external back-up
              IN      MX     30  mail.example.net.
; the local mail server(s) need an A record   
mail          IN      A      192.168.0.3
mail2         IN      A      192.168.0.3


; zone fragment for example.com
; mail servers not in the zone
; will support email with addresses of the format 
; user@example.com
$TTL 2d ; zone default = 2 days or 172800 seconds
$ORIGIN example.com.
example.com. IN       SOA   ns1.example.com. root.example.com. (
               2003080800 ; serial number
               3h         ; refresh =  3 hours 
               15M        ; update retry = 15 minutes
               3W12h      ; expiry = 3 weeks + 12 hours
               2h20M      ; minimum = 2 hours + 20 minutes
               )
; mail servers not in zone - no A records required
               IN     MX     10  mail.foo.com.
               IN     MX     20  mail2.foo.com.



Formát zpráv (RFC 2822, MIME)

RFC2822 - Internet Message Format - používa US-ASCII 1 - 127, riadky oddelené znakmi CR + LF (13,10), sprava je zložená z hlavičky(štruktúra pevne daná) a tela(oddelené od hlavičky prázdnym riadkom (obsahuje len CRLF). V súčastnosti nahradená RFC5322

MIME - "Multipurpose Internet Mail Extensions" - rozširuje RFC 822,umožńuje prenos obrázkov, dokumentov, programov - konvertuje ich do textovej formy, podporuje národné znaky. Využíva kódovanie base64, kedy sa 3byty zakódujú ako 4 6bitové čisla. Tie sa prevedú na ASCII znak, dodržiava sa dlžka riadkov, zakončenie znakmi CRLF, koniec správy može byť doplňený 1 alebo 2 bytami obsahujúcich samé 0, po prevode "="'

Príklad komunikácie cez SMTP

(SMTP klient vytvorí komunikačný kanál so SMTP serverom. )

S: 220 smtp.example.com ESMTP Postfix
C: HELO relay.example.org
S: 250 Hello relay.example.org, I am glad to meet you
C: MAIL FROM:
S: 250 Ok
C: RCPT TO:
S: 250 Ok
C: RCPT TO:
S: 250 Ok
C: DATA
S: 354 End data with .
C: From: "Bob Example" 
C: To: Alice Example 
C: Cc: theboss@example.com
C: Date: Tue, 15 Jan 2008 16:02:43 -0500
C: Subject: Test message
C:
C: Hello Alice.
C: This is a test message with 5 header fields and 4 lines in the message body.
C: Your friend,
C: Bob
C: .
S: 250 Ok: queued as 12345
C: QUIT
S: 221 Bye
{Server ukonci komunikaciu.}

EHLO je rozšírením SMTP, teda ESMTP, umožňuje nastaviť maximálnu dĺžku správy

S: 220 smtp2.example.com ESMTP Postfix
C: EHLO bob.example.org
S: 250-smtp2.example.com Hello bob.example.org [192.0.2.201]
S: 250-SIZE 14680064
S: 250-PIPELINING
S: 250 HELP

Spam

Poštoví klienti (IMAP, POP-3)

IMAP - port 143. Internet Message Access Protocol, Version 4 (IMAP4) dovoľuje klientovi pristúpiť k odkazom poštovej schránky a manipulovať s nimi priamo na serveri. IMAP4 poskytuje príkazy na manipuláciu schránok s odkazmi elektronickej pošty na vzdialenom serveri (nazývanými mailboxes) spôsobom, ktorý je funkčne ekvivalentný s prácou na schránkach uložených lokálne. IMAP4 taktiež poskytuje pre offline klientov možnosť opätovnej synchronizácie so serverom. IMAP4 zahŕňa operácie vytvárania, mazania a premenovávania schránok; kontrolu na príchod nových odkazov do schránky; nastavovanie a rušenie príznakov; RFC-822 a MIME analýzu; vyhľadávanie a selektívny výber atribútov odkazu, tela odkazu a jeho častí. V IMAP4 sú odkazy sprístupňované pomocou sekvenčných čísel alebo unikátnych identifikátorov (rozdiel oproti POP3). Riziká - Údaje vymieňané medzi serverom a klientom nie sú nijako zabezpečené voči tretej strane, pokiaľ sa nezvolila špeciálna ochrana pomocou príkazu AUTHENTICATE. Heslo uvedené v príkaze LOGIN sa prenáša sieťou v otvorenej forme.

POP3 - port 110. POP3 protokol sa používa na prístup k poštovej schránke na vzdialenom počítači (napr. pracovná stanica číta poštu zo servera, na ktorom je uložená prichádzajúca elektronická pošta). To má nevýhodu, že počítač nemusí byť nepretržite pripojený na počítačovú sieť, aby dostával elektronickú poštu. Elektronická pošta prichádza na server, ktorý vykonáva funkciu MTS (Message Transport System) a poskytuje služby pre prístup do odkazovej schránky (POP3 server). POP3 protokol teda dovoľuje pracovným staniciam získavať poštu zo servera, ktorý ju uchováva. POP3 protokol nie je určený na rozsiahlu manipuláciu s poštou na serveri, bežne sa používa iba na načítanie pošty a jej následné vymazanie. Rozsiahlejšie a všeobecnejšie možnosti poskytuje zložitejší protokol IMAP4. Bezpečnostné riziká - moze pouskytnúť mená platných uživateľov, hesla putujú v otvorenej forme. Prikazy RETR msg (pošle odkaz msg)a TOP msg n (posiela hlavičku odkazu s čislom msg, prázdny riadok a prvých n riadkov z tela správy )- prenos v otvorenej forme.

EXIM

1. Instalation:

apt-get install clamav-daemon \
clamav-freshclam exim4-daemon-heavy exim4 \
courier-base courier-authdaemon courier-imap \
courier-pop spamassassin wget spamc sa-eximapt-get install clamav-daemon \
clamav-freshclam exim4-daemon-heavy exim4 \
courier-base courier-authdaemon courier-imap \
courier-pop spamassassin wget spamc sa-exim

2. /etc/exim4/update-exim.conf.conf

set dc_use_split_config to true #povoli multiple file configuration layout

3. maildirmake ~/Maildir/

4. /etc/exim4/update-exim4.conf.conf

dc_localdelivery='maildir_home'

5. We need to edit /etc/default/spamassassin to enable spamd

6. .forward file in home directory

# Exim filter
if $h_X-Spam-Status: CONTAINS "Yes"
     or
  $h_X-Spam-Flag: CONTAINS "Yes"
then
  save $home/Maildir/.Spam/
  finish
endif

7. Create and check configuration:

update-exim4.conf

exim4 -bV

/etc/init.d/exim4 start

exim4 -v mailbox_you_can_check@dom.ain
   From: user@your.domain
   To: mailbox_you_can_check@dom.ain
   Subject: Testing exim
         
   Testing exim

or

exim4 -C /etc/exim/exim_example.conf -d -bt user@example.com

for more information please check 
  • Exim configuration
  • Literatura

  • Relaying