MailScanner provera rada

Moje verzije sa kojima radim su :
RHEL6U2, MailScanner 4.84.5, SpamAssassin 3.3.1-2, ClamAV 0.97.4, MySQL 5.1.61

Posle svog konfigurisanja, promena i dodavanja ima još jedna, POSLEDNJA provera za rad MailScanner servisa 🙂 :
# MailScanner –lint
(Paziti ovo je – -lint, dakle dva znaka “-” jedan za drugim, bez razmaka)
Pažljivo pratiti izlaz, u kojem se mogu određene greške.
Evo nekih od mogućih grešaka, i kako ih rešiti :
Jedan
Unrar is not installed, it should be in /usr/bin/unrar.
This is required for RAR archives to be read to check
filenames and filetypes. Virus scanning is not affected.
Unrar problem – instalirati unrar RPM
Što se Fedore, CentOS-a i RHEL-a tiče ovde mogu da se nađu RPM-ovi.
Dva
# MailScanner –lint
ERROR: The “envelope_sender_header” in your spam.assassin.prefs.conf
ERROR: is not correct, it should match X-trezor-MailScanner-From
Razlika u “envelope_sender_header” odnosno “Envelope From Header” u spam.assassin.prefs.conf i MailScanner.conf fajlovima.
Staviti u spam.assassin.prefs.conf i MailScanner.conf da bude jednako za ove dve stavke.
Tri
clamscan : unrecognized option ¨–unzip
ERROR:unknown option passed
ERROR:can,t parse the command line
Pogledati fajl , i hešovati označeno :
# vi /usr/lib/MailScanner/clamav-wrapper
#ExtraScanOptions=”$ExtraScanOptions –unzip”
#ExtraScanOptions=”$ExtraScanOptions –unzip=/usr/bin/unzip”
#ExtraScanOptions=”$ExtraScanOptions –jar”
#ExtraScanOptions=”$ExtraScanOptions –jar=/path/to/unzip”
#ExtraScanOptions=”$ExtraScanOptions –tar”
#ExtraScanOptions=”$ExtraScanOptions –tar=/path/to/tar”
#ExtraScanOptions=”$ExtraScanOptions –tgz”
#ExtraScanOptions=”$ExtraScanOptions –tgz=/path/to/tar”

I pogledati fajl i hešovati označeno :
# vi /usr/lib/MailScanner/MailScanner/SweepViruses.pm
# if ($rarcmd && -x $rarcmd) {
# $Scanners{clamav}->{CommonOptions} .= ” –unrar=$rarcmd”;
# MailScanner::Log::InfoLog(“ClamAV scanner using unrar command %s”,
# $rarcmd);
# }
Četiri
Ako se pri zaustavljanju MailScanner-a javlja (ponekad) sledeće :
# service MailScanner stop
Shutting down MailScanner daemons:
MailScanner: commit ineffective with AutoCommit enabled at /usr/lib/MailScanner/MailScanner/CustomFunctions/MailWatch.pm line 93, line 1.
Commmit ineffective while AutoCommit is on at /usr/lib/MailScanner/MailScanner/CustomFunctions/MailWatch.pm line 93, line 1.
[ OK ]
incoming sendmail: [ OK ]
outgoing sendmail: [ OK ]

To se rešava na sledeći način :
U fajlu /usr/lib/MailScanner/MailScanner/CustomFunctions/MailWatch.pm :
sub ExitLogging {
# Server exit – commit changes, close socket, and exit gracefully.
close(SERVER);
#$dbh->commit;
$dbh->disconnect;
exit;
}

Napomena : upis prestaje tek posle prvog sledećeg reseta MailScanner-a…
Pet
# MailScanner –lint
….
Use of “goto” to jump into a construct is deprecated at /usr/share/perl5/Mail/SpamAssassin/Plugin/Check.pm line 409.
….
Ako se javlja ovakva greška u Fedora 14, treba sa spamassassin verzije 3.3.1-5.fc14 preći na verziju 3.3.2-7.fc14
Šest
# MailScanner –lint
….
config: failed to parse line, skipping, in “/etc/mail/spamassassin/mailscanner.cf”: use_auto_whitelist 0
….
U fajlu : /etc /MailScanner/spam.assassin.prefs.conf treba hešovati liniju :
use_auto_whitelist 0
Ovime se ova opcija isključuje, što je i bolje jer daje prilično lažnih pozitiva za spam koji to nije.
Ako baš želite da vam ta opcija radi, mora se omogućiti, što u ovoj verziji SpamAssasin-a nije automatski (videti ovde)
Sedam
Kako proveriti verzije svih modula koji se vrte pod MailScanner-om :
MailScanner -v
Running on
Linux mail-2012.moj.domen 2.6.32-358.0.1.el6.i686 #1 SMP Wed Feb 20 11:05:00 EST 2013 i686 i686 i386 GNU/Linux
This is Red Hat Enterprise Linux Server release 6.4 (Santiago)
This is Perl version 5.010001 (5.10.1)

