Wprowadzenie. Co to jest ClamAV Omówienie nowej wersji programu Kilka przykładów zastosowań Implementacja ClamAV jako skanera poczty w Sendmailu



Podobne dokumenty
Qmail radość listonosza. Autorzy: Bartosz Krupowski, Marcin Landoch IVFDS

Wymagania techniczne dla programów antywirusowych. Oprogramowanie dla serwerów i stacji roboczych będących w sieci - ilość 450 sztuk:

Produkty. ESET Produkty

INSTRUKCJA KONFIGURACJI KLIENTA POCZTOWEGO

Instalacja serwera baz danych PostgreSQL ze źródeł i pierwsze uruchomienie

Klient poczty elektronicznej - Thunderbird

Konfiguracja vsftpd ( Very Secure FTP Server )

Instrukcja instalacji i obsługi programu Szpieg 3

Kaspersky Hosted Security

Szpieg 2.0 Instrukcja użytkownika

Poradnik administratora Korporacyjne rozwiązania G Data

Archiwizacja baz MSSQL /BKP_SQL/ opis oprogramowania

Produkty. MKS Produkty

Produkty. KASPERSKY Produkty

Nowy Sącz: AD II 3421/12/08 Zamówienie na dostawę programu antywirusowego z licencją na okres jednego roku

Instrukcja konfiguracji funkcji skanowania

Bezpieczny system poczty elektronicznej

Linux -- u mnie działa!

Sieci komputerowe i bazy danych

1 Moduł Konfigurowanie Modułu

Konfiguracja programu pocztowego Outlook Express i toŝsamości.

Zmieniona Tabela nr 1a - Oprogramowanie antywirusowe. Parametry wymagane przez Zamawiającego

Win Admin Replikator Instrukcja Obsługi

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

Numer ogłoszenia: ; data zamieszczenia:

Brinet sp. z o.o. wyłączny przedstawiciel DrayTek w Polsce

Produkty. ca Produkty

Instrukcja instalacji usługi Sygnity Service

oprogramowania F-Secure

Graficzny terminal sieciowy ABA-X3. część druga. Podstawowa konfiguracja terminala

Instrukcja instalacji Control Expert 3.0

Dostarczanie Poczty. beta. DNS spool. MX główny. rekordy MX dla komputera beta. MX zapasowy. alpha

ZAPYTANIE OFERTOWE NR1/3.3 Z DNIA

Instrukcja konfigurowania poczty Exchange dla klienta pocztowego użytkowanego poza siecią uczelnianą SGH.

Serwer poczty Postfix. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Skrócony podręcznik dla partnerów

13. Konfiguracja proxy http, smtp, pop3, ftp, ssl

- udostępnić anonimowym użytkownikowi Internetu pliki przez serwer FTP,

G DATA Client Security Business

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

9. Internet. Konfiguracja połączenia z Internetem

SERWERY WIRTUALNE Stabilność, szybkość i bezpieczeństwo danych...

Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego

Produkty. Alwil Produkty

Firewall bez adresu IP

Konfiguracja programu pocztowego Mozilla Thunderbird do pracy w sieci NEO.pl

World Wide Web? rkijanka

Funkcjonalność ochrony antywirusowej w urządzeniach UTM oraz specjalizowanych rozwiązaniach zabezpieczeń AV

Obsługa poczty elektronicznej w domenie emeritus.ue.poznan.pl

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

Skrócona instrukcja konfiguracji skanowania iwysyłania wiadomości

ArcaVir 2008 System Protection

Panda Managed Office Protection. Przewodnik. Panda Managed Office Protection. Przewodnik

Instrukcja instalacji usługi Sygnity Service

Przykładowa konfiguracja konta pocztowego w programie Thunderbird z wykorzystaniem MKS 2k7 (MS Windows Vista Busissnes)

Podręcznik instalacji i konfiguracji aplikacji 7 Office Ship Control dla Microsoft Office 2007 i Siódemka S.A. Warszawa, dnia r.

Serwer druku w Windows Server

KONFIGURACJA KONTA POCZTOWEGO DO POBRANIA WIADOMOŚCI Z OBECNEGO SERWERA POCZTOWEGO. Zespół Systemów Sieciowych

Znak sprawy: KZp

PROPOZYCJA WYKONANIA SERWISU WWW

Konfiguracja poczty wychodzącej

