Drift/Mail/Qmail

From Programvareverkstedet
< Drift‎ | Mail
Jump to navigation Jump to search

OBS! Denne siden er utdatert.

Merk at denne informasjonen gjelder mailsystemet som ble brukt inntil 24. februar 2006, og kun er interessant for historikerne blant oss. For informasjon om det gjeldende mailsystemet, se siden Drift/Mail.

OBS. Denne informasjonen er ikke oppdatert på en stund og er derfor ikke 100% korrekt lenger

qmail er en sikker, effektiv MTA utviklet av Dan Bernstein. PVV vil fase ut sendmail og gå over til å bruke qmail i stedet. Dette dokumentet er ment for driftere og andre interesserte, og er ment å omhandle det spesielle ved vår installasjon og litt om qmail generelt. Dokumentet er ikke komplett, og vil neppe noen gang bli det.

Dagens status

iq kjører nå qmail på standard SMTP-port (port 25). Den kjører sendmail på port 26 (ikke standard). qmail gjør ikke annet enn å hindre spam-relaying på innkommende post og ellers sende alt urørt videre på port 26.

ra og bigblue kjører qmail; ingen post håndteres som lokal, men videresendes i henhold til DNS. Inntil videre er /usr/lib/sendmail «virkelig» sendmail.

Anti-spam strategier

Alle qmail-installasjoner er nå patchet for å implementere MAPS RBL. Det er to patcher som trengs: En til tcpserver og en til qmail-smtpd. Dette virker slik: tcpserver sjekker RBL-databasen for IP-adressen til klienten. Om den finner den adressen, setter den environmentvariabelen BOUNCEMAIL før den starter qmail-smtpd. Innholdet av variabelen blir skrevet ut som respons på hver rcpt to: fra klienten.

I tillegg har vi noen blokker med IP-adresser til spammere som vi sperrer manuelt (se /var/qmail/smtpd/), og vi har en liten liste over avsendere og domener vi ikke godtar i avsenderadresser (/var/qmail/control/badmailfrom).

Vi relayer ikke post fra maskiner utenfor 129.241.* til adresser utenfor *.ntnu.no og et lite antall beslektede domener.

Planer

Flere (alle?) maskiner utstyres med oppsett ala ra sitt. Deretter begynner vi overgangen til å la qmail styre lokal levering, og vi finner ut hva vi skal gjøre med mailinglister (antagelig via ezmlm).

Lokale endringer

  • Vår versjon er patchet for å bruke dotlocking, som er NTNU-standard.
  • I tillegg til patchen for MAPS RBL har vi patchet qmail-smtpd til å være litt verbos: Med flagg -v vil den logge feil til stderr. Den logger også positivt svar etter at en melding er mottatt og lagret lokalt. Dette svaret kan kobles med data logget av qmail ellers.
  • Vi bruker `+' som «break character», altså det tegnet som skiller brukernavnet fra en nærmere spesifikasjon av en av brukerens mailbokser.
  • All post sendes også til log@localhost. På denne adressen finnes et lite skript som plukker ut Message-Id og logger den. Det er viktig at adressen log@localhost virker! Ellers vil all mail generere bounce, som igjen genererer ny bounce som leder til nok en bounce og så videre og så videre...

Oppsett

Demonene styres av Dan Bernsteins daemontools. Bruk svstat for å sjekke status, og svc for å kontrollere demonene (starte, stoppe, eller sende dem signaler).

qmail lever i katalogen /var/qmail/ med underkataloger. Det meste styres fra /var/qmail/control/; se manualsiden qmail-control for detaljene (siden lister opp alle kontrollfilene med referanser til hvilket av qmail-programmene som bruker dem).

SMTP-demonen qmail-tcpd lytter ikke selv på nettet, men startes fra tcpserver ved behov. tcpserver kontrolleres fra filer i /var/qmail/tcpd/. Her kan man nekte tilgang basert på IP-adresse, og sette environmentvariabler etter behov. Environmentvariabelen RELAYCLIENT er viktig; om den er satt, vil qmail-tcpd godta alle slags mottageradresser, mens den ellers bare vil godta de som er listet i /var/qmail/control/rcpthosts.

Linker