Difference between revisions of "Mail"
(→Forwards & Alias-baserade mailinglistor) |
(→Tjänster) |
||
Line 66: | Line 66: | ||
För att få de här redigerade så behöver i dag maila nsg eller frost, det ska ändras fram över. | För att få de här redigerade så behöver i dag maila nsg eller frost, det ska ändras fram över. | ||
+ | |||
+ | ==== Skicka vidare till Mailman ==== | ||
+ | |||
+ | All post som inte hittar en destination på <code>mail-1</code>/<code>mail-2</code> kommer skickas vidare till Mailman servern <code>karamell.stacken.kth.se</code>. Fram över om vi har flera olika servrar som hanterar listor så går det enkelt att per domän eller t.o.m. per e-postadress att skicka det till olika maskiner utan problem. | ||
== Mailman == | == Mailman == | ||
Stackens mailman-server heter <code>karamell.stacken.kth.se</code> och hanterar ett flertalet listor. Servern har en egen Postfix som tar i mot post från Stackens övriga mailservrar, utgående post går sedan tillbaka till <code>smtp.stacken.kth.se</code>. | Stackens mailman-server heter <code>karamell.stacken.kth.se</code> och hanterar ett flertalet listor. Servern har en egen Postfix som tar i mot post från Stackens övriga mailservrar, utgående post går sedan tillbaka till <code>smtp.stacken.kth.se</code>. |
Revision as of 10:14, 4 August 2018
Den här sidan är här för att beskriva vilka bitar som finns av Stackens e-post system, vad som gör vad och vart man ska ändra. Den här sidan är ingen komplett dokumentation utan syftet med den är att ge dig en övergripande vy över våra system.
Övergripande design
Använd virtuella maskiner
Virtuella maskiner är mer flexibla och minskar beroendet på specifik hårdvara. Kompletta snapshots är enkla, och om hårdvaran som maskinerna kör på nu får problem så är det mycket enkelt och snabbt att flytta VM:en till en ny hårdvara. Stacken har dessutom de senaste året fokuserat på att bygga upp en fungerande virtualiseringslösning på hårdvara som vi fått donerad.
Klustra
Mail är designat för att kunna klustras vilket vi bör utnyttja. Vi sätter upp två VM:s som ligger på fysisk skilda resurser där allt funkar utan nertid så länge minst en av dem är uppe.
Försök inte klustra det som inte går
Försök inte att göra något "hack" med tjänster som inte enkelt går att klustra. T.ex. Mailman placerades på separat server, även den ett VM.
Bort med allt gammalt
Nya servrarna ska vara rena och inte innehålla något mer än det som behövs. Bort med make-filer, scripts, hacks ... bort med behov att hitta en dator med AFS, kunna RCS och ssh:a som root till servern och köra magiska script. En användare ska kunna själv ändra allt för sitt konto, en förening ska kunna ändra allt de behöver utan ett skalkonto eller övriga systemadministratörskunskaper.
Allt som låg på AFS används ej, mailing-list.conf är portad till mailing-list.yml och kraftigt städad. Forwards är portade till en forwards.yml men det är en temporär lösning tills vi har intrigerat oss med fingerweb för konfiguration av det. Alla domäner som ej pekar på KTH/Stacken längre är borttagna, samt gamla användare som inte är medlemmar längre flyttades aldrig över.
Vi hanterar inte pop, kpop eller spool-filer längre. Post forwarderas, levereras till IMAP-postlådor eller kastas.
All post både in och ut flödar genom KTH:s MX:ar vilket syns om man kollar på Stackens DNS. Det är uppsatt så för att KTH vill att mail under *.kth.se ska gå via dem, det har dessutom den stora fördelen att vi slipper mycket spam, vi skickar även ut all post via KTH.
$ dig +short mx stacken.kth.se 10 mx.kth.se.
E-post som KTH vet att vi hanterar, som t.ex. *@stacken.kth.se
eller *@karspexet.se
går sedan till incoming-email.stacken.kth.se
.
Stacken Mailservrar
Stacken har i dag två servrar som kan ta i mot e-post, mail-1
och mail-2.stacken.kth.se
. Båda är identiska och provisionerade av en Ansible playbook. För tillfället ligger den i ett privat repo som bara ett fåtal har tillgång till, prata med nsg för att få tillgång. Planen är att flytta det till en maskin på Stacken så att alla administratörer har tillgång.
Maskinerna är virtuella maskiner på Marlin. Planen är att en av maskinerna ska flytta till fysiska separat hypervisor.
Maskinerna kör keepalived för att hantera IP-numret som incoming-email.stacken.kth.se
pekar på, ingen av dem har högre vikt så IP:t prioriterar inte en maskin över den andra, det är garanterat att bara en maskin åt gången har IP-nummret. Det gör det säkert att ta ner en av maskinerna för service m.m. utan att ta ner några tjänster.
Automatiska säkerhetsuppdateringar appliceras regelbundet, samt maskinerna bootar även om vid behov (inte samtidigt).
Tjänster
Postfix
MTA på maskinerna är Postfix, den har en ganska strikt konfiguration där bara en vitlista av adresser får prata SMTP för att leverera mail. Då all inkommande mail ska gå via KTH kommer vi undan med det. Normalt sätt måste man tillåta hela världen prata SMTP med en så de kan leverera mail, men vi vet att det bara är Stackens maskiner och KTH som pratar med oss. Är man inloggad med användarnamn och lösenord så får man dock prata SMTP med servern, det är viktigt för att kunna skicka mail från t.ex. Thunderbird när du är hemma på ett icke-Stackennät.
Vi har smtp.stacken.kth.se
som pekar på service-IP:t.
Dovecot
Dovecot är en utmärkt IMAP-server som vi använder för lokala mailboxar. Postfix använder dessutom Dovecot för auth mot SMTP. Mailboxarna är det enda "state" som finns på maskinerna, de är replikerade mellan mail-1
och mail-2
med Dovecots inbyggda replikering. Det gör att även om du får mail på mail-1
och den går ner så kan mail-2
direkt efter fortsätta och ta över jobbet transparent.
Vi har imap.stacken.kth.se
som pekar på service-IP:t.
Sieve
Sieve filter är ett regelspråk för att skapa e-postfilter som ligger på servern. Ett plugin till Dovecot hanterar dina filter på inkommande mail. Vi kör även en Sieve Server vilket gör att du kan redigera dina filer i e-postläsare som stödjer Sieve Management Protocol, ett exempel på det är Thunderbird med ett plugin. Reglerna replikeras mellan servrarna.
Forwards & Alias-baserade mailinglistor
Gamla mailing-list.conf används inte längre, just nu används en kraftigt städad lista i Git-repot för både forwards och klassiska alias-baserade mailing-listor. Planen är att avveckla forwards och be folk använda Sieve filters i stället, samt många alias-baserade mailing-listor bör bli riktiga mailing-listor, t.ex. Mailman.
För att få de här redigerade så behöver i dag maila nsg eller frost, det ska ändras fram över.
Skicka vidare till Mailman
All post som inte hittar en destination på mail-1
/mail-2
kommer skickas vidare till Mailman servern karamell.stacken.kth.se
. Fram över om vi har flera olika servrar som hanterar listor så går det enkelt att per domän eller t.o.m. per e-postadress att skicka det till olika maskiner utan problem.
Mailman
Stackens mailman-server heter karamell.stacken.kth.se
och hanterar ett flertalet listor. Servern har en egen Postfix som tar i mot post från Stackens övriga mailservrar, utgående post går sedan tillbaka till smtp.stacken.kth.se
.