This is MailScanner version 4.84.5
Module versions are:
1.00 AnyDBM_File
1.30 Archive::Zip
0.23 bignum
1.11 Carp
…..
2.0.0 Text::Balanced
1.40 URI
0.77 version
missing YAML

Projica, verzija 2

Verzija projice sa tikvicama i pečenom paprikom.
Super je i hladno i toplo, sa pavlakom ili majonezom.
Oljuštiti i izrendati dve veće tikvice.
Dodati izdrobljenog feta sira, oko 200-250gr.
So, biber, prašak za pecivo i mirođija se dodaju po ukusu.
Iseckati 3-4 pečene paprike i dodati ih u smesu.
4-5 celih jaja
100-150gr griza
100gr kukuruznog brašna
100-150gr integralnog brašna
oko 400gr običnog brašna
Dobro umešati testo, staviti u nauljeni pleh i peći u predhodno ugrejanoj rerni, na oko 250-300C.
Peče se oko 45min.
Prijatno!

Borba protiv spam-a, graylisting, deo 4

Šta je uopšte Milter Graylist?
Pa evo jedne lepe definicije :
**************
Milter-greylist is a stand-alone milter written in C that implements the greylist filtering method, as proposed by Evan Harris. Grey listing works by assuming that, unlike legitimate MTA, spam engines will not retry sending their junk mail on a temporary error. The filter will always reject mail temporarily on a first attempt, then accept it after some time has elapsed. If spammers ever try to resend rejected messages, we can assume they will not stay idle between the two sends (if they do, the spam problem would just be solved). Odds are good that the spammer will send a mail to a honey pot address and get blacklisted in several real-time distributed black lists before the second attempt.
***************
A evo i početne strane za Milter Greylist.
Pošto ja koristim Fedoru i RHEL, najviše volim da pakete (kada je to moguće) uzmem u RPM formatu.
Dakle odavde može da se uzme Milter Graylist. Naravno, uvek je najbolje najnovija verzija….

Spuštanje paketa :
# wget http://pkgs.repoforge.org/milter-greylist/milter-greylist-4.2.7-1.el6.rf.i686.rpm
Početni uslovi :
Sendmail paket najmanje 8.11 verzije (kod mene je 8.14.4-8) i Milter opcija, kao i libmilter paket (uzeti sendmail-milter RPM za CentOS, odgovarajuće verzije, naravno).
Evo kako se to proverava za Milter opciju :
# sendmail -d0.1 -bt Sam mail server treba da je na beloj listi obavezno!

#bela lista za ORACLE farmu servera Ovo obavezno, ili će kašnjenje sa ovog klastera biti ogromno
racl whitelist addr 148.87.113.120/32 Isto treba uraditi i za ostale klastere sa kojima mail-ujete
racl whitelist addr 148.87.113.121/32
racl whitelist addr 148.87.113.123/32
racl whitelist addr 148.87.113.124/32
racl whitelist addr 148.87.113.125/32
racl whitelist addr 141.146.126.230/32
racl whitelist addr 141.146.126.231/32
racl whitelist addr 141.146.126.230/32

racl whitelist rcpt moja.adresa@moj.domen.rs Bela lista može i za pojedinačnu adresu primaoca

racl greylist rcpt /.*@moj\.domen.rs/ delay 30s autowhite 3d
#30sec je otprilike kako treba, da korisnici ne postanu mnogo nestrpljivi…..
racl whitelist default Ovo je OBAVEZNO na kraju!!!

Posle ovoga obavezno proveriti sintaksu konfiguracionog fajla :
# milter-greylist -c
config file “/etc/mail/greylist.conf” is okay

