sendmail Måns Nilsson, KTHNOC/SUNET 10 oktober 2005

Relevanta dokument
Tips: Titta på relevanta genomgångar på webbplatsen

Linuxadministration 2 1DV421 - Laborationer Webbservern Apache, Mailtjänster, Klustring, Katalogtjänster

Linuxadministration I 1DV417 - Laboration 4 Nätverk, DHCP, säkerhetskopiering, processhantering, Samba och NFS

Mailservrar Sendmail och Postfix

Kurs: Windowsadministration II, 1DV424 Datum: Förberedelseuppgift

Övningar - Datorkommunikation

Tilläggs dokumentation 4069 Dns

Installation och setup av Net-controller AXCARD DS-202

Del 1: Skapa konto i Exchange

E-posthantering med Novell Groupwise WebAccess

Övningar till UNIX/Linux Grundkurs och förslag till LÖSNING

Storegate Pro Backup. Innehåll

Linuxadministration 1 1DV417

Handbok för installation av programvara

Startanvisning för Bornets Internet

Linuxadministration I 1DV417 - Laboration 5 Brandvägg och DNS. Marcus Wilhelmsson marcus.wilhelmsson@lnu.se 19 februari 2013

TCP/IP och Internetadressering

DIG IN TO. Nätverksadministration

Övning Installation av Gentoo och/eller Arch Linux

ETSF Routingprojektet JENS ANDERSSON

Handbok för installation av programvara

Utförande: I exemplet så kommer vi att utgå från att man gör laborationen i en Virtuell miljö (Virtualbox).

Avancerad DNS - Laborationer

Bilaga B Specifik programinformation

ARX på Windows Vista, Windows 7 eller Windows 2008 server

Instruktioner för uppdatering från Ethiris 4.10 till 5.x

Startguide för Administratör Kom igång med Microsoft Office 365

Lab 7, 48 steg till ett bättre liv i Unix-labbet

Installera din WordPress med 9 enkla steg

Börja med git och GitHub - Windows

FIBER INSTALLATIONSHANDBOK VERSION 1.0. Felanmälan och support nås på Alla dagar 08:00-22:00

Att installera och använda nmap

Instruktioner för uppdatering från Ethiris 5.x till 6.0

KARLSBORGS ENERGI AB FIBER INSTALLATIONSHANDBOK REV

GitHub for Windows och GitShell

Topologi. Utförande: I exemplet så kommer vi att utgå från att man gör laborationen i en Virtuell miljö (Virtualbox).

Installation xvis besökssystem, Koncern

Innehållsförteckning:

Planering och RA/DHCPv6 i detalj

Datorer och datoranvändning Föreläsningar 2014/15. Föreläsning 1 Unix. Operativsystem. Unix

Installation av Virtualiseringsplattform

3) Routern kontrollerar nu om destinationen återfinns i Routingtabellen av för att se om det finns en väg (route) till denna remote ost.

Föreläsning 3. Programmering, C och programmeringsmiljö

Administrationsmanual ImageBank 2

Kom igång med Topocad ArcGIS

Felsökningsguide för Asgari-kameror

Skicka SMS/e-post påminnelser från Microsoft Excel

Sätta upp e-post server Ubuntu 14.04, del 1 installation av programvara, konfiguration av mysql och Postfix

F5 Exchange Elektronikcentrum i Svängsta Utbildning AB

ZACI är den programvara som är navet i kommunikationen när det gäller kortbetalningar.

1 Vad är Versionshantering? 2 Git. 2.1 GitHub

Läs detta innan du sätter igång!

Innehåll. Installationsguide

Konfigurera Xenta från Babs

LABBINTRODUKTION. Laboranter: Kurs: - Sonny Johansson, Sigurd Israelsson. Utskriftsdatum:

Kort-kort om utdelade användarkonton och datormiljön på NADA

Installation och konfiguration av klientprogramvara 2c8 Modeling Tool

Installationsanvisningar VISI Klient

Om installationsskärmen inte visas efter en minut startar du CD-skivan manuellt:

Instruktion för användande av Citrix MetaFrame

Du kan installera Widgitprodukter på ett nätverk. Följande program och tillägg hanteras (du kanske inte har licens att installera all dessa):

Välj bort om du vill. 96 Internet och e-post. 2. Mail-programmet finns i datorn. 1. Skriv mail i sökrutan. Windows Live Mail i Aktivitetsfältet.

Mattias Wiggberg 1. Orientera på Internet. IP-adress. IP-adresserna räcker inte... Mer om IP-adresser

