Mail server srednje veličine, deo 3 – MailScanner

Dakle, posle konfiguracije Sendmail-a i Dovecot-a, došli smo i do MailScanner softvera.
Čemu on služi? Pa objedinjuje Sendmail, SpamAssassin i AV program (ja koristim ClamAV), omogućava korišćenje programa MailWatch (koji daje vrlo dobar grafički, real-time pregled protoka elektronske pošte, statistike i pretragu) i to sve na vrlo suvisli i koristan način. Evo i njegovog sajta, odakle se program može skinuti (knjiga koja ide uz njega, i koja se kupuje, je veoma OK i korisna). MailScanner je već prilično dugo prisutan, i kao takav se pokazao kao stabilan i koristan, kako za mail servere sa srednjim protokom (do 10.000 mail poruka dnevno) tako i za one manje. Na većim ga nisam isprobala, tako da o njima ne mogu da govorim.

1. Skinuti paket (sa ove lokacije) i razviti ga na zgodnom mestu :
# tar xvfz MailScanner-4.84.5-2.rpm.tar.gz

2. Instalacija iz upravo razvijenog paketa:
# cd MailScanner-4.84.5-2
# ./install.sh Ovo će prilično da potraje. Pratiti izlaz.
I am logging everything into “install.log”.

3. Posle uspešne instalacije :
# service sendmail stop
# chkconfig sendmail off
# chkconfig MailScanner on

4. Podešavanje konfiguracije MailScanner servisa u fajlu /etc/MailScanner/MailScanner.conf :
# more MailScanner.conf|grep -v “#”|grep -v ‘^$’
Paziti!!! Date su samo linije u fajlu koje su promenjene!!!

Verzija MailScanner-a je 4.84.5
%org-name% = XXXX Staviti ono što vama odgovara!
%org-long-name% = XXX
%web-site% = XXX
Incoming Work Group = clamav
Incoming Work Permissions = 0640
Quarantine Permissions = 0660
Maximum Processing Attempts = 1
Maximum Archive Depth = 2
Virus Scanners = clamav
Allow Password-Protected Archives = yes
Quarantine Whole Message = yes
Notify Senders Of Other Blocked Content = no
Is Definitely Spam = %rules-dir%/spam.blacklist.rules
Add Watermark = no
High Scoring Spam Actions = delete
Log Spam = yes
Log Non Spam = yes
SpamAssassin User State Dir = /var/spool/MailScanner/spamassassin
Always Looked Up Last = &MailWatchLogging

Napomena 1 : sve navedene stavke već postoje u conf fajlu, samo ih treba izmeniti
Napomena 2 : prikazane vrednosti funkcionišu za moj server, ne znači da će i vama odgovarati…..
Napomena 3 : sa obe strane znaka jednakosti je OBAVEZAN blanko

5. Instalacija ClamAV-a, ali o tome u sledećim postovima

6. Startovanje servisa :
# service MailScanner start

O testiranju istog, u daljim postovima

Linux raw partition

Ako treba da se formatira particija pod Linux-om (Fedora ili RHEL) za Oracle bazu, što zahteva RAW particiju (videti dobru definiciju za raw particiju ovde), to se radi ovako :

1. Formira se raw device
# mknod -m 660 /dev/raw/raw130 c 162 130
# ls -l /dev/raw/raw130
crw-rw—- 1 root root 162, 130 Jun 4 08:33 /dev/raw/raw130

Paziti, na toj lokaciji se već nalazi jedan fajl : /dev/raw/rawctl
Ali to je device controler za raw devices.

2. Formatira se dati prostor
# fdisk /dev/emcpowera
…..
Command (m for help): p
Disk /dev/emcpowera: 64.4 GB, 64424509440 bytes
64 heads, 32 sectors/track, 61440 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xbf277df7
Device Boot Start End Blocks Id System
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-61440, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-61440, default 61440):
Using default value 61440
Command (m for help): w
The partition table has been altered!

3. Pridruži se kreirani raw device formatiranoj particiji
# raw /dev/raw/raw130 /dev/emcpowera
/dev/raw/raw130: bound to major 120, minor 0

4. Proveriti urađeno (prikazuje vezane raw devices)
# raw -qa
/dev/raw/raw130: bound to major 120, minor 0

Paziti jer posle reboot-a sistema mora da se uradi sve iz početka (naravno bez formatiranja).

