Exim

I løpet av et typisk døgn i ikke-UKE-tid mottar vi 3000-4000 og leverer 12000-14000 e-post-meldinger på Samfundet. (I UKEtid er tallene typisk rundt 150 000 og 450 000.) All denne e-posten blir flyttet på av programvaren Exim, på cassarossa.

Vi relayer e-post for dc_other_hostnames i update-exim4.conf. I tillegg til samfundet.no og uka.no er vi MX for et antall tilknyttede domener, som stv.no og pirum.no, samt noen private domener.

E-post relayes fritt for nettene 193.35.52.0/24 og 2001:67c:29f4::/64, i tillegg til autentiserte SMTP-tilkoblinger (se under).

Vi støtter selvsagt både SSL og TLS på IPv6 og IPv4.

Konfigurasjon

Vi bruker exim4, rett fra standard Debian. Exim i Debian kommer med ganske ekstensiv konfigurasjon, som vi har gjort noen lokale endringer i. Exim-konfigen ligger i cassarossa:/etc/exim4/. I denne katalogen finner vi filen update-exim.conf.conf, som er konfigurasjonsfilen til skriptet update-exim4.conf, derav navnet. Denne filen forteller hvordan konfigurasjonen skal hentes og genereres. I Debian ligger ikke den faktiske konfigurasjonsfilen exim bruker i /etc/exim4 - her ligger bare konfigurasjon som forteller hvordan den egentlige konfigfilen skal bli. Skriptet update-exim.conf knar på konfigurasjonen og plasserer den i /var/lib/exim4/config.autogenerated, som exim leser. Denne filen skal aldri røres for hånd.