Innehåll: 1 Blockering av öppen vidarebefordran via Hankens datorer, dvs. third party open relayblockering...

Dokumentation för VLDIT AB. Online classroom

Övningar till UNIX/Linux Grundkurs och förslag till LÖSNING

Linuxadministration I 1DV417 - Laboration 1 Installation, användare och allmänt Linuxhandhavande

VÄLKOMMEN TILL OWNIT!

Installation av. Vitec Online

Parallella jobb ctrl-z emacs & more README ctrl-z jobs. %<jobnr>

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: Mottagare: Visi Web kund

SiteVision 2.0. Driftdokumentation

Hur man ändrar från statisk till automatisk tilldelning av IP i routern.

3. Steg för steg. Kör IPv6 på riktigt med FortiGate! Principen är enkel:

Laboration 4 Rekognosering och nätverksattacker

Instruktion för användande av Citrix MetaFrame

KGFs Databas Viktig information om CD:n KGFs databas.

Jobbschemaläggare. Morgan N. Sandquist Utvecklare: Gary Meyer Granskare: Lauri Watts Översättare: Stefan Asserhäll

RUTINBESKRIVNING FÖR INSTALLATION AV KAMERA

Fas I: Hur man hittar en ledig IP-adress

Hantering av qmail. Teknik & Precision,

5 Internet, TCP/IP och Tillämpningar

Konfigurera Xenta från Point

Installationshjälp CentOS 5 ENTerprise

INSTALLATION AV KLIENT

Office365 for educations Snabbguide.

PNSPO! CP1W-CIF mars 2012 OMRON Corporation

Aktivera och använda EtherTalk för Mac OS 9.x. Om du använder EtherTalk behövs ingen IP-adress för Macintosh-datorer.

IPv6 Jonas Aronsson 3TEa

Datakommunika,on på Internet

Instruktion för installation av etikettskrivare 2.27

COAX INSTALLATIONSHANDBOK VERSION 1.0. Felanmälan och support nås på Alla dagar 08:00-22:00

Så här hanterar du din OneDrive i Office 365

LABORATIONSRAPPORT Säkerhet och Sårbarhet Laboration 1 Brandväggar

Installationshandbok för SunForum 3.2

Instruktion för installation av etikettskrivare 2.31

LABORATION 1 Pingpong och Installation av Server 2008 R2

Konfigurationer Video- och distansmöte Bilaga till Tekniska anvisningar

Konfigurationer Videooch distansmöte Bilaga till Tekniska anvisningar

Transkript:

sendmail Måns Nilsson, KTHNOC/SUNET 10 oktober 2005 Sammanfattning I denna laboration ska du öva på bland annat: Installera Sendmail Skapa en konfiguration med m4 Namn: Personnummer: Godkänd datum: Signatur: $Id: sendmail-labb.tex,v 1.2 2005/10/05 14:05:31 mansaxel Exp $ Spar den här laborationen! 1

Innehåll 1 Inledning 2 2 Administrativia 2 3 Konfiguration 3 3.1 Filer................................. 4 3.2 Bygge................................ 5 3.3 Test................................. 6 4 Redovisning 6 5 Återställning 7 1 Inledning sendmail är ett av de mest utskällda programpaketen som finns. Många har haft åsikter om det, många har gett sig på att skriva nåt bättre. Många har letat fel och brister i det och hittat dem. Men ännu flera har stångat sig blodiga mot konfigurationen och till sist lyckats producera en fungerande konfiguration. Så många, att idag kanske 60% av all epost på Internet transporteras med sendmail eller derivat av den. Idag levereras så gott som alla Unixar, Linuxar, och BSD er med en sendmail som standard-mta. Undantagen kan räknas på en hand. Därför anser vi att det är viktigt att ha någon kunskap om hur sendmail ska hanteras. Framförallt vill vi ta bort skräcken för konfigurationssystemet, som förvisso är komplext, men också kapabelt till mycket specialkonfiguration. Uppdelat i moment ska du ta dig igenom: Skapa konfigurationsfil för sendmail. Driftsätta den och verifiera funktion. Utöka konfigurationen. Detta är i sig en ganska krävande laboration om du inte är van vid Unixsystemadministration. Det borde dock gå lättare nu när du (förhoppningsvis) har gjort en del sånt här i de tidigare laborationerna. Det viktigaste målet med dessa laborationer är att vänja dig vid att umgås med nätverksapplikationer i en Unix-kontext. Att arbeta i dessa sammanhang är i mångt och mycket en fråga om att veta var man ska hitta svaret på en fråga. 2

