SpamAssassin OpenBSD baasil: Difference between revisions
Line 225: | Line 225: | ||
postmap /etc/postfix/transport | postmap /etc/postfix/transport | ||
Testime, kas Postfix töötab. | <!-- Testime, kas Postfix töötab. | ||
# postfix start | # postfix start | ||
Line 234: | Line 234: | ||
Escape character is '^]'. | Escape character is '^]'. | ||
220 mail.kala.ee ESMTP Postfix | 220 mail.kala.ee ESMTP Postfix | ||
--> | |||
Teeme nii, et Postfix käivituks edaspidi alglaadimisel ja lisame selleks /etc/rc.local faili vajaliku info. | Teeme nii, et Postfix käivituks edaspidi alglaadimisel ja lisame selleks /etc/rc.local faili vajaliku info. |
Revision as of 14:51, 26 January 2010
Autor
- Siim Liivand, AK31
Dokumendi ajalugu
Viimati muudetud: 26. jaanuar 2010
versioon | kuupäev | kommentaar |
pre-alpha | 12.01.10 | algus... |
beta1 | 16.01.10 | OS-i installi osa on üldjoontes valmis ja mingid kohahoidjad ka muus dokumendi osas paigas |
25.01.10 | olemasoleva osa väikene kohendamine | |
public beta | 26.01.10 | eesmärgiks saada asi niipalju valmis, et on kasutatav |
Sissejuhatus ja skoop
Dokument käsitleb OpenBSD baasil rämpsposti filtreeriva serveri paigaldamist vaadeldes seejuures eraldi ka SpamAssassini konfigureerimist ja filtreid. Tulemuseks on rämpsposti filtreerimise server, mis võtab mailid vastu, kontrollib ja edastab seejärel lõppadressaadiks olevale serverile (näiteks ettevõtte Exchange'i server). Loomulikult on võimalik konfigureerida server ka selliselt, et maile ei edastata, vaid server ise ongi lõppadressdaadiks, st kohaks, kus asuvad kasutajate postkastid.
Tarkvara ja versioonid, mille puhul antud dokument peaks toimima:
- OpenBSD versioon 4.6
- Postfix versioon 2.6.5
- amavisd-new versioon 2.6.3
Nõuded, eeldused
- OpenBSD toetab paljusid erinevaid riistvaraplatvorme, sh. loomulikult PC platvormi. Toetatud on nii 32- kui 64-bitised protsessorid ja mitmetuumalised protsessorid.
- Miinimumnõuded riistvarale. OpenBSD on võimalik paigaldada märkimisväärselt viletsale riistvarale, kuid mida parema jõudlusega riistvara kasutada, seda valutum on paigaldusprotsess ning hilisema valmis süsteemi töö. Kuigi põhimõtteliselt on võimalik antud süsteemi paigaldada kasvõi 500MB kõvakettale, võiks kõvaketta mahuks olla siiski vähemasti näiteks 20GB, mälu 512MB. Protsessori jõudlus on seda olulisem, mida suurema koormusega süsteem tööle hakkab. SpamAssassin võib teatud juhtudel tarbida päris palju ressurssi. Põhimõtteliselt võib öelda, et riistvara osas tegelikult piiranguid ei ole. Siiski võib muidugi juhtuda, et mingi eriti uue või eksootilise riistvarakomponendi tugi puudub. Eelnevalt võib tutvuda ka toetatud riistvara nimekirjaga.
- Kuna süsteemi installeerimine käib üle internetiühenduse, siis on loomulikult vajalik internetiühendus. Lisaks, kuna tegemist on e-posti serveriga, eeldab see iseenesest juba internetiühenduse olemasolu, kuna muidu oleks tegemist kasutu mittetoimiva süsteemiga.
- Kasuks tuleks tekstiredaktori vi kasutamise oskus.
- Vajalik on mingi baasteadmine arvutivõrgundusest.
- Näites installeeritakse süsteem vmware serveri virtuaalmasinana. Sellisel juhul peaks olema olemas eelnev teadmine vmware kasutamisest.
- SpamAssassini konfigureerimiseks võiks olla olemas teadmised perli regulaaravaldiste kasutamisest.
OpenBSD paigaldamine
Detailse OpenBSD installeerimise juhendi leiab OpenBSD veebilehelt ja operatsioonisüsteemi paigaldamisel tuleks lähtuda ennekõike sellest ja konkreetsetest vajadustest. Järgnevalt on toodud siiski lühidalt OpenBSD installeerimise juhend, toetudes konkreetsele näitele.
Baasinstall
Esmalt tuleb hankida OpenBSD installimeedia. Seda on võimalik hankida mitmel erineval kujul, kuid soovitav on tõmmata alla see minimalistlik ISO-tõmmis (5,89MB), mille saab kirjutada kas CD plaadile või haakida külge virtuaaldraivina. Bootides arvuti sellelt kettalt käivitub OpenBSD install. Paigaldades OpenBSD'd VMWarele valige operatsioonisüsteemiks Others ja FreeBSD. OpenBSD all saab kasutada FreeBSD jaoks mõeldud VMWare Tools'e (see jääb küll antud dokumendi skoobist välja).
Installatsiooni käivitamisel jookseb üle ekraani kõigepealt hulk dmesg teateid, mida hiljem saab soovi korral alati üle vaadata failist /var/run/dmesg.boot
Lõpuks jääb ekraanile järgmine tekst, vali (I)nstall:
Welcome to the OpenBSD/i386 4.6 installation program. (I)nstall, (U)pgrade or (S)hell? i
Kõikide valikute järel nurksulgudes toodud valik on see, mida installatsioon vaikimisi pakub. Kui tegelik pilt erineb näite omast, siis sisesta ikkagi näites vaikimisi toodud valik, kui ei ole teadaolevat põhjust toimida teisiti.
Vaikimisi klaviatuuripaigutus on ilmselt sobiv, aga soovi korral võib muidugi valida midagi muud.
Choose your keyboard layout ('?' or 'L' for list) [default] Enter
Määra serverile enda jaoks sobiv hostinimi. Praeguses näites nüüd ja edaspidi kasutame nime mail.
System hostname? (short form, e.g. 'foo') mail
Tõenäoliselt on sobiv vaikimisi pakutav võrguliides.
Available network interfaces are: vic0 vlan0. Which one do you wish to configure? (or 'done') [vic0] Enter
Võiksime kasutada ka DHCP'd, kuid seadistame praeguses näites võrguseaded käsitsi (kasuta oma kohalikule võrgule vastavaid seadeid). Serveritele DHCPga võrguseadete omistamine ei pruugi olla kõige parem idee.
IPv4 address for vic0? (or 'dhcp' or 'none') [dhcp] 192.168.1.200 Netmask? [255.255.255.0] Enter IPv6 address for vic0? (or 'rtsol' or 'none') [none] Enter Available network interfaces are: vic0 vlan0. Which one do you wish to configure? (or 'done') [done] Enter Default IPv4 route? (IPv4 address, 'dhcp' or 'none') 192.168.1.254 DNS domain name? (e.g. 'bar.com') [my.domain] kala.ee DNS nameservers? (IP address list or 'none') [none] 192.168.1.254 Do you want to do any manual network configuration? [no] Enter
Määrame root-kasutaja salasõna. Sisestamisel salasõna ei kuvata.
Password for root account? (will not echo) Password for root account? (again)
Start sshd(8) by default? [yes] Enter
Paigaldades operatsioonisüsteemi VMWare peale, vasta ntpd'le no vastasel korral vasta yes.
Start ntpd(8) by default? [no] Enter Do you expect to run the X Window System? [yes] no Change the default console to com0? [no] Enter Setup a user? (enter a lower-case loginname, or 'no') [no] Enter What timezone are you in? ('?' for list) [Europe/Tallinn] Enter
Available disks are: sd0. Which one is the root disk? (or 'done') [sd0] Enter Use (W)hole disk or (E)dit the MBR? [whole] Enter
OpenBSD pakub nüüd välja omapoolse ketta automaatse partitsioneerimisskeemi ja lihtsuse huvides võib sellega nõustuda. Tegelikult võiksime partitsioneerida ketta ka käsitsi, valides (C)ustom. Näiteks on tõenäoliselt vaikimisi pakutud /home meie vajaduste jaoks liiga suure mahuga ning /usr liiga väikese jne. Konkreetne partitsioneerimisskeem vajab eelnevalt läbimõtlemist vastavalt vajadustele.
Use (A)uto layout, (E)dit auto layout, or create (C)ustom layout? [a] Enter
Kuna valisime installimeediaks variandi, mis ei sisalda endas rohkem tarkvara, kui vajalik installatsiooni käivitamiseks, siis paigaldame ülejäänud tarkvara üle võrgu. Valime meetodiks ftp ja serveriks mõne lähedal asuva serveri (Eestis on kaks serverit: ftp.aso.ee ja ftp.estpak.ee, rohkem variante näeb ? käsuga).
Let's install the sets! Location of sets? (cd disk ftp http or 'done') [cd] ftp HTTP/FTP proxy URL? (e.g. 'http://proxy:8080', or 'none') [none] Enter Server? (hostname, list#, 'done' or '?') [ftp.estpak.ee] Enter Server directory? [pub/OpenBSD/4.6/i386] Enter Login? [anonymous] Enter Set name(s)? (or 'abort' or 'done') [done] -x* Set name(s)? (or 'abort' or 'done') [done] Enter
Toimub tarkvara allalaadimine ja paigaldamine, mis sõltuvalt internetiühenduse kiirusest võib veidi aega võtta.
Location of sets? (cd disk ftp http or 'done') [done] Enter
Sellega on OpenBSD baasinstall on nüüd valmis ning teeme serverile alglaadimise.
# reboot
Edasi pole enam tarvidust konfigureerida serverit otse serveri konsoolilt, vaid võime logida serverisse SSH kliendiga (näiteks PuTTY abil).
Portide kogumiku paigaldamine
Lihtsaim viis enamuse tarkvara installeerimiseks OpenBSD serverile, on portide kogumiku kasutamine. Selleks tõmbame alla ja pakime lahti ühe faili.
# cd /usr/ # ftp ftp://ftp.estpak.ee/pub/OpenBSD/4.6/ports.tar.gz # tar -zxvf ports.tar.gz # rm ports.tar.gz
Kataloogi /usr/ports all saame nüüd paigaldada serverisse erinevat tarkvara, liikudes soovitava kategooria alla soovitava tarkvara kataloogi ning andes käsu make install. Üks portide kogumiku kasutamise puudusi on, et selle kaudu paigaldatav tarkvaraversioon ei pruugi olla kõige uuem. Mingil põhjusel soovitatakse OpenBSD veebilehel portide kollektsiooni kasutada vaid vilunud kasutajatel, ei oska kommenteerida.
Postfixi paigaldamise protsess
Eeltööd
Kõrvaldame vana sendmaili. Postfix paigaldab tagasiühilduvuse huvides selle asemele enda versiooni.
# rm /usr/sbin/sendmail
Kommenteerime crontab'i alt välja perioodiliselt käivitatava sendmaili käsurea.
# crontab -e
Leia järgmised read ja kommenteeri need välja lisades rea ette #-märgi, nagu allpool näidatud.
# sendmail clientmqueue runner # */30 * * * * /usr/sbin/sendmail -L sm-msp-queue -Ac -q
Keelame sendmaili käivitumise serveri bootimisel.
# vi /etc/rc.conf.local
Lisa faili järgmine rida ja salvesta.
sendmail_flags = NO
Failis rc.conf.local tehtud muudatused on ülimuslikud failis rc.conf sisalduvate seadistuste suhtes. Turvalisem ja ülevaatlikum on teha muudatusi failis rc.conf.local, kuid soovi korral võib redigeerida ka otse rc.conf faili.
Katkesta töötav sendmaili protsess
# kill `head -1 /var/run/sendmail.pid`
Lisame kasutajakontod ja grupid...
# vipw
Lisame faili lõppu järgmised read:
postfix:*:2000:2000::0:0:Postfix Mail Daemon:/var/empty:/sbin/nologin
# vi /etc/group
Lisame faili lõppu või soovitavalt ka numbrilises järjekorras õigesse kohta vahele järgmised read:
postfix:*:2000: postdrop:*:2001:
Postfixi install
Tõmbame alla ja kompileerime Postfixi kõige uuema stable versiooni. Võiksime kasutada Postfixi installatsiooniks ka OpenBSD portide kogumikku, kuid hetkel tuleb selle kaudu pisut vanem versioon.
# cd /root/ # ftp ftp://ftp.estpak.ee/pub/postfix/postfix-release/official/postfix-2.6.5.tar.gz # tar -zxvf postfix-2.6.5.tar.gz # rm postfix-2.6.5.tar.gz # cd postfix-2.6.5 # make # make install
Installatsioon küsib järjest hulga küsimusi, millele kõigile peaks sobima vaikimisi toodud vastus. Vajutada tuleb lihtsalt Enterit. Hiljem saab neid samu seadeid vajadusel muuta main.cf failis install-time configuration jaotise all.
Muudame Postfixi konfiguratsioonifaili vastavalt meie vajadustele.
# vi /etc/postfix/main.cf
Kaldkirjas tekstid asenda enda tingimustele vastavatega.
myhostname = mail.kala.ee mydomain = kala.ee myorigin = $myhostname mydestination= $myhostname, localhost.$mydomain, localhost, $mydomain mynetworks = 192.168.1.0/24, 127.0.0.0/8 local_recipient_maps =
Oletame, et ettevõttel on MS Exchange'i server IP aadressiga 192.168.1.210 ja täieliku domeeninimega exchange.kala.ee. Selleks, et ülekontrollitud kirjad edastataks sellele serverile, tuleb vastav määrang sisse kirjutada /etc/postfix/transport faili
vi /etc/postfix/transport
Lisa faili algusesse järgmine rida
kala.ee smtp:[192.168.1.210]
Kui soovid IP aadressi asemel kasutada Exchange'i serveri täielikku domeeninime, lisa hoopis järgmine rida. Et asi nii toimiks, peab DNS andma kindlasti õige vaste.
kala.ee smtp:exchange.kala.ee
Kuna Postfix otseselt transport faili ei loe, tuleb see konverteerida Postfixi jaoks loetavale kujule käsuga
postmap /etc/postfix/transport
Teeme nii, et Postfix käivituks edaspidi alglaadimisel ja lisame selleks /etc/rc.local faili vajaliku info.
vi /etc/rc.local
Lisa faili read
# Start Postfix echo -n ' postfix'; /usr/sbin/postfix start
Amavisd-new ja SpamAssassini paigaldamine
Amavisd-new paigaldamiseks kasutame portide kollektsiooni. Paigaldatakse mitte kõige uuem versioon, kuid see-eest on paigaldus lihtne, kuna installeeritakse ühtlasi suur hulk erinevat tarkvara, millest amavisd-new on sõltuvuses (erinevate failivormingude dekompressorid, vajalikud perli moodulid, SpamAssassin, Berkeley DB, ClamAV jne). Protsess võib sõltuvalt riistvara jõudlusest ja internetiühenduse kiirusest üsna kaua aega võtta.
# cd /usr/ports/mail/amavisd-new # make install
SpamAssassini konfigureerimine
Testimine
Kas ikka päriselt ka töötab?
Varundamine ja taastamine
Kui kuidagi ei saa, siis kuidagi ikka saab, kui midagi just totaalselt peetis ei ole.