Szolgáltatások 1.
Szolgáltatások 1.
(Internet mail)
  Fogalmak
    MTA
      Mail Transfer Agent ("levéltovábbító ügynök")
      Más néven: MX - Mail eXchanger
      Levelek fogadása és küldése
      Kevés kivétellel levélsorokat alkalmaz (mail queue)
      Elsődleges "védelmi front"
      SPAM- és vírusszűrés
    MDA
      Mail Delivery Agent ("levélkézbesítő ügynök")
      Helyi kézbesítési feladatok (mailbox kezelés)
      Levelek leválogatása
      Nem kötelező komponens, esetenként az MTA-ba építve
    MUA
      Mail User Agent ("felhasználói levelező")
      Általában grafikus felhasználói felülettel rendelkezik
      Levelek elérése
        Helyi levelesláda (MDA)
        Távoli levelesláda (POP3, IMAP)
    MSA
      Mail Send Agent ("levélküldő ügynök")
      Autentikáció és levéltovábbítás
      Jellemzően a MUA része
    kiegészítő fogalmak
      "Relay" - levéltovábbítás
      "Open Relay" - Relay bárki számára
      "Bounce" - kézbesítési zavar miatt visszaküldött üzenet
      "Black list" - explicit tiltólista
      "White list" - explicit kivétellista
  Szabványok
    SMTP
      Simple Mail Transfer Protocol ("Egyszerű Levéltovábbító Protokoll")
      25-ös TCP port (IANA)
      HTTP-hez hasonló, TCP fölötti, szöveg alapú protokoll
      HELO mxhost.example.com
MAIL FROM: user@example.com
RCPT TO: someone@yourserver.com
DATA
mail message comes here
.
      jellemzően "bizalom" alapú
(mint sok ős-protokoll)
        nincs valódi azonosítás
        nincs visszaellenőrzés
        nincs titkosítás
        7 bites
      ESMTP - SMTP bővítmény
        Extended/Enhanced SMTP
        8 bites üzenettovábbítás
        on-demand relay
        autentikáció
        kézbesítés-visszajelzések (delivery status)
        UTF-8 támogatás
        http://en.wikipedia.org/wiki/Extended_SMTP
      SSL/TLS általában támogatott ("SSMTP" vagy "SMTP/TLS")
      http://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol
    IMAP
      Internet Message Access Protocol ("Internetes Levélelérési Protokoll")
      143-as TCP port (IANA)
      Többszörös, osztott elérés támogatása
      A levelek alaphelyzetben a szerveren vannak,
státuszuk osztott (olvasott, válaszolt, stb...)
      Szerver oldali mappák támogatása
      Probléma: off-line felhasználás (internettől távol)
"Megoldás": off-line imap (teljesen kliens oldali próbálkozás)
      SSL/TLS általában támogatott ("IMAPS")
      http://en.wikipedia.org/wiki/Imap
    POP3
      Post Office Protocol ("Postahivatal Protokoll")
      110-es TCP port (IANA)
      Átmeneti internetkapcsolat támogatása ("off-line protokoll")
      A levelek a kiszolgálóról a kliensre tölthetők le
      Probléma: több kliens - egy mailbox
"Megoldás": üzenetek a szerveren maradnak,
de státuszuk nem osztható
      SSL/TLS általában támogatott ("POP3S")
      http://en.wikipedia.org/wiki/Pop3
    MIME
      Multipurpose Internet Mail Extensions ("Többcélú Internetes Levelezési Bővítmények")
      Szöveges levelezés formátumok visszafele kompatibilis bővítménye
      nem csak 7bit ASCII karakterkészletek támogatása (pl: Latin2, UTF-8)
      nem csak 7bit ASCII fejléc információk (pl: levél tárgya, feladó)
        =?iso-8859-1?Q?=A1Hola,_se=F1or!?=
      nem szöveges mellékletek (pl: képek, dokumentumok)
        Content-Disposition: attachment; filename=genome.jpeg;
modification-date="Wed, 12 Feb 1997 16:29:51 -0500";
      tartalomtípusok azonosítása ("Content-Type", vagy ún: "MIME type")
        text/plain
        application/octet-stream
        audio/mpeg
        image/jpeg
        multipart/alternative
        text/css
        stb...
        http://en.wikipedia.org/wiki/Internet_media_type
      fa szerkezetű felépítés ("Content-Type: multipart/*")
        több részből álló üzenettörzs (pl: HTML és sima szöveg)
          MIME-Version: 1.0
