------- MKS_VIR DLA LINUX , FreeBSD, NetBSD, OpenBSD dla i386 ------

wersja: 1.5.9
data:   2003.03.07

        Wypisywania wersji wczytywanych baz w formacie YYYY M D  H M
        Obsluga nowych baz mks (plik bazy3.tgz)

        UWAGA: zmiana formatu baz anty-wirusowych.

	Nowe bazy:
        http://download.mks.com.pl/download/linux/bazy3.tgz

	Stare bazy:
        http://download.mks.com.pl/download/linux/bazy2.tgz

---------- reszta w change1.txt

-----
Strona www poswiecona mks na Linux, FreeBSD, NetBSD, OpenBSD :
	http://linux.mks.com.pl

Forum dyskusyjne:
	http://forum.mks.com.pl/

Skrypt pobierajacy dalej w tekscie, patrz list Marcina Marciniaka
	(uwaga: wymaga modyfikacji dla nowych baz)


Sendmail (libmilter) + amavis-perl + MKS
	 http://goorek.eu.org/sendmail_mks.html .
	 Opis podobnej konfiguracji znalezc mozna rowniez tutaj:
	 http://vega.umcs.lublin.pl/sendmail/amavis.html

Maildir, qmail, vpopmail i mks
	 integracja mks-vira z qmailem (Maildir)
	 skonfigurowanie z vpopmailem (cala poczta obslugiwana
	 jest przez jednego uzytkownika, autentyfikacja w bazie MySQL etc.)
	 http://www.slubek.top.pl/linux/mks_vpopmail_mikroHOWTO
         Rafal Slubowski      rafal[at]newitech.com

Postfix i mks:
	http://www.arturo.eu.org/mks.html

Amavis i mks:
	http://www.raszyn.pl/~hunter/howto/mks.html

----
Krzysztof Drewicz : napisal demona do mks'a, obiecal wkrotce opisac i wystawic na www
	zainteresowanym moge wyslac plik, jest tez tutaj:
	http://www.raszyn.pl/~hunter/howto/mks.html

Uwagi do procmail (od Pawel Femur Wojtal) : patrz ponizej do opisu procmail'a

