ClamAV, MailScanner eta SpamAssassin instalatzen

ClamAV

ClamAV instalatzeko, debian-volatile errepositorioa gaitu behar dugu. Hortarako, /etc/apt/sources.list fitxategian honako lerroa gehitu:

deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-free

Eguneratu pakete iturriek:

    apt-get update

ClamAV instalatuko dugu. Hiru aukerak instalatu behar ditugu. Hau da: zuzeneko egikarikaketa, liburutegiaren bitartez, eta TCP/IP socket-en bitartekoa. Instalatzeko:

    apt-get install clamav clamav-daemon libclamav-dev unzoo lha unrar arj gzip

Azkenengo ClamAV bertsioetan datorren defektuzko konfigurazioa oso aproposa da gure beharrizenetarako. Dena den, aldaketa batzuk egingo ditugu clamd demonioaren konfigurazio fitxategian. Fitxategia hau /etc/clamav/clamd.conf da. Aztertzeko fitxategiaren tamaina gehiengoa 15MB-ra igoko dugu. Esango diogo 3310 portua erabiltzeko (defektuzkoa), baina soilik makina beretik eskaturiko konexioetan. Fitxategiak hurrengo lerroak izan beharko ditu beste batzuez gain.

LogFileMaxSize 3M
ArchiveMaxFileSize 15M
TCPSocket  3310
TCPAddr 127.0.0.1
ScanPDF yes

OHARRA: Nahiz eta azkenengo bertsioetan ez dagoen, agertuko balitz Unix socketen erabilpena komentatu (ezgaitu) egin beharko dugu. Soilik erabil dezakegu socket mota bat, eta TCP/IP socketak erabiliko ditugu. Honela geratuko da:

#LocalSocket /var/run/clamav/clamd.clt

Orain sistema berrabiaraziko dugu:

    /etc/init.d/clamav-daemon restart

Birusen datu-basea eguneratuko dugu:

    freshclam

Erabilgai dugu jada ClamAV. freshclam zerbitzuak, orduro begiratuko du ea birus definizio berririk dagoen. Egonez gero, jaitsi egingo ditu eta clamd demonioa abisatuko du berriz irakur dezan datu-basea.

ClamAV eguneratzerakoan, kontutan izan aldatu egin dugula konfigurazio fitxategia. Honek esan nahi du, aguneratzerakoan, galdetzen badigu ea berria instalatu bahi dugun, ezezkoa esan behar diogula. Gomendio bezala: eguneratu aurretik, /etc/clamav/clamd.conf fitxategiaren kopia egin.

msrbl eta ClamAV

Nahiz eta ez izan bere lana, birus sinadurez gain, interesantea da beste erraminta batzuk ematea ClamAV-ri. Berteak beste, SPAM-a diren edota birusak dituzten irudien eta fitxategien sinadura digitalak. Holako sistema bat instalatuko dugu. Sinadura fitxategiak deskargatzeko script bat erabiliko dugu. Hona hemen nola descargatu eta instalatu scripta.

    wget -P /var/www/lhpaiak http://www.sanesecurity.co.uk/clamav/ss-msrbl.sh
    cp /var/www/lhpaiak/ss-msrbl.sh /var/lib/clamav/
    chmod +x /var/lib/clamav/ss-msrbl.sh

Orain cron lan bat sortuko dugu, egunero egikaritzeko script-a, fitxategi eguneratuak deskargatzeko. /etc/cron.d/ direktorioan, msrbl-cron izena duen fitxategi bat sortuko dugu. Hona hemen bere edukia:

53 04 * * * /var/lib/clamav/ss-rbl.sh &> /dev/null

Orain cron demonioa berrabiarazi.

    /etc/init.d/cron restart

Fitxategi deskarga rsync bitartez egiten denez, TCP 873 portua gaitu behar dugu suhesian.

Source

Destination

Service

Action

perimetroko antibirusa / antivirus perimetral

Internet

rsync(TCP) (873)

Accept

OHARRA: Ongi kontrola ClamAV hasieran. Ezin daiteke fida itsu-itsuan sistema hauetaz. Abisatuta zaude.