Ako je potrebno da neki nalog osim root-a koristi raw device, potrebno je datom nalogu dati grupu “disk” :
# usermod -a -G disk ime-naloga
[root@dw etc]# id ime-naloga
uid=500(ime-naloga) gid=6(disk) groups=6(disk),501(ime-naloga)

Opet tikvice

E jeste, i baš je fino ispalo!
Dakle 2-3 veće (čitaj deblje) tikvice oljuštiti i iseći na kolutiće.
Poređati u tepsiju namazanu sa malo ulja, i posoliti (znači ne moraju da se odcede).
Odozgo na kolutove tikvica staviti predhodno pripremljenu mešavinu :
oko 250gr sira – može feta a može i mladi sir, to je stvar ukusa
3 jajeta
so, biber, mirođija
pavlaka – može a ne mora
Ovako izgleda pre pečenja :

Staviti u rernu da se peče, na oko 250C, oko 30 minuta.
Prijatno!

Fini ručak sa tikvicama

Pošto su sada tikvice krenule, a i cena im je pristojna, isprobala sam recept za veoma fini ručak od istih.
Obrok je za 4-5 osoba (zavisi koliko su ješne), a potrebno je :
Oko 1kg tikvica koje treba oljuštiti i izrendati, ali NE soliti da ne izgube vodu (nju će da upije griz)
5 jaja
1 prašak za pecivo
malo bibera
malo karija (po želji, ne mora)
soli po želji
250gr feta sira (isitnjenog)
Oko 100gr pšeničnog griza
malo kukuruznog griza (dve supene kašike)
Oko 100gr običnog brašna
Sve ovo DOBRO umešati, staviti u nauljenu vatrostalnu posudu, i onda na oko 40min u već zagrejanu rernu na 300C.
Ako vaša rerna greje bolje od moje (što je lako moguće…), vreme je možda i kraće. U svakom slučaju treba da porumeni i da se malo digne testo.
Evo kako izgleda :

Prijatno!

Peku me oči od kompjutera :-(

Pa ustvari od buljenja u ekran, ali shvatate.
E nađoh nešto što mi je pomoglo : skuvam čaj od kamilice (bez šećera!!), pustim ga da odstoji i da se ohladi, i onda napravim oblog (u mom slučaju obična papirna maramica umočena u ohlađeni čaj) i stavim ga preko očiju, da stoji jedno 10-15 minuta.
Posle 2-3 dana, mnogo je bolje stanje!

VSFTPD server – ograničenje brzine prenosa podataka

Postoji način da se ograniči brzina transfera podataka kod VSFTPD servera, i to ne samo za sve korisnike, nego i po pojedinačnim korisničkim nalozima (npr. ako korisnik pera ima jako sporu vezu).
Izmene se vrše na dva mesta. U konfiguracionom fajlu samog servera vsftpd.conf (za RHEL i Fedoru on je u /etc/vsftpd folderu), treba dodati sledeću liniju :
user_config_dir=/etc/vsftpd/korisnici
U taj folder staviti fajl čiji je naziv OBAVEZNO potpuno isti kao i username samog korisnika (kod nas je to pera).
Taj fajl sadrži naredbe koje su iste kao i za vsftpd.conf, i on je “stariji” od istih naredbi u vsftpd.conf, ali naravno samo za tog datog korisnika.
Primer konfiguracionog fajla za pojedinačnog korisnika (kod nas je to /etc/vsftpd/korisnici/pera) :
local_max_rate=2000 ovime se brzina transfera (od ili do) ograničava na 2000bajta/sec
write_enable=NO ovime je korisniku onemogućeno pisanje na FTP server

Još jedan sirup :-), limun i menta

E, da.
Ovaj put od mente (nane) i limuna.
Kombinacija je super, i veoma osvežavajuća (mada ovo poslednje i nije neki faktor, s obzirom na vremenske prilike).
Dakle, priprema :
Ubrati svežu i sočnu mentu sa neke čiste lokacije (podalje od puta, prljavštine i tako toga), oprati je i okinuti listove. Količina treba da je takva da se listići lepo pokriju sa 4l vode (oko 4 pune šake listova).
Tako potopljene listiće posuti sa 100gr limuntusa, i povremeno (u prolazu) mešati (drvenom) varjačom. Smeša treba da odstoji 24h, i listići treba da izgube boju (i malo postanu braon).
Listiće izvaditi iz vode.
Oko 2 do 3 lepa buckasta limuna, sa debljom korom, dobro oprati i samleti u mlinu za meso, potom dodati u vodu od mente/name, i takođe dodati i 4kg šećera. Mešati često u prolazu. Smesa treba da stoji 24h, i u međuvremenu šećer treba da se skroz istopi.
Procediti kroz gazu (ocedak – samleveni limu je idealan kao dodatak pri kuvanju pekmeza, daje mu super šmek, ali o tome drugom prilikom).
Čuvati na tamnom i hladnom mestu – friz je idealan (paziti da flaše budu plastične i ne napuniti ih do vrha – led ima veću zapreminu od vode!).
Prijatno!