Konfiguracja poczty IMO w programach Microsoft Outlook oraz Mozilla Thunderbird

Konfiguracja poczty IMO dla urządzeń mobilnych z systemem ios oraz Android.

Instalacja NOD32 Remote Administrator

Moduł integrujący serwis Korporacji Kurierskiej z programem WF-MAG Instrukcja użytkowania

Biuletyn techniczny. CDN OPT!MA 8.5 Wskazówki dotyczące instalacji programu. Copyright 2006 COMARCH SA

9. System wykrywania i blokowania włamań ASQ (IPS)

Załącznik nr 3a do siw i umowy - Specyfikacja ESET NOD32 Antivirus na stacje robocze i serwery:

Win Admin Replikator Instrukcja Obsługi

PROFESJONALNE USŁUGI BEZPIECZEŃSTWA

Dokumentacja Użytkownika Systemu. Konfiguracja konta

Budowa i działanie programów antywirusowych

Konfiguracja programu MS Outlook 2007 dla poczty w hostingu Sprint Data Center

Konfiguracja konta pocztowego w Thunderbird

Lab5 - Badanie protokołów pocztowych

Manual konfiguracji konta dla fax2mail

INSTALACJA I WSTĘPNA KONFIGURACJA PROGRAMU ANTYWIRUSOWEGO NOD32. Zespół Systemów Sieciowych

Podręcznik użytkownika

Instrukcja użytkownika. Aplikacja Smart Paczka DPD

Programowanie współbieżne i rozproszone

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008

Konfiguracja współpracy urządzeń mobilnych (bonowników).

INSTRUKCJE UŻYTKOWNIKÓW

Rejestracja użytkownika Bentley Często zadawane pytania techniczne

OPIS PRZEDMIOTU ZAMÓWIENIA w odniesieniu do zadania antywirus - dostawa oprogramowania antywirusowego

TCP/IP. Warstwa aplikacji. mgr inż. Krzysztof Szałajko

1. Podręcznik instalacji aplikacji EXR Creator Wstęp Instalacja Instalacja aplikacji EXR Creator z płyty CD

Procedura aktualizacji silnika baz danych Firebird do wersji 2.5

Protokół HTTP (2) I) Wprowadzenie. II) Użyte narzędzia: III) Kolejność działań

INFO-R. Instalacja pakietu programów obsługujących platformę

Konfiguracja zapory Firewall w systemie Debian.

Mediatel 4B Sp. z o.o., ul. Bitwy Warszawskiej 1920 r. 7A, Warszawa,

dlibra 3.0 Marcin Heliński

Konfigurowanie konta pocztowego w programie Netscape (wersja 7.2)

Wymagania techniczne infrastruktury IT potrzebne do uruchomienia i pracy ServiceDesk Plus

G DATA Endpoint Protection Business

Pomoc dla r.

Najczęściej występujące problemy z instalacją i konfiguracją i ich rozwiązania.

HermesEX. Dokumentacja serwisowa v

Internetowy serwis Era mail Aplikacja sieci Web

Transkrypt:

Wprowadzenie Co to jest ClamAV Omówienie nowej wersji programu Kilka przykładów zastosowań Implementacja ClamAV jako skanera poczty w Sendmailu

Co to jest ClamAV ClamAV czyli Clam AntiVirus jest zestawem narzędzi antywirusowych dla systemów UNIX (ale nie tylko), dostępnym na licencji GPL oraz zaprojektowanym z myślą o skanowaniu wiadomości e-mail na poziomie serwerów pocztowych. Pakiet dostarcza wielu narzędzi, takich jak elastyczny i skalowalny wielowątkowy demon (clamd), skaner z linii poleceń (clamscan/clamdscan), skanowanie plików w trybie on-access (clamuko) i zaawansowane narzędzie do automatycznych aktualizacji baz sygnatur wirusów (freshclam). Głównym elementem pakietu jest silnik antywirusowy, dostępny w formie współdzielonej biblioteki (LibClamAV).

Co potrafi ClamAV skaner z poziomu linii poleceń szybki, wielowątkowy demon, obsługujący skanowanie on-access (w momencie dostępu do pliku) interfejs dla Sendmaila zaawansowany aktualizator baz wirusów, wspierający aktualizacje skryptowe i sygnatury cyfrowe współdzielona biblioteka C (libclamav), implementująca procedury detekcji wirusów skanowanie on-access (Linux i FreeBSD) baza sygnatur wirusów aktualizowana wielokrotnie w ciągu dnia