Vi bruker såkalt split config, (dc_use_split_config='true' i update-exim.conf.conf). Det fører til at konfigurasjonen genereres ut fra alle filene i /etc/exim4/conf.d/ og underkataloger. Konfigurasjonen er svær, men godt kommentert. Steder med norske kommentarer er stort sett lokale endringer (-:

Konfigurasjonen er ganske standard for Debian, men noe er verdt å merke seg for vårt oppsett.

Vanlig levering til brukere

Alle brukere mottar e-post på <brukernavn>@samfundet.no og <brukernavn>@uka.no. Det skilles ikke mellom de to domenene, e-post leveres til samme sted for brukere, men ikke nødvendigvis for e-postlister eller generelle aliaser. berge@samfundet.no og berge@uka.no er altså i praksis samme adresse, men de fiktive Amsit-listene bergefoo@samfundet.no og bergefoo@uka.no er forskjellige.

UKEmennesker vet gjerne ikke at de har en @samfundet.no-adresse, og Samfundet-brukere vet gjerne ikke det motsatte.

Vi bruker Maildir på brukernes hjemmeområder for lagring av e-post.

Amsit

Amsit er kort fortalt et tynt, hjemmelaget e-post-listesystem gjengene administrer selv. E-post rutes til Amsit gjennom exim-ruteren 401_amsit_sqlite. Denne slår opp i SQLite-databasen til Amsit, legger på noen headere for å indikerer at det er listepost og sender av gårde. Amsit er egentlig bare en litt avansert aliases-fil - en e-post-adresse som er en Amsit-liste ekspanderer bare til en rekke mottakere.

Autentisert SMTP

SMTP-tilkoblinger med TLS eller SSL kan autentiseres, og det åpnes da for fri relay. I auth/30_exim4-config er måtene å autentisere seg på konfigurert. Vi støtter den vanlige IMAP-metoden PLAIN, samt GSSAPI, som gir oss Kerberos-autentisert SMTP. Begge metodene snakker SASL og krever SSL eller TLS, såfremt man ikke er på Samfundet-trådnett. (De lærde kan få diskutere om vi burde tillate GSSAPI for ukrypterte forbindelser - i så fall er implementering en øvelse for leseren). Med PLAIN-metoden skaffer SASL TGT for brukeren.

GSSAPI-autentiseringen skjer med principalen smtp/cassarossa.samfundet.no@SAMFUNDET.NO, lagret i keytaben /etc/exim4/exim.keytab, lesbar av Debian-exim. I /etc/init.d/exim4 er KRB5_KTNAME satt i ENV til å peke på keytaben.

Så, i acl/30_exim4-config_check_rcpt, sørger en simpel accept authenticated = * for at alle autentiserte tilkoblinger får fri relay.

Mailman

Vi har en Mailman -installasjon på Samfundet. Denne har historisk sett ikke skilt mellom domener, men har hatt mulighet for det siden våren 2008. Det er ønskelig å opprette mailman-lister med et domene for å hindre feilleveranse. Mailman har en egen router router/499_itk-mailman og en egen transport transport/30_itk-config_mailman_pipe.

For å opprette en ny e-post-liste i mailman bruker du kommandoen newlist som root på cassarossa. newlist tar listenavn, administrators mailadresse og administrasjonspassord som parametere (eks: % newlist minliste minadresse@samfundet.no hemmelig). Gå deretter inn i administrasjonsgrensesnittet på https://lists.samfundet.no/ og sett opp listen slik du vil ha den.

Aliaser for mailman-listene ligger i /etc/aliases.mailman på cassarossa. Denne må manuelt oppdateres med aliaser for hver ny liste (newlist gir deg kommandoen).

Spamhåndtering

Svartelisting / Blacklisting

Enkelte senderdomener avviser vi blankt fordi de sender spam. Vi har en lokal svarteliste som kan endres ved å redigere /etc/exim4/local_sender_blacklist før exim oppdateres med update-exim4.conf og systemctl reload exim4.

rspamd

rspamd er et verktøy som gjør en vurdering på hvor spammete eposten er, og Exim handler på grunnlag av dette. Se rspamd for mer detaljert info.

Alle eposter tagges med spamscoren sin, og hvis den er for høy bli eposten avvist. Innkommende epost får også headerne X-Spam-Score og X-Spam-Report satt – merk at dette ikke skjer for utgående epost, inklusiv epost som passerer gjennom mailman.

Merk at vi ikke avviser eposter til lister (dvs. eposter med Precedence: bulk/list eller som kommer fra listene på stud.ntnu.no). Dette er fordi epostlister ofte blir forvirret av rejects (og med god grunn :-) ). Derfor blokkeres spam til disse listene med en egen "devnull"-router, se router/350_itk-devnull.

Legge til nytt e-postdomene

Vi antar her at vi skal lage nytt underdomene av uka.no, mer presist 2013.uka.no.

På cirkus:

  1. Legg til domenet i /etc/bind/pz/uka.no og inkrementer seriellen. Det skal være en MX-post.
  2. Reload bind: systemctl reload bind9

På cassarossa:

  1. Legg til domenet i /etc/exim4/update-exim4.conf.conf
  2. Kjør update-exim4.conf (som root)
  3. Reload exim4: systemctl reload exim4

Listesøk

Slette epost fra epostkøen

Case: et eller annet, f.eks. Billig, sender ut en drøss med feilmeldingseposter som hoper seg opp i køen.

I et rotskall på cass gjør du følgende:

cassarossa:~# exiqgrep -r "<mottakeradresse>" -i | xargs exim -Mrm     # -r filterer på mottaker, bruk -f om du vil filtrere på sender. man exiqgrep er din venn.

Om exim klager på at flere av meldingene er låste, må du stoppe exim4 med systemctl stop exim4, drepe hengende exim-prosesser (sjekk hvilke som henger først!) og så slette igjen, før du deretter starter exim på nytt.

Lenker: Start, amsit, internt epost-oppsett, kurs, medlemsdb2, lister, saslauthd, til nye itkere

Epost: itk@samfundet.no | Telefon: 90 57 66 32 | Sist endret: 2026-11-02 13:51 | Revisjon: 34 (historie, blame) | Totalt: 1959 kB | Rediger