Uwaga do integracji z Amavis lub amavis-perl (Michal Jeczalik):
	/usr/sbin/mks32 -f /etc/mks.cfg -s $TEMPDIR/parts/*

Integracja z exim (bez amavis i bez procmail):
	http://adomas.ng.pl/teksty/exim-mks.html

-----------------------
W tej chwili wersja ma status wersji beta,
wiec prosze robic testy na wydzielonych kontach e-mail
ewentualnie archiwizowac e-mail'e uzytkownikow _przed_ sprawdzeniem.

Sa dwie listy wysylkowe:
MKS_VIR-LINUX-LIST	binaria mks'a dla Linux,
MKS_VIR-INFO-LINUX	informacje o wysylce na LIST oraz inne zwiazane z wirusami

Jesli chcesz zapisac sie na ktoras z tych list, napisz do mnie  

kkoniec@mks.com.pl

na ktorej chcesz byc.

Odpisz tez, jesli nie chcesz wiecej otrzymywac tych listow.

Wszelkie uwagi i propozycje prosze zglaszac do: kkoniec@mks.com.pl

Nie obiecuje, ze odpowiem na kazdy list,
ale na pewno kazdy przeczytam.

Kamil Konieczny

--------- zawartosc --------

Help
Przyklady uzycia
Kody bledow mks
Mks jako demon
Update automatyczny baz anty-wirusowych
Skanowanie e-mail'i z .procmailrc
jak walczyc z robakiem Badtrans
sprawdzanie mbox na Linux
Linki do skryptow .procmail
Link do strony www opisujacej integracje z amavis'em i MTA (qmail).

          
=======================
--------- help --------
=======================

mks32 --help
mks32 -h
./mks32 --help
./mks32 -h

Jesli program nie bedzie dzialal (brak bibliotek)
sprobuj uzyc wersji ze skompilowanymi statycznie bibliotekami:
mks32.static --help
./mks32.static --help

Do dzialania potrzebne sa bazy antywirusowe,
sa to pliki mks*dat (ich ilosc moze sie zmieniac).

mks znajduje je dzieki wpisowi w pliku konfiguracyjnym
lub po podaniu sciezki z linii polecen

uwaga: sciezka _musi_ konczyc sie znakiem /

==============================================
--------- przyklady uzycia --------
==============================================

(zalozenie: pliki mks*dat sa w biezacym katalogu, przykladowy mks.cfg)
cat test.eml | mks32 -f ./mks.cfg -e 1> out.eml 2> out.log

jesli chcesz na konsoli obejrzec co sie dzieje:

cat test.eml | mks32 -f ./mks.cfg -e 1> out.eml

--
Skanowanie pliku, plik konfiguracyjny mks.cfg i .dat w katalogu biezacym :

mks32 -f ./mks.cfg -s plik

leczenie:

mks32 -f ./mks.cfg -c plik

--
Skanowanie plikow w katalogu biezacym i podkatalogach:

find . -type f -print | mks32 -f ./mks.cfg -s -S

--
Przykladowe skanowanie plikow w katalogu biezacym:

find . -type f | mks32 -f ./mks.cfg -s -S

--
Raport przekierowany do pliku:

find . -type f | mks32 -f ./mks.cfg -s -S 2> mks.log

--
Skanowanie e-maila ze skasowaniem zarazonego zalacznika:

cat email.txt | mks32 -e 1> email.out 2> email.err

Uwaga: w tej chwili nie mozna leczyc zainfekowanych zalacznikow
bez wzgledu na uzyte opcje zainfekowany zalacznik zostanie skasowany
(tj. jego dlugosc zostanie wyzerowana)

===================================
--------- kody bledow mks --------
===================================

na kodach bledow moga byc wykonana operacja bitowa OR
tak wiec kod bledu 0x05 oznacza : 1 + 4
wszystkie kody za wyatkiem 128 zostana wyzerowane po podaniu opcji --no-error

0  OK

1  znaleziony wirus
2  plik wyleczony
4  plik skasowany

kody bledow:

8    0x08  przekroczony poziom rozpakowania archiwow
64   0x40  blad opcji, inicjalizacji, lub operacji plikowej

128  0x80  blad wewnetrzny, nie zostanie zignorowany przy opcji --no-error

===================================
--------- mks jako demon --------
===================================
Program nie pracuje jako demon.

Moze tak pracowac, ale nie samodzielnie,
bo potrafi sprawdzic plik, ktorego nazwe dostanie na stdin
wtedy na stderr wypisze log ze sprawdzenia

wiec demon powinien utworzyc sobie proces mks32,
przejac jego stdin/stdout/stderr
i odpowiednio przekazywac i obierac dane z mks32

Napisalismy daemona komunikujacego sie z mks32,
jest dostepny na naszej stronie http://linux.mks.com.pl
ale nie jest od calkiem darmowy.

Krzysztof Drewicz napisal darmowego demona do mks'a, 
link:

http://www.raszyn.pl/~hunter/howto/mks.html

===================================
--------- update automatyczny baz anty-wirusowych --------
===================================

Marcin Marciniak wrote:

U mnie dziaa takie rozwizanie. Nie jest ono najprostsze z 
moliwych, ale ma jedn zalet: dziaa i jest przejrzyste.
By moe mailer poama linie, wic trzeba po przemyszkowaniu 
co nieco poprawi.

---plik /root/sprawdz----------
#!/bin/bash
/bin/rm -f /tmp/naglowki-old >/dev/null 2>&1
/bin/mv /tmp/naglowki /tmp/naglowki-old
/usr/bin/lynx -dump -head 
http://mksupdate.mks.com.pl/mkslinux/bazy.tgz | /bin/grep Last-
Modified > /tmp/naglowki
/usr/bin/diff /tmp/naglowki /tmp/naglowki-old | /usr/bin/awk '{print 
"/root/pobierz"}' |  /usr/bin/tail -1 | /bin/sh
-------------koniec pliku /root/sprawdz----

-----plik /root/pobierz-------
#!/bin/bash
cd /tmp
/usr/local/bin/wget -nd 
http://mksupdate.mks.com.pl/mkslinux/bazy.tgz >> 
/var/log/pobieranie_mksvira
cd /var/mks
/usr/bin/qmailctl stop >> /var/log/pobieranie_mksvira
sleep 5
#tyle wystarczy na mojej maszynie by qmail sie zastopowal
/bin/tar zxvf /tmp/bazy.tgz >> /var/log/pobieranie_mksvira
/bin/chmod a+r /var/mks/*
#Przetestujemy mksvira na pliku tekstowym
/usr/local/bin/mks32 /tmp/naglowki >> /var/log/pobieranie_mksvira
/usr/bin/qmailctl start >> /var/log/pobieranie_mksvira
---- koniec pliku

Do crona wpisaem wykonywanie skryptu /root/sprawdz, za drugi 
z plikw zostanie wykonany, gdy zmieni si Last-Modified. Ten 
skrypt zassie nowe bazy za pomoc wgeta, zatrzyma qmaila (a 
wraz z nim amavisa i mksvira), podmieni pliki z bazami 
rozpakowujc bazy.tgz przetestuje mks_vira na pliku tekstowym i 
wystartuje cao ponownie.
Wynik bdzie w /var/log/pobieranie_mksvira, za wyniki skryptu 
sprawdzajcego, czy s nowe bazy mona miao przekierowa 
do /dev/null bo wszystkie informacje s w /tmp/naglowki
Na pewno mona to zrobi prociej, szybciej i adnej, niemniej 
takie rozwizanie te dziaa.
Przy takich skryptach wol uy penych cieek.

---- poprawka do powyzszego listu ---

Trzeba zmodyfikowa drugi skrypt - /root/pobierz
Przed lini uruchamiajc wgeta naley doda
rm -f /tmp/bazy.tgz >/dev/null 2>&1
aby usun poprzednio zassany plik. Jeli tego nie ma, to 
wget owszem, zassie plik, ale zapisze go z nazw bazy.tgz.1 i 
kolejne cyferki.
Ponadto zauwayem, e warto 5 w komendzie sleep 5 jest 
wystarczajca do typowych, przesyanych zacznikw.

===================================
--------- mks i procmail --------
===================================

Przyklad uzycia w .procmailrc (podziekowania dla: Rafal Wiosna)

SHELL=/bin/bash
:0 fw
* !^FROM_DAEMON
| /usr/local/mks/mks32.static -c -e -f /usr/local/mks/mks.cfg \
        2>>/var/log/mks_vir.log | \
        formail -a "X-MKS-Scan: <`hostname`> `date -R`"

formail po to aby errorcode nie spowodowal zignorowania filtra.
Opcja --no-error  zwraca zawsze 0 [chyba, ze blad krytyczny
wtedy powinien siac errorem]... 
Wtedy nie jest potrzebny formail.

[Uwaga: co zrbic gdy wirus w naglowku e-mail'a doda pole FROM_DAEMON ?]

-------
Jesli zastosujemy ktoras z regul opisanych w readme.txt a dotyczaca 
procmaila, to nie da sie ich za bardzo zastosowac w naczelnym pliku conf 
dla procmaila (/etc/procmailrc), gdyz w ten sposob uniewazniamy wszelkie 
reguly uzytkownikow w ich domowych $HOME/.procmailrc
Wielu moich uzytkownikow wysyla powiadomienia na komorke via reguly w 
$HOME/.procmailrc
Sposobem na ominiecie tego problemu jest taka regula na poczatku glownego 
pliku (/etc/procmailrc):

:0 f
* !^FROM_DAEMON
| /usr/bin/mks32 -c -e 2>> /var/log/mks_vir.log

Po pierwsze (literka f) filtruje maile via mks32 i puszcza je dalej w 
potok procmaila, a nie od razu do skrzynki (np. /var/spool/mail/$USER),
czyli uzytkownicy moga wciaz uzywac wlasnych regul sortowania poczty.
Po drugie (juz nie tak znaczace) logi zapisuje w katalogu /var/log/ 
(bardziej typowo).

pozdrawiam
Pawel Femur Wojtal

===========================================
---- jak walczyc z robakiem Badtrans ---- 
===========================================

:0 HhBb
* .*iframe.*src
* content-type: audio
{
        :0 c
        badtransII.bak

        :0
        /dev/null
}  

===========================================
--- sprawdzanie mbox na Linux
===========================================

Do skanowania mbox mozna uzyc w skrypcie programu formail

cp mbox mbox.bak
cat mbox | formail -s mks32 -e 1> mbox.out 2> mbox.err
cp mbox.out mbox

UWAGA: prosze zachowac mbox.bak i ew. dorobic licznik
czyli do kazdego z plikow (za wyjatkiem mbox) dodac .N

cat mbox mbox.bak.N
cat mbox | formail -s mks32 -e 1> mbox.out.N 2> mbox.err.N
cp mbox.out.N mbox

gdzie N jest kolejnym numerem

Wtedy, jesli wystapia problemy ze skanowaniem bedziemy mogli
sprawdzic co sie stalo.

===========================================
--- linki do skryptow .procmail ---
===========================================

ponizej linki do strony o zabezpieczaniu e-mail'a
za pomoca skryptow w .procmailrc

ftp://ftp.rubyriver.com/pub/jhardin/antispam/procmail-security.html

http://www.impsec.org/email-tools/procmail-security.html

globalne reguly dla procmail ustawia sie w:

/etc/procmailrc

===========================================
--- Link do strony www opisujacej integracje z amavis'em i MTA.
===========================================

Opis jak skorzystac z mks_vir, amavis i qmail.
Amavis jest na tyle elastyczny, ze powinien pracowac z innymi MTA
(postfix, sendmail)

http://www.raszyn.pl/~hunter/howto/mks.html

+++++++++++++++++++++++++++
+++++++++ KONIEC ++++++++++
+++++++++++++++++++++++++++