Co potrafi ClamAV (c.d.) wbudowane wsparcie dla różnych formatów archiwów, włączając Zip, RAR, Tar, Gzip, Bzip2, OLE2, Cabinet, CHM, BinHex, SIS i inne wbudowane wsparcie dla praktycznie wszystkich formatów wiadomości e-mail wbudowane wsparcie dla plików wykonywalnych ELF i plików Portable Executable skompresowanych przez UPX, FSG, Petite, NsPack, wwpack32, MEW, Upack i obfuskowanych z użyciem SUE, Y0da Cryptor i innych wbudowane wsparcie dla popularnych formatów dokumentów, włączając w to pliki MS Office i MacOffice, HTML, RTF i PDF wsparcie dla sprzętowych akceleratorów NodalCore

Nowości w wersji 0.9x dodano obsługę archiwów typu RAR3, SIS, SFX i decrypterów jak: pespin, sue, yc, wwpack32, nspack, mew, upack udoskonalony mechanizm skanowania plików typu ELF, PDF i Tar nowy, bardziej efektywny moduł dla ataków typu phishing. Moduł powstał jako projekt Google Summer of Code. Algorytm generyczny szuka adresów URL w treści maila i porównuje zawartość prawdziwej strony z tą prezentowaną odbiorcy maila bardzo efektywny format sygnatur dla ataków typu phishing inkrementacyjna baza sygnatur ściąganie tylko różnic w plikach cvd

Przykłady zastosowań System AV dla serwerów pocztowych AntyVirus dla Samby ClamFS AntyVirus dla Snort-inline Transparentne proxy AV dla protokołów HTTP, POP3, FTP, SMTP

Zady i walety Walety duża liczba rozpoznawanych wirusów (prawie 110000) Zady szybkość działania dynamiczny rozwój projektu już od wielu lat duża ilość programów trzecich możliwość akceleracji sprzętowej brak mechanizmów rozpoznawania wirusów polimorficznych brak środowiska wirtualnego dla wykrywania nieznanych wirusów. Mechanizm oparty tylko na sygnaturach (ostatnio mechanizmy generyczne do walki z phishingiem)