Fajl koji takođe treba izmeniti je /etc/mail/sendmail.mc, staviti na kraju fajla :
INPUT_MAIL_FILTER(`greylist’,`S=local:/var/milter-greylist/milter-greylist.sock’)
define(`confMILTER_MACROS_CONNECT’, `j, {if_addr}’)
define(`confMILTER_MACROS_HELO’, `{verify}, {cert_subject}’)
define(`confMILTER_MACROS_ENVFROM’, `i, {auth_authen}’)
define(`confMILTER_MACROS_ENVRCPT’, `{greylist}’)
MAILER(smtp)dnl
MAILER(procmail)dnl

Napraviti sendmail.cf fajl i restartovati servis MailScanner :
# /etc/mail/make
# service MailScanner restart
# service milter-graylist start
# chkconfig milter-greylist on

Provera rada je kroz pregled /var/log/maillog fajl :

Jun 15 12:57:02 mail-2012 milter-greylist: q5FAugBY024420: skipping greylist because address 209.85.213.175 is whitelisted, (from=, rcpt=, addr=mail-yx0-f175.google.com[209.85.213.175]) ACL 128

I ako hoćete da vidite bazu trilinga koje pravi greylist proces, ona se nalazi u ovom fajlu :
/var/milter-greylist/greylist.db

Još jedan kolač

Dakle isprobano dobar i brz kolač sa čokoladom i orasima.
Za pripremu i pečenje ukupno treba oko 45-60min.
Testo :
4 cela jajeta
1 prašak za pecivo
1 vanil šećer
istrugana kora od jednog limuna (dobro opranog)
100-150gr poluistopljenog margarina (može i buter, zavisi od ukusa)
mleko po potrebi
oko 700gr brašna
Sve ovo pomešati dok se ne dobije gusto testo, koje po malo može da teče.
Raskomadati 100gr čokolade za kuvanje na sitne parčiće
Raskomadati 200gr orahovih jezgara na sitne komadiće
Orahe i čokoladu umešati u testo, pa sve sipati u nauljenu tepsiju i staviti u rernu predhodno zagrejanu na oko 280C.
Peći oko 40min (zavisi od efikasnosti rerne :-)).
Kolač se posle može (a ne mora) preliti rastopljenom čokoladom.
Evo kako izgleda :

RBL – Real Time Black Lists, anti spam, deo 3

RBL – Real Time Black Lists, šta je to?
Pa spisak adresa (i IP adresa i domena, kako koja lista) koje šalju spam poruke, i koje naš sistem onda pretražuje u realnom vremenu.
RBL lista ima prilično, i treba odabrati one koje su najažurnije i stalno dostupne.

Gde se sve može definisati na sistemu kakav je moj (RHEL6U2, Sendmail+MailScanner+SpamAssassin) :
1. Pod MTA (sendmail kod nas) – nema kontrole nad brisanim porukama, i ne prolaze kroz MySQL bazu (tj. ne prikazuje se pod MailWatch-om, što znači da ga najverovatnije nećemo ni videti, što nije dobra ideja)
2. Pod SpamAssassin-om
3. Pod MailScanner-om direktno – ono što sam ja odabrala, jer se vidi tačno šta se dešava

Da bi se lista mogla iskoristiti pod MailScanner-om, onda mora biti nabrojana u fajlu /etc/MailScanner/spam.lists.conf (paziti da se nazivi RBL-ova u MailScanner.conf poklapaju sa nazivom u levoj koloni za dati RBL u fajlu spam.lists.conf).
Naravno da ova lista nije konačna, i u nju se može dodati još koja lista, po ličnom ukusu 🙂

Relevantne stavke u /etc/MailScanner.conf fajlu :
Spam List Definitions = %etc-dir%/spam.lists.conf
Spam Checks = yes
Spam List = zen.spamhaus.org bl.spamcop.net psbl.surriel.com combined.rbl.msrbl.net
Ovo su crne liste po mom ukusu. Planiram da tu ubacim i Barracuda BRBL, ali otom posle
Spam Domain List =
Spam Lists To Be Spam = 1
Spam Lists To Reach High Score = 2 Ako se mail nađe u 2 od 4 navedene liste, definitivno je spam
Spam List Timeout = 10
Max Spam List Timeouts = 7
Spam List Timeouts History = 10
…..
Definite Spam Is High Scoring = yes
…..
Spam Actions = deliver header “X-Spam-Status: Yes”
High Scoring Spam Actions = delete Ovo znači da se definitivni spam briše.

