-
Lekki serwer pocztowy dla CentOS – Exim
Exim nie należy do najbardziej popularnych serwerów pocztowych (MTA). Tak się może wielu wydawać. Prawda jest jednak trochę inna, ponieważ najpopularniejsze panele administracyjne takie jak DirectAdmin, czy cPanel wykorzystują domyślnie właśnie wspomnianego Exima. Pytanie, dlaczego? Prawdopodobnie ze względu na jego „lekkość” oraz bardzo duże możliwości konfiguracyjne.
Szczerze mówiąc, wydaje mi się, że są one większe, a przynajmniej bardziej przyjazne w konfiguracji niż np. w Sendmailu czy Postfixie. Jest to moje odczucie, możecie się z nim nie zgodzić. Przyznać trzeba jedno, wspomniane przed chwilą dwa MTA, nie potrafią bez użycia dodatkowego oprogramowania (miltera, Amavisa, proxy smtp) na podłączenie np. programu antywirusowego, czy SpamAssassina. No dobra obsługę ostatniego narzędzie można zaimplementować przy pomocy Procmaila. Exim ma takową obsługę natywnie. Przystąpmy do instalacji i wstępnej konfiguracji.
yum remove postfix
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum install exim clamd spamassassin cyrus-sasl cyrus-sasl-plain
service saslauthd start
/sbin/chkconfig saslauthd on
/sbin/chkconfig exim on
/sbin/chkconfig clamd on
/sbin/chkconfig spamassassin on
vim /etc/exim/exim.conf
Odkomentowujemy następujące linie:
PLAIN:
driver = plaintext
server_set_id = $auth2
server_prompts = :
server_condition = ${if saslauthd{{$2}{$3}{smtp}} {1}}
server_advertise_condition = ${if def:tls_cipher }LOGIN:
driver = plaintext
server_set_id = $auth1
server_prompts = <| Username: | Password:
server_condition = ${if saslauthd{{$1}{$2}{smtp}} {1}}
server_advertise_condition = ${if def:tls_cipher }Następnie:
– ustawiamy „primary_hostname = nazwa_naszego_serwera”
– dopisujemy obsługę domen „domainlist local_domains = domena1 : domena2”
– podpinamy antywirusa np. clamava- ustawiamy „av_scanner = clamd:ścieżka_do_pliku_sock_clamava”
– ustawiamy, aby zawirusowane wiadomości były odrzucane- odkomentowujemy
deny malware = *
message = This message contains a virus ($malware_name).
– podpinamy SpamAssassina- „spamd_address = 127.0.0.1 783”; 783 to domyślny port na którym nasłuchuje wspomniane oprogramowanie antyspamowe
– ustawienia wielkości wiadomości, które będę skanowane:
accept condition = ${if >={$message_size}{100000} {1}}
add_header = X-Spam-Note: SpamAssassin run bypassed due to message size
dodawanie headerów:
warn spam = nobody/defer_ok
add_header = X-Spam-Flag: YES
Informacje w nagłówku o poziomie spamu
warn add_header = X-Spam-Score: $spam_score ($spam_bar)\n\
raport w nagłówku (m.in. filtry, które zapunktowały), jeśli poziom spamu sięgnie 5 punktów
warn condition = ${if >{$spam_score_int}{50}{1}{0}}
add_header = X-Spam-Report: $spam_report
– domyślnie porty na których powinien nasłuchiwać exim są ustawione, ale warto sprawdzić jak- opcja „daemon_smtp_ports” oraz „tls_on_connect_ports”
Na koniec startujemy wszystkie usługi:service exim start
service clamd start
service spamassassin start
service saslauthd start
Najprostszym sposobem na sprawdzenie, czy serwer działa jest oczywiście wysłanie emaila lub ewentualnie telnet:
telnet dobra-poczta.pl 25
Trying 62.133.22.151...
Connected to dobra-poczta.pl.
Escape character is '^]'.
220 dobra-poczta.pl ESMTP Exim 4.72 Tue, 04 Feb 2014 15:51:59 +0100
ehlo localhost
250-dobra-poczta.pl Hello Twój_HOST [Twoje_IP]
250-SIZE 52428800
250-PIPELINING
250-STARTTLS
250 HELP
W razie problemów lub pytań, proszę pisać w komentarzach.