MESSAGE PROCESSING PLATFORM Opracowanie: Dorobisz Adrian Wersja: 0.8 beta, 17.07.2008r.
I. Wprowadzenie Message Processing Platform ( w skrócie MPP ) jest oprogramowaniem zapewniającym bezpieczeństwo systemom pocztowym. Gwarantuje to integrując wiele elementów bezpieczeństwa i obsługi przesyłek pocztowych w jednym, łatwym w zarządzaniu GUI. Oprogramowanie opiera się o budowę modułową łącząc w sobie w prosty sposób komercyjne i otwarte rozwiązania celem zapewnienia najlepszej moŝliwej ochrony poczty. Oznacza to, Ŝe z poziomu jednej konsoli administracyjnej, administrator moŝe korzystać z najlepszych rozwiązań komercyjnych oraz wykorzystywać dotychczasowe otwarte rozwiązania. Moduły które wykorzystuje MPP do zapewnienia bezpieczeństwa to między innymi: antywirus, antyspam, archiwum, kwarantanna, filtrowanie zawartości, listy kontroli dostępu, szare listy, systemy RBL. Dzięki modułowej budowie MPP moŝna takŝe dowolnie skalować. Mogą z niego korzystać zarówno małe firmy posiadające kilka kont pocztowych jak i dostawcy internetowi hostujący miliony kont. II. Wymagania systemowe: 1. System operacyjny a) System operacyjny Linux (x86 lub ppc) Oprogramowanie moŝe zostać zainstalowane na dowolnej dystrybucji systemu Linux który posiada bibliotekę glibc w wersji 2.3 lub wyŝszej. Producent dostarcza pakiety instalacyjne testowane na następujących dystrybucjach: Fedora 4 8 CentOS 4.x, 5.x Mandrake/Mandriva 9.2, 10, 2006, 2006, 2007 SuSE/OpenSuSE 9.x, 10.x, SLES9 Debian 3.1 (Sarge), 4.0 (Etch) Ubuntu 5.04 (Hoary), 5.10 (Breezy), 6.10 (Edgy), 7.04 (Feisty), 7.10 (Gusty), 8.04 (Hardy) Slackware 9.x, Gentoo 1.4, 2004.x, 2005.x, 2006.x, 2007.x b) System operacyjny Solaris 10 (i386 lub sparc) c) System operacyjny MacOS X 10.4 lub wyŝszy (i386 lub ppc) d) FreeBSD 6.0 lub wyŝszy 2. Serwer pocztowy a) Sendmail 8.12.x lub wyŝszy b) Postfix 2.2 lub wyŝszy c) CommuniGate Pro 4.0 lub wyŝszy d) Qmail, NetQmail e) SurgeMail f) Exim 4.x g) Sun Java Messaging Server 6 3. Skrypty aktualizacyjne wymagają obecności w systemie następujących pakietów a) curl b) wget c) unzip 4. MPP GUI wymaga ponadto obecności w systemie następujących pakietów a) expat b) gd2 (libgd) c) perl wraz z następującymi modułami:
- BDI - DBD::MySQL - XML::Parser - XML::Generator - HTML::Entities - GD::Graph III. Architektura oprogramowania 1. Oprogramowanie Message Processing Platform dzieli się na trzy główne moduły: a) MPP moduł odpowiedzialny za obsługę przesyłek pocztowych b) MPP GUI moduł odpowiedzialny za konfigurację platformy za pomocą przeglądarki Web c) MPP Qreview moduł odpowiedzialny za przeglądanie i zarządzanie archiwum i kwarantanną 2. Schemat budowy programu: MPP (ACL, Filtr zawartości, Szare listy itp. ) OPCJONALNIE SKANER 1 SKANER 2 SKANER 3 SKANER 4 SKANER 5 SKANER N ARCHIWUM (plik, baza danych) KWARANTANNA (plik, baza danych) MPP GUI
IV. Metody integracji platformy MPP z istniejącymi rozwiązaniami pocztowymi Platforma MPP umoŝliwia proste dostosowanie do juŝ istniejących systemów pocztowych. UmoŜliwia to administratorowi dobór poŝądanych funkcjonalności oprogramowania do konkretnej infrastruktury sieciowej oraz wdroŝenie rozwiązania bez potrzeby jej przebudowy oraz bez zbędnych przestojów w działaniu usługi SMTP. 1. Integracja poprzez instalację platformy MPP na docelowym serwerze pocztowym (powiązanie z istniejącym MTA) Mail Transport Agent MPP POP3 IMAP Mail Delivery Agent Skrzynki pocztowe Serwer SMTP + MPP Wybierając opcję integracji platformy MPP instalując ją bezpośrednio na naszym serwerze pocztowym naleŝy pamiętać o tym, aby serwer SMTP oraz system operacyjny na którym jest on zainstalowany, spełniały wymagania zadanej wersji. Jeśli wymagania nie mogą zostać spełnione (np. korzystamy z serwera SMTP zainstalowanego na systemie MS Windows) naleŝy skorzystać z innej metody integracji. NaleŜy zwrócić uwagę, Ŝe w tym przykładzie poczta będzie skanowana zarówno w trybie inbound (poczta przychodząca) jak i w outbound (poczta wychodząca). 2. Integracja poprzez instalację platformy MPP na bramce SMTP ustawionej przed docelowym serwerem pocztowym MPP (Linux, Unix, MacOS) odfiltrowany Bramka SMTP Serwer SMTP Ta metoda integracji polega na instalacji platformy MPP na odrębnej maszynie która będzie odpowiedzialna za odbieranie ruchu pocztowego. MPP po odebraniu przesyłki pocztowej i sprawdzeniu Ŝe jest ona poŝądana przesyła ją dopiero do docelowego serwera pocztowego. Skierowanie ruchu pocztowego na maszynę z MPP odbywa się poprzez modyfikację ustawień zapory lub poprzez zmianę rekordów MX dla uŝywanej domeny. Niejako efektem ubocznym
zastosowania tej metody jest odciąŝenie docelowego serwera pocztowego z obsługi niechcianej poczty i gwarancja Ŝe poczta która do niego dociera jest wolna od zagroŝeń i zgodna z polityką bezpieczeństwa przedsiębiorstwa. Przy zastosowaniu tej metody nie ma znaczenia z jakiego serwera SMTP korzystamy i na jakim systemie operacyjnym jest on zainstalowany. 3. Integracja poprzez wykorzystanie maszyny wirtualnej MPP Virtual Appliance w środowisku VMware ustawionej przed docelowym serwerem pocztowym MPP (Vmware GUEST) VMware HOST (Windows, Linux, Unix, MacOS) odfiltrowany Serwer SMTP Ten sposób integracji platformy MPP jest bardzo podobny do poprzedniego z tym wyjątkiem, Ŝe fizyczna maszyna posiada zainstalowane środowisko wirtualizacji VMware które świadczy usługę HOST a dla systemów wirtualnych czyli tzw. GUEST ów. Producent dostarcza przygotowaną przez siebie maszynę wirtualną którą konfigurujemy uŝywając prostego skryptu. Maszyna wirtualna moŝe zostać uruchomiona na kaŝdym systemie operacyjnym wspieranym przez VMware. Dostępne są bezpłatnie środowiska wirtualizacyjne VMware takie jak: VMware Player, VMware Server oraz ich komercyjne odpowiedniki: VMware Workstation i VMware ESX Server. V. Instalacja platformy MPP wraz z interfejsem zarządzającym w systemie Linux 4. Pobranie pakietów instalacyjnych Platforma MPP dostarczana jest w postaci prostych w instalacji pakietów stosownie do uŝywanego przez uŝytkownika systemu operacyjnego. MoŜliwe do pobrania pakiety to: a) pakiet DEB dla dystrybucji systemu Linux opartych o pakiety DEB (np. Debian, Ubuntu itp.) b) pakiet RPM dla dystrybucji systemu Linux opartych o pakiety RPM (np. Red Hat, SuSE itp.) c) archiwum TAR.BZ2 dla wszystkich dystrybucji systemu Linux Ponadto uŝytkownicy decydujący się korzystać z MPP-GUI oraz z Qreview powinni pobrać dodatkowo archiwum mppmanager-<numer_wersji>.tar.gz. 5. Instalacja w MPP w systemie Debian Linux 4.0 (Etch) UWAGA: do instalacji oprogramowania wymagane jest posiadanie uprawnień administratora (konto root) Po pobraniu pakietu DEB naleŝy zapisać pakiet instalacyjny w dowolnym miejscu w systemie plików oraz korzystając z menadŝera pakietów zainstalować go wydając polecenie: dpkg i <nazwa_pobranego_pakietu>.deb
Proszę zwrócić uwagę na fakt Ŝe oprogramowanie nie mogło zostać poprawnie zainstalowane z powodu braku wymaganych zaleŝności w systemie. Aby menadŝer pakietów mógł je doinstalować i dokończyć proces instalacji wydajemy następujące polecenie: apt-get f install Po wydaniu powyŝszego polecenia, menadŝer pakietów proponuje instalację wszelkich zaleŝności i pyta czy zgadzamy się je zainstalować wyraŝamy zgodę wybierając opcję t (tak). Po zainstalowaniu wszelkich zaleŝności których wymaga MPP automatycznie dokończono jego instalację. Po zainstalowaniu paczki z MPP instalator prosi o jego skonfigurowanie, aby tego dokonać wykonujemy polecenie zgodne z wyświetlonym komunikatem:
/usr/local/mpp/scripts/configure.pl Pierwszym pytaniem jakie zada nam skrypt konfiguracyjny jest serwer poczty (MTA) z którego korzystamy na naszym serwerze. Wybieramy opcję zgodnie z prawdą wciskając klawisz odpowiadający posiadanemu MTA. Dostępne opcje to: 1) Sendmail 2) Postfix 3) CommuniGate Pro 4) Qmail 5) SurgeMail 6) Exim 7) Postfix with Policy Server Następnym pytaniem jakie zada skrypt instalacyjny jest wybór modułów skanujących których chemy uŝyć do obsługi naszej poczty. NaleŜy pamiętać Ŝe niektóre z modułów skanujących są modułami komercyjnymi i aby z nich skorzystać naleŝy zakupić odpowiednią licencję. UWAGA: Dostępne moduły typu open source to: skaner antywirusowy clamav oraz system antyspamowy Spamassassin Jak widać na powyŝszej ilustracji, po pomyślnym wykonaniu powyŝszego skryptu usługa (demon) MPP została pomyślnie zainstalowana i uruchomiona w systemie. 6. Instalacja MPP-GUI oraz Qreview w systemie Debian Linux 4.0 (Etch) Aby zainstalować w systemie MPP-GUI oraz Qreview naleŝy uprzednio zainstalować w systemie wszelkie niezbędne zaleŝności. Proszę zwrócić uwagę Ŝe uprzednio pobrane archiwum nazwane mppmanager nie jest dostarczane w postaci pakietu DEB. Oznacza to Ŝe menadŝer pakietów nie wie jakich zaleŝności wymaga oprogramowanie i zmuszeni będziemy zainstalować wszelkie zaleŝności na własną rękę. Instalację zaleŝności wykonujemy korzystając z narzędzia apt-get:
apt-get update PowyŜsza komenda spowoduje aktualizację bazy pakietów menadŝera pakietów APT apt-get install libxml-parser-perl libhtml-parser-perl libgd-graph-perl libgd-graph3d-perl mysqlserver libdbd-mysql-perl libxml-generator-perl libnet-ssleay-perl PowyŜsza komenda spowoduje automatyczną instalację wszelkich zaleŝności wymaganych do poprawnego funkcjonowania MPP-GUI oraz Qreview w systemie. UWAGA: Warto równieŝ zapamiętać polecenie apt-cache search <nazwa> które umoŝliwia wyszukanie w bazie menadŝera pakietów, ciągu znaków podanych jako parametr <nazwa>. Gdy juŝ jesteśmy pewni Ŝe nasz system spełnia wszystkie wymagane zaleŝności moŝemy przystąpić do kolejnego etapu instalacji. Najpierw rozpakowujemy pobrane uprzednio archiwum mppmanager, dokonujemy tego za pomocą komendy: tar zxvf mppmanager-<numer_wersji>.tar.gz PowyŜsza komenda umoŝliwa rozpakowanie archiwum.tar.gz do osobnego katalogu, katalog zostanie utworzony w lokalizacji w której umiejscowione było archiwum a jego nazwa będzie odpowiadać nazwie tego archiwum. Po rozpakowaniu archiwum, moŝemy przystąpić do właściwego etapu instalacji który odbywa się poprzez wykonanie skryptu setup.pl, wykonujemy więc następujące komendy: cd mppmnager-<numer_wersji>./setup.pl
Pierwszym pytaniem które zada nam skrypt instalacyjny jest miejsce docelowej instalacji modułu MPP-GUI i Qreview, wybierając opcję oznaczoną jako 1) wybieramy lokalizację domyślną, jeśli natomiast chcemy ją zmienić korzystamy z opcji 2) i wpisujemy wymaganą ścieŝkę. Kolejne pytanie dotyczy interfejsów sieciowych na których zostanie udostępniona usługa. Wpisując * spowodujemy Ŝe GUI programu będzie nasłuchiwało na wszystkich interfejscach sieciowych, jeśli chcemy tego uniknąć i np. uruchomić GUI tylko na wybranej karcie sieciowej ( lub adresie IP ) to podajemy w tym miejscu stosowny adres IP. Skrypt zapyta nas takŝe o to na jakim porcie chcemy uruchomić usługę GUI. Jeśli w systemie nie mamy zainstalowanych inych usług korzystających z portu 20000 to korzystamy z wartości domyślnej, w przeciwnym wypadku musimy tu podać wolny port.
Jeśli posiadamy w systemie zainstalowaną bibliotekę OpenSSL wraz z modułem Perl a który potrafi ją wykorzystać (instalowaliśmy w tym celu opcjonalny pakiet libnet-ssleay-perl) instalator zapyta nas czy chcemy skorzystać z szyfrowania modułu GUI protokołem SSL. Jest to zalecane poniewaŝ w przeciwnym wypadku moŝliwe będzie podsłuchanie komunikacji pomiędzy hostem administratora a maszyną z zainstalowaną platformą MPP. Warto takŝe na tym etapie zdecydować czy chcemy aby GUI było automatycznie uruchamiane podczas startu systemu. UWAGA: Proszę zwrócić uwagę Ŝe jeśli zdecydujemy się na szyfrowanie komunikacji z wykorzystaniem biblioteki SSL to certyfikat zostanie podpisany przez naszą własą domeną/adresem IP. Przeglądarki Web mogą zgłosić błąd certyfikatu naleŝy zignorować ten błąd. Kolejne pytania skryptu instalacyjnego to folder do którego będą zapisywane logi z GUI, zdefiniowanie konta konta administratora MPP-GUI wraz z hasłem, wskazanie miejsca w którym znajduje się plik mppd.conf.xml (główny plik konfiguracyjny platformy MPP) oraz katalogu do zapisu pliku konfiguracji samego GUI. Po zdefiniowaniu tych wartości rozpoczyna się wstępna konfiguracja MPP-GUI oraz dodanie domyślnych zadań do harmonogramu systemowego (cron). Zadania te mają na celu czyszczenie kwarantanny z wiadomości pocztowych starszych niŝ n dni oraz przygotowanie zbiorczego podsumowania zawartości kwarantanny dla uŝytkowników. Zgodnie z powyŝszą ilustracją podsumowanie generowane jest raz na 10 dni o godzinie 5:00, a czyszczenie kwarantanny dokonywane jest codziennie o godzinie 2:30.
Ostatnim etapem instalacji jest pytanie instalatora o to, czy chcemy uŝyć serwera LDAP do uwierzytelniania uŝytkowników kwarantanny. Opcję tą moŝna skonfigurować takŝe później. Jeśli wykonaliśmy wszystkie dotychczasowe czynności poprawnie, to instalator poinformuje nas w jaki sposób moŝemy zalogować się do MPP-GUI oraz do Qreview.