bezpieczeństwo
Amavis
Amavis system
zabezpieczenia poczty
Janusz Bielec
W rozważaniach na temat antyspamowych możliwości Postfiksa nie poruszaliśmy kwestii dodatkowych
narzędzi przeznaczonych do zwalczania spamu. Tymczasem Postfix, niezależnie od własnych
rozwiązań, potrafi korzystać z zewnętrznych programów. Ze względu na modułową budowę integracja
z dodatkowym oprogramowaniem jest dosyć intuicyjna, nie przysparza jednak problemów.
ożna nawet zaryzykować stwierdzenie, że kiedy uzyskiwać bezpośrednio w Postfiksie, ale częściej
administrator skazany jest na wybór, a jak przez łączenie tych dodatkowych programów bezpośrednio
powszechnie wiadomo, człowiek skazany z Postfiksem. Jednak powstaje system trudny do zarządza-
Mna wybór strasznie się męczy. Celem te- nia. Lepszym podejściem jest użycie Amavisa, który łatwo
go artykułu jest pokazanie pewnej możliwości oceny całości integruje się z programami antywirusowymi, SpamAssassi-
systemu antyspamowego pod kątem skuteczności konkret- nem etc. Jeżeli połączymy Amavisa z Postfiksem będziemy
nych technologii oraz ryzyka odrzucania wiadomości. Pro- mogli swobodnie dodawać dodatkowe testy bezpośrednio
ponowany mechanizm opiera się na statystyce, a więc wyma- do Amavisa, a Postfix otrzyma zbiorczą ocenę wiadomości.
ga zebrania dużej liczby doświadczeń. Odniesienia do konfi- Wyjątkiem będzie tylko Postgrey, który współpracuje bez-
guracji poruszają tylko aspekty, które są najczęstszą przyczy- pośrednio z smtpd.
ną problemów, ale nie jest to, z uwagi na ograniczoność miej-
sca, kompendium konfiguracji. Konfiguracja Amavisa
Od pewnego czasu konfigurowanie Amavisa nie jest kłopo-
Walka ze spamem elementy myślenia tliwe, ponieważ dostępne są gotowe pakiety, na ogół wstęp-
systemowego nie skonfigurowane. Jednak Amavis-new to duży program,
Po pierwsze proponuję wziąć do pracy Amavisa, ponieważ który może być wykorzystywany jako biblioteka, gdzie od-
Amavis-new ma pewną zaletę, która na ogół nie jest do- wołują się inne programy, a może też działać jako samo-
ceniana. Gdy budujemy swój system zabezpieczania pocz- dzielny demon uruchamiany przy starcie systemu. Nas in-
ty zapewne chcemy sprawdzić możliwości różnych progra- teresuje ta druga możliwość, więc wykorzystujemy pro-
mów antywirusowych, reguł antyspamowych etc. Być mo- gram amavisd, który po wystartowaniu nasłuchuje na wy-
że sensowne okaże się odrzucanie przesyłek zawierających branym porcie. Zwykle jest to wysoki port 10024 lub 10025
potencjalnie niebezpieczne załączniki, a to możemy nie- otwierany tylko dla interfejsu lo. Warto zwrócić uwagę, że
72 listopad 2007
linux@softwarae.com.pl
bezpieczeństwo
Amavis
mówiące właśnie o tym, natomiast w pliku
Listing 1. Amavisd otwiera wysoki port
/etc/postfix/master.cf znajdziemy następują-
ce wpisy (Listing 2).
telnet localhost 10025 Właściwie istotny jest pierwszy wiersz, któ-
Trying 127.0.0.1... ry nakazuje otworzenie dla smtpd dodatkowe-
Connected to janusz.postfix.localnet (127.0.0.1). go portu 10026, ale biorąc pod uwagę konfigu-
Escape character is '^]'. rację smtpd, z rozlicznymi zaostrzeniami może-
220 [127.0.0.1] ESMTP amavisd-new service ready my je tutaj nadpisać lub wyzerować, aby zwię-
ehlo localhost kszyć wydajność systemu.
250-[127.0.0.1]
250-VRFY Współpraca Amavisa
250-PIPELINING z programami antywirusowymi
250-SIZE na przykładzie Clamav
250-ENHANCEDSTATUSCODES Nie będziemy się omawiać wirusów, ale sys-
250-8BITMIME tem pocztowy bez działającego systemu anty-
250-DSN wirusowego nie ma sensu, stąd te uwagi. Zna-
250 XFORWARD NAME ADDR PROTO HELO ne mi dystrybucje zawierają gotowy pakiet,
mail from:
który wystarczy zainstalować i sprawdzić
250 2.1.0 Sender OK prawidłowość domyślnej konfiguracji. Co na-
rcpt to: leży sprawdzić?
250 2.1.5 Recipient OK
data " Istnienie i aktualność bazy sygnatur. W pa-
354 End data with . kiecie dołączony jest programik freshclam,
który warto wywołać przed uruchomie-
niem clamd i uważnie przeczytać komu-
przy dużym ruchu sensowne jest przeniesie- się protokołem lmtp lub smtp. Po przeanali- nikaty
nie amavisa na inną maszynę, a wtedy trze- zowaniu informacji Amavis powinien ją lub " Sposób komunikowania się z Amavisem
ba wskazać w konfiguracji właściwy adres informację o niej przekazać na właściwy, trzeba przeszukać w pliku amavisd.conf
IP oraz port. otwarty specjalnie do tych celów przez Post- frazy:
Jak już wspomniałem Amavis po urucho- fiksa. W konfiguracji Amavisa znajdziemy ['ClamAV-clamd',\&ask_daemon,
mieniu otwiera wysoki port, często mnemo- w /etc/amavis/amavisd.conf wiersze: ["CONTSCAN {}\n", "/var/lib/clamav/
nicznie związany z SMTP, np 10025. Możemy clamd.socket"], qr/\bOK$/, qr/\
to sprawdzić (Listing 1). $notify_method = bFOUND$/, qr/^.*?: (?!Infected Ar-
'smtp:[127.0.0.1]:10026'; chive)(.*) FOUND$/ ]
Test Amavisa powinien $forward_method = " To nie jest jedyny sposób komunikowania
to przekazać na port 10026 'smtp:[127.0.0.1]:10026'; się Amavisa z clamd, można to zrobić via
gdzie nasłuchuje postfix
Takie samo połączenie na port 10026 powin- Listing 2. Wpisy
no zaowocować zgłoszeniem się Postfiksa.
Jeżeli nie uzyskamy takich lub podobnych za- 127.0.0.1:10026 inet n - n - - smtpd
chowań trzeba sprawdzić konfigurację Ama- -o content_filter=
visa oraz czy w pliku /etc/amavis/amavisd. -o smtpd_restriction_classes=
conf mamy wpis: -o smtpd_client_restrictions=permit_mynetworks,reject
-o smtpd_helo_restrictions=
$inet_socket_port = 10025 -o smtpd_sender_restrictions=
-o smtpd_end_of_data_restrictions=
Jeżeli podany jest inny numer portu, połącz- -o smtpd_etrn_restrictions=
my się telnetem na ten port. Właściwie istotne -o smtpd_data_restrictions=
jest tylko poinformowanie Postfiksa, na któ- -o smtpd_delay_reject=no
ry port ma przekazywać informacje. W pliku -o smtpd_recipient_restrictions=permit_mynetworks,reject
/etc/postfix/main.cf musi być fraza: -o mynetworks=127.0.0.0/8
-o smtpd_authorized_xforward_hosts=127.0.0.0/8
content_filter = lmtp-filter:127.0.0.1: -o strict_rfc821_envelopes=yes
10025 -o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
zamiast lmtp-filter może być protokół lub -o smtpd_hard_error_limit=1000
agent transportu, np. lmtp, smtp, ale ważne jest -o receive_override_options=no_unknown_recipient_checks,
to, że postfix wie , iż ma przekazać maile na no_header_body_checks
pętlę zwrotną, czyli na port 10025 i posłużyć
www.lpmagazine.org 73
bezpieczeństwo
Amavis
czących się w poszczególnych przedziałach
punktowania. Jak te informacje można wy-
korzystać? Po pierwsze pozwala zobaczyć
jaki procent wiadomości jest znakowany,
a jaki odrzucany. Po drugie taki rozkład bę-
dzie zależał od stosowanych w postfiksie
ograniczeń. Jeżeli wprowadzamy jakieś ogra-
niczenie i nie widzimy zmiany rozkładu to
zapewne działanie tego zaostrzenia jest mało
istotne.
Przykładowo załączam wykres, pokazu-
jący zmianę rozkładu punktów spamowych
przy włączonej i wyłączonej bazie Postgrey
(postgrey działa w ten sposób, że początko-
wo odpowiada na próbę przesłania wiado-
mości komunikatem z grupy 4xx, oznaczają-
cym chwilowy problem doręczenia, co zmu-
sza do próby powtórnego przesłania wiado-
mości).
Co widać na załączonym wykresie: otóż
po pierwsze działanie postgreya jest widoczne
Rysunek 1. Wykres dla postgreya
w zakresie 0 2 punktów. Jest to bardzo waż-
otwarty port tcp, podanie symbolicznie przepadam za szamaństwem komputerowym ne, ponieważ takie wiadomości są doręcza-
nazwy katalogu do przeskanowania. Ważne i argumentacją, że to świetna metoda, bo ne do skrzynek, a sumaryczna różnica wyno-
jest jednak to, żeby Amavis i clamd miały wszyscy ją stosują . si nieco ponad 5%. Część odrzucanych przez
ten sposób uzgodniony we własnych konfi- postgreya wiadomości mają wysoką punkta-
guracjach. Oto wpis w clamd.conf: Budowa dziennika cję, więc i tak nie byłyby doręczone, ale ob-
LocalSocket /var/lib/clamav/ Zauważmy, że plik dziennika, opisującego pra- ciążenie systemu przez SpamAssassin przy
clamd.socket cę systemu pocztowego zawiera tekstowe analizie maili będzie większe, aniżeli obcią-
" Poleceniem su amavis (vscan) zmienia- wpisy, a operacje grupowane są wierszami. żenie przez postgrey, a to dodatkowy zysk,
my identyfikator użytkownika na taki z pra- Wynika z tego, że możemy zliczyć pewne nie- tym bardziej, że niecałe 3% sesji nie zosta-
wami, z którymi będzie działał Amavis powtarzalne operacje, zapisane w dzienniku, ło powtórnie nawiązanych w sytuacjach
i wykonujemy polecenie amavisd debug używając zwykłych poleceń systemu Linux: wysypu wirusów ten udział procentowy jest
oraz analizujemy treść. Dobrze byłoby za- cat, grep i wc. znacznie wyższy co zdecydowanie zmniej-
pisać wiersz w tej postaci: Ot np. polecenie: sza obciążenie systemu analizą wykonywa-
Found primary (secondary) ną przez programy antywirusowe.
av scanner ClamAV-clamscan grep from= /var/log/mail/info | wc -l
at /usr/bin/clamscan Podsumowanie
" Teraz należy testowo przesłać kilka wiado- pokaże liczbę nawiązywanych sesji SMTP. Możemy to podejście wykorzystać przy oce-
mości, a jeżeli zostaną doręczone to mamy Jeżeli wykorzystujemy RBL to, wpisując od- nie różnego rodzaju ograniczeń w Posfiksie,
działający system pocztowy z programem powiednią frazę identyfikującą możemy zna- Amavisie i SpamAssassinie. Ja na prywatnie
antywirusowym i antyspamowym. lezć liczbę sesji SMTP zablokowanych przez zrobiłem wiele takich statystyk, a ich wy-
poszczególne bazy. Jednak co my wiemy o tych niki rzadko pokrywają się na różnych sys-
Analiza skuteczności odrzucanych sesjach, na ogół jest to spam, ale temach pocztowych i serwerach w różnych
poszczególnych metod jak ująć statystycznie? domenach, co oznacza, że warto je robić na
antyspamowych własny użytek. Szczególnie pomocne bywa
Oczywiście możemy monitorować dzienniki SpamAssassin i punktowanie przy podejmowaniu decyzji; od jakiego po-
systemu pocztowego polecenie: Wykorzystamy do tego dziennik Amavisa. ziomu wiadomości znakować, a od jakiego
W celu ułatwienia analizy niekiedy można ze- odrzucać.
tail -f /var/log/mai/info zwolić Amavisowi na samodzielny dziennik,
niż zlecać to demonowi logów (syslog, sy-
(nazwa i położenie dziennika może być nieco slog-ng).
inne) pozwala na bieżąco śledzić pracę syste- W dzienniku Amavisa znajdziemy też in-
O autorze
mu. Ma to sens na początku, kiedy martwimy formację o sposobie punktowania wiadomości
Janusz Bielec jest pracownikiem Sekcji
się o to, czy działa. Potem warto przeanali- przez SpamAssassin i podsumowanie uzyska-
Usług Serwerowo-Sieciowych Uniwersyte-
zować dane statystycznie. Metoda, którą pro- nych przez wiadomość punktów spamowych. W
tu Jagiellońskiego oraz trenerem w Com-
ponuję jest bardzo prosta, wręcz banalna, ale tym przypadku wystarczą polecenia grep, wc,
pendium.
daje zdroworozsądkowe podstawy do ewen- aby oszacować jak wygląda punktowanie maili
Kontakt z autorem: jjb@mol.uj.edu.pl
tualnych zmian konfiguracji. Osobiście nie i jaki jest względny udział wiadomości, miesz-
74 listopad 2007
Wyszukiwarka
Podobne podstrony:
2007 08 Podstawy zabezpieczenia serwerów [Bezpieczenstwo]
Wstęp Do Systemu Zabezpieczeń W Windows 2000
2007 11 Testy Eft Security Testing with Nubuntu
Systemy zabezpieczeń stosowane w ochronie obiektów
Wspolczesne systemy zarzadzania Jakosc bezpieczenstwo ryzyko
18 Systemy zabezpieczania instalacji
Systemy Autom Kontr Bezpiecz Poc (skrypt)S Mrozek
2007 11 Extreme Programming i CMMI [Inzynieria Oprogramowania]
09 A Latała Systemy zabezpieczeń
25 03 11 archtektura systemu windows
Elementy systemów sterowania związane z bezpieczeństwem
2007 10 Audyt systemów informatycznych
Hanza KLCW 2007 11 03
więcej podobnych podstron