transparent a virus... Dodał: grzywka18 Dnia: 2008-05-13 11:19:58 hmm Dodał: dzibi Dnia: 2007-12-12 10:01:14 Bez tytułu Dodał: grzywka18 Dnia: 2007-12-11 17:46:06 Bez tytułu Dodał: termid Dnia: 2007-05-09 18:01:11 Bez tytułu Dodał: sarelo33 Dnia: 2006-12-30 23:50:14 Jest ok ale.. Dodał: theviant Dnia: 2006-11-16 08:10:05
Google
Newsletter
Zapisz się na nasz newsletter, jeżeli chcesz być na bieżąco informowany o aktualnościach..
Konfiguracja systemu pocztowego we FreeBSD na bazie qmaila - 1. Instalacja
wtorek, 25 listopada 2003 -
Napisał: Artur Kulda (22390 odsłon)
W celu uruchomienia ochrony antywirusowej na bramce pocztowej (qmail) można zastosować rozwiązanie polegające na podmianie wywołania w qmail'u podprogramu obsługującego kolejke pocztową (qmail-queue) na qmail-scanner-queue.pl.
Qmail-Scanner jest napisany w perl'u przez Jason'a Haar'a. Eleganckim rozwiązaniem jest patch Bruce Guenter'a
QMAILQUEUE. Dzięki niemu qmail-send otrzymuje dodatkową funkcjonalność - rozpoznawanie zmiennej środowiskowej QMAILQUEUE. Zmienna ta powinna zawierać pełna ścieżkę z nazwą programu obsługującego kolejkę. Możemy ją ustawiać w zależności od potrzeb przy pomocy tcpserver'a - np. w regułkach relayingu:
$/etc> head -2 tcp.smtp
127.:allow,RELAYCLIENT="",QMAILQUEUE="/var/qmail/bin/qmail-queue"
192.168.0.1-255:allow,RELAYCLIENT="",QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"
Skrypty startujące qmail za pośrednictwem tcpserver'a odpowiednio wykorzystują ustawianie zmiennych środowiskowych - tu możemy różnicować ścieżkę do oryginalnego qmail-queue bądź do qmail-scanner-queue.pl w zależności od adresu z jakiego przychodzi połączenie. W powyższym przykładzie przy wysyłaniu poczy przez użytkowników lokalnych serwera nie będzie wykonywane skanowanie poczty, natomiast wysyłka poczty z sieci lokalnej będzie podlegać skanowaniu.
Instalacja sprowadza się do nałożenia patch'a na źródła qmaila, analogicznie jak w przypadku SpamControl, kompilacji i instalacji qmaila. Poprawność implementacji zmiennej QMAILQUEUE w programie qmail-send możemy zweryfikować poleceniem:
Przed instalacją warto zainstalować narzędzie napisane przez Marka SImpson'a (tnef) służące do rozpakowywania poczty wysyłanej w outlookowym formacie Microsoft's Transport Neutral Encapsulaton Format (oczywiście dostępne w portach).
W przykładowej instalacji zdecydowałem się nie rozpakowywać załączników pocztowych oraz nie używać zewnętrznego skanera antywirusowego. Wykorzystana jest w tym przypadku jedynie funkcjonalność blokowania poczty z potencjalnie niebezpiecznymi załącznikami. Przykładowa instalacja Qmail-Scanner'a odbywa się następująco:
$~> tar -zxvf qmail-scanner-1.20rc3.tgz && cd qmail-scanner-1.20rc3
$~/qmail-scanner-1.20rc3> ./configure --spooldir /home/qmail/qmailscan
--admin antiviradmin --notify "sender,admin" --lang "en_PL" --scanners "none"
--unzip no --log-details yes --bindir /var/qmail/bin
Building Qmail-Scanner 1.20rc3...
This script will search your system for the virus scanners it knows
about, and will ensure that all external programs
qmail-scanner-queue.pl uses are explicitly pathed for performance
reasons.
It will then generate qmail-scanner-queue.pl - it is up to you to install it
correctly.
Continue? ([Y]/N)y
/usr/bin/uudecode works as expected on system...
Found tnef on your system! That means we'll be able to decode stupid
M$ attachments :-)
The following binaries and scanners were found on your system:
% (echo 'First M. Last'; cat SYSDEF)|mail
Replace First M. Last with your name.
W tym miejscu zdecydowałem, iż najlepiej będzie kontynuować
dalszą instalację ręcznie.
Założyłem w systemie użytkownika (i grupę) na którym będzie wykonywany qmail-scanner-queue.pl. Utworzyłem katalog w którym odbywa się cały proces skanowania oraz gdzie znajdują się pliki konfiguracyjne. Wszystko to opisuje
ta strona z dokumentacji. Należy stworzyć odpowiednią strukturę katalogów,
nadać im właściwe prawa dla użytkownika (i grupy) na którym będzie uruchamiany qmail-scanner-queue.pl, stworzyć alias pocztowy antiviradmin do którego będą kierowane maile z informacjami o przechwyconych wirusach. Z uwagi na dziwne zachowanie qmail-scanner-queue.pl polegające na pomijaniu sprawdzania niektórych maili postanowiłem zbadać sprawę. Okazało się że nie zawsze jest wywoływany qmail-scanner-queue.pl a czasem qmail-queue co może wynikać z mojej nietypowej konfiguracji z anti-spam'em i innymi modułami. Postanowiłem podmienić ręcznie odpowiednie pliki i tak:
W qmail-scanner-queue.pl ręcznie (lub poprzez odpowiednie wywołanie w
configure) zmodyfikowałem wskazanie z qmail-queue na binarkę qmail-queue-orig która powstała poprzez zmianę nazwy oryginalnej qmail'owej qmail-queue. Takie ustawienie definitywnie rozwiązało problem.
Po udanych testach i sprawnym działaniu ostateczna wersja konfiguracji qmail-scanner'a przyjęła
postać skryptu jak na poniższym listingu:
#!/bin/sh
echo Przygotowanie qmail-scanner-queue.pl ...
#
./configure --spooldir /home/qmail/qmailscan
--admin qscan --notify "sender,admin" --lang "en_PL" --scanners "clamscan"
--unzip no --log-details yes --bindir /var/qmail/bin
--skip-text-msgs no --no-QQ-check --debug no
--qmail-queue-binary /var/qmail/bin/qmail-queue-orig
#
echo Kopiowanie do /var/qmail/bin/ ...
cp qmail-scanner-queue.pl /var/qmail/bin/
Podstawowym plikiem konfiguracyjnym sterującym działaniem skanera jest quarantine-attachments.txt
Po każdej wykonanej zmianie w zawartości pliku należy wykonać aktualizację bazy poleceniem:
$>/var/qmail/bin/qmail-scanner-queue.pl -g
perlscanner: generate new DB file from /home/qmail/qmailscan/quarantine-attachments.txt
perlscanner: total of 42 entries.
Przykładowa zawartość tego pliku może wyglądać jak w poniższym przykładzie:
# skanowanie po temacie maila Subject:
MS.*Corporation*Virus-Subject: Falszywy pakiet aktualizacji z koniem trojanskim
ms.*network*Virus-Subject: Falszywy pakiet aktualizacji z koniem trojanskim
MS.*Net*Virus-Subject: Falszywy pakiet aktualizacji z koniem trojanskim
*Microsoft*Virus-Subject: Falszywy pakiet aktualizacji z koniem trojanskim
*Network.Security.*Virus-Subject: Falszywy pakiet aktualizacji z koniem trojanskim
*Network.Critical.*Virus-Subject: Falszywy pakiet aktualizacji z koniem trojanskim
*.Internet.Update*Virus-Subject: Falszywy pakiet aktualizacji z koniem trojanskim
*.Internet.Pack*Virus-Subject: Falszywy pakiet aktualizacji z koniem trojanskim
*Critical.Upgrade*Virus-Subject: Falszywy pakiet aktualizacji z koniem trojanskim
*Critical.Patch*Virus-Subject: Falszywy pakiet aktualizacji z koniem trojanskim
Use.this.patch.*Virus-Subject: Falszywy pakiet aktualizacji z koniem trojanskim
# skanowanie po znanych mime:
EICAR.COM69EICAR Test Virus
Happy99.exe10000Happy99 Trojan
zipped_files.exe120495 W32/ExploreZip.worm.pak virus
ILOVEYOUVirus-Subject:Love Letter Virus/Trojan
message/partial.*Virus-Content-Type:Message/partial MIME attachments blocked by policy
application/x-msdownload*Virus-Content-Type: application/x-msdownload MIME attachments blocked by policy
# skanowanie po załącznikach niebezpiecznych:
# .EXE,*.COM,*.BAT,*.CMD,*.VBS,*.PL,*.BAS,*.JS,*.JAVA,
# *.REG,*.SHS,*.PIF,*.SCR,*.DLL,*.SSH,*.CHM,*.HLP,*.LNK
.vbs0pliki .vbs moga byc niebezpieczne i sa niedozwolone w poczcie
.lnk0pliki .lnk moga byc niebezpieczne i sa niedozwolone w poczcie
.scr0pliki .scr moga byc niebezpieczne i sa niedozwolone w poczcie
.wsh0pliki .vsh moga byc niebezpieczne i sa niedozwolone w poczcie
.hta0pliki .hta moga byc niebezpieczne i sa niedozwolone w poczcie
.pif0pliki .pif moga byc niebezpieczne i sa niedozwolone w poczcie
.com0pliki .com moga byc niebezpieczne i sa niedozwolone w poczcie
.exe0pliki .exe moga byc niebezpieczne i sa niedozwolone w poczcie
.bat0pliki .bat moga byc niebezpieczne i sa niedozwolone w poczcie
.cmd0pliki .cmd moga byc niebezpieczne i sa niedozwolone w poczcie
.pl0pliki .pl moga byc niebezpieczne i sa niedozwolone w poczcie
.bas0pliki .bas moga byc niebezpieczne i sa niedozwolone w poczcie
.js0pliki .js moga byc niebezpieczne i sa niedozwolone w poczcie
.java0pliki .java moga byc niebezpieczne i sa niedozwolone w poczcie
.reg0pliki .reg moga byc niebezpieczne i sa niedozwolone w poczcie
.shs0pliki .shs moga byc niebezpieczne i sa niedozwolone w poczcie
.dll0pliki .dll moga byc niebezpieczne i sa niedozwolone w poczcie
.ssh0pliki .ssh moga byc niebezpieczne i sa niedozwolone w poczcie
.chm0pliki .chm moga byc niebezpieczne i sa niedozwolone w poczcie
.hlp0pliki .hlp moga byc niebezpieczne i sa niedozwolone w poczcie
Należy pamiętać że poszczególne kolumny (pola) są oddzielane znakiem tabulacji. Po całej procedurze instalacji należy zrestartować qmail'a oraz przetestować wysyłkę poczty z serwera oraz z sieci, z załącznikami i bez, z dozwolonymi i nie.
Clam Antivirus
Poprawne działanie qmail-scanner'a umożliwiło dodanie pełnej kontroli antywirusowej przy użyciu darmowego Clam AntiVirus'a. Instalację najłatwiej wykonać przy użyciu port'u /usr/ports/security/clamav wykonując polecenie: cd /usr/ports/security/clamav ; make install clean
Szczegółowy i oryginalny opis instalacji na FreeBSD jest dostępny tutaj. System port'ów FreeBSD znakomicie ułatwia całą procedurę. Pozostaje jedynie wykonać ręcznie polecenie: freshclam --verbose. W kolejnym kroku należy sporządzić skrypt startujący daemona freshclam (/usr/local/etc/rc.d/clamav.sh) tak aby automatycznie kilka razy na dobę aktualizował naszą bazę sygnatur wirusów:
#!/bin/sh
#
# Startup / shutdown script for Clam Antivirus
case "$1" in
start)
/usr/local/bin/freshclam -d -c 6 -l /var/log/freshclam.log
echo -n ' freshclam'
;;
Dokumentacja jest umieszczona na stronie domowej autora qmaila http://cr.yp.to a także na stronie głównej projektu
http://www.qmail.org manuale dostępne w systemie po zainstalowaniu oprogramowania. Na stronie głównej projektu jest także dostępne FAQ oraz różne dodatki do qmaila. Polecam także lekturę
Life with qmail.
Podziękowania dla Adama Liberackiego za cenne uwagi i korektę, Marka Zbrocha za info o requireauth i pacze do Qmail Scanner'a (obsługa Mks_Vir'a) oraz wszystkich z
pl.comp.os.freebsd za "konstruktywną krytykę".