Instalacja i konfiguracja SendMail-a

Transkrypt

Instalacja i konfiguracja SendMail-a
Instalacja i konfiguracja SendMail-a
Napisane przez Piotr Pośpiech
Wtorek, 10 lutego 2009 13:58 - Ostatnio zmieniane Wtorek, 10 lutego 2009
Problem:
Każdy kto miał styczność z SendMailem, wie jak potężne jest to narzędzie i ile nieraz czasu
trzeba poświcić, aby je poprawnie skonfigurować. W artykule tym postaram się po krótce
przedstawić jak powinna wyglądać jego poprawna instalacja oraz konfiguracja.
Rozwiązanie:
Instalacja programu pocztowego SendMail
Instalacji SendMaila możemy dokonać na dwa sposoby. Pierwszy - najłatwiejszy za pomocą
dołączanego do większości dystrybucji Linuksa 'Agenta transportowego'. Instalacja taka jest
jednak bardzo niebezpieczna ponieważ prawie w całości zaniedbana jest kwestia
bezpieczeństwa. Przykładem może być tu robak internetowy o nazwie RTM, który
wyspecjalizował się w przekraczaniu zakresu bufora, szczególnie w starszych wersjach
programu. Większość dziur w bezpieczeństwie wykorzystujących przekroczenie zakresu bufora
wynika z tego, że wszystkie kopie SendMaila na różnych komputerach są identyczne, ponieważ
wykorzystywane dane są zapisywane w określonych miejscach.
Alternatywą dla "agenta transportowego" jest zainstalowanie SendMaila w postaci kodu
źródłowego, co w znacznym stopniu redukuje zagrożenie. Kod źródłowy SendMaila jest
dostępny przez anonimowe FTP pod adresem ftp.sendmail.org . Sama kompilacja jest prosta,
gdyż pakiet źródłowy bezpośrednio uwzględnia Linuksa.
Kroki wymagane przy kompilacji są następujące:
# cd /usr/local/src # tar xvfs sendmail.8.12.9.tar.gz # cd src # ./Build
Przegląd plików konfiguracyjnych
W starszych dystrybucjach Linuksa SendMail był konfigurowany przez systemowy plik
konfiguracyjny (najczęściej /etc/lib/sendmail.cf, który niestety nie przypomina żadnego języka
programowania. Aktualnie SendMaila konfiguruje się za pomocą makr o prostej składni, a
metoda ta pozwala na generowanie konfiguracji wystarczających dla większości instalacji.
Pliki sendmail.cf oraz sendmail.mc
Program makroprocesora, m4, generuje plik sendmail.cf, przetwarzając pliki konfiguracyjne
makr stworzone przez lokalnego administratora. Plik ten dalej będzie nosił nazwę: sendmail.mc.
1/4
Instalacja i konfiguracja SendMail-a
Napisane przez Piotr Pośpiech
Wtorek, 10 lutego 2009 13:58 - Ostatnio zmieniane Wtorek, 10 lutego 2009
Proces konfiguracji w zasadzie polega na stworzeniu odpowiedniego pliku sendmail. mc, który
zawiera makra opisujące żądaną konfigurację. Makra to wyrażenia rozumiane przez
makroprocesor m4 i rozwijane do złożonej składni sendmail.cf. Wyrażenia makr składają się z
nazwy makra (tekst pisany dużymi literami), która może być połączona z funkcją w języku
programowania, i kilku parametrów (tekst w nawiasach), które są używane w trakcie rozwijania
makr. Parametry mogą być przekazane dosłownie do pliku sendmail.cf lub wykorzystane do
zarządzania sposobem przetwarzania makra. Plik sendmail.mc w minimalnej konfiguracji
(UUCP lub SMTP z przekazywaniem poczty nielokalnej przez bezpośrednio podłączony
inteligentny host) może mieć długość zaledwie 10 czy 15wierszy, nie licząc komentarzy.
Typowe parametry używane w sendmail.mc
Istnieje pewna grupa elementów pliku sendmail.mc, których obecność jest obowiązkowa.
Należą do nich przede wszystkim:
1. VERSIONID - jest to makro opcjonalne, przydatne do zapisywania wersji konfiguracji
SendMaila w pliku sendmail.cf
2. OSTYPE - makro to odpowiada za dodawanie plików definicji, które zawierają poprawne
wartości domyślne dla Linuksa. Większość definicji w makro OSTYPE ustawia ścieżki do
różnych plików konfiguracyjnych, ścieżki i argumenty do programu wysyłającego pocztę oraz
lokalizację katalogów, w których SendMail przechowuje wartości
3. DOMAIN - makro to jest przydatne przy konfiguracji wielu komputerów w tej samej sieci w
standardowy sposób. Aby je wykorzystać należy stworzyć swój własny plik makro zawierający
standardowe definicje i zapisać go w podkatalogu domain.
4. FEATURE - jest to makro pozwalające dołącyć do konfiguracji SendMaila predefiniowane
funkcje, które ułatwiają posługiwanie się konfiguracjami
5. Lokalne definicje makr - to nic innego jak zmienne zawarte w standardowych plikach
konfiguracyjnych makr, dzięki którym można dostosować konfigurację do swoich potrzeb. Są
one najczęściej wywoływane przez podanie nazwy makra oraz argumentu zawierającego
wartość, którą chcesz przypisać zmiennej obsługiwanej przez makro.
6. MAILER - makro to jest odpowiedzialne za prawidłowe przesyłanie poczty. W poniższej tabeli
2/4
Instalacja i konfiguracja SendMail-a
Napisane przez Piotr Pośpiech
Wtorek, 10 lutego 2009 13:58 - Ostatnio zmieniane Wtorek, 10 lutego 2009
umieściełem protokoły transportowe dostępne dla makra MAILER:
Protokół transportowy i jego charakterystyka
local
Ten protokół obejmuje agenta lokalnego używanego do wysyłania poczty do skrzynek
pocztowych użytkowników oraz program wysyłający prog używany do wysyłania wiadomości do
programów lokalnych. Ten protokół jest dołączany domyślnie.
smtp
Ten protokół implementuje prosty protokół przesyłania poczty elektronicznej (SMTP), który jest
najczęściej używanym protokołem w Internecie. Gdy się go dołączy, konfigurowane są cztery
programy wysyłające pocztę: smtp (podstawowe SMTP), esmtp (rozszerzone SMTP), smtp8
(8-bitowe SMTP) i relay (stworzony specjalnie do przekazywania poczty pomiędzy hostami).
uucp
Protokół uucp daje obsługę dwóch programów wysyłających: uucp-old, czyli tradycyjne UUCP,
i uucp-new, pozwalający na obsłużenie za jednym razem kilku odbiorców.
usenet
Ten program wysyłający pozwala na wysyłanie wiadomości bezpośrednio do sieci grup
dyskusyjnych Usenetu. Wszelkie wiadomości lokalne skierowane na adres news.group.usenet
zostaną przekierowane do sieci grup dyskusyjnych na listę news.group.fax
Przy zainstalowanym oprogramowaniu HylaFAX, ten program wysyłający pozwola
przekierować na nie pocztę, tak aby możliwe było stworzenie gatewaya pomiędzy pocztą a
faksem.
Oprócz przytoczonych powyżej protokołów istnieją jeszcze inne, ale rzadziej używane
protokoły: pop, procmail, mail11, phquery oraz cyrtus.
3/4
Instalacja i konfiguracja SendMail-a
Napisane przez Piotr Pośpiech
Wtorek, 10 lutego 2009 13:58 - Ostatnio zmieniane Wtorek, 10 lutego 2009
Po zakończeniu edycji pliku konfiguracyjnego m4, należy go przetworzyć, by wygenerować plik
/etc/mail/sendmail.cf odczytywany przez SendMaila. Poniższy przykład pokazuje jak należy
tego dokonać:
# cd /etc/mail # m4 /usr/share/sendmail.cf/m4/cf.m4 vstout.uucpsmtp.mc >sendmail.cf
Polecenie to wywołuje makroprocesor m4, któremu dostarcza się nazwy dwóch makrodefinicji
do przetworzenia. m4 przetwarza pliki w podanej kolejności. Pierwszy plik to standardowe
makro wzorców sendmaila dostarczane w pakiecie kodu źródłowego, a drugi to plik zawierający
własne makrodefinicje. Wynik polecenia jest przekierowywany do pliku /etc/mail/sendmail.cf.
Źródło: http://www.linuxwbiznesie.pl/software/sendmail-cz.1.html
Dotyczy: Fedora Core 4 i in.
4/4