Własny serwer cz.7 – Antywirus i Antyspam

Ostatnia aktualizacja: 6th maj 2022, 04:38 pm



 
Ta część konfiguracji własnego serwera nie jest obowiązkowa, ale mocno zalecana dla osób, które zainstalowały serwer poczty SMTP w części 5 oraz serwer poczty IMAP w części 6.

Co to jest Antywirus?
Z Wikipedii:

Program antywirusowy – program komputerowy, którego zadaniem jest wykrywanie, zwalczanie i usuwanie wirusów komputerowych. Współcześnie najczęściej jest to element pakietu programów chroniących komputer także przed wieloma innymi zagrożeniami.

Co to jest Antyspam?
Z Wikipedii:

Antyspam – oprogramowanie, które ochrania komputer przed spamem, czyli niechcianymi lub niepotrzebnymi wiadomościami e-mail. Zaawansowane oprogramowanie chroni też przed phishingiem, czyli wiadomościami e-mail pochodzącymi od oszustów podszywających się pod zaufanych nadawców.

W naszym przypadku, program antywirusowy i antyspamowy będzie chronił naszą skrzynkę pocztową przed wirusami i innymi śmieciami dostarczanymi wraz z pocztą.

Do tego celu posłużą nam aplikacje: Amavis, ClamAV i SpamAssassin.

Amavis (A Mail Virus Scanner) to wydajny interfejs między agentem przesyłania wiadomości (MTA), takim jak Postfix, a filtrami treści.

ClamAV to zestaw narzędzi antywirusowych, dostępnych na licencji GPL działający pod systemami uniksowymi. ClamAV jest przeznaczony głównie do integracji z serwerami pocztowymi.

SpamAssassin to napisany głównie w Perlu zestaw skryptów do analizy zawartości poczty elektronicznej i oceny prawdopodobieństwa czy dana wiadomość jest spamem, czy też nie.

Ważne!
Amavis i ClamAV wymagają co najmniej 1.3 GB wolnej pamięci RAM na serwerze. Cały stos serwerów pocztowych (Postfix, Dovecot, Amavis, ClamAV, SpamAssassin, OpenDKIM, MySQL/MariaDB, PostfixAdmin i Roundcube Webmail) wymaga co najmniej 3 GB pamięci RAM do płynnego działania.

Instalacja Amavis
apt install amavisd-new

Sprwdź czy usługa działa:
systemctl status amavis

Jeśli nie działa:
systemctl start amavis
systemctl enable amavis

Domyślnie nasłuchuje na 127.0.0.1:10024, co widać z:
netstat -lnpt | grep amavis

Wirusy są zwykle rozpowszechniane jako załączniki do wiadomości e-mail. Zainstaluj następujące pakiety dla programu Amavis, aby wyodrębnić i przeskanować pliki archiwów z wiadomości e-mail, takie jak pliki .7z, .cab, .doc, .exe, .iso, .jar i .rar:
apt install arj bzip2 cabextract cpio rpm2cpio file gzip lhasa nomarch pax rar unrar p7zip-full unzip zip lrzip lzip liblz4-tool lzop unrar-free

Następnie wyedytuj plik:
nano /etc/amavis/conf.d/05-node_id

zmieniając:
#$myhostname = "mail.example.com";

na domenę mailową (tutaj: mail.linuxiarze.pl):
$myhostname = "mail.linuxiarze.pl";

Zrestartuj Amavis:
systemctl restart amavis

Następnie zintegruj serwer poczty IMAP z Amavis:
nano /etc/postfix/main.cf

dodając na końcu:
content_filter = smtp-amavis:[127.0.0.1]:10024
smtpd_proxy_options = speed_adjust

Następnie wyedytuj plik master:
nano /etc/postfix/master.cf