Logovi proxy servera (squid)

Neophodno je paziti na veličinu Squid logova (kod Fedore i RHEL-a se nalaze u /var/log/squid), jer ako logovi pređu 2G, Squid će prestati sa radom (što znam iz sopstvenog gorkog iskustva).
Postoje dva načina da se reši ovaj problem :
1. Redovna rotacija logova
2. Regulisanje veličine samih logova (tj. količine informacija koja se u njih upisuje)

1. Rotacija logova
Najbolje je to prepustiti logrotate demonu (što i jeste u default postavci Squid-a).
Sam konfiguracioni fajl za ovo se nalazi u /etc/logrotate.d/squid, i za redovnu svakodnevnu rotaciju logova i čuvanje zadnjih 5 logova, izgleda otprilike ovako :
/var/log/squid/access.log {
daily
rotate 5
copytruncate
compress
notifempty
missingok
}
/var/log/squid/cache.log {
daily
rotate 5
copytruncate
compress
notifempty
missingok
}

/var/log/squid/store.log {
daily
rotate 5
copytruncate
compress
notifempty
missingok
# This script asks squid to rotate its logs on its own.
# Restarting squid is a long process and it is not worth
# doing it just to rotate logs
postrotate
/usr/sbin/squid -k rotate
endscript
}

2. Regulisanje veličine samih logova vrši se kroz sam Squid konfiguracioni fajl : /etc/squid/squid.conf i to kroz opciju : debug_options
U koliko Squid radi kako treba, i nije potreban nikakav debug samog procesa, ovu opciju je najbolje ostavitio hešovanu (neaktivnu). Default logovi su sasvim dovoljni za praćenje aktivnosti korisnika, ili za grafički prikaz aktivnosti proxy servera (MySAR program o kome će biti reči u kasnijim postovima).
Kratak opis i definicije za korišćenje opcije debug_options je dato ovde.
U principu za debug je najefikasnije dati tu opciju kao :
debug_options ALL,1
Što podrazumeva logovanje svih oblasti rada, na nivou 1 (info).

Postavljanje mail servera – Dovecot+Imap – deo 2

Deo 2 postavljanja mail servera srednje veličine na Fedoa 16 OS-u.

Sledeći deo je instalacija i konfiguracija Dovecot-a (više nema imap servisa).
On inače otvara port 110.
Konfiguracioni fajl je /etc /dovecot/dovecot.conf, a neophodni paketi su :
# rpm -qa|grep dovecot
dovecot-mysql-2.0.19-1.fc16.i686
dovecot-devel-2.0.19-1.fc16.i686
dovecot-pigeonhole-2.0.19-1.fc16.i686
dovecot-2.0.19-1.fc16.i686
dovecot-pgsql-2.0.19-1.fc16.i686

