SendMail cz.2 - Linux w biznesie
Transkrypt
SendMail cz.2 - Linux w biznesie
Linuxwbiznesie - linux w biznesie, linux w firmie SendMail cz.2 Autor: Administrator 21.11.2005. SendMail - cz.2 W pierwszym artykule o SendMailu szczególna uwage poswiecilem przede wszystkim samej instalacji programu oraz przedstawilem krótka charakterystyke parametrów oraz protokolów transportowych w nim uzywanych. W tym artykule chcialbym skupić się na konfigurowaniu opcji SendMaila, zarządzaniu aliasami pocztowymi i spamem oraz testowaniu przeprowadzonej konfiguracji.Konfigurowanie opcji SendMaila. SendMail posiada szereg opcji pozwalających dostosować sposób realizacji różnych zadań. Aby skonfigurować jakąś z tych opcji należy zdefiniować ją w pliku konfiguracyjnym m4 lub wstawić ją bezpośrednio do pliku sendmail.cf. W ponizszej tabeli zamiescilem powszechnie stosowane opcje pliku wejsciowego dla makreogeneratora m4. confMIN_FREE_BLOCKS (MinFreeBlocks)Jest to opcja, która umożliwia określenie minimalnej liczby wolnych bloków dysku twardego, przy jakiej wiadomość zostanie przyjęta. Znajduje to głównie zastosowanie w sytuacji gdy mamy problem z doręczeniem wiadomości zakolejkowanych w buforze poczty, gdyż zapewnia, że SendMail nigdy nie wypełni całego systemu plików na którym znajduje się katalog bufora.( Domyślna wartość to 100) confME_TOO (MeToo) Ta opcja określa, czy autor wiadomości otrzyma kopię, jeżeli pojawi się na rozwiniętej liście odbiorców. (Domyślna wartość to: false)confMAX_DEAMON_CHILDREN (MaxDeamonChildren) Gdy SendMail odbiera połączenie SMTP z hosta zdalnego, tworzy nową kopię programu do obsługi przychodzącej wiadomości. W ten sposób możliwe jest przetwarzanie przez SendMaila wielu jednocześnie przychodzących połączeń. Choć jest to przydatne, każda nowa kopia SendMaila zajmuje pamięć komputera. Jeżeli zostanie odebrana niezwykle duża liczba połączeń ze względu na jakiś błąd lub atak złośliwca, możliwe, że SendMail zajmie całą pamięć systemu. Ta opcja pozwala ograniczyć maksymalną liczbę demonów potomnych, które mogą zostać utworzone. Gdy liczba ta zostanie osiągnięta, nowe połączenia będą odrzucane, aż któryś z procesów potomnych zakończy pracę. (Domyślnie jest niezdefiniowana). confSEPARATE_PROC (ForkEachJob) Opcja ta powoduje, że SendMail będzie tworzył nową kopię procesu dla każdej dostarczanej wiadomości. Znajduje to zastosowanie, gdy istnieje kilka wiadomości, które stoją w kolejce ze względu na problem z hostem docelowym. (Domyślnie jest to: false) confESMTP_LOGIN_MSG (SmtpGreetingMessage) Gdy jest realizowane połączenie z SendMailem, wysyłane są pozdrowienia. Domyślnie wiadomość ta zawiera nazwę hosta, nazwę agenta przesyłającego pocztę, numer wersji SendMaila, lokalny numer wersji i aktualną datę. RFC-821 określa, że pierwsze słowo pozdrowień powinno być pełną nazwą domenową, ale pozostała część może być skonfigurowana wedle życzenia. Można tu określić makra SendMaila. Na skutek użycia - zostaną rozwinięte. Jedyną osobą, która zobaczy tę wiadomość, jest administrator systemu diagnozujący problemy z dostarczaniem poczty lub ciekawscy zainteresowani wykryciem konfiguracji maszyny. Zarządzanie aliasami pocztowymi. Aliasy pocztowe to nic innego jak funkcje umożliwiające przekierowywanie poczty do skrzyne pocztowych o alternatywnych nazwach użytkowników lub procesów na hoście docelowym. Najbardziej znanym i powszechnie używanym jest przekierowywanie komentarzy i uwag na temat serwera WWW na konto "webmaster". Oczywiste jest, że taki użytkownik nie istnieje i jest to tylko alias innego użytkownika. Dosyć często aliasy stosuje się również w programach serwerów list dyskusyjnych. Wszystkie aliasy są zapisywane w pliku /etc/alias. Program SendMail przegląda ten plik, by stwierdzić, jak obsłużyć przychodzące wiadomości. W momencie gdy znajdzie w nim wpis zgodny z adresem w wiadomości, przekierowuje wiadomość we wskazane miejsce. Aliasom można przypisać trzy podstawowe funkcje: 1) Zezwalają na wywołanie programu z wiadomością jako jego parametrem wejściowym. 2) Stanowią skrót lub dobrze znaną nazwę pozwalające na adresowanie poczty do jednej lub kilku osób. 3) Pozwalają na przesłanie wiadomości do pliku. Aby została zachowana zgodność z RFC, należy zastosować aliasy dla użytkowników: Postmaster oraz MAILER-DEAMON. http://www.linuxwbiznesie.pl Kreator PDF Utworzono 8 March, 2017, 13:35 Linuxwbiznesie - linux w biznesie, linux w firmie W celu zaktualizowania pliku /etc/alases nalezy uruchomic polecenie: # /usr/bin/newaliases Zarządzanie spamem czyli niechciana poczta. Dosyć powszechnym zjawiskiem w ostatnich latach jest rozsyłanie wszelkiego rodzaju reklam do użtkowników kont pocztowych. Wystarczy, że umieścimy swój adres e-mail w witrnie WWW, zapiszemy się do pocztowej listy dyskusyjnej, czy też wyślemy artykuł do grupy Usnet a jesteśmy zasypywaniem ogromną ilością reklam, które tak naprawde nie są nam do niczego potrzebne i tylko zajmują miejsce w skrzynce pocztowej. Zjawisko masowego wysyłania poczty zostało określone nazwą: spamming. Na szczęście SendMail posiada mechanizmy pomocne w walce z niechcianą pocztą. Jednym z nich jest Czarna lista. (ang. Real-time Blackhole list - RBL). Jest to publicznie dostępna usługa, ktorej zadaniem jest ograniecznie rozsyłania niechcianych reklam. Adresy nadawców spamu i hosty, które udało się rozpoznać, są ujawniane w Internecie w postaci bazy danych, do której można zadawać zapytania. Baza powstaje wysiłkiem ludzi, którzy dostali niechcianą pocztę spod jakiegoś adresu e-mail. Na liście pojawiają się też główne domeny, ze względu na wpadki w zabezpieczaniu się przed przyjmowaniem spamu. Choć niektórzy narzekają na sposób selekcji informacji przez osoby utrzymujące listę, jest ona bardzo popularna, a niezgodności są zwykle szybko wyłapywane. Szczegóły na temat działania usługi można znależć na stronie macierzystej jej twórców - projektu Mail Abuse Protection System (MAPS) pod adresem http://maps.vix.com/rbl/. Wlaczajac tę funkcję, automatycznie każemy SendMailowi sprawdzanie adresu nadawcy każdej przychodzącej wiadomości i porównywania go z czarną listą, by stwierdzić, czy ma przyjąć wiadomość. Aby skonfigurować czarną listę, należy do pliku sendmail.mc dodać makro FEATURE(rbl). Rozwiązaniem alternatywnym dla "Czarnej listy" jest tzw. Baza dostępu. (ang. acces_db), którą charakteryzuje dużo większa elastyczność i kontrola kosztem ręcznej konfiguracji. Kontrola nad odpowiednim przekazywaniem poczty jest ważna, ponieważ wykorzystana jest tu inna technika powszechnie używana przez hosty spammujące do obejścia opisanej powyżej "Czarnej listy". Poczta nie jest wysyłałana bezpośrednio do hosta docelowego, lecz poprzez inny, niepodejrzany host, który na to pozwala, więc przychodzące połączenie SMTP nie pochodzi od hosta spammującego, lecz od hosta, przez który jest przekazywane. Aby zabezpieczyć swój własny host przed używaniem go do takich celów, należy przekazywać pocztę tylko na rzecz znanych hostów. Zasada działania jest prosta. W momencie odebrania nowego przychodzącego połączenia SMTP, SendMail odczytuje informację z nagłówka i sprawdza bazę dostępu, aby sprawdzić czy może przyjąc wiadomość. Sama baza dostępu to zbiór regół opisujących co należy zrobić, gdy wiadomość zostanie odebrana z określonego hosta. Domyślny plik kontroli dostępu nosi nazwę /etc/mail/access. Tabela ma prosty format. Każdy wiersz tabeli zawiera regułę dostępu. Lewa strona każdej reguły to wzorzec używany do dopasowania adresu nadawcy przychodzącej poczty. Może to być pełny adres e-mail, nazwa hosta lub adres IP. Po prawej stronie wymienione jest działanie, jakie należy podjąć. Istnieje pięć typów działań, które możesz skonfigurować: OKPrzyjęcie wiadomości. RELAYPrzyjęcie wiadomości z tego hosta lub od tego użytkownika, nawet jeżeli nie jest przeznaczona dla naszego hosta. To oznacza przyjęcie wiadomości do przekazania do innych hostów.REJECTOdmówienie przyjęcia z ogólną informacją.DISCARDOdrzucenie wiadomości za pomocą programu wysyłającego $#discard ### dowolny tekst Zwrócenie błędu z wykorzystaniem ### jako kodu błędu (który powinien być zgodny z RFC-821) i „dowolnego tekstu" jako treści wiadomości. Funkcję bazy dostępu uaktywnia się w pliku sendmail.mc za pomocą delaracji: FEATURE(access_db). Testowanie konfiguracji. Ostatnią część artykułu chciałbym po krótce poświęcić przetestowaniu wykonanej konfiguracji programu SendMail. Ze względu na wbudowany w program tryb "testowania adresu" samo testowanie nie jest problemem skomplikowanym i z łatwością pozwala na zidentyfikowanie wszelkich błędów. W trybie tym uruchamiamy SendMaila z wiersza poleceń i podajemy reguły i adres docelowy. SendMail przetwarza ten adres używając zadanej reguły podstawienia i wyświetla wynik po przejściu każdej reguły. W SendMailu tryb tep włączamy poprzez dopisanie argumentu -bt. # /usr/sbin/sendmail -bt ADDRESS TEST MODE Enter [ruleset][address] > http://www.linuxwbiznesie.pl Kreator PDF Utworzono 8 March, 2017, 13:35 Linuxwbiznesie - linux w biznesie, linux w firmie Domyślnie używa się pliku konfiguracyjnego /etc/mail/sendmail.cf, jednak istnieje możliwość zmiany go używając argumentu -C. Poniżej przedstawię zadania jakie są najczęsciej stosowane w etapie testowania. 1) Sprawdź czy SendMail dostarcza pocztę do użytkowników lokalnych. 2) Sprawdź pocztę adresowaną na adres SMTP do konkretnego użytkownika. 3) Sprawdź tę samą pocztę kierowaną na adres typu UUCP. 4) Sprawdź czy poczta adresowana do innych hostów w określonej domenie jest dostarczana bezpośrednio do tego hosta przez program wysyłający SMTP. W trzeciej - ostatniej części artykułu przedstawię: 1. Eksploatowanie SendMaila 2. Sztuczki i kruczki programu:) http://www.linuxwbiznesie.pl Kreator PDF Utworzono 8 March, 2017, 13:35