Content-type: multipart/mixed; boundary="frontier"
This is a message with multiple parts in MIME format.
--frontier
Content-type: text/plain
This is the body of the message.
--frontier
Content-type: application/octet-stream
Content-transfer-encoding: base64
PGh0bWw+CiAgPGhlYWQ+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPHA+VGhpcyBpcyB0aGUg
Ym9keSBvZiB0aGUgbWVzc2FnZS48L3A+CiAgPC9ib2R5Pgo8L2h0bWw+Cg==
--frontier--
      7bit kompatibilis bináris kódolás ("Content-Transfer-Encoding")
        7bit
        quoted-printable
          http://en.wikipedia.org/wiki/Quoted-printable
          http://www.motobit.com/util/quoted-printable-encoder.asp
          MIME = összetett
MIME =3D =F6sszetett
        base64
          http://en.wikipedia.org/wiki/Base64
          http://tools.ietf.org/html/rfc1421
          http://www.motobit.com/util/base64-decoder-encoder.asp
          MIME = összetett
TUlNRSA9IMO2c3N6ZXRldHQ=
        8bit
        binary
      http://en.wikipedia.org/wiki/MIME
    SASL
      Simple Authentication and Security Layer ("Egyszerű Azonosítási és Biztonsági Réteg")
      Azonosítási háttérszolgáltatás
      "Proxy" üzemmód: a kliens és a SASL szerver a szolgáltató csak közvetít
      http://en.wikipedia.org/wiki/Simple_Authentication_and_Security_Layer
  A levelezési folyamat
    Az általános levelezési folyamat ábrája
  SPAM- és Vírusszűrés
    Hol?
      Jellemzően az MX szerverben
      Esetenként a MUA is végzi
    Mikor?
      SMTP levélfogadás közben ("real time", "mail gateway")
        gyorsnak kell lennie
        nem terheli tovább az átmeneti tárat (mail queue) és a szervert
        nem kell "bounce" üzeneteket küldeni (a levelet el sem fogadjuk!)
      A már elfogadott levelek utólagos feldolgozásával ("deferred")
        több idő és erőforrás jut rá
        az eldobandó levelekkel valamit kezdenikell (pl. bounce)
        a szervert terheli
        jelentős késlekedést okozhat
    Hogyan?
      Signature matching (mintázat-illesztés)
        Előre elkészített, folyamatosan frissített adatbázis
        Vírusszűrés leggyakoribb módszere
        Spamszűrésre is alkalmas (pl: súlyozással kombinálva)
        Csak a már ismert fenyegetettség ellen véd
        A frissítési időciklus hossza kritikus
      Graylisting ("szürke" listázás)
        alapfeltevés: a feladóban van mail queue
        minden új feladótól származó levelet átmenetileg elutasítunk
        az átmenetileg elutasított feladókat ellenőrizhetjük is (pl: DNS, SPF)
        az újraküldött leveleket már elfogadjuk, whitelistre kerül
        a spam- és vírusküldők általában nem próbálkoznak újra
        néhány nagy bank és weboldal sem próbálkozik újra
előzetes whitelist is szükséges
        http://en.wikipedia.org/wiki/Graylisting
      Statisztikai módszerek (Bayes)
        főként a spamszűrés eszköze
        statisztikai alapú mintaillesztés, osztályozás
        általában felügyelt gépi tanulás (spamlearn, hamlearn)
        jellemzően az üzenettörzs szavakra, szóösszetételekre való felbontásával dolgozik
        eddig ismeretlen spamről is jelzést nyújthat
        önmagában nem elegendően pontos
        http://en.wikipedia.org/wiki/Bayes%27_theorem
      Blacklisting, HoneyNet rendszerek
        számos szolgáltató használja, van ingyenes is
        az interneten elszórt "csapda" email fiókokat állítanak fel
        ha levél érkezik egy csapdába, az biztos, hogy nem legitim ("spamtrap")
        a csapdázott levelek feladói tiltólistára kerülnek
        a tiltólistákat DNS szerverek segítségével terjesztik