Konfiguracioni fajl /etc/dovecot/dovecot.conf, Fedora 16 :
!include conf.d/*.conf
protocols = imap pop3 lmtp ako ne želimo ssl komunikaciju
dict {
}
mail_location = mbox:~/mail:INBOX=/var/spool/mail/%u
pop3_uidl_format = %08Xu%08Xv
listen = *
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh bez ova dva workaround-a
imap_client_workarounds = outlook-idle
Microsoft Outlook ne ume da skine mail sa servera
login_trusted_networks = 10.0.0.0/8
log_path = /var/log/dovecot.log odvajanje logova iz messages
ssl = no ako ne želimo da Dovecot otvori pop3s i imaps portove
#####################
protocol imap {
listen = 127.0.0.1:143 imap i treba da sluša samo u lokalu
# ssl_listen = 127.0.0.1:993
}
protocol pop3 {
listen = 10.11.12.14:110 POP3 je otvoren na sopstvenoj IP servera
# ssl_listen = 127.0.0.1:993
}

Ako koristimo CentOS 6U5, ovaj fajl izgleda drugačije :
PS ovaj fajl se može generisati konadom : # doveconf -n > dovecot-new.conf ako vam se javi mnogo grešaka pri startovanju Dovecot servisa, sa gornjom konfiguracijom npr 😉
# 2.0.9: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-431.el6.x86_64 x86_64 CentOS release 6.5 (Final)
listen = *
log_path = /var/log/dovecot.log
login_trusted_networks = 10.0.0.0/8
mail_location = mbox:~/mail:INBOX=/var/spool/mail/%u
mail_access_groups=mail
Paziti ako se ovaj red ne doda javiće se greške, jer Dovecot neće imati prava da kreira foldere u /home folderu korisnika. Mail je user pod kojim se vrti Sendmail (proveriti!)
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date
mbox_write_locks = fcntl
passdb {
driver = pam
}
plugin {
sieve = ~/.dovecot.sieve
sieve_dir = ~/sieve
}
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
service imap-login {
inet_listener imap {
address = 127.0.0.1
port = 143
}
}
service pop3-login {
inet_listener pop3 {
address = 10.10.10.38 ovo je IP adresa samog servera
port = 110
}
}
ssl = no
ssl_cert = Testiranje 1
Stratovati servis.
Provera rada :
# netstat -tulpn|grep dovecot
tcp 0 0 10.11.12.14:110 0.0.0.0:* LISTEN 2699/dovecot
tcp 0 0 127.0.0.1:143 0.0.0.0:* LISTEN 2699/dovecot

I naravno postaviti da se servis startuje svaki put pri resetu servera :
# chkconfig –level 123456 dovecot on
Napomena : ispred reči “level” su dva znaka minus!

Testiranje 2
# telnet 10.10.10.38 110
Trying 10.10.10.38…
Connected to 10.10.10.38 (10.10.10.38).
Escape character is ‘^]’.
+OK Dovecot ready.
user moj.nalog
+OK
pass moja.lozinka
+OK Logged in.

Ako se ovde javljaju greške, videti moj post.

Kačenje na mrežu

Šta ako podignete OS (u mom slučaju Fedora 16), i mrežnu kartu konfigurišete skroz kako treba :
IP, netmask, gateway
Isključite sve što treba da se isključi :
iptables, ip6tables, SELinux
Server pinguje samog sebe, ali njega ne pinguje niko, niti on može da pinguje gateway.
Probate Ethereal ili Wireshark (modernija zamena za Ethereal) i vidite da hvatate pakete na vašem portu, ali od piga i dalje ništa.
E onda je vreme da se razgovara sa nikim ko zna nešto o sviču na koji je zakačen vaš server. Jer ako je vaš svič konfigurisan da radi u VLAN trunk modu, obična konfiguracija mrežne kartice neće joj omogućiti da normalno radi.
VLAN trunk mod sviča radi sa IEEE 802.1Q protokolom (koristan link), ako želimo da naš port proradi treba ga adekvatno podesiti (koristan link).
Postoje dva načina da se to izvede, i ja ću ovde dati samo jedan, koji sam koristila (oba načina se mogu videti lepo objašnjena ovde)
Kod mene to izgleda ovako :
# cd /etc/sysconfig/network-scripts
# cp ifcfg-em1 ifcfg-vlan2 pošto je VLAN2, tako ga i nazivamo
Promena zapisa za originalnu LAN kartu :
DEVICE=”em1″ naziv mrežne karte
BOOTPROTO=static
ONBOOT=no nećemo da se podiže pri startu mašine, to će raditi njegov VLAN pandan
TYPE=Ethernet
IPADDR0=0.0.0.0 da, ovako i treba…
NETMASK=255.255.255.0 netmaska koja odgovara datom segmentu mreže

Promena zapisa za novu VLAN kartu :
VLAN=yes
VLAN_NAME_TYPE=VLAN_PLUS_VID_NO_PAD
DEVICE=vlan2
PHYSDEV=em1
BOOTPROTO=static
ONBOOT=yes
TYPE=Ethernet
IPADDR0=10.11.12.13 IP adresa koju želimo da ima naš server
NETMASK=255.255.255.0
GATEWAY=10.11.12.250

Posle ovoga obavezno restartovati mrežni servis, i testirati rad.