Därför lägger vi stor vikt vid informationssökning. Svaren presenteras inte direkt, utan man måste läsa sig till dem. 2 Administrativia Det första vi ska göra är att ta backup på systemets egna konfiguration (Men bara om det behövs!) och kopiera den delen av systemet som man använder för att bygga nya konfigurationsfiler med till en egen katalog. Bli root om du inte redan är det och skriv: prompt> cd /etc prompt> test -s /usr/local/mail-bak.tgz tar zcvf /usr/local/mail-bak.tgz mail prompt> cd /usr/share prompt> tar cf - sendmail (cd /usr/local/ ; tar xvf - ) Förklaring. Rad för rad skrev du nu: Gå till katalogen /etc Om och bara om filen /usr/local/mail-bak.tgz inte finns, skapa en backup av katalogen /etc/mail i filen /usr/local/mail-bak.tgz. (Det går bra att trycka enter efter, kommandotolken vet att det kommer mera, och väntar snällt.) Gå till katalogen /usr/share Kopiera hela katalogstrukturen sendmail/ till /usr/local/ När du är så här långt så kan du börja arbeta med din konfiguration. Det första du ska göra är att titta på den dokumentation som följer med. Läs igenom /usr/local/sendmail/cf/readme. Den beskriver i princip hur man gör för att bygga sig en konfiguration. Men den är lite kryptisk, så ta en titt på http://www.sendmail.org/ där det finns en mer lättläst version. Behåll den länken framme i din vävbläddrare och läs vidare. 3 Konfiguration En gång i tiden var Sendmail svårt att konfigurera. En genomsnittlig konfigurationsfil är ca 32KByte stor och full av avsnitt som # strip group: syntax (not inside angle brackets!) and trailing semicolon R$* $: $1 <@> mark addresses R$* < $* > $* <@> $: $1 < $2 > $3 unmark <addr> R@ $* <@> $: @ $1 unmark @host:... R$* :: $* <@> $: $1 :: $2 unmark node::addr R:include: $* <@> $: :include: $1 unmark :include:... 3

R$* [ IPv6 $- ] <@> $: $1 [ IPv6 $2 ] unmark IPv6 addr R$* : $* [ $* ] $: $1 : $2 [ $3 ] <@> remark if leading colon R$* : $* <@> $: $2 strip colon if marked R$* <@> $: $1 unmark R$* ; $1 strip trailing semi R$* < $* ; > $1 < $2 > bogus bracketed semi och så är det fortfarande. Men numera finns ett system baserat på makropreprocessorn m4 som kompilerar ihop en konfigurationsfil från en liten receptfil som är betydligt mer läsbar: divert(0)dnl OSTYPE(solaris2)dnl DOMAIN(generic)dnl FEATURE( no_default_msa )dnl define( confcw_file, -o /etc/mail/sendmail.cw )dnl MAILER(local)dnl MAILER(smtp)dnl 3.1 Filer sendmail läser i huvudsak sin konfiguration från /etc/mail/sendmail.cf. I den filen kan det finnas pekare till andra filer, huvudsakligen listor över olika undantag från standardbeteendet. Vidare ner i filen finns alla de olika transportmetoder som sendmail kan skicka brev över definierade. Det är dessa som ser ut som om man bankat huvudet i tangentbordet. Dem ska vi inte röra, det behöver man inte om man inte har mycket speciella krav. Och det har vi inte. Andra filer som kommer på fråga är: (notera att man kan definiera om deras namn i sendmail.cf! Här refererar vi till standardnamnet!) /etc/mail/aliases Här definierar man undantag från regeln att post bara tas emot för användare med konto på maskinen, så att: De som har ett konto på maskinen får sin post levererad. Andra mottagare (local-part) 1 med epostadress i någon av domänerna i klass w (se nedan) är okända. /etc/mail/aliases innehåller rader som är uppställda efter formatet: nisse: skicka.till@annan.dator edvard.persson: kalle listan: :include: /fil/med/adresser/en.per.rad vilket alltså ska läsas som All post som kommer till nisse skickas vidare till epostadressen skicka.till@annan.dator, all post till edvard.persson ska till local-part kalle 2 samt All post som kommer till listan ska skickas till mottagarna som finns uppradade i filen. Mottagarna kan vara alias de med. 1 Delen före i en adress, se RFC 2821, avsnitt 2.3.10 2 kalle kan ju förstås vara ett lokalt konto eller ännu ett alias. Rekursion: Se Rekursion 4