Posle ovih promena potrebno je restartovati MailScanner servis.
Provera rada se vrši praćenjem /var/log/maillog logfajla (poziv RBL-ovima se vidi tek kada “upecaju” neku poruku) :
Jun 11 14:09:57 mail-server MailScanner[22756]: RBL checks: q5BC9XpG029254 found in spamcop.net

Evo gde može da se vide međusobna poređenja RBL-ova.

Vipul’s razor, kako ga implementirati, anti-spam, deo 2

Verzije sa kojima radim, kada je ovaj post u pitanju :
OS RHEL6U2, Sendmail-8.14.4, MailScanner-4.84.5-2, MailWatch-1.2.0, SpamAssassin-3.3.1-2

Šta je uopšte Vipul i njegov brijač :-)??
E evo lepe definicije :
Vipul’s Razor is a distributed, collaborative, spam detection and filtering network. Through user contribution,
Razor establishes a distributed and constantly updating catalogue of spam in propagation that is consulted by
email clients to filter out known spam. Detection is done with statistical and randomized signatures that efficiently spot mutating spam content. User input is validated through reputation assignments based on consensus on
report and revoke assertions which in turn is used for computing confidence values associated with individual signatures.

A evo i linka odakle može da se skine.

Skidaju se fajlovi :
razor-agents-2.84.tar.bz2
razor-agents-sdk-2.07.tar.bz2
Otpakuju se :
# tar xvjf razor-agents-*
Instalacija :
#cd /nalog1/razor-agents-2.84
Kao root nalog :
# perl Makefile.PL
# make
# make test Paziti na izlaz, sve mora da javlja da je OK
# make install

Konfiguracija :
# pwd
/nalog1/razor-agents-2.84
# razor-admin -create
Pošto je pušteno kao root onda ovo kreira folder /root/.razor i tu gomilu fajlova.
Kopirati kompletan folder u /etc/MailScanner folder, sa sledećim pravima :
drwxr-xr-x 2 root root 4.0K Apr 17 11:10 .razor
I fajlovi unutar foldera :
-rw-r–r– 1 root root 706 Apr 17 11:10 razor-agent.conf
-rw-r–r– 1 root root 871 Apr 17 11:10 server.n003.cloudmark.com.conf
-rw-r–r– 1 root root 57 Apr 17 11:10 servers.catalogue.lst
-rw-r–r– 1 root root 30 Apr 17 11:10 servers.discovery.lst
-rw-r–r– 1 root root 76 Apr 17 11:10 servers.nomination.lst

U fajl /etc/MailScanner/spam.assassins.pref dodati liniju :
razor_config /etc/MailScanner/.razor/razor-agent.conf
U fajlu /etc/MailScanner/.razor/razor-agent.conf izmeniti liniju u :
logfile = /var/log/razor-agent.log Ova linija se samo izmeni
razorhome = /etc/MailScanner/.razor/ Ova linija mora da se doda

Onda uraditi sledeće (iz razor home foldera, koji je kod nas u /etc/MailScanner/.razor) :
# razor-admin -home=/etc/MailScanner/.razor -register
Register successful. Identity stored in /etc/MailScanner/.razor/identity-rutWyzKBzz
# razor-admin -home=/etc/MailScanner/.razor -create
# razor-admin -home=/etc/MailScanner/.razor -discover

Posle ovoga restartovati MailScanner :
# service MailScanner restart
Pratiti log /var/log/razor-agent.log da li sve radi kako treba.

Takođe obratiti pažnju jer razor otvara port :
Razor – out-bound TCP port 2703
Po pitanju portova videti ovaj post!

Testiranje rada :
# spamassassin -t -D razor2 < spam-mail.txt ..... Apr 23 11:17:27.598 [29268] dbg: razor2: razor2 is available, version 2.84 Razor-Log: read_file: 16 items read from /etc/MailScanner/.razor/razor-agent.conf Razor-Log: Found razorhome: /etc/MailScanner/.razor/ Apr 23 11:17:30.050621 check[29268]: [ 2] [bootup] Logging initiated LogDebugLevel=11 to stdout Apr 23 11:17:30.050980 check[29268]: [ 5] computed razorhome=/etc/MailScanner/.razor/, conf=/etc/MailScanner/.razor/razor-agent.conf, ident=/etc/MailScanner/.razor//identity-rutWyzKBzz Apr 23 11:17:30.051231 check[29268]: [ 8] Client supported_engines: 4 8 ..... Content analysis details: (16.8 points, 5.0 required) .....

