Labor2 E-post: Difference between revisions
No edit summary |
|||
(69 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
=Legend= | =Legend= | ||
Ver. 0.00, 03.11.2009 | Ver. 0.00, 03.11.2009<br> | ||
Ver. 0.01, 14.12.2009<br> | |||
Ver. 0.02, 17.12.2009<br> | |||
Ver. 0.03, 18.12.2009 | |||
=Tegijad= | =Tegijad= | ||
Line 7: | Line 10: | ||
Sander Surva<br> | Sander Surva<br> | ||
Ken Karma<br> | Ken Karma<br> | ||
Lauri Võsandi<br> | |||
=Sissejuhatus= | |||
Meil on kaks domeeni, kus on mailiserverid ja osapooled saavad omavahel e-posti teel suhelda. ssurva.ee ja kkarma.ee. kkarma.ee peale on seadistatud nii spämmifilter kui ja viirusetõrje sissetulevate mailide jaoks. Mõlemad domeenid samas logivad logiteateid eraldi faili. | |||
=Nõuded= | =Nõuded= | ||
# domeenid kkarma ja ssurva | |||
# d1 viirusetõrjega | |||
# d1 spammifilter | |||
# logima syslog-i + eraldi faili | |||
+----+ +----+ | |||
| D1 | ------> | D2 | | |||
+----+ +----+ | |||
=Eeldused= | =Eeldused= | ||
Operatsioonisüsteemiks peab olema Ubuntu Server, mis jookseb kernelil 2.6.28-11 | 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: [https://wiki.itcollege.ee/index.php/Nimeserveri_seadistamine_BIND9_n%C3%A4itel] | ||
apt-get install bind9 | |||
kohalikud domeenid kkarma ja ssurva paigutame faili /etc/bind/named.conf.local | |||
<pre> | |||
zone "6.168.192.in-addr.arpa" IN { | |||
type master; | |||
file "/etc/bind/db.6.168.192.in-addr.arpa"; | |||
}; | |||
zone "ssurva.ee" IN { | |||
type master; | |||
file "/etc/bind/db.ssurva.ee"; | |||
}; | |||
zone "kkarma.ee" IN { | |||
type master; | |||
file "/etc/bind/db.kkarma.ee"; | |||
}; | |||
</pre> | |||
<pre> | |||
nano /etc/bind/db.ssurva.ee | |||
nano /etc/bind/db.kkarma.ee | |||
nano /etc/bind/db.6.168.192.in-addr.arpa | |||
</pre> | |||
Nende failide sisu muuta järgmiselt | |||
<pre> | |||
; | |||
; BIND data file for ssurva.ee | |||
; | |||
$ORIGIN ssurva.ee. | |||
$TTL 604800 | |||
@ IN SOA ns.ssurva.ee. root.ssurva.ee. ( | |||
3 ; Serial | |||
604800 ; Refresh | |||
86400 ; Retry | |||
2419200 ; Expire | |||
604800 ) ; Negative Cache TTL | |||
; | |||
ssurva.ee. IN NS ns.ssurva.ee. | |||
ssurva.ee. IN MX 10 mail.ssurva.ee. | |||
ns.ssurva.ee. IN A 192.168.6.88 | |||
mail.ssurva.ee. IN A 192.168.6.88 | |||
www.ssurva.ee. IN CNAME ssurva.ee. | |||
ssurva.ee. IN A 192.168.6.88 | |||
</pre> | |||
<pre> | |||
; | |||
; BIND data file for kkarma.ee | |||
; | |||
$ORIGIN kkarma.ee. | |||
$TTL 604800 | |||
@ IN SOA ns.kkarma.ee. root.too.ee. ( | |||
3 ; Serial | |||
604800 ; Refresh | |||
86400 ; Retry | |||
2419200 ; Expire | |||
604800 ) ; Negative Cache TTL | |||
; | |||
kkarma.ee. IN NS ns.kkarma.ee. | |||
kkarma.ee. IN MX 10 mail.kkarma.ee. | |||
ns.kkarma.ee. IN A 192.168.6.87 | |||
mail.kkarma.ee. IN A 192.168.6.87 | |||
www.kkarma.ee. IN CNAME kkarma.ee. | |||
kkarma.ee. IN A 192.168.6.87 | |||
</pre> | |||
; | |||
; BIND data file for local loopback interface | |||
; | |||
$TTL 604800 | |||
@ IN SOA localhost. root.localhost. ( | |||
3 ; Serial | |||
604800 ; Refresh | |||
86400 ; Retry | |||
2419200 ; Expire | |||
604800 ) ; Negative Cache TTL | |||
; | |||
6.168.192.in-addr.arpa. IN NS ns.ssurva.ee. | |||
88.6.168.192.in-addr.arpa. IN PTR ns.ssurva.ee. | |||
88.6.168.192.in-addr.arpa. IN PTR mail.ssurva.ee. | |||
87.6.168.192.in-addr.arpa. IN PTR mail.kkarma.ee. | |||
=E-posti tarkvara paigaldus= | |||
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 | |||
SASL autentimiseks: | |||
apt-get install libsasl2-2 sasl2-bin | |||
=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/ | |||
#Selleks, et võimaldada ITK tudengitele meile saata muuda relayhost selliseks- siis saad sisev6rgus olles sinna kirju saata: | |||
relayhost = earl.itcollege.ee | |||
Tee kindlaks et '''mydestination''' viitaks kohalikule masinale (et pingida saaks): | |||
mydestination = kkarma.ee, | |||
Peale seda ava Postfixi peamine seadistusfail /etc/postfix/master.cf ja tee kindlaks et seal on sellised read: | |||
<code lang="bash"> | |||
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 | |||
Peale seadistuste muutmist tuleks Postfix'i deemon uuesti laadida: | |||
/etc/init.d/postfix reload | |||
</code> | |||
==SASL seadistamine== | |||
Tuleb lisada kasutaja '''postfix''' gruppi '''sasl''': | |||
sudo adduser postfix sasl | |||
Ava /etc/postfix/sasl/smtpd.conf: | |||
pwcheck_method: saslauthd | |||
saslauthd_path: /etc/mux | |||
mech_list: login plain | |||
Ava SASL seadistuste fail: /etc/default/saslauthd: | |||
START=yes | |||
MECHANISMS="pam" | |||
OPTIONS="-c -m /var/spool/postfix/etc" | |||
Peale seda tuleks SASL teenus taaskäivitada: | |||
sudo /etc/init.d/saslauthd restart | |||
==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 | |||
Peale seadistuste muutmist tuleks ClamSMTP deemon uuesti laadida: | |||
/etc/init.d/clamsmtp reload | |||
==SpamAssassin== | |||
Kõigepeal veendu, et /etc/default/spamassassin failis oleks, siis saab Postfix käivitada spamc rakenduse! | |||
ENABLED=1 | |||
Tasub veel teada et pordil 783 kuulab SpamAssassin'i deemon, mille kaudu saab suvalist teksti filtreerida. Postfix kutsub välja käsurearakendust '''spamc''', mis ühendub nimetatud pordile ning filtreerib kirju. Deemoni kinnipanemiseks või käivitamiseks võib kasutada käsku: | |||
/etc/init.d/spamassassin start|stop | |||
=Testimine= | =Testimine= | ||
==Saatmine SMTP'ga== | |||
Selleks, et oleks lihtne testida teeme sellise faili, mille sisuks on: | |||
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 käivitame selle Python rakenduse: | |||
python <eelpool loodud faili nimi> | |||
==Lugemine IMAP'iga== | |||
Järgnev Python programm püüab kohalikku masinasse sisse logida IMAP kaudu ning püüab tõmmata viimast e-kirja. Samas kontrollib, kas e-kirjale tehti viirusetõrjet ning rämpspostikontrolli: | |||
# -*- coding: utf-8 -*- | |||
import getpass, imaplib, sys | |||
def main(): | |||
M = imaplib.IMAP4("localhost", 143) | |||
print "Username: ", | |||
username = sys.stdin.readline().strip() | |||
password = getpass.getpass() | |||
M.login(username, password) | |||
status, value = M.select() | |||
if status != "OK": | |||
print "Failed to log in" | |||
return | |||
mails = value[0] | |||
status, data = M.fetch( mails,'(RFC822)') | |||
if status != "OK": | |||
print "Failed to fetch mail!" | |||
return | |||
content = data[0][1] | |||
print content | |||
print "\nConclusion:" | |||
if "X-Virus-Scanned: ClamAV using ClamSMTP" in content: | |||
print "* Virus scan performed" | |||
else: | |||
print "* NO Virus scan performed!!!" | |||
if "X-Spam-Checker-Version: SpamAssassin" in content: | |||
print "* Spam check performed" | |||
else: | |||
print "* NO Spam check performed!!!" | |||
M.close() | |||
M.logout() | |||
main() | |||
Seejärel käivitame selle Python rakenduse: | |||
python <eelpool loodud faili nimi> | |||
==Kontrolli kas kõik sõlmed läbitakse, seda saab kirja päisest-HEADERS'ist== | |||
Näide: | |||
Return-Path: <testing@kkarma.localdomain> | |||
X-Original-To: root@localhost | |||
Delivered-To: root@localhost | |||
Received: by kkarma.localdomain (Postfix, from userid 65534) | |||
id DD69C17E20; Thu, 17 Dec 2009 19:31:18 +0200 (EET) | |||
'''X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on kkarma.ee''' | |||
'''X-Spam-Level: **''' | |||
'''X-Spam-Status: No, score=2.7 required=5.0 tests=ALL_TRUSTED,MISSING_SUBJECT, | |||
TVD_SPACE_RATIO autolearn=no version=3.2.5''' | |||
Received: from kkarma.localdomain (localhost [127.0.0.1]) | |||
by kkarma.localdomain (Postfix) with ESMTP id 0F5BC17E1B | |||
for <root@localhost>; Thu, 17 Dec 2009 19:31:18 +0200 (EET) | |||
Received: from kkarma.ee (localhost [127.0.0.1]) | |||
by kkarma.localdomain (Postfix) with ESMTP id CCCFC17DFD | |||
for <root@localhost>; Thu, 17 Dec 2009 19:31:17 +0200 (EET) | |||
Message-Id: <20091217173117.CCCFC17DFD@kkarma.localdomain> | |||
Date: Thu, 17 Dec 2009 19:31:17 +0200 (EET) | |||
From: testing@kkarma.localdomain | |||
To: undisclosed-recipients:; | |||
'''X-Virus-Scanned: ClamAV using ClamSMTP''' | |||
Tumendatud trükis olev kiri käib Spammiroboti ja viirusetõrje töötamise kohta! | |||
=Varundamine= | |||
Varundada tuleb kõik seadistusfailid, mida muudeti: | |||
/etc/postfix/main.cf | |||
/etc/postfix/master.cf | |||
/etc/default/spamassassin | |||
/etc/clamsmtpd.conf | |||
Postfix, SpamAssassini ja ClamSMTP seadistuste varundamine, et oleks hea näha millal varundamine tehti lisame sellele varundamise kuupäeva, selline kuupäevaformaat(AastaKuuPäev)võimaldab kiirelt viimase faili leida: | |||
tar cvf varundamine.`date '+%Y%m%d'`.tar /etc/postfix/* /etc/default/spamassassin /etc/clamsmtpd.conf | |||
=Taastamine= | |||
Järgneva käsuga saab kõik seaded taastada varemsalvestatud ''tarball''ist | |||
cd / && tar xvf varundamine.tar | |||
=Kasutatud kirjandus= | |||
http://v6sa.itcollege.ee/wiki/?page=email | |||
[[Category:IT infrastruktuuri teenused]] |
Latest revision as of 17:32, 13 March 2010
Legend
Ver. 0.00, 03.11.2009
Ver. 0.01, 14.12.2009
Ver. 0.02, 17.12.2009
Ver. 0.03, 18.12.2009
Tegijad
Sander Surva
Ken Karma
Lauri Võsandi
Sissejuhatus
Meil on kaks domeeni, kus on mailiserverid ja osapooled saavad omavahel e-posti teel suhelda. ssurva.ee ja kkarma.ee. kkarma.ee peale on seadistatud nii spämmifilter kui ja viirusetõrje sissetulevate mailide jaoks. Mõlemad domeenid samas logivad logiteateid eraldi faili.
Nõuded
- domeenid kkarma ja ssurva
- d1 viirusetõrjega
- d1 spammifilter
- 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
zone "6.168.192.in-addr.arpa" IN { type master; file "/etc/bind/db.6.168.192.in-addr.arpa"; }; zone "ssurva.ee" IN { type master; file "/etc/bind/db.ssurva.ee"; }; zone "kkarma.ee" IN { type master; file "/etc/bind/db.kkarma.ee"; };
nano /etc/bind/db.ssurva.ee nano /etc/bind/db.kkarma.ee nano /etc/bind/db.6.168.192.in-addr.arpa
Nende failide sisu muuta järgmiselt
; ; BIND data file for ssurva.ee ; $ORIGIN ssurva.ee. $TTL 604800 @ IN SOA ns.ssurva.ee. root.ssurva.ee. ( 3 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; ssurva.ee. IN NS ns.ssurva.ee. ssurva.ee. IN MX 10 mail.ssurva.ee. ns.ssurva.ee. IN A 192.168.6.88 mail.ssurva.ee. IN A 192.168.6.88 www.ssurva.ee. IN CNAME ssurva.ee. ssurva.ee. IN A 192.168.6.88
; ; BIND data file for kkarma.ee ; $ORIGIN kkarma.ee. $TTL 604800 @ IN SOA ns.kkarma.ee. root.too.ee. ( 3 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; kkarma.ee. IN NS ns.kkarma.ee. kkarma.ee. IN MX 10 mail.kkarma.ee. ns.kkarma.ee. IN A 192.168.6.87 mail.kkarma.ee. IN A 192.168.6.87 www.kkarma.ee. IN CNAME kkarma.ee. kkarma.ee. IN A 192.168.6.87
; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA localhost. root.localhost. ( 3 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; 6.168.192.in-addr.arpa. IN NS ns.ssurva.ee. 88.6.168.192.in-addr.arpa. IN PTR ns.ssurva.ee. 88.6.168.192.in-addr.arpa. IN PTR mail.ssurva.ee. 87.6.168.192.in-addr.arpa. IN PTR mail.kkarma.ee.
E-posti tarkvara paigaldus
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
SASL autentimiseks:
apt-get install libsasl2-2 sasl2-bin
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/ #Selleks, et võimaldada ITK tudengitele meile saata muuda relayhost selliseks- siis saad sisev6rgus olles sinna kirju saata: relayhost = earl.itcollege.ee
Tee kindlaks et mydestination viitaks kohalikule masinale (et pingida saaks):
mydestination = kkarma.ee,
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
Peale seadistuste muutmist tuleks Postfix'i deemon uuesti laadida:
/etc/init.d/postfix reload
SASL seadistamine
Tuleb lisada kasutaja postfix gruppi sasl:
sudo adduser postfix sasl
Ava /etc/postfix/sasl/smtpd.conf:
pwcheck_method: saslauthd saslauthd_path: /etc/mux mech_list: login plain
Ava SASL seadistuste fail: /etc/default/saslauthd:
START=yes MECHANISMS="pam" OPTIONS="-c -m /var/spool/postfix/etc"
Peale seda tuleks SASL teenus taaskäivitada:
sudo /etc/init.d/saslauthd restart
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
Peale seadistuste muutmist tuleks ClamSMTP deemon uuesti laadida:
/etc/init.d/clamsmtp reload
SpamAssassin
Kõigepeal veendu, et /etc/default/spamassassin failis oleks, siis saab Postfix käivitada spamc rakenduse!
ENABLED=1
Tasub veel teada et pordil 783 kuulab SpamAssassin'i deemon, mille kaudu saab suvalist teksti filtreerida. Postfix kutsub välja käsurearakendust spamc, mis ühendub nimetatud pordile ning filtreerib kirju. Deemoni kinnipanemiseks või käivitamiseks võib kasutada käsku:
/etc/init.d/spamassassin start|stop
Testimine
Saatmine SMTP'ga
Selleks, et oleks lihtne testida teeme sellise faili, mille sisuks on:
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 käivitame selle Python rakenduse:
python <eelpool loodud faili nimi>
Lugemine IMAP'iga
Järgnev Python programm püüab kohalikku masinasse sisse logida IMAP kaudu ning püüab tõmmata viimast e-kirja. Samas kontrollib, kas e-kirjale tehti viirusetõrjet ning rämpspostikontrolli:
# -*- coding: utf-8 -*- import getpass, imaplib, sys def main(): M = imaplib.IMAP4("localhost", 143) print "Username: ", username = sys.stdin.readline().strip() password = getpass.getpass() M.login(username, password) status, value = M.select() if status != "OK": print "Failed to log in" return mails = value[0] status, data = M.fetch( mails,'(RFC822)') if status != "OK": print "Failed to fetch mail!" return content = data[0][1] print content print "\nConclusion:" if "X-Virus-Scanned: ClamAV using ClamSMTP" in content: print "* Virus scan performed" else: print "* NO Virus scan performed!!!" if "X-Spam-Checker-Version: SpamAssassin" in content: print "* Spam check performed" else: print "* NO Spam check performed!!!" M.close() M.logout() main()
Seejärel käivitame selle Python rakenduse:
python <eelpool loodud faili nimi>
Kontrolli kas kõik sõlmed läbitakse, seda saab kirja päisest-HEADERS'ist
Näide:
Return-Path: <testing@kkarma.localdomain> X-Original-To: root@localhost Delivered-To: root@localhost Received: by kkarma.localdomain (Postfix, from userid 65534) id DD69C17E20; Thu, 17 Dec 2009 19:31:18 +0200 (EET) X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on kkarma.ee X-Spam-Level: ** X-Spam-Status: No, score=2.7 required=5.0 tests=ALL_TRUSTED,MISSING_SUBJECT, TVD_SPACE_RATIO autolearn=no version=3.2.5 Received: from kkarma.localdomain (localhost [127.0.0.1]) by kkarma.localdomain (Postfix) with ESMTP id 0F5BC17E1B for <root@localhost>; Thu, 17 Dec 2009 19:31:18 +0200 (EET) Received: from kkarma.ee (localhost [127.0.0.1]) by kkarma.localdomain (Postfix) with ESMTP id CCCFC17DFD for <root@localhost>; Thu, 17 Dec 2009 19:31:17 +0200 (EET) Message-Id: <20091217173117.CCCFC17DFD@kkarma.localdomain> Date: Thu, 17 Dec 2009 19:31:17 +0200 (EET) From: testing@kkarma.localdomain To: undisclosed-recipients:; X-Virus-Scanned: ClamAV using ClamSMTP
Tumendatud trükis olev kiri käib Spammiroboti ja viirusetõrje töötamise kohta!
Varundamine
Varundada tuleb kõik seadistusfailid, mida muudeti:
/etc/postfix/main.cf /etc/postfix/master.cf /etc/default/spamassassin /etc/clamsmtpd.conf
Postfix, SpamAssassini ja ClamSMTP seadistuste varundamine, et oleks hea näha millal varundamine tehti lisame sellele varundamise kuupäeva, selline kuupäevaformaat(AastaKuuPäev)võimaldab kiirelt viimase faili leida:
tar cvf varundamine.`date '+%Y%m%d'`.tar /etc/postfix/* /etc/default/spamassassin /etc/clamsmtpd.conf
Taastamine
Järgneva käsuga saab kõik seaded taastada varemsalvestatud tarballist
cd / && tar xvf varundamine.tar