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