Zaštita od spam-a, deo 1

Postoje razne metode za zaštitu od spam-a.
Ja ću ovde navesti one koje sam koristila, znam kako se konfigurišu, i znam da rade. Takođe to su metode koje sam koristila na Fedori (verzije 10 i 16), i RHEL-u, verzije 4U5 pa na dalje.
Dakle :

  • SpamAssassin – uz Fedoru i RHEL ide u paketu, super stvar
  • Access tabela samog Sendmail programa – dobra za zabranu određenih adresa, domena i IP adresa
  • RBL – Real Time Black Lists – treba paziti da su spiskovi ažurni, a navedene liste žive
  • Gray listing – super radi posao, ali može u nekim slučajevima (kao kada je pošiljalac uklasterisan mail server) da napravi velika kašnjenja. Treba mu ručno dodati bele liste za npr. gmail.
  • Vipul’s Razor – dobra stvar
  • Bayes filterisanje – mora da uči šta je spam a šta ham
  • Ručno pravljene crne i bele liste – malo staromodno, ali dobro radi posao
  • Ručno dodavane ključne reči sa odgovarajućim težinskim faktorom – isto kao i gore 🙂
  • iptables – uvek krajnja linija odbrane za nezgodne pošiljaoce identifikovane po IP adresama

Videću da u budućim postovima obrađujem sve navedene metode (instalacija, konfiguracija, testiranje).

Ako neko ima još neki predlog/ideju/komentar, samo napred!
Znanje treba deliti!

Brisanje, kopiranje ili premeštanje velikog broja fajlova odjednom, zgodna komanda, deo 1

Jel vam se desila frustrirajuća situacija, kada morate brzo da obrišete veliki broj fajlova, a vama se javi ovo:
# rm -rf *1
bash: /bin/rm: Argument list too long

E meni jeste, i nervira maksimalno, jer izgleda da Linux kernel ima takvo ograničenje (bar na RHEL4U5, gde sam ja probala) na negde oko 1000 fajlova.

Ali ima lek i za to (radi se iz foldera u kome su fajlovi za brisanje) :
# find . -name ‘*1’ | xargs rm
Ili
# find . -type f -name “xyz*” -delete
I to (bar koliko sam videla) ograničenje po broju fajlova nema.
Izgleda da to radi samo ako u imenu fajlova nema praznog mesta (space), ali to je retko slučaj.
A ovo je sajt gde sam našla rešenje za glavobolju! Svaka čast.

Kako kopirati veliki broj fajlova iz jednog foldera u drugi :
# rsync -a /some/path/to/src/ /other/path/to/dest/
Ili :
# echo * | xargs -i cp {} /your/dest

Kako premestiti veliki broj fajlova (SAMO fajlova, NE i foldera) iz tekućeg direktorijuma u neki drugi :
# mv `find . -type f` /ciljni-folder
??????

Ukusan doručak

Isprobano ukusan doručak, takođe dobar za probavu, a sa dovoljno energije da vas drži do ručka kod kuće 🙂
Sastojci :
1 iseckana banana (umesto nje može i neko sezonsko voće, na primer iseckane jagode)
1 šaka kikirikija, pečenog bez soli
dve supene kašike ribizli (ja ih imam smrznute iz bašte, još od prošle godine)
dve supene kašike skuvane pšenice
muslija po ukusu (ja najviše volim tropic musli, ide fino uz svo ovo voće)
Preliti mlekom ili jogurtom.
Rezultat izgleda otprilike ovako :

Testiranje mail servera, deo 6

1. Prvo prizvati po browserom adresu :
http://11.12.13.14/mailscanner
Uneti user i pass, i treba da se vidi početna strana MailWatch-a
2. Poslati poruke sa i na server
3. Testiranje rada za spamassassin se radi pomoću poruke GTUBE koja okida SpamAssassin :
XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
4. ClamAV se testira pomoću veštačkog virusa EICAR :
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*