(ha egy ilyen szerver egy adott címet felold, az rajta van a blacklisten)
        http://www.spamhaus.org/
        http://cbl.abuseat.org/
      SMTP heurisztika
        Az SMTP protokollgép követése
        Elosztott elemzés (SPAM és Vírus kampányok észlelése)
        Szabványoknak való megfeleltetés
        Egyszerű logikai ellenőrzések
      DNS alapú eljárások
        SPF, kliens-ellenőrzés
          Sender Policy Framework ("Feladó Szabályzat-Keretrendszer")
          speciálisan formázott DNS TXT rekordok
          feladók és domainek kapcsolatát igazolja a fogadó MTA számára
          csak a levél SMTP keretét védi
          SenderID
            SPF kiegészítés
            egyes MIME fejléceket is ellenőriz
            a Microsoft szabadalmakkal védi
            http://en.wikipedia.org/wiki/SenderID
          http://tools.ietf.org/html/rfc4408
          http://en.wikipedia.org/wiki/Sender_Policy_Framework
        DKIM
          DomainKeys Identified Mail ("tartomány-kulcsokkal azonosított levelezés")
          kriptográfiai módszerekkel aláírt kimenő levelek
          a fogadó MTA ellenőrzi az aláírásokat
          a kulcsokat a DNS hálózaton terjesztik
        problémák
          levelezőlista-szerverek
          levéltovábbítás (forwarding)
          overhead
  Alkalmazások
    Postfix SMTPD
      Számos protokollt támogató, könnyen konfigurálható MTA
      Virtuális domainek támogatása
      Maildir, Mailbox
      TLS, 8BITMIME, IPV6, ETRN, DKIM, SASL
      ACL, Greylisting, Content filtering, SPF
      LDAP, MySQL, PostgreSQL, BDB, flat file
      http://www.postfix.org/
    Dovecot POP3D/IMAPD
      Nagy teljesítményű POP3 és IMAP kiszolgáló
      Maildir, Mailbox támogatás
      Elosztott működés támogatása
      SSL, TLS,
      Kvóta-támogatás
      http://www.dovecot.org/
    Fetchmail MUA/MDA
      POP3/IMAP -> SMTP gateway
      IMAP, POP3, ETRN, SSL
      http://fetchmail.berlios.de/
    Procmail MDA
      Helyi levélkézbesítő alkalmazás
      Maildir, Mailbox
      Összetett szűrőszabályok, leválogatás
      http://www.procmail.org/
    Maildrop MDA
      A courier levelezőcsomag része
      Procmail funkcionalitás, DE:
        Kvóta-támogatás
        "egyszerűbb" konfiguráció
        nehezebben veszít leveleket
        hatékonyabb, újragondolt
      http://www.courier-mta.org/maildrop/
    Pine/Alpine MUA
      Karakteres levelezőprogram
      folyamatos fejlesztés
      POP3/IMAP, SMTP, SSL, MIME
      http://www.washington.edu/alpine/
    ClamAV
      Clam Anti Virus
      általános célú, nyílt forrású vírusírtó
      http://www.clamav.net/
    SpamAssassin
      SPAMszűrő
      számos algoritmus (mintaillesztés, bayes, stb...)
      integrálható
        MTA-hoz (pl: Postfix)
        MUA-hoz (pl: Procmail)
      http://spamassassin.apache.org/
    MailScanner
      email-biztonsági szűrőcsomag (SMTP gateway)
      Phishing, SPAM, Vírus, mellékletek, feladó ACL-ek, feketelisták kezelése
      moduláris
        SpamAssassin támogatás
        számos MTA támogatása
      http://www.mailscanner.info/
    Amavis
      Email vírusszűrő
      számos "fork"-ja létezik
        amavis
        amavisd
        amvasid-new (legfrissebb fejlesztés)
        amavis-ng
      http://www.amavis.org/
      http://www.ijs.si/software/amavisd/
  Tematika
    Levelező környezet alapesetei (9,9)
      SMTP, POP3, IMAP jellemzése (K)
      Levelező szolgáltató eszközök telepítése:
EXIM, POP3D, COURIER IMAP (K)
      Levelező kliensek konfigurálása és használata – pine (K)
      Levelezés egyéb eszközei:
fetchmail és procmail használata (K)
      Levélforgalom ellenőrzése – Tartalom vizsgálata eszközei:
procmail, spamassassin, amavis clamav (K)