Labor2 E-post

From ICO wiki
Jump to navigationJump to search

Legend

Ver. 0.00, 03.11.2009
Ver. 0.01, 14.12.2009

Tegijad

Sander Surva
Ken Karma
Lauri Võsandi

Nõuded

  1. domeenid kkarma ja ssurva
  2. d1 viirusetõrjega
  3. d1 spammifilter
  4. logima syslog-i + eraldi faili


 +----+           +----+
 | D1 |   ------> | D2 |
 +----+           +----+

Eeldused

Operatsioonisüsteemiks peab olema Ubuntu Server, mis jookseb kernelil 2.6.28-11

Enne vaja seadistada DNS

kasutame BIND-i, põhjalikuma leheküle leiab: [1]

 apt-get install bind9

kohalikud domeenid kkarma ja ssurva paigutame faili /etc/bind/named.conf.local

Installeerimine

Kõik installeerimised on tehtud root kasutaja alt, kui toiminguid tehakse mõne muu kasutaja alt siis tuleb iga käsu ette lisada sudo !

MTA ehk Mail Transfer Agent on Postfix:

 apt-get install postfix

Rämpspostifilter SpamAssassin:

 apt-get install spamassassin

Antiviirus ClamSMTP:

 apt-get install clamsmtp

MDA ehk Mail Delivery Agent on Courier:

 apt-get install courier-imap

Kirjade vastuvõtmine

Postfix kuulab pordil 25 ning saadab kirjad edasi 10030 pordile, kus ClamSMTP teeb viirusetõrjet. Peale seda ClamSMTP saadab need edasi 10025 pordile, kus Postfix nad uuesti vastu võtab ja teeb rämpsposti filtreerimist. Kirjad mis on läbinud sellise ahela paigutatakse ~/Maildir alla.

Postfix

Postfix võtab vastu posti ka väljastpoolt ning salvestab vaikmisi /var/mail alla, selleks et kasutada uuemat Maildir formaati, mille korral paigutatakse kirjad ~/Maildir alla, ava /etc/postfix/main.cf ja lisa sinna:

home_mailbox = Maildir/


Peale seda ava Postfixi peamine seadistusfail /etc/postfix/master.cf ja tee kindlaks et seal on sellised read:

smtp      inet  n       -       -       -       -       smtpd # Kuula pordil 25
  -o content_filter=clamav:127.0.0.1:10030                    # Saada edasi kohaliku masia pordile 10030
10025     inet  n       -       -       -       -       smtpd # Kuula pordil 10025
  -o content_filter=spamassassin                              # Saada läbi SpamAssassini UNIX socketi (vt allpool)
smtps     inet  n       -       -       -       -       smtpd # Kuula TLS'iga krüpteeritud ühendusi pordil 465
  -o smtpd_sasl_auth_enable=yes                               # Luba autentimine läbi SASL+PAM'

Sama faili lõppu tuleks veel lisada filtri definitsioon:

spamassassin unix -     n       n       -       -       pipe
        user=nobody argv=/usr/bin/spamc -f -e
        /usr/sbin/sendmail -oi -f ${sender} ${recipient}

clamav      unix  -       -       n       -       16      smtp
        -o smtp_send_xforward_command=yes

ClamSMTP seadistamine

Ava /etc/clamsmtpd.conf ja muuda selle sisu selliseks

# Port kuhu edasi suunata meilid
OutAddress: 10025

# Kuula SMTP ühendusi kohaliku masina pordil 10030
Listen: 127.0.0.1:10030

# ClamAV deemon laetakse üks kord mällu ning ta kuulab clamd.ctl UNIX socketil
# ClamSMTPD on lihtsalt üks ClamAV deemoni "klientidest" mis ühendub sinna socketisse
# Iga meili jaoks ClavAV andmebaasi laadimine oleks lihtsalt väga aeglane
ClamAddress: /var/run/clamav/clamd.ctl

# Kasutaja kellena ClamSMTPD jookseb
User: clamsmtp

TempDirectory: /var/spool/clamsmtp
PidFile: /var/run/clamsmtp/clamsmtpd.pid

#MaxConnections: 64
#TimeOut: 180
#Header: X-AV-Checked: ClamAV using ClamSMTP
#Bounce: off
#Quarantine: off
#TransparentProxy: off

Testimine

Selleks, et oleks lihtne testida teeme sellise faili, mille sisuks on:
Pythoni rakendus e-posti saatmiseks:
import smtplib
fromaddr = "[saatja@aadress]"
toaddrs = "[siht@aadress]"
msg = "[Sõnumisisu]?\n"
server = smtplib.SMTP('localhost')
server.sendmail(fromaddr, toaddrs, msg)
server.quit()

Seejärel k2ivitame selle meili saatmse:

python <eelpool loodud faili nimi>

Varundamine ja taastamine

Varundada tuleb kõik seadistusfailid, mida muudeti:

/etc/postfix/main.cf
/etc/postfix/master.cf
/etc/default/spamassassin
/etc/clamsmtpd.conf

Kasutatud kirjandus

http://v6sa.itcollege.ee/wiki/?page=email