piątek, 08 sierpnia 2008 
Start arrow FreeBSD arrow POCZTA arrow Postfix +AMaViS +ClamAV
Menu BSD4u
FreeBSD
OpenBSD
NetBSD
Dla *BSD
FAQ BSD4u
Forum BSDGuru.org
Security Advisory
Licencje
Images BSD
Menu ogólne
Start
Aktualności
Download
Sondy
Szukaj
Linki
Książki
About BSD4u
Info
Team BSD4u
Regulamin
Kanał #BSD4u
Kontakt
Sondy
Co sądzisz o naszym nowym Projekcie, i jak oceniasz zmianę koncepcji Projektu?
 
Popularne
Kompilacja i konfigu...
SQUID - najpopularni...
Neostrada+ i modem ...
NATowanie czyli jak ...
Upgrade systemu
Samba - serwer plikó...
Apache (konfiguracja...
Praktyczne IPFW
MRTG - statystyki ru...
CVSup - pomocny podc...
Neostrada na modemie...
Postfix z autoryzacj...
Postfix - bezpieczny...
System Portów (Kolek...
Dummynet - dzielenie...
Top Download
File icon Postfix - "Krok po kroku" v1.06565
File icon Postfix - "Krok po kroku" v1.16288
File icon PPTPd - "Prosty i szybki VPN" v1.0b6004
File icon sdi.sh3837
File icon uEagle 1.0p12960
File icon named.sh2903
File icon uEagle 0.99b2861
File icon cs.sh2776
File icon uEagle 1.02752
File icon uEagle 1.12554
Ostatnie komentarze
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

Google


Newsletter
Zapisz się na nasz newsletter, jeżeli chcesz być na bieżąco informowany o aktualnościach..




Postfix - bezpieczny i wydajny serwer MTA - 1. Instalacja Drukuj E-mail
Oceny: / 25
KiepskiBardzo dobry 
sobota, 24 kwietnia 2004 - Napisał: Tomasz Stała (31714 odsłon)
Spis treści
1. Instalacja
2. Podstawowa konfiguracja
3. Instalacja popa3d
4. Uruchamianie Postfixa
5. Konfiguracja SMTP AUTH
6. Konfiguracja TLS
7. Instalacja i konfiguracja ClamAV
8. Instalacja i konfiguracja AMaViS
9. Administracja Postfixem

8. Instalacja i konfiguracja AMaViS (A Mail Virus Scanner)

AMaViS, jak zostało napisane na jego oficjalnej stronie (http://www.amavis.org/), jest wysoko-wydajnym interfejsem pośredniczącym pomiędzy MTA i programami (skryptami) zajmujących się filtrowaniem treści: skanerów antywirusowych lub filtrów antyspamowych. Jest napisany w Perlu, co w znaczący sposób wpływa (pozytywnie) na jego wydajność. Zwraca się do MTA przez (E)SMTP lub LMTP, lub używając pomocniczych programów. Najlepiej współpracuje z Postfixem.Zainstalujmy naszego AMaViS'a. Jak zwykle posłużymy się portami. Przechodzimy do katalogu gdzie znajduje się AMaViS i wydajemy poniższe polecenia:

# cd /usr/ports/security/amavisd-new
# make build && make install && make clean

Nie pozostaje nam nic innego jak przystąpić do konfiguracji. Nie będę tutaj opisywał dokładnie jego wszystkich opcji, jedynie te, które uznałem za najważniejsze i które należy zmienić abyś mógł używać na swoim serwerze AMaViS'a. Jego plik konfiguracyjny składa się z 8 sekcji, po bliższe informacje dotyczące pozostałych parametrów zapraszam na oficjalną stronę projektu lub skorzystanie z dokumetacji. Edytuj plik `amavisd.conf` i pozmieniaj w nim następujące linijki. Warto przypomnieć jak wiemy wartość 0 odpowiada słowu false, a wartość 1 odpowiada słowu true. Oto przykładowe opcje, które powinniśmy zmienić. Pozostałe zostawiamy bez zmian, lub czytamy dokumentację, aby dowiedzieć się o nich więcej. Oczywiście definiujemy je według własnych upodobań i potrzeb. Uwaga, zmieniasz je na własną odpowiedzialność:

# cp /usr/local/etc/amavisd.conf-dist /usr/local/etc/amavisd.conf
# vi /usr/local/etc/amavisd.conf

--- amavisd.conf ---

# Początek pliku:

use strict;

# Section I - Essential daemon and MTA settings

# Katalog domowy AMaViS'a:
$MYHOME = '/var/amavis';
# Domena Twojego serwera:
$mydomain = 'domena.pl';
# Z poziomu jakiego użytkownika i grupy będzie uruchamiany demon:
$daemon_user = 'vscan';
$daemon_group = 'vscan';
# Roboczy katalog domowy, w którym będą przechowywane rozpakowane wiadomości:
$TEMPBASE = $MYHOME;
# Ustawienie zmiennej środowiskowej `TMPDIR`:
$ENV{TMPDIR} = $TEMPBASE;
# Maksymalna liczba uruchomionych serwerów:
$max_servers = 2;
$max_requests = 10;
$child_timeout=5*60;
</font># Wpisujemy tu nazwy domen obsługiwanych przez nasz serwer w formacie takim jak poniżej:
@local_domains_acl = ( ".$mydomain", '.domena2.pl' );

# Section II - MTA specific (defaults should be ok)

# Ścieżka do pliku z gniazdem:
$unix_socketname = "$MYHOME/amavisd.sock";
# Port na którym będzie nasłuchiwał AMaViS:
$inet_socket_port = 10024;
# Dopuszczaj połączenia jedynie poprzez lokalny adres IP:
@inet_acl = qw( 127.0.0.1 );

# Section III - Logging

# Włączenie logowania od syslog'a, ustawiamy na nie (0), ponieważ będziemy wszystko logować do osobnego pliku:
$DO_SYSLOG = 0;
# Ścieżka do pliku z logami:
$LOGFILE = "$MYHOME/amavis.log";
# Poziom logowania
# (Standardowo - 0 informacje o uruchomieniu, zatrzymaniu, komunikaty o niepowodzeniach, wykrytych wirusach):
$log_level = 0;
# Logowanie zarówno zawirusowanych i niezawirusowanych wiadomości:
$log_templ = '[? %#V |[? %#F |[?%#D|Not-Delivered|Passed]|BANNED name/type (%F)]|INFECTED (%V)], #
<%o> -> [<%R>|,][? %i ||, quarantine %i], Message-ID: %m, Hits: %c';
# Wybór strony kodowej, kolejno dla nagłówna i dla sekcji body wiadomości:
$hdr_encoding = 'iso-8859-2';
$bdy_encoding = 'iso-8859-2';
# Ścieżki do plików z szablonem wiadomości (zawiadomienia), które będą zwracane do nadawcy, odbiorcy i
# administratora, jeśli wiadomość będzie zawierała wirusy, po więcej informacji zapraszam do `README.customize`:
$notify_virus_sender_templ= read_text('/var/amavis/notify_virus_sender.txt');
$notify_virus_admin_templ = read_text('/var/amavis/notify_virus_admin.txt');
$notify_virus_recips_templ= read_text('/var/amavis/notify_virus_recips.txt');
# Podajemy naszemu AMaViS co ma zrobić z wiadomościami:
# D_PASS - Poczta zostanie wysłana do adresata nie patrząc na jej złą zawartość
# D_DISCARD - Poczta nie zostanie dostarczona do adresata oraz nadawca nie dostanie o tym zawiadomienia
# D_BOUNCE - Poczta nie zostanie dostarczona do, ale zostanie do niego wysłane zawiadomienie
# (wyjątek: zawiadomienie nie zostanie dostarczone jeśli adresat znajduje się w $viruses_that_fake_sender_re)
# D_REJECT - Poczta zostanie odrzucona, a nadawca otrzyma jej zwrot wraz z informacją o niepowodzeniu od Postfix'a
$final_virus_destiny = D_DISCARD;
$final_banned_destiny = D_BOUNCE;
$final_spam_destiny = D_REJECT;
$final_bad_header_destiny = D_PASS;
# Zawiadomienie nadawcy o wirusie:
$warnvirussender = 0;
# Zawiadomienie odbiorcy o wirusie:
$warnvirusrecip = 0;
# Definiujemy nazwy najczęściej spotykanych robaków:
$viruses_that_fake_sender_re = new_RE(
qr'nimda|hybris|klez|bugbear|yaha|braid|sobig|fizzer|palyh|peido|holar'i,
qr'tanatos|lentin|bridex|mimail|trojan\.dropper|dumaru|parite|spaces'i,
qr'dloader|galil|gibe|swen|netwatch|bics|sbrowse|sober|rox|val(hal)?la'i,
qr'frethem|sircam|be?agle|tanx|mydoom|novarg|shimg|netsky|somefool|moodown'i,
qr'@mm|@MM', # mass mailing viruses as labeled by f-prot and uvscan
qr'Worm'i, # worms as labeled by ClamAV, Kaspersky, etc
[qr'^(EICAR|Joke\.|Junk\.)'i => 0],
[qr'^(WM97|OF97|W95/CIH-|JS/Fort)'i => 0],
[qr/.*/ => 1], # true by default (remove or comment-out if undesired)
);
# Definiujemy konto, na które będą wysyłane powiadomienia o wirusach itp. Musisz pamiętać aby utworzyć alias lub
# dodać nowe konto wirtualne o nazwie `virusalert`. O tym w dalszej części artykułu.
$virus_admin = "virusalert\@$mydomain";
# Definiujemy konta, z których będą wysyłane zawiadomienia do użytkowników:
$mailfrom_notify_admin = "virusalert\@$mydomain";
$mailfrom_notify_recip = "virusalert\@$mydomain";
# Wyłączamy kwarantanne, która jest nam niepotrzebna:
$virus_quarantine_to = undef;
# Zmiana nagłówka, aby wyłączyć całkowicie wyświetlanie nagłówka ustaw de dwie zmienne jako `undef`,
# zmienne te możemy edytować dodając np. swoje nazwy:
$X_HEADER_TAG = 'X-Virus-Scanned';
$X_HEADER_LINE = "by amavisd-new at $mydomain";
# Tytuł wiadomości, ktory będzie wysyłany w wypadku gdy archiwa będą zabezpieczone hasłem:
$undecipherable_subject_tag = '***UNCHECKED*** '; # undef disables it
# Kasowanie istniejących nagłówków - ustawiamy wartość false:
$remove_existing_x_scanned_headers = 0;
# Definiujemy typy plików, których nasz AMaViS ma nierozpakowywać. Ma je trzymać w spakowanej formie dla narzędzia
# antywirusowego:
$keep_decoded_original_re = new_RE(
# qr'^MAIL$', # retain full original message for virus checking (can be slow)
qr'^MAIL-UNDECIPHERABLE$', # retain full mail if it contains undecipherables
qr'^(ASCII(?! cpio)|text|uuencoded|xxencoded|binhex)'i,
# qr'^Zip archive data',
);
# Zabronione nazwy plików, które muszą zostać przepuszczone przez skaner antywirusowy:
$banned_filename_re = new_RE(
# qr'^UNDECIPHERABLE$', # is or contains any undecipherable components
qr'\.[^.]*\.(exe|vbs|pif|scr|bat|cmd|com|dll)$'i, # double extension
# qr'.\.(exe|vbs|pif|scr|bat|cmd|com)$'i, # banned extension - basic
# qr'.\.(ade|adp|bas|bat|chm|cmd|com|cpl|crt|exe|hlp|hta|inf|ins|isp|js|
# jse|lnk|mdb|mde|msc|msi|msp|mst|pcd|pif|reg|scr|sct|shs|shb|vb|
# vbe|vbs|wsc|wsf|wsh)$'ix, # banned extension - long
# qr'.\.(mim|b64|bhx|hqx|xxe|uu|uue)$'i, # banned extension - WinZip vulnerab.
# qr'^\.(zip|lha|tnef|cab)$'i, # banned file(1) types
qr'^\.exe$'i, # banned file(1) types
qr'^application/x-msdownload$'i, # banned MIME types
qr'^application/x-msdos-program$'i,
# qr'^message/partial$'i, qr'^message/external-body$'i, # block rfc2046
);

# Section V - Per-recipient and per-sender handling, whitelisting, etc.

# Rezygnujemy z bazy SQL, w której przechowywane są tzw. whitelist i blacklist:
$sql_select_white_black_list = undef;
# Czarna lista użytkowników, od których wiadomości będą automatycznie odrzucane:
$blacklist_sender_re = new_RE(
qr'^(bulkmail|offers|cheapbenefits|earnmoney|foryou|greatcasino)@'i,
qr'^(investments|lose_weight_today|market.alert|money2you|MyGreenCard)@'i,
qr'^(new\.tld\.registry|opt-out|opt-in|optin|saveonlsmoking2002k)@'i,
qr'^(specialoffer|specialoffers|stockalert|stopsnoring|wantsome)@'i,
qr'^(workathome|yesitsfree|your_friend|greatoffers)@'i,
qr'^(inkjetplanet|marketopt|MakeMoney)\d*@'i,
);

# Section VI - Resource limits

# Maksymalny poziom dla rozpakowania/rozkodowania (0 - bez limitu):
$MAXLEVELS = 14;
# Maksymalna liczba rozpakowanych plików (0 - bez limitu)
$MAXFILES = 1500;

# Section VII - External programs, virus scanners

# Ścieżki do narzędzi wymienionych poniżej:
$path = '/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:/usr/bin:/bin';

# Narzędzia, które nasz AMiViS będzie wykorzystywał do dekompresji plików:

$file = 'file';

$gzip = 'gzip';
$bzip2 = 'bzip2';
$lzop = 'lzop';
$uncompress = ['uncompress', 'gzip -d', 'zcat'];
$unfreeze = ['unfreeze', 'freeze -d', 'melt', 'fcat'];
$arc = ['nomarch', 'arc'];
$unarj = ['arj', 'unarj'];
$unrar = ['rar', 'unrar'];
$zoo = 'zoo';
$lha = 'lha';
$cpio = 'cpio';

# Definiujemy ustawienia dla naszego skanera antywirusowego, którym będzie ClamAV,
# pamiętaj o poprawnym podaniu ścieżki do pliku socket:

@av_scanners = (

['Clam Antivirus-clamd',
\&ask_daemon, ["CONTSCAN {}\n", '/var/amavis/clamd'],
qr/\bOK$/, qr/\bFOUND$/,
qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],

);

# Możliwe jest również dodanie zapasowego skanera, którym może być na przykład MKSd, do tego służy zmienna
# @av_scanners_backup = (" ");

# Koniec pliku:
1;

--- end of amavisd.conf ---

To tylko moim zdaniem najważniejsze opcje, z którymi powinieneś się zapoznać podczas używania AMaViS'a. Po więcej informacji dotyczących tego właśnie programu jak wspomniałem już wcześniej zapraszam do przejrzenia dokumentacji, która znajduje się w katalogu `/usr/local/share/doc/amavisd-new`.Edytuj teraz plik `main.cf` i dodaj do niego następującą linikę:

# vi /etc/postfix/main.cf

--- main.cf

# AMaViS
content_filter=smtp-amavis:[127.0.0.1]:10024

--- end of main.cf ---

Na koniec edytujemy plik `master.cf`, do którego wstawiamy poniższe linijki:

# vi /etc/postfix/master.cf

--- master.cf ---

smtp-amavis unix - - n - 2 smtp
    -o smtp_data_done_timeout=1200
    -o smtp_send_xforward_command=yes
    -o disable_dns_lookups=yes

127.0.0.1:10025 inet n - n - - smtpd
    -o content_filter=
    -o local_recipient_maps=
    -o relay_recipient_maps=
    -o smtpd_restriction_classes=
    -o smtpd_client_restrictions=
    -o smtpd_helo_restrictions=
    -o smtpd_sender_restrictions=
    -o smtpd_recipient_restrictions=permit_mynetworks,reject
    -o mynetworks=127.0.0.0/8
    -o strict_rfc821_envelopes=yes
    -o smtpd_error_sleep_time=0
    -o smtpd_soft_error_limit=1001
    -o smtpd_hard_error_limit=1000

--- end of master.cf ---

Pozostało nam już tylko uruchomienie AMaViS'a oraz ClamAV. Do pliku `rc.conf` wstawiamy poniższe zmienne:

# vi /etc/rc.conf

--- rc.conf ---

clamav_clamd_enable="YES"
clamav_freshclam_enable="YES"
amavisd_enable="YES"

--- end of rc.conf ---

Teraz wydajemy polecenia, po których zostaną uruchomione programy, przed uruchomieniem, jak wspomniałem wcześniej pamiętaj o dodaniu do bazy wirusów konta wirtualnego, lub aliasa o nazwie `virusalert`. W tym celu zobacz rozdział 'Administracja Postfix'em' w tym artykule:

# /usr/local/etc/rc.d/clamav-clamd.sh start
# /usr/local/etc/rc.d/clamav-freshclam.sh start
# /usr/local/etc/rc.d/amavisd.sh start

I oczywiście restartujemy Postfix'a:

# /usr/local/etc/rc.d/postfix.sh reload

W celu sprawdzenia czy nasz AMaViS uruchomił się i działa poprawnie, zaloguj się przez telnet na port 10024 naszego serwera, powinieneś ujrzeć następujący komunikat (QUIT wpisujemy w celu zakończenia sesji):

$ telnet 127.0.0.1 10024
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 [127.0.0.1] ESMTP amavisd-new service ready
QUIT
221 2.0.0 [127.0.0.1] (amavisd) closing transmission channel
Connection closed by foreign host.

Jeśli pojawił Ci się taki lub podobny komunikat to znaczy, że wszystko działa jak należy. Sprawdź jeszcze w logach, czy system nie pokazuje żadnych błędów. Jeśli takowe się pojawią, polecam przejrzenie raz jeszcze wszystkich plików, w celu upewnienia się czy nie popełniliśmy jakiegoś drobnego błędu (mowa tu o literówkach), lub nie dopisaliśmy jakiejś niezbędnej opcji, bez której nasz serwer nie mógłby działać poprawnie.



Ostatnio aktualizowany ( wtorek, 08 listopada 2005 )

« wstecz   dalej »
Ciekawostki
Jeśli chcesz wyłączyć beep'y w X11 (X windows), użyj:
xset b off
Pobierz
FreeBSD
OpenBSD
NetBSD
DragonFlyBSD
PC-BSD
FreeSBIE LiveCD
4.4BSD Lite
Reklama M3M.pl
Domeny
Książki

FreeBSD. Księga eksperta

FreeBSD. Księga eksperta

Cena: 125.00 zł
Dodaj do koszyka


FreeBSD. Podstawy administracji systemem

FreebBSD

Cena: 64.90 zł
Dodaj do koszyka


OpenBSD. Podstawy administracji systemem

OpenBSD

Cena: 84.90 zł
Dodaj do koszyka


OpenBSD. Tworzenie firewalla za pomocą PF

Firewall PF

Cena: 44.90 zł
Dodaj do koszyka

Licznik odwiedzin
Odwiedziło już nas
2349757
Internautów od lutego 2003

Korzystamy ze statysyk