[ Pobierz całość w formacie PDF ]
.Tradycyjne narzêdzie uniksowe, m4, wykorzystujetwoje dane konfiguracyjnei wcelu stworzenia pliku sendmail.cf ³¹czy je z danymiodczytanymi z plików wzorcowych zawieraj¹cych rzeczywist¹ sk³adniê sendmail.cf.W tym rozdziale przedstawimy sendmail i opiszemy, jak go zainstalowaæ, skonfigu-rowaæ i przetestowaæ.Za przyk³ad pos³u¿y nam browar wirtualny.Je¿eli dziêkiprzedstawionym tu informacjom uda ci siê zmniejszyæ obawy przed konfigurowa-niem sendmaila, byæ mo¿e nabierzesz pewnoSci siebie i podejmiesz samodzielnie bar-dziej z³o¿one zadania konfiguracyjne.Instalacja sendmailaAgent transportowy poczty sendmail jest do³¹czany do wiêkszoSci dystrybucjiLinuksa.W takim przypadku instalacja jest stosunkowo ³atwa.Jednak z pewnychwzglêdów lepiej zainstalowaæ sendmaila w postaci kodu xród³owego, szczególnie je-¿eli jesteS wyczulony na bezpieczeñstwo.Program sendmail jest bardzo z³o¿ony i318 Rozdzia³ 18: Sendmailprzez lata zdoby³ w¹tpliw¹ reputacjê programu zawieraj¹cego b³êdy, któreu³atwiaj¹ w³amywanie.Jednym z najlepiej znanych przyk³adów jest robak interne-towy RTM, który zrobi³ u¿ytek przekraczania zakresu bufora (ang.buffer overflow) problemu spotykanego w starszych wersjach sendmaila.MówiliSmy o tym krótkow rozdziale 9, Firewall TCP/IP.WiêkszoSæ dziur w bezpieczeñstwie wykorzy-stuj¹cych przekroczenie zakresu bufora wynika z tego, ¿e wszystkie kopie sendmailana ró¿nych komputerach s¹ identyczne, poniewa¿ wykorzystywane dane s¹ zapisy-wane w okreSlonych miejscach.OczywiScie to samo dotyczy sendmaila zainstalowa-nego z dystrybucji Linuksa.Samodzielne kompilowanie sendmaila mo¿e pomóc zre-dukowaæ to zagro¿enie.Wspó³czesne wersje sendmaila s¹ mniej podatne na takie ata-ki, poniewa¿ s¹ poddawane niezmiernie dok³adnym testom, odk¹d , dziêki spo³ecz-noSci Internetu, doceniono bezpieczeñstwo.Kod xród³owy sendmaila jest dostêpny przez anonimowe FTP pod adresem ftp.send-mail.org.Kompilacja sendmaila jest bardzo prosta, poniewa¿ jego pakiet xród³owy bezpoSred-nio uwzglêdnia Linuksa.Kroki wymagane przy kompilacji s¹ nastêpuj¹ce:# cd /usr/local/src# tar xvfs sendmail.8.9.3.tar.gz# cd src#./BuildAby zakoñczyæ instalacjê uzyskanych plików binarnych, musisz mieæ prawa roota:# cd obj.Linux.2.36.i586# make installW tym momencie pliki binarne sendmaila s¹ zainstalowane w katalogu /usr/sbin.W katalogu /usr/bin powsta³o kilka dowi¹zañ symbolicznych do plików binarnychsendmaila.Powiemy o nich przy okazji omawiania typowych zadañ zwi¹zanychz eksploatacj¹ sendmaila.Przegl¹d plików konfiguracyjnychTradycyjnie sendmail by³ konfigurowany przez systemowy plik konfiguracyjny(zwykle /etc/mail/sendmail.cf lub w starszych dystrybucjach /etc/sendmail.cf lub nawet/usr/lib/sendmail.cf), który nie przypomina³ ¿adnego znanego ci dot¹d jêzyka.Edycjapliku sendmail.cf i dostosowywanie zachowania programu do w³asnych potrzebmo¿e byæ przykrym doSwiadczeniem.Obecnie sendmaila konfiguruje siê za pomoc¹ makr o prostej sk³adni.Metoda makrpozwala na generowanie konfiguracji wystarczaj¹cych dla wiêkszoSci instalacji, alezawsze masz mo¿liwoSæ poprawienia pliku sendmail.cf rêcznie, je¿eli pracujeszw bardziej skomplikowanym Srodowisku.Pliki sendmail.cf i sendmail.mc 319Pliki sendmail.cf i sendmail.mcProgram makroprocesora, m4, generuje plik sendmail.cf, przetwarzaj¹c pliki konfigu-racyjne makr stworzone przez lokalnego administratora.Dalej ten plik bêdziemynazywaæ sendmail.mc.Proces konfiguracji w zasadzie polega na stworzeniu odpowiedniego pliku sendma-il.mc, który zawiera makra opisuj¹ce ¿¹dan¹ konfiguracjê.Makra to wyra¿enia rozu-miane przez makroprocesor m4 i rozwijane do z³o¿onej sk³adni sendmail.cf.Wyra¿e-nia 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 nawia-sach), które s¹ u¿ywane w trakcie rozwijania makr.Parametry mog¹ byæ przekazanedos³ownie do pliku sendmail.cf lub wykorzystane do zarz¹dzania sposobem prze-twarzania makra.Plik sendmail.mc w minimalnej konfiguracji (UUCP lub SMTP z przekazywaniempoczty nielokalnej przez bezpoSrednio pod³¹czony inteligentny host) mo¿e mieæd³ugoSæ zaledwie 10 czy 15 wierszy, nie licz¹c komentarzy.Dwa przyk³adowe pliki sendmail.mcJe¿eli jesteS administratorem wielu ró¿nych hostów pocztowych, mo¿esz mieæ po-trzebê nazwania swoich plików konfiguracyjnych inaczej ni¿ sendmail.mc.Zwyklenazywa siê je zgodnie z nazw¹ hosta, czyli w naszym przypadku vstout.m4.Nazwatak naprawdê nie ma znaczenia, wa¿ne, ¿eby plik wynikowy nazywa³ siê sendmail.cf.Nadanie unikalnej nazwy plikowi konfiguracyjnemu ka¿dego hosta pozwala ciprzechowywaæ wszystkie te pliki w jednym katalogu, co jest po prostu wygodne dlaadministratora.Przyjrzyjmy siê dwóm przyk³adowym plikom konfiguracyjnym, ¿e-bySmy wiedzieli, z czym mamy do czynienia.WiêkszoSæ konfiguracji sendmaila u¿ywa obecnie jedynie SMTP.Taka konfiguracjajest bardzo prosta.Przyk³ad 18-1 oczekuje, ¿e do rozwi¹zywania nazw hostów bê-dzie dostêpny serwer DNS, a poza tym przyjmuje i dostarcza ca³¹ pocztê dla hostów,u¿ywaj¹c tylko SMTP.Przyk³ad 18-1.Przyk³adowy plik konfiguracyjny vstout.smtp.m4divert(-1)## Przyk³adowy plik konfiguracyjny dla vstout - tylko smtp#divert(0)VERSIONID('@(#)sendmail.mc 8.7 (Linux) 3/5/96')OSTYPE('linux')## Do³¹czenie obs³ugi protoko³Ã³w poczty lokalnej i smtpMAILER('local')MAILER('smtp')#FEATURE(rbl)FEATURE(access_db)# koniec320 Rozdzia³ 18: SendmailPlik sendmail.mc dla vstout w browarze wirtualnym zosta³ pokazany w przyk³adzie18-2.vstout u¿ywa SMTP do komunikacji ze wszystkimi hostami w sieci LAN bro-waru.Zauwa¿ysz elementy wspólne z wy¿ej pokazan¹ konfiguracj¹ wykorzystu-j¹c¹ tylko SMTP.Ca³¹ pocztê przeznaczon¹ dla innych hostów vstout wysy³a przezUUCP do moria swojego hosta przekaxnikowego do Internetu.Przyk³ad 18-2.Przyk³adowy plik konfiguracyjny vstout.uucpsmtp.m4divert(-1)## Przyk³adowy plik konfiguracyjny dla vstout#divert(0)VERSIONID('@(#)sendmail.mc 8.7 (Linux) 3/5/96')OSTYPE('linux')dnl# moria jest naszym inteligentnym hostem, wykorzystujemy transport# "uucp-new".define('SMART_HOST', 'uucp-new:moria')dnl# Obs³uga protoko³Ã³w poczty lokalnej, uucp i smtp.MAILER('local')MAILER('smtp')MAILER('uucp')LOCAL_NET_CONFIG# Ta regu³a gwarantuje, ¿e ca³a poczta lokalna bêdzie# dostarczana z wykorzystaniem protoko³u SMTP, a wszystko inne# bêdzie sz³o przez inteligentny host.R$* $* $#smtp $@ $2.$m.$: $1 $3dnl#FEATURE(rbl)FEATURE(access_db)# koniecJeSli porównasz te dwie konfiguracje, mo¿esz dojSæ do tego, co robi ka¿dy z pa-rametrów.WyjaSnimy to szczegó³owo.Typowe parametry u¿ywane w sendmail.mcPewne elementy pliku sendmail.mc s¹ obowi¹zkowe.Inne mo¿na pomin¹æ, je¿eli wy-starcz¹ ci wartoSci domySlne.KolejnoSæ definicji w pliku sendmail.mc jest nastê-puj¹ca:1.VERSIONID2.OSTYPE3.DOMAIN4.FEATURE5.Lokalne definicje makr6.MAILER7.Zestawy regu³LOCAL_*Pliki sendmail.cf i sendmail
[ Pobierz całość w formacie PDF ]