MKS_Vir jest darmowym programem antywirusowym przeznaczonym
dla systemów Linux/UNIX. Został skompilowany w wersji statycznej i dynamicznej
na platformę i386. Zatem jest idealnym narzędziem do ochrony antywirusowej na
serwerach pocztowych.
Poniższy tekst zakłada, że w systemie działa już Postfix z Amavisem i że zostały
poprawnie skonfigurowane (postanowiłem nie opisywać instalacji Postfixa i
Amavisa, bo takie artykuły już powstały i nie widzę potrzeby ich powielania).
POSTFIX + AMAVIS + MKS + MKSUPDATE dla FreeBSD 4.x
Wersje:
Postfix: 2.0.19
Amavisd-new:20030616.p9
MKS:1-9-6
Daemon MKS’a:1.15.2
1. Ściągamy MKS’a i demona MKS’a przyspieszającego skanowanie
poczty:
# fetch
http://download.mks.com.pl/download/freebsd/mks-FreeBSD-i386-1-9-6.tgz
# fetch
http://download.mks.com.pl.download/freebsd/mksdFreeBSD-1.15.2.tgz
i rozpakowujemy.
2. Z pakietu mks-FreeBSD-i386-1-9-6.tgz kopiujemy:
# cp mks32 /usr/local/bin
# cp mks_vir.cfg /etc
natomiast z pakietu mksdFreeBSD-1.15.2.tgz:
# cp mksd mkschkin mksfiltr mksscan
/usr/local/bin
3. Następnie nadajemy odpowiednie uprawnienia i dodajemy grupę
i usera ‘mks’:
# chown root:wheel /usr/local/bin/mks*
# chmod 555 /usr/local/bin/mks*
# pw groupadd mks
# pw useradd –c “MKS user” –d /var/run/mksd –m –s /bin/sh –n
mks
4. Tworzymy katalog /usr/local/mks/bazy4, w którym będą
umieszczane nasze bazy a w pliku mks_vir.cfg wskazujemy ścieżkę do baz:
--mks-vir-dat-patch=/usr/local/mks/bazy4/
5. Tworzymy skrypt do uruchamiania MKS’a i umieszczamy go w /usr/local/etc/rc.d
--- mks.sh ---
#!/bin/sh
PREFIX=/usr/local
case "$1" in
start)
[ -x ${PREFIX}/bin/mksd
] && ${PREFIX}/bin/mksd –u mks –g mks scan 3 && echo –n ' mksd'
;;
stop)
kill –TERM `cat
/var/run/mksd/mksd.pid` && echo –n ' mksd'
;;
*)
echo "Usage:
`basename $0` {start|stop}" >&2
;;
esac
exit 0 |
--- end of mks.sh ---
6. Ściągamy skrypt aktualizujący bazy:
# fetch
http://download.mks.com.pl/download/linux/mksupdate.tgz
Skrypt jest napisany pod Linuxa, ale niewielkim nakładem sił
można go dostosowac do FreeBSD.
W związku z tym, że skrypt wymaga ‘md5sum’ z Linuxa, a w FreeBSD mamy ‘md5’
(sprawdzanie sum kontrolnych), musimy zacząć od ściągniecia pakietu ‘Textutils’,
w którym znajdziemy m.in. ‘md5sum’.
Po kompilacji pakietu Textutils wracamy do skryptu. Zatem rozpakowujemy i po
kolei:
a. wrzucamy skrypt do /usr/local/etc/rc.d i zmieniamy nazwę na mksupdate.sh
b. w pliku dokonujemy następujących zmian:
- podajemy ścieżkę do programu mks (MKS_XXXII=/usr/local/bin/mks32)
- podajemy ścieżkę do baz (MKS_BASES=/usr/local/mks/bazy4
- haszujemy PGP (PGP_PATCH=”{MKS_BASES}”/.pgp), chyba że ktoś
chce używać, ale nie jest niezbędny do działania skryptu
- wyrzucamy ‘2>&1’ wszędzie gdzie występuje (uniemożliwia
łączenie się z serwerem i ściągniecie baz)
c. nadajemy uprawnienia:
# chmod 700 mksupdate.sh (o ile root
jest właścicielem)
d. w katalogu /usr/local/mks/bazy4 zakładamy katalog /tmp
Po wprowadzeniu tych zmian odpalamy:
# /usr/local/etc/rc.d/mksupdate.sh
get
Skrypt powinien połączyć się z serwerem MKS i podać komunikat:
Dostępne są nowe bazy wirusów.
..
Bazy zostały zainstalowane.
Bazy zostały ściągnięte i zapisane w katalogu /usr/local/mks/bazy4.
Skrypt opiera się na sprawdzaniu sum kontrolnych plików baz.
Pozwala to na przyspieszenie aktualizacji baz, ponieważ skrypt nie ściąga
wszystkich baz (jak było jeszcze nie tak dawno), ale tylko te, które uległy
zmianie. Proponuję jeszcze wrzucić skrypt do crona, tak żeby w pełni
zautomatyzować proces aktualizacji.
7. Następnie uruchamiamy skrypt:
# /usr/local/etc/rc.d/mks.sh start
powinno pojawić się coś takiego:
mksd v1.15 (c) MKS Sp. z o.o. 2002,
2003
tryb pracy: scan, liczba procesów: 3
inicjalizuje mks_vir’a…
mks_vir w tle gotowy do pracy
i jeszcze sprawdzamy czy na pewno Mks działa i są uruchomione
3 procesy:
# ps –auwx | grep mks
powinno być tak:
mks 182 0.0 11.8 18336 14828 ?? I
2:09PM 0:00.00 /usr/local/bin/mksd –u mks –g mks scan 3
mks ............... /usr/local/bin/mks32 –daemonscan
mks ............... /usr/local/bin/mks32 –daemonscan
mks ............... /usr/local/bin/mks32 –daemonscan
W ten sposób MKS już działa i będzie się uruchamiał przy
każdym starcie systemu.
8. Następnie przechodzimy do edycji pliku /usr/local/etc/amavisd.conf
i w sekcji VII dopisujemy:
@av_scanners = (
[‘MkS_Vir
daemon’,
‘/usr/local/bin/mksscan’,
‘-s –q {}’, [0], [1..7],
qr/^...
(\S+)/ ],
); |
Pozostałe odwołania do programów antywirusowych zahaszowujemy
albo kasujemy i restartujemy amavisa:
# /usr/local/etc/rc.d/amavisd.sh
restart (o ile został wcześniej uruchomiony)
lub
# /usr/local/etc/rc.d/amavisd.sh start (jeżeli nie został wcześniej uruchomiony)
i jeszcze restart Postfixa
# postfix reload
W /var/log/maillog powinno pojawić się coś takiego:
Found primary av scanner Mks_Vir
demon at /usr/local/bin/mksscan
9. Uwagi:
Jeżeli występuje problem z uruchomieniem MKS w wersji
dynamicznej, proponuję użyć plików statycznych (.static). Należy tylko pamiętać,
żeby wszędzie pozmieniać odwołania do plików.
Ilość procesów MKS’a możemy ustawić dowolnie, wszystko zależy od potrzeb.
Autor: Rafał Andrzejewski
rafal(at)bsd4.org |
| Dodane przez promyk w dniu - 2004-08-06 19:03:40 | W sumie pewnie bedzie komentarz ze sie czepiam.. Ale, wydaje mi sie ze pod FreeBSD o wiele lepiej zamiast tego skryptu ktory jest dostepny na stronie glownej mks'a sprawuje sie rsync zreszta każdy moze sobie potestowac wystarczy zainstalowac rsync i sprawdzic : rsync -rtW --delete-after rsync://rsync.mksupdate.mks.com.pl/bazy4 katalog_baz/ u mnie dziala to wysmienicie... I o wiele lepiej niz ten ich skrypt Pozdrawiam | Re: Dodane przez rafal w dniu - 2004-08-06 23:47:10 | | Wręcz przeciwnie, uważam, że słusznie wspomniałeś o rsync. Ja opisałem wersje ze skryptem, ponieważ taką robiłem na dwóch serwerach i jak dotąd sprawuje sie bardzo dobrze. | Re: Dodane przez promyk w dniu - 2004-08-07 08:22:56 | Spoko Ja chcialem Tym zasugerowac zebys uaktualnil artykuł (bo w sumie wiesz niektorzy wola tak a niektorzy tak niech ktos kto czyta arta tez ma wybor) i by bylo super taka sugestia ale spoko.
Pozdrawiam | Re: Współpraca MKS'a i Postfix'a Dodane przez al w dniu - 2004-09-01 17:37:59 | | nie dziala mi skrypt mks.sh na fbsd5.2.1 blad glosi Syntax error: ";;" unexpected - coz moze byc zle ? dzieki za pomoc w problemie. | Re: Współpraca MKS'a i Postfix'a Dodane przez arti w dniu - 2004-09-01 22:46:34 | Witam, Zapewne skopiowałeś go ze strony i parwdopodobnie wyszło nie tak jak powinno. Lepiej jest pzrepisać go ręcznie ;/ P.S. A jak nie, to zawsze możesz skorzystać ze skryptu, który jest dostarczany z mks'em ;-) Możesz również wrzucić tu swój skrypt - może znajdziemy błąd ;-) | Re: Współpraca MKS'a i Postfix'a Dodane przez rafal w dniu - 2004-09-02 16:46:06 | Witam, nie działa, bo w 5 wierszu na końcu (po &&) powinien być wpis: echo –n ‘ mksd’ Czyli całość wygląda tak: ---- #!/bin/sh PREFIX=/usr/local case “$1” in start) [ -x ${PREFIX}/bin/mksd ] && ${PREFIX}/bin/mksd –u mks –g mks scan 3 && echo –n ‘ mksd’ ;; stop) kill –TERM `cat /var/run/mksd/mksd.pid` && echo –n ‘ mksd’ ;; *) echo “Usage: `basename $0` {start|stop}” >&2 ;; esac exit ---- Pozdrawiam | Re: Współpraca MKS'a i Postfix'a Dodane przez al w dniu - 2004-09-08 00:11:18 | niby tak mam, a dostaje komunikat ELF binary type "0" not known. /usr/local/bin/mksd: 1: Syntax error: "(" unexpected z 0 po exit tez to samo ale dzieki za odp. moze cos jeszcze przyjdzie wam do glowy  | jak to robisz? Dodane przez arti w dniu - 2004-09-08 07:24:08 | Witam, Ale w jaki sposób piszesz ten skrypt: poprzez kopiowanie ze strony czy wklepywanie ręcznie. Spróbuj wklepać to z palca bo być może coś w kopiowaniu się krzaczy i wychodzą inne znaki. P.S. Poprawiłem ten skrypt w artykule, więc teraz kopiowanie powinno się udać ;-) | Re: Współpraca MKS'a i Postfix'a Dodane przez rafal w dniu - 2004-09-08 18:46:23 | Po exit powinno byc 0 (zero), w tej chwili w artykule jest w 100% poprawny skrypt. Z komunikatu, ktory podales wynika, ze masz gdzies niepotrzebnie "(" znak wstawiony. Moze wstaw tu swoj skrypt to popatrzymy. | Re: Współpraca MKS'a i Postfix'a Dodane przez al w dniu - 2004-09-08 22:07:43 | dzieki za zainteresowanie, nie chce wam zabierac waszego czasu za bardzo . skrypt przepisywalem ze strony,przy kopiowaniu od razu widac bylo ze niektore znaki inaczej sie wklejaly. oto moj - - - #!/bin/sh PREFIX=/usr/local case "$1" in start) [ -x ${PREFIX}/bin/mksd ] && ${PREFIX}/bin/mksd -u mks -g mks scan 3 && echo -n ' mksd' ;; stop) kill -TERM `cat /var/run/mksd/mksd.pid` && echo -n ' mksd' ;; *) echo"Usage: `basename $0` {start|stop}" >&2 ;; esac exit 0 - - - czy skrypt ma znaczenie jezei ja tak naprawde korzystam z qmail ? | Re: Współpraca MKS'a i Postfix'a Dodane przez rafal w dniu - 2004-09-08 23:36:18 | Wyglada na to, ze skrypt jest OK. A odpalales mks'a recznie? Sprawdz, bo moze nie dziala u ciebie wersja dynamiczna i trzeba wrzucic .static? Juz teraz strzelam, bo naprawde nie wiem dlaczego sie nie odpala. | Re: Współpraca MKS'a i Postfix'a Dodane przez al w dniu - 2004-09-09 11:58:57 | recznie mi pisze ze jest nie executable (?) nie wiem dlaczego, jak zapodam ze static to mam inne komunikaty np : mks_vir: fatal error: cannot init (1), database path with ':' delimiter:/usr/local/bin/: a drugi np mks_vir: warning: cannot open config file:/etc/mks_vir.cfg ,errno=2 moze mi jakis bibliotek brakuje w systemie albo jest cos nie tak z jego konfiguracja ? mam nadzieje ze nie mecze  | Re: Współpraca MKS'a i Postfix'a Dodane przez rafal w dniu - 2004-09-09 12:58:02 | Tak, ale ty mowisz do demonie mks'a. A ja mowilem o mks. Zrob tak: mks32 jakisplik jezeli dostaniesz cos takiego: mks_vir: init... 1.9.6 for FreeBSD i386, 2004.03.09 mks_vir: database version 2004 9 8 11 23 mks_vir: init OK, scan mode mks_vir: check file(s) mks_vir: file: /etc/mks_vir.cfg mks_vir: ==OK== mks_vir: status: OK /etc/mks_vir.cfg mks_vir: exit code: 0x00 To jest OK, jezeli nie to musisz zastowac wersje static. Jezeli chodzi o komunikaty, to są one najprawdopodobniej spowodowane brakiem plików .static w systemie. Przeczytaj co napisalem w uwagach w artykule. Jezeli chcesz sie odwolywac w skrypcie do wersji statycznej musisz wczesniej skopiowac pliki .static. | Re: Współpraca MKS'a i Postfix'a Dodane przez al w dniu - 2004-09-09 14:26:09 | nadmienie ze mks32 jakisplik (nie static) generuje mi takie cos : mks_vir: init... 1.9.6 for FreeBSD i386, 2004.03.09 mks_vir: database version 2004 9 9 10 51 mks_vir: init OK, scan mode mks_vir: check file(s) mks_vir: file: README mks_vir: ==OK== mks_vir: status: OK README mks_vir: exit code: 0x00 ale nadal mksd wywala takie bledy, czyli jednak z tym static probowac czy ... bo bazy jak widac tez ladnie mi sciaga, nie wiem co jest. | Re: Współpraca MKS'a i Postfix'a Dodane przez al w dniu - 2004-09-09 14:56:49 | jak z 'lapki' uruchamiam mksd to wywala mi ze : ELF binary type "0" not known. /usr/local/bin/mksd: Exec format error. Binary file not executable. a jak przez skrypt to te co wyzej pisalem. | Re: Współpraca MKS'a i Postfix'a Dodane przez rafal w dniu - 2004-09-09 20:12:04 | Wyglada na to, ze jednak jest problem z wersją dynamiczna, spróbuj .static Tu link do podobnej sytuacji: http://forum.mks.com.pl/forum/viewthread.php?fid=7&tid=1975&action=printable | Re: Współpraca MKS'a i Postfix'a Dodane przez al w dniu - 2004-09-10 11:41:37 | mksd v1.15 (c) MkS Sp. z o.o. 2002,2003 tryb pracy: scan, liczba procesow: 3 inicjalizuje mks_vir'a... mksd: inicjalizacja nie powiodla sie; patrz logi Wyjscie awaryjne. to bedzie glupie pytanie, gdzie sa te logi ? w messagach nie mam nic. sorr ze tak truje, ale na tym gruncie jestem pierwszy raz i kuleje troche. | Re: Współpraca MKS'a i Postfix'a Dodane przez rafal w dniu - 2004-09-10 12:17:32 | No ewidentnie masz problem z prawami dostępu do plikow. Jak chcesz szybko rozwiazac problem to uruchom z roota: /usr/local/bin/mksd scan 3 lub /usr/local/bin/mksd.static scan 3 W skrypcie natomiast zamiast: mksd.static -u mks -g mks scan 3 daj: mksd.static scan 3 Sam zobaczysz, ze tak pojdzie. Jezeli chcesz jednak uruchamiac z userem mks to musisz nadac odpowiednie uprawnienia do plikow: mks32 lub mks32.static mksd lub mksd.static mks_vir.cfg i katalogu: /var/run/mksd Podaje dla wersji dynamicznej i static, bo juz nie wiem co masz.
| Re: Współpraca MKS'a i Postfix'a Dodane przez al w dniu - 2004-09-10 14:26:17 | uruchomilem static - zadzialalo wielkie dzieki, pytanie tylko dlaczego mam klopoty z prawami dostepu ? pytanie dalsze, jak bedzie sie objawialo dzialanie mks ? bo nie wiem czy to juz koniec czy musze go jakos pod queue qmail'a podpiac. wielkie dzieki, bo wlasciwie to bez was bym tego kroku do przodu raczej nie zrobil  | Re: Współpraca MKS'a i Postfix'a Dodane przez rafal w dniu - 2004-09-10 17:15:32 | Z prawami dostępu? No pomyśl. Skoro uruchamiasz mks z poziomu usera mks, to ten user musi miec prawa odczytu paru rzeczy. Zgodzisz się? I tak, jezeli np. prawa odczytu pliku /etc/mks_vir.cfg ma tylko root, to nie bedziesz mogł uruchmic mksd -u mks -g mks bo nie bedzie mogl odczytac pliku mks_vir.cfg. To samo tyczy sie pozostalych plikow, w tym również baz antywirusowych. Mam nadzieje, ze zrozumiale to wylożyłem. Co do qmaila to ci nie pomoge, bo go nie znam. Pozostaje ci google. |
Tylko zarejestrowani użytkownicy mogą pisać komentarze. Prosze zaloguj się i dodaj komentarz. Powered by AkoComment! |