dodając na koniec pliku:
smtp-amavis unix - - n - 2 smtp
-o syslog_name=postfix/amavis
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
-o max_use=20
-o smtp_tls_security_level=none
127.0.0.1:10025 inet n - n - - smtpd
-o syslog_name=postfix/10025
-o content_filter=
-o mynetworks_style=host
-o mynetworks=127.0.0.0/8
-o local_recipient_maps=
-o relay_recipient_maps=
-o strict_rfc821_envelopes=yes
-o smtp_tls_security_level=none
-o smtpd_tls_security_level=none
-o smtpd_restriction_classes=
-o smtpd_delay_reject=no
-o smtpd_client_restrictions=permit_mynetworks,reject
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_end_of_data_restrictions=
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
-o smtpd_client_connection_count_limit=0
-o smtpd_client_connection_rate_limit=0
-o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_address_mappings

Zrestartuj Postfix:
systemctl restart postfix

Instalacja ClamAV
apt install clamav clamav-daemon

Sprawdź status clamav-freshclam:
systemctl status clamav-freshclam

oraz clamav-daemon:
systemctl status clamav-daemon

Jeśli któryś z powyższych nie działa, uruchom go lub zrestartuj.

Następnie zintegruj Amavis z ClamAV, edytując plik:
nano /etc/amavis/conf.d/15-content_filter_mode

aby odkomentować poniższy fragment:
@bypass_virus_checks_maps = (
\%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);

Dodaj użytkownika clamav do grupy amavis:
adduser clamav amavis

Zrestartuj Amavis i ClamAV:
systemctl restart amavis clamav-daemon

ClamAV może teraz skanować zarówno przychodzące, jak i wychodzące wiadomości e-mail. Amavis nasłuchuje na porcie 10024 zarówno przychodzące, jak i wychodzące wiadomości e-mail, jednak dobrą praktyką jest używanie innego portu, takiego jak 10026, do przesyłania wiadomości e-mail od uwierzytelnionych użytkowników. Wyedytuj plik konfiguracyjny Amavis:
nano /etc/amavis/conf.d/50-user

zmieniając linię dotyczącą portów na:
$inet_socket_port = [10024,10026];

oraz dodaj:
$interface_policy{'10026'} = 'ORIGINATING';
$policy_bank{'ORIGINATING'} = { # mail supposedly originating from our users
originating => 1, # declare that mail was submitted by our smtp client
allow_disclaimers => 1, # enables disclaimer insertion if available

# notify administrator of locally originating malware
virus_admin_maps => ["virusalert\@$mydomain"],
spam_admin_maps => ["virusalert\@$mydomain"],
warnbadhsender => 1,

# force MTA conversion to 7-bit (e.g. before DKIM signing)
smtpd_discard_ehlo_keywords => ['8BITMIME'],
bypass_banned_checks_maps => [1], # allow sending any file names and types
terminate_dsn_on_notify_success => 0, # don't remove NOTIFY=SUCCESS option
};

Zrestartuj Amavis:
systemctl restart amavis

Następnie dodaj do pliku konfiguracyjnego Postfix:
nano /etc/postfix/master.cf

w dwóch sekcjach: submission oraz smtps:
-o content_filter=smtp-amavis:[127.0.0.1]:10026

Zrestartuj Postfix:
systemctl restart postfix

Instalacja SpamAssassin
apt install spamassassin libnet-dns-perl libmail-spf-perl pyzor razor

Wyedytuj plik konfiguracyjny Amavis:
nano /etc/amavis/conf.d/15-content_filter_mode

odkomentowując linie:
@bypass_spam_checks_maps = (
\%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);

Zrestartuj Amavis:
systemctl restart amavis

Na tym możemy zakończyć podstawową konfigurację aplikacji antywirusowej i antyspamowej na serwerze pocztowym z Debianem.

W przypadku niejasności, jak zwykle odsyłam do stron man:
man amavis
man clamav
man spamassassin
man postfix

W kolejnej, ósmej już części cyklu Własny Serwer, postawimy serwer repozytoriów z własnymi pakietami deb, które można oferować użytkownikom Debiana (i Ubuntu).

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

Witryna jest chroniona przez reCAPTCHA i Google Politykę Prywatności oraz obowiązują Warunki Korzystania z Usługi.