MailScanner

MailScanner erabiltzeko, hurrengo aplikazioak behar ditugu instalatuta izan.

PERL
gcc
wget
Postfix

Suposatzen da dena instalatuta daukagula, eta beraz aurrera. MailScanner instala dezagun.

    apt-get install mailscanner tnef

Automatikoki instalatuko du SpamAssassin.

Konfigurazioa ez da hain automatikoa. Pila bat gauza aldatu behar ditugu /etc/MailScanner/MailScanner.conf fitxategian. Lehenengo, ClamAV-rekin lan egiteko egokituko dugu.

Virus Scanning = yes
Virus Scanners = clamav
Monitors for ClamAV Updates = /var/lib/clamav/*.cvd
ClamAVmodule Maximum Recursion Level = 10
ClamAVmodule Maximum File Size = 15000000

Hau agertu behar da /etc/MailScanner/virus.escanner.conf fitxategian:


clamav /etc/MailScanner/wraper/clamav-wrapper /usr

Orain, Postfix-ekin lan egiteko aldatuko dugu. Debian-en defektuzko instalazioak suposatzen du Exim4 izango dela posta zerbitzaria. postfix erabiltzailea bezala egikarituko da MailScanner.

MTA = postfix
Run As User = postfix
Run As Group = postfix
Incoming Queue Dir = /var/spool/postfix/hold
Outgoing Queue Dir = /var/spool/postfix/incoming

Koarentenan dauden eta sartzear dauden mezuentzat direktorioak sortuko ditugu. Ugazaba aldatuko diegu.

    mkdir -p /var/spool/MailScanner/incoming
    mkdir -p /var/spool/MailScanner/quarantine
    chown postfix:postfix /var/spool/MailScanner/incoming
    chown postfix:postfix /var/spool/MailScanner/quarantine

MailScanner-en direktorioen ugazaba aldatuko dugu.

    chown postfix:postfix /var/lib/MailScanner
    chown postfix:postfix /var/run/MailScanner
    chown postfix:postfix /var/lock/subsys/MailScanner

Orain, MailScanner-en mezuak konfiguratuko ditugu. Gure eskolaren izena agertu behar da abisu mezuetan. Kontuz izen laburrarekin. Ez jarri ez zuriunerik ( ), ez punturik (.) ez azpilerrorik (_). Izen luzean, '\n' jartzen badugu, lerro jauzia egingo du.


%org-name% = NireEskola

%org-long-name% = Nire Eslola\nNireKalea 69 -- xxxxx NIREHERRIA (LURRALDEA)
%web-site% = www.nire-eskola.net

Mezuak gazteleraz eman ditzala esango diogu,


%report-dir% = /etc/MailScanner/reports/es

Zenbat segunduro saiatu behar da sarrerako mezuak aztertzen? 6 segunduro esango diogu. Defektuz hola dator.


Queue Scan Interval = 6

Esango diogu SpamQssassin erabil dezala, eta spam-a erregistra dezala.


Spam Checks = yes

Use SpamAssassin = yes
Log Spam = yes

Defektuzko konfigurazioan, MailScanner-ek posta blokeatzen duenean, ez ditu abisatzen bidaltzaileak. Abisa ditzan aginduko diogu. Dena den, ez ditu abisatzen birus bidaltzaileak, gaur egun ez baitu zentzutik.


Notify Senders = yes

Postaren egiaztapenaz abisatzeko, dago bat, zein soilik da eragiketa beraren abisua. Hau da: nahiz eta ezer ez bilatu, abisua jartzen du posta mezuan. Hartzailea molestatu baino ez du egiten honek. Kendu egingo dugu. Honela jarriko dugu:


Sign Clean Messages = no

Azkenik, SpamAssassin-en puntuaketak definituko ditugu, eta zer egin. Esango diegu, spam bezala marka ditzala 4 puntutik gorako mezuak. Esango diogu puntuazio altua izan dadila 7 puntutik gora, eta mezu hauek koarentenan jartzeko. Gainera, esango diogu ez aztertzeko 40KBetik gorako mezuak. Spam mezuak ez dira izaten hain potoloak. Honela geratuko dira hurrengo lerroak:

Max SpamAssassin Size = 40kRequired SpamAssassin Score = 4
High SpamAssassin Score = 7
High Scoring Spam Actions = store

SpamAssassin-ek zerrenda beltzak erabil ditzala ere konfiguratuko dugu. Niri gehien gustatzen zaidan spamhaus erakundearen ZEN zerrenda erabiliko dugu. Hainbat gehiago daude erabilgarri. Ikusi /etc/MailScanner/spam.lists.conf fitxategia. Nahi ditugunak erabil ditzakegu, baina kontutan izan, bere denbora ematen duela egiaztatze bakoitzak, zeren Interneteko zerbitzari batzuetara konektatu behar da. Honela jarri behar da hurrengo lerroa:

Spam List = spamhaus-ZEN

OHARRA: Ez erabili ezgaituta edo abandonatuta dauden zerrendak. Arazoak sor daitezke.

Dena konfiguratu ondoren, erabilpena gaituko dugu. Gainera. aldaketatxo bat egingo dugu. /etc/default/mailscanner fitxategian, hurrengo lerro hauek, horrela geratu behar dira:

q_days=15
run_mailscanner=1

Orain MailScanner berrabiaraziko dugu.

    /etc/init.d/mailscanner start

SpamAssassin

Instalatu ondoren, aldaketa txiki batzuk egin behar dizkiogu SpamAssassin-i. Gure erakundeko goi buruak ez-ikus ditzan, bayes analisia egiten duenean, esan behar diogu. Hortarako, /etc/MailScanner/spam.assassin.prefs.conf fitxategian, 116. lerrotik aurrera, unconfigured-debian-site jartzen duen tokian, gure erakundearen izen motza jarri behar dugu. Hain zuzen ere,  /etc/MailScanner/MailScanner.conf fitxategian, %org-name% aldagaian jarri genuena. Honela geratuko litzateke:

bayes_ignore_header NireEskola-MailScanner
bayes_ignore_header NireEskola-MailScanner-SpamCheck
bayes_ignore_header NireEskola-MailScanner-SpamScore
bayes_ignore_header NireEskola-MailScanner-Information

Ez dira erabili behar Razor2 eta Pyzor sareask. Hortarako, /etc/MailScanner/spam.assassin.prefs.conf fitxategian, 160. lerro aldera, deskomentatu egingo ditugu lerro batzuk. Horrela geratuko lirateke:

use_razor2 0
use_dcc    0
use_pyzor  0

Beste gauza interesgarri bat. Gaitasuna dauka SpamAssassin-ek, pisu ezberdina emateko hizkuntza ezberdinetako mezuei. Hau da: Hizkuntza batean dagoen mezuari, spam puntuzaio gutxiago emango dio. Euskara eta gaztelera aukeratuko ditugu, zeren spam gehiena ingelesez iristen zaigu. Honela jarri hurrengo lerro hau:

ok_locales    eu es

Euskara eta gaztelera hizkuntzak detektatzeko TextCat plugin-a behar da. Plugin hau, gaitu egin behar dugu /etc/spamassassin/v310.pre fitrxategian. Hola geratuko da:

loadplugin Mail::SpamAssassin::Plugin::TextCat

Orain konfiguratuta dago SpamAssassin. Erabilgarri dagoerla adieraziko dugu /etc/default/spamassassin fitxategian. Hurrengo lerroan 1 jarri behar dugu. Honela:

ENABLED=1

Ongi dabilela egiaztatuko dugu orain.

    spamassassin -p /etc/MailScanner/spam.assassin.prefs.conf --lint

Ez luke errorerik eman behar.

Orain abiarazi egin dezakegu SpamAssassin.

    /etc/init.d/spamassassin start

SpamAssassin-ek, arrakasta handiena lortzen du zerrenda beltzen bitartez. Zarranda asko daude. Horietatik asko, /etc/MailScanner/spam.lists.conf fitxategian daude. MailScanner konfiguratzekoan, spamhaus-ZEN aukeratu dugu. Debian errepositorioetan dagoen SpamAssassin bertsioak ez du zerrenda hau. Gaitu egingo dugu. /etc/MailScanner/spam.lists.conf fitxategiaren azkenean, hau gehituko dugu (ez ahaztu azken puntua):

spamhaus-ZEN            zen.spamhaus.org.

Listo.

FuzzyOCR eta SpamAssassin

Gaur egun, spam asko irudiez eginak daude. Irudi hauek, testua daukate edukin nagusi bezala. Metodo trasizionalñak ez dute bale spam hau detektatzeko. Irudi hauek aztertzeko OCR bat behar da. FuzzyOCR dugu SpamAssassin.-entzat plugina. Prozesu kapazitatea aurrezteko, aztertutako irudiak gogoratu egiten ditu. Gainera, irudi hauen arteko aldaketa txikiak ere detekta ditzake. Funtzionatzeko, SpamAssassin 3.1.4 edo berriagoa behar dugu.

Instala dezagun. Lehenengo FuzzyOCRk behar dituen paketeak.

    apt-get  install netpbm gifsicle libungif-bin gocr ocrad libstring-approx-perl libmldbm-perl libmldbm-sync-perl 
liblog-agent-logger-perl imagemagick tesseract-ocr

Orain deskargatu egingo dugu FuzzyOCR. Garapen bertsioa da gomendagarriena, bestea oso zaharra baita.

    wget -P /var/wwwlhpaiak http://users.own-hero.net/~decoder/fuzzyocr/fuzzyocr-3.5.1-devel.tar.gz

Deskonprimitu eta kopiatu fitxategiak /etc/spamassassin direktoriora. 

    cd /var/www/lhpaiak
    tar xvfz fuzzyocr-3.5.1-devel.tar.gz
    cd FuzzyOcr-3.5.1/
    cp FuzzyOcr* /etc/spamassassin/
    cp -r FuzzyOCR /etc/spamassassin/

Konfigurazioa fitxategia /etc/spamassassin/FuzzyOcr.cf da. Esango diogu, zein fitxategitan dauden, bilatu behar dituen hitzak. Nahi izanez gero, hemen jar ditzakegu nahi ditugun guztiak.

focr_global_wordlist /etc/spamassassin/FuzzyOcr.words

Orain esango diogu, zein aplikazio laguntzaile erabili. Honela geratu behar da (dena lerro batean):

focr_bin_helper pnmnorm, pnminvert, convert, ppmtopgm, tesseract

Non bilatu aplikazio hauek:

# Search path for locating helper applications
focr_path_bin /usr/local/netpbm/bin:/usr/local/bin:/usr/bin ?????
focr_preprocessor_file /etc/spamassassin/FuzzyOcr.preps
focr_scanset_file /etc/spamassassin/FuzzyOcr.scansets

Gaitu iruidien hash datubasea.

focr_enable_image_hashing 2
focr_digest_db /etc/spamassassin/FuzzyOcr.hashdb
focr_db_hash /etc/spamassassin/FuzzyOcr.db
focr_db_safe /etc/spamassassin/FuzzyOcr.safe.db

Erregistroa non idatzi? /var/log/FuzzyOcr.log fitxategian. 

focr_logfile /var/log/FuzzyOcr.log

Sor dezagun erregistro fitxategia.

    touch /var/log/FuzzyOcr.log
    chmod 666 /var/log/FuzzyOcr.log

Etengabeki has ez dadin, biratu egin behar dugu log fitxategia. Hurrengo edukiarekin sortuko dugu /etc/logrotate.d/fuzzyocr fitxategia:

/var/log/FuzzyOcr.log {
rotate 12
weekly
notifempty
compress
delaycompress
create 666 root root
}

Orain SpamAssassin berrabiaraziko dugu. Arazorik? Erroren bat aurki dezakegu. Logger.pm modulua falta bada, agian, izan daiteke ez dugulako bilatzen. Agian beste direktorioa batean daukagu instalatuta. Zuzeneko diraktoriora kopiatuko dugu.

    cp /usr/share/perl5/Log/Agent/Logger.pm /usr/share/perl5/Mail/SpamAssassin/

Aurki sdezakegun beste arazi bat, Timeout.pm liburutegia da. Ez badaukagu sisteman, SpamAssassin deskargatu behar dugu Internetetik. Bertan aurki dezakegu liburutegi hau.

    wget -P /var/www/lhpaiak http://apache.rediris.es/spamassassin/source/Mail-SpamAssassin-3.1.8.tar.gz
    cd /var/www/lhpaiak
    tar zxf Mail-SpamAssassin-3.1.8.tar.gz
    cp Mail-SpamAssassin-3.1.8/lib/Mail/SpamAssassin/Timeout.pm /usr/share/perl5/Mail/SpamAssassin/

Beste PERL liburutegi batzuk instlatuko ditugu. Instalazioa CPAN errepositorioetatik egingo dugu. CPAN konfigurazioa eskuz ezarri nahi dugun galdetzen badigu, ezezkoa erantzun.

    cpan -i String::Approx Time::HiRes Log::Agent

Proba dezagun ea funtzionatzen duen. FuzzyOCR deskargatu dugun direktorioan zenbait irudu daude adibide gisa.

    spamassassin --debug FuzzyOcr < /var/www/lhpaiaki/FuzzyOcr-3.5.1/samples/ocr-gif.eml > /dev/null

Dena ongi badago, holako zerbait ikusi behar dugu:

[10025] dbg: FuzzyOcr:
[10025] dbg: FuzzyOcr: Friday Augurt 4, 4:01 pm ET
[10025] dbg: FuzzyOcr: LAS VEGAS, NEVADA--(MARKET WIRE)--Aug 4, 2006 -- auantum Energy, lnc. (OTC
[10025] dbg: FuzzyOcr: BB:aEGY.oB-_-
[10025] dbg: FuzzyOcr: auantum Energy, lnc. is pleased to announce that it has applied to have its shares listed for
[10025] dbg: FuzzyOcr: trading on the Frankfurt Stock Exchange. The company has retained the services ofBaltic
[10025] dbg: FuzzyOcr: lnvestment Group of Hamburg, Germany to assist with the application.
[10025] dbg: FuzzyOcr:
[10025] dbg: FuzzyOcr: _ qEGY,OB "
[10025] dbg: FuzzyOcr:
[10025] dbg: FuzzyOcr: <<=end
[10025] info: FuzzyOcr: Scanset "ocrad" found word "target" with fuzz of 0.0000
[10025] info: FuzzyOcr: line: "short term price target oo"
[10025] info: FuzzyOcr: Scanset "ocrad" found word "service" with fuzz of 0.0000
[10025] info: FuzzyOcr: line: "trading on the frankfurt stock exchange the company has retained the services ofbaltic"
[10025] info: FuzzyOcr: Scanset "ocrad" found word "stock" with fuzz of 0.0000
[10025] info: FuzzyOcr: line: "hot energy stocki"
[10025] info: FuzzyOcr: Scanset "ocrad" found word "stock" with fuzz of 0.0000
[10025] info: FuzzyOcr: line: "trading on the frankfurt stock exchange the company has retained the services ofbaltic"
[10025] info: FuzzyOcr: Scanset "ocrad" found word "price" with fuzz of 0.0000
[10025] info: FuzzyOcr: line: "current price o"
[10025] info: FuzzyOcr: Scanset "ocrad" found word "price" with fuzz of 0.0000
[10025] info: FuzzyOcr: line: "short term price target oo"
[10025] info: FuzzyOcr: Scanset "ocrad" found word "company" with fuzz of 0.0000
[10025] info: FuzzyOcr: line: "trading on the frankfurt stock exchange the company has retained the services ofbaltic"
[10025] info: FuzzyOcr: Scanset "ocrad" found word "recommendation" with fuzz of 0.0000
[10025] info: FuzzyOcr: line: "sboog bup recommendation"
[10025] dbg: FuzzyOcr: Enough OCR Hits without space stripping, skipping second matching pass...
[10025] info: FuzzyOcr: Scanset "ocrad" generates enough hits (8), skipping further scansets...
[10025] info: FuzzyOcr: Message is spam, score = 15.000
[10025] info: FuzzyOcr: Adding Hash to "/etc/mail/spamassassin/FuzzyOcr.db" with score "15.000"
[10025] dbg: FuzzyOcr: Digest:
538584:327:549:7::255:255:255:255:168580::0:0:0:0:9098::0:128:0:75:1086::0:0:128:15:395::128:0:128:53:213::0:0:255:29:115
[10025] info: FuzzyOcr: Words found:
[10025] info: FuzzyOcr: "target" in 1 lines
[10025] info: FuzzyOcr: "service" in 1 lines
[10025] info: FuzzyOcr: "stock" in 2 lines
[10025] info: FuzzyOcr: "price" in 2 lines
[10025] info: FuzzyOcr: "company" in 1 lines
[10025] info: FuzzyOcr: "recommendation" in 1 lines
[10025] info: FuzzyOcr: (12 word occurrences found)
[10025] dbg: FuzzyOcr: Remove DIR: /tmp/.spamassassin10025QnPTq8tmp
[10025] dbg: FuzzyOcr: FuzzyOcr ending successfully...
[10025] dbg: FuzzyOcr: Processed in 0.371381 sec.

Listo! Martxan dugu jada FuzzyOCR!

SpamAssassin-i erakusten

MailScanner eta Postfix elkarrekin

Esngo diogu Postfix-i egiazta dezala postaren barne-goiburuak, header_checks fitxategian dauden edukinekin. Hortarako, hurrengo hau gehitu /etc/postfix/main.cf fitxategian.


header_checks = regexp:/etc/postfix/header_checks

Fitxategi hontan, posta mezu berriak HOLD direktorioan gorde ditzala esango diogu. Hortarako hurrengo lerroa jarriko dugu /etc/postfix/header_checks fitxategian.


/^Received:/ HOLD

MailScanner eta Postfix berrabiaraziko ditugu.

    /etc/init.d/mailscanner restart
    /etc/init.d/postfix restart

MailScanner-i buruz

MailScanner-en lana ez da soilik antibitus eta antiespan produktuak erabili eta kudeatzea. Arriskutsuak izan daitezkeen edukinak filtratzeko kapazitate handia du. Edukin horiek, .pif, .exe, .scr etab. fitxategiak izaten dira. Word aplikazioaren .DOC fitxategiak makro arriskutsuak eduki ditzakete. Windows-wn WMF (Windows Metafile) fitxategiak 0day.exploit ahulkeriak esplotatzeko erabil daitezke. Beste Windows atakatzeko erabili den fitxategi mota vbat ANI da. Hau da. kurtsore bizidunak. Filtratu egin behar dura.

Hori dela eta, MailScanner-ek pila bat fitxategi blokea ditzake, eta gure erabiltzaileak ez dute ulertuko egunero erabiltzebn duten fitxategi mota baten ariskua. Gure esku dago segurtasun politikak malgutzea. MailScanner-en /etc/MailScanner/filename.rules.conf fitxategian desgaitu ditzakegu behar ditugun formatuak. Honen ondoren, MailScanner barrabiarazi.

Beharrezkoa izan daiteke desgaitzea WMB eta BMT, gure erabiltzaileek, Windows programen irudiak OpenOffice-en .odt fitxategian itsatsirik bidaltzen badituzte.

Toki berean dugu filetype.rules.conf fitxategia. Antzerako funtzionalitatea du fitxategi motekin.


DNS eta Suebakian aldaketak

Antibirusaren lehenendo DNS zerbitzarian, beronen izena jarri behar dugu posta zerbitzari bezala (MX erregistroa), posta zerbitzaria baino lehentasun txikiagoarekin. Hau da: zenbaki handiagoarekin.

Suhesian, NAT egin beharko dugu, baina ez posta zerbitzatrira, baizik eta perimetroko antibirusa duen zerbitzarira.