/etc/mail/local-host-names (fd sendmail.cw) Innehåller listan på de hostnamn som ska betraktas som lokala, dvs man ska börja leta i local-part efter rätt mottagare istället för att gräva efter en annan dator som kan ta emot brevet 3. Det här kan också definieras direkt i sendmail.cf, i klass w som: Cwlocalhost /etc/mail/access Denna fil är inte inkluderad som standard, men är rätt ställe för att sätta upp vem som får använda vår sendmail som relä. Den innehåller rader med hostnamn eller IP-adress och ett klassificerande ord som kan vara t ex. REJECT eller RELAY. Mer information finns i README-filen sök på access_db. 3.2 Bygge Vi ska först ta oss igenom monterandet av en ny sendmail.cf. Gå först ner i katalogen /usr/local/sendmail/cf/cf. Kopiera så generic-bsd4.4.mc till ett annat namn: prompt> cp generic-bsd4.4.mc annat_bra_namn.mc Redigera därefter med ledning av README och www.sendmail.org den nya filen (och i förekommande fall hjälpfilerna) så att de tillsammans tillhandahåller följande funktionalitet: Ett sätt att definiera att vi vill acceptera post för 2 olika namn, <musikord>.lab.kthnoc.net och ert riktiga hostnamn. (hint se ovan) Ett sätt att definiera att ert lokala nät och det nätverk ni tilldelats (dvs. en bit av 192.168.0.0/16) får lov att använda er som SMTP-relä. (hint se ovan) Bonus: Ändra sendmails hälsningsmeddelande. När ni har stoppat in vad ni anser vara en vettig konfiguration ska ni låta m4 bygga en ny sendmail.cf till er. Ställ dig i /usr/local/sendmail/cf/cf och gör så här: prompt> m4../m4/cf.m4 annat_bra_namn.mc > min-sendmail.cf Filen ni nyss skapade behöver kopieras till rätt plats: 3 RFC 2821 säger att man inte får routa mail baserat på local-part förrän det här villkoret är uppfyllt. 5

cp min-sendmail.cf /etc/mail/sendmail.cf I de övriga filerna ska ni dels implementera det som beskrivits ovan, och dels i aliasfilen stoppa in lite till: Post till Postmaster ska skickas till en annan adress, där någon läser och förstår den så att vi kan uppfylla RFC 2821. För /etc/mail/access liksom /etc/mail/aliases gäller att de måste konverteras till hash-databaser för att sendmail ska kunna använda dem. För alias-filen, läs mansidan för newaliases. För access-filen finns det inget färdigt kommando, utan man behöver köra makemap. Hur står beskrivet i README, eller på http://www.sendmail.org/m4/anti_spam.html. 3.3 Test När ni har skapat sendmail.cf och redigerat övriga filer så att allt ligger på plats är det dags att testa. Kontrollera först att det inte finns en sendmail igång redan: prompt> ps ax grep sendmail Ser ni något i stil med: 443?? Is 0:00.04 sendmail: accepting connections (sendmail) så måste ni stoppa den genom att skriva prompt> kill 443 (byt förstås ut numret mot rätt processid) så att ni sedan kan skriva prompt> /usr/sbin/sendmail -bd -q15 för att starta programmet. Testa nu att er sendmail svarar, att ni kan skicka mail till den som kommer fram, och att den kan användas som relä. Ett väldigt användbart redskap är telnet till port 25, som ni provade redan i första laborationen. Ett annat viktigt redskap är loggläsning; sendmail berättar vad den gör genom att logga flitigt. Använd tail -f på /var/log/maillog så kommer ni att snabbt se vad som händer. För att kolla att reläreglerna fungerar måste ni ta hjälp av en annan grupp. 4 Redovisning När ni är klara så här långt och allt har gått bra så är ni färdiga att redovisa. För att få godkänt på laborationen ska ni kunna visa upp och förklara vägen fram till: En vänlig sendmail som svarar på port 25 6

sendmail ska acceptera post för: Domänen <musikord>.lab.kthnoc.net Er dators riktiga namn. Två olika nät, dels ert LAN och dels det nät ni fått er tilldelade ska få lov att använda er som SMTP-relä. Post till Postmaster för samtliga domäner ni accepterar post för ska gå till en människa som läser och förstår den. 5 Återställning När ni är godkända ska ni: Rensa bort er konfiguration genom att skriva över den med originalkonfigurationen: cd /etc ; rm -rf mail ; tar zxvf /usr/local/mail-bak.tgz Boota om datorn. 7