Sendmail i milter Zasada działania Gdy ktoś wysyła pocztę do użytkownika, którego konto znajduje się na naszym serwerze, wówczas serwer pocztowy, (MTA - Mail Transfer Agent) w tym przypadku Sendmail, odbiera ją a następnie jeśli przesyłka spełnia odpowiednie wymagania, zapisuje ją jako nową pocztę dla konkretnego użytkownika. Zanim jednak taka przesyłka trafi jako nowy e-mail, zostaje poddana serii testów i musi przejść przez odpowiednie filtry. Milter Sendmail posiada wspaniały mechanizm do zarządzania zawartością e-maili jakim jest milter (Sendmail's Content Management API). Ogólnie mówiąc, milter to pewien rodzaj wewnętrznego API Sendmaila, które pozwala na pełne zarządzanie zawartością przesyłek; tak nagłówkami jak i samą treścią maila. Szczegóły pod adresem: http://www.milter.org/milter_api/index.html

clamav-milter clamav-milter Biblioteka libmilter wykorzystywana jest przez filtry antyspamowe, programy do zarządzania treścią maili oraz przez programy antywirusowe. Jednym z takich filtrów jest clamav-milter, którego autorem jest Nigel Horne. Filtr ten (a raczej skaner e- mailowy) wchodzący w skład projektu ClamAV dzięki temu, że napisany został w C, jest bardzo szybki i wydajny. clamav-milter może łączyć się z demonem ClamAV - clamd na dwa sposoby. Albo poprzez local socket albo poprzez TCP socket na port 3310 (standardowo). Sposób w jaki ma działać clamd oraz wszelkie związane z tym parametry określamy w pliku konfiguracyjnym clamav.conf. Oto one: LocalSocket /var/run/clamav/clamd.sock # Określenie pliku dla lokalnego socketu #TCPSocket 3310 # Określenie portu #TCPAddr 127.0.0.1 # Określenie adresu IP #MaxConnectionQueueLength 30 # Maksymalna długość kolejki (domyślnie 15)

Konfiguracja dla clamav-miltera Pamiętać należy, że tylko jeden z tych sposobów może być włączony w danej konfiguracji. Opcja TCPAddr służy do określenie adresu IP na którym będzie nasłuchiwał clamd. Domyślnie clamd akceptuje połączenia przychodzące na wszystkie adresy IP. Jeśli odhaszujemy tę opcję, wówczas ograniczamy clamd do akceptowania połączeń tylko do wybranego adresu. Jest to opcja podnosząca bezpieczeństwo działania w konfiguracji z sieciowym socketem TCP. Podczas uruchamiania, clamav-milter sprawdza w pliku clamav.conf wpisy dotyczące połączenia i na tej podstawie wybiera sposób komunikacji z clamd. Ze względów bezpieczeństwa, autorzy zalecają korzystanie z lokalnego socketu. Po połączeniu z clamd, clamav-milter sprawdza zawartość przesyłki pod kątem występowania w niej wirusów. Rozwiązanie to jest szybkie i bardzo skuteczne.

Konfiguracja Sendmaila UWAGA, na stronie www.sendmail.org w dziale opisującym kompilację i konfigurację libmilter, są nieaktualne informacje. Najświeższe informacje na temat konfiguracji miltera można znaleźć w katalogu sendmail_source/libmilter/readme Do dzieła: Do pliku sendmail_source/devtools/site/site.config.m4 dodajemy linijkę: APPENDDEF(`conf_sendmail_ENVDEF', `-DMILTER') Może się zdarzyć, że nie będziecie mieli pliku site.config.m4 i katalogu Site W takim przypadku należy je stworzyć ręcznie a do naszego pliku.mc (u mnie nazywa się on sendmail.mc) sendmail_source/cf/cf/sendmail.mc następujące dwie linijki: INPUT_MAIL_FILTER(`clmilter',`S=local:/var/run/clamav/clmilter.sock,F=, T=S:4m;R:4m')dnl define(`confinput_mail_filters', `clmilter')

Konfiguracja Sendmaila W plikach konfiguracyjnych Sendmaila dokonujemy reszty ustawień dla naszego konkretnego serwera i robimy standardową kompilację. Po tych czynnościach kompilujemy i instalujemy libmiltera: root@linux: cd sendmail_source/libmilter root@linux: sh Build install a następnie konfiguracja bibliotek dynamicznych root@linux: ldconfig

Kompilacja ClamAV Przed rozpoczęciem kompilacji należy dodać nowego użytkownika - clamav root@linux: groupadd clamav root@linux: useradd -g clamav -s /bin/false -c "Clam AntiVirus" clamav Aby ClamAV skompilował się wraz z clamav-milter, należy uruchomić configure z opcją --enable-milter + jakieś nasze dodatkowe opcje, np: user@linux: cd clamav_source user@linux: make clean user@linux:./configure --prefix=/usr sysconfdir=/etc/clamav \ --datadir=/etc/clamav --with-dbdir=/etc/clamav --enable-milter user@linux: make user@linux: make check user@linux: su root@linux: make install Opcja enable-experimental włącza dodatkowe możliwości ClamAV ale nie zaleca się jej stosowania na serwerach produkcyjnych.

Konfiguracja clamd.conf #Example LogFile /var/log/clamav/clamd.log LogFileMaxSize 10M LogTime yes #LogVerbose yes PidFile /var/run/clamav/clamd.pid TemporaryDirectory /var/tmp DatabaseDirectory /etc/clamav LocalSocket /var/run/clamav/clamd.sock FixStaleSocket yes #TCPSocket 3310 #TCPAddr 127.0.0.1 StreamMaxLength 30M MaxThreads 20 ReadTimeout 300 MaxDirectoryRecursion 20 #VirusEvent /usr/local/bin/send_sms 123456789 "VIRUS ALERT: %v" User clamav AlgorithmicDetection yes ScanPE yes ScanELF yes DetectBrokenExecutables yes

Konfiguracja clamd.conf c.d. ScanOLE2 yes ScanPDF yes ScanMail yes #MailFollowURLs no PhishingSignatures yes #PhishingScanURLs no ScanHTML yes ScanArchive yes ArchiveMaxFileSize 15M #ArchiveMaxFiles 1500 #ArchiveMaxCompressionRatio 300 #ArchiveBlockEncrypted no #NodalCoreAcceleration yes

Uruchamianie całości Uruchomienie MTA z ClamAV Najpierw uruchamiamy demona clamd: /usr/sbin/clamd -c /etc/clamav/clamd.conf Następnie clamav-milter: /usr/sbin/clamav-milter -c /etc/clamav/clamd.conf --max-children=15 dont-wait --timeout=0 -lo /var/run/clamav/clmilter.sock \ --pidfile=/var/run/clamav/clamav-milter.pid \ --quarantine-dir=/var/clamav/quarantine --noreject -d -Q qclamav -q Co jeszcze można ustawić w clamav-milter: -a FROM - adres źródłowy powiadomień -A advisory tylko zaznacza, że zawiera wirusa -b bounce wysyła wiadomość do nadawcy, że wysłał zarażonego maila ( NIE STOSOWAĆ) -n noheaders nie dodaje nagłówków typu: X-Virus-Status: clean/infected/not-scanned -N noreject nie odrzuca maili z błędem 550 lub 554 a jedynie po cichu je porzuca --signature-file, --template-file, --template-headers, itp, itd... Opcji jest dużo więcej więc polecam strony podręcznika man dla clamav-miltera

Ustawienia końcowe Uprawnienia Jeszcze kilka słów na temat uprawnień. Demon clamd musi być uruchomiony jako root, ale do poprawnego działania wcale nie potrzebuje praw roota. Wystarczą mu ograniczone uprawnienia jakiegoś użytkownika (np. clamav). Poprzez opcję User w pliku clamav.conf, możemy określić na prawach jakiego użytkownika ma pracować clamd. Po uruchomieniu, clamd porzuci uprawnienia roota i przejdzie na niższy poziom z uprawnieniami określonego użytkownika. Ustawienia katalogów root@linux: chown -R clamav:clamav /etc/clamav root@linux: mkdir /var/run/clamav; chown -R clamav:clamav /var/run/clamav root@linux: mkdir /var/log/clamav; chown -R clamav:clamav /var/log/clamav root@linux: mkdir /var/clamav/quarantine; root@linux: chown clamav:clamav /var/clamav/quarantine Proces uruchamiania poszczególnych programów należy tak ustawić aby kolejne moduły mogły sie połączyć z odpowiednimi socketami.

Obserwacja logów Interesują nas w zasadzie dwa logi: clamd.log i freshclam.log Najważniejszym jest oczywiście clamd.log. Dowiemy się z niego z jakimi opcjami został uruchomiony clamd, kiedy został uruchomiony, jakie były ew. błędy podczas uruchamiania, dowiemy się o aktualizacjach bazy danych wirusów i oczywiście o znalezionych wirusach oraz co się z nimi stało. max-children Jeśli w logach zauważymy wpisy typu: clamav-milter[22068]: hit max-children limit (7 >= 3): waiting for some to exit clamav-milter[26826]: hit max-children limit (8 >= 3): waiting for some to exit clamav-milter[26515]: hit max-children limit (8 >= 3): waiting for some to exit clamav-milter[4360]: hit max-children limit (9 >= 3): waiting for some to exit należy wówczas ustawić wartość max-children na wyższą wartość.

freshclam freshclam jest programem do aktualizacji baz sygnatur. Może działać jako demon automatycznie ściągając nowe sygnatury wirusów i przeładowując demona clamd. Uruchamianie freshclama root@linux: freshclam --config-file=/etc/clamav/freshclam.conf \ --log=/var/log/clamav/freshclam.log --daemon \ --datadir=/etc/clamav/ Konfiguracja freshclam.conf #Example DatabaseDirectory /etc/clamav UpdateLogFile /var/log/clamav/freshclam.log PidFile /var/run/clamav/freshclam.pid DatabaseOwner clamav DatabaseMirror database.clamav.net ScriptedUpdates yes #NotifyClamd /path/to/clamd.conf #OnUpdateExecute command #OnErrorExecute command #OnOutdatedExecute command

Źródła Strona projektu: www.clamav.net http://www.clamav.net/download/third-party-tools http://wiki.clamav.net/ http://www.clamav.net/doc/latest/html Moje stare HOWTO dla Sendmaila i Samby: http://clamav.skc.com.pl/

I to już koniec Dziękuję! pytania proszę przesyłać na someone@somewhere.pl