Spam og EXIM: Forskjell mellom sider

Fra IThjelp
(Forskjell mellom sider)
Ingen redigeringsforklaring
 
(Ny side: Programsystemet som har vært i bruk for elektronisk post ved IT-avdelingen siden 1991 heter PP og var laget for andre tider og med andre fokuserte problemområder enn hva er aktuellt idag...)
 
Linje 1: Linje 1:
==Hva er spam?==


Spam er Internets svar på utidige dør- og telefonselgere. Spam eller unsolicited commercial email (UCE), kjennetegnes av subjectfelt som "make-money-fast $$$" og er allehånde reklametilbud som mottageren ikke har bedt om å få tilsendt.
Programsystemet som har vært i bruk for elektronisk post ved IT-avdelingen siden 1991 heter PP og var laget for andre tider og med andre fokuserte problemområder enn hva er aktuellt idag. På servere ved IT-avdelingen vil systemet bli lagt over til et nytt, exim. I første omgang tas exim i bruk på den nye studentserveren rasmus, «hovedpostkontorene» på alf/noralf vil følge etter snarlig.


Fra fenomenet ble velkjent tidlig 1997 har IT-avdelingens servere prøvd å redusere mengden av slik uønsket post som leveres epost-brukere ved UIB. Men det finnes ingen enkel metode for å fastslå om en innkommende melding er uønsket reklame eller nyttig informasjon. Det eneste effektive middelet vi rår over er internasjonale DNS-baserte svartelister - disse stopper mye spam men blokkerer også altfor mange ønskverdige forsendelser.
Når PP fases ut til fordel for exim vil dette ikke innebære noen vesentlig endring for den enkelte bruker av email på IT-avdelingens servere utover at


Årsaken til dèt er at eierne neglisjerer sikker drift av sine mailtjenere, dårlig oppsatte servere utnyttes nådeløst av de kommersielle interessene bak spammen. Når en mailserver utnyttes til å spre viagra-reklame til millioner av menneskers innbokser, blir bedriftens postkontor svartelistet. Det er ikke bare ressursfattige forskningsinstitusjoner i tredje verden som sliter med dette problemet. Norske bedrifter, internasjonalt profilerte som IT-giganter, er like sløve og de florerer på svartelistene. Også mye offentlig virksomhet blokkeres, f.eks gjelder det et stort antall kommuner og fylkeskommuner. Det er derfor umulig for UIB å basere seg direkte på disse blokadelistene.
«.mailfilter» vil ikke lenger fungere
systemet vil anerkjenne normale «.forward» filer
utstrakt filtrering og sortering av innkommende post vil være mulig.


Universitetets nettverksleverandør, UNINETT, pålegger sine medlemsinstitusjoner å drive mailtjenesten forsvarlig. De andre store Internet-leverandørene er mer interessert i kortsiktig vinning enn å drive tjenester med et minimum av kvalitet.
IT-avdelingen forbeholder seg rett til å gjøre endringer i brukerers «.forward» filer dersom de skulle ha syntaktiske feil eller forårsake problemer ved avlevering eller for generell operasjon av postsystem eller server. IT-avdelingen fraskriver seg ethvert ansvar for tapt eller feilavlevert post som følge av feil i selvlagde filtre. «.forward» Den enkelte kan lage en fil i sin hjemmekatalog på unix-serverne med navn «.forward», denne vil støtte vanlig syntaks. Dersom en ønsker sin post videresendt til en annen adresse kan adressen legges inn i filen «.forward» og videresendingen blir umiddelbart effektiv.


Mengden av klager, såvel fra bekymrede epost-brukere ved UIB som fra frustrerte avsendere, har i perioder vært stor. Mye av IT-avdelingens ressurser gikk med til å forklare og forklare og forklare det samme omigjen og omigjen og omigjen. Den 6. september 2000 ble all spamstopping skrudd av på de sentrale mailserverne og policyen omkring spam tatt opp til fullstendig revurdering. Etter fire uker, 4. oktober 2000, er gradvis et nytt "system" for spamblokkering satt i drift og atter avviser IT-avdelingens tjenermaskiner tusener av uønskede reklameforsendelser daglig.
Dersom en ønsker å videresende en kopi av meldingen til en annen adresse men at avlevering til lokal innboks skal foregå som normalt, kan «.forward» lages slik:


Vi beklager ulempen våre brukere er påført i perioden, men det er altså virkelighetes verden som ble synlig, selv fikk jeg 190 spams gjennom disse fire ukene. Under skal jeg forsøke å gjennomgå hovedprinsippene i vår politikk omkring avvisning av spam.
annen@adres.se
userid


Det er også mulig å la et program (f.eks procmail) sortere posten ved å pipe meldingen til dette. Programnavnet skrives til filen «.forward» med tegnet «|» foran. exim støtter også normal håndtering av «vacation».  Men ta en titt på kapittelet under først, exim har meget gode muligheter innebygd for de mest tenkelige og utenkelige ønsker og situasjoner.  Utstrakt filtrering Mange bruker Eudora, Netscape eller annen POP-klient for å lese mail fra serverne på IT-avdelingen. En POP-klient (POP3) vil ikke ha mulighet for å lese innkommende post fra andre steder enn den defaulte innboksen. Men f.eks Eudora-PRO har egne muligheter for å filtrere innkommende post som delvis vil kunne gjøre tilsvarende oppgaver som beskrevet under.


==Intensjon==
Dersom den første linjen i «.forward» ser slik ut:


Vår politikk overfor spam søker å
# Exim filter
*opprettholde en funksjonell epost-tjeneste
*hindre mest mulig spam fra å nå våre innbokser
*minimalisere risikoen for å avvise ønskverdig post
*tilrettelegge for ytterligere selektive tiltak


vil postsystemet behandle den under helt andre regler enn en normal forward-fil. Brukere som har benyttet «.mailfilter» og som ønsker å opprettholde denne funksjonaliteten må konvertere til denne nye syntaksen som er forsøkt beskrevet med eksempler under. Komplett bruksansvisning er også tilgjengelig. Ønsker en å sette opp slik filtrering bør bruksanvisningen leses nøye og filteret testes før det tas i bruk. IT-avdelingen ved postmaster@uib.no vil bare til en viss grad kunne bistå for oppsett og feilsøking av filtere. Noen relevante eksempler er imidlertid gitt under.  Test av filter Når et nytt filter («new-filter») lages bør det testes slik at en føler seg sikker på at det faktisk gjør det det var tiltenkt å gjøre. Lag eller kopier en melding med de aktuelle headere du ønsker å filtrere på til filen «test-message» og bruk kommandoen:


==Hva gjør vi på UiB for å bekjempe spam?==
/usr/lib/sendmail -bf new-filter  < test-message


På IT-avdelingens servere er det innført en rekke tiltak for å redusere mengden av uønsket post. Det er imidlertid et ressurskrevende arbeid som må følges opp kontinuerlig. Spammerne flytter seg stadig og det hjelper lite med tiltak mot adresser og nettsteder som ble brukt «igår». Noen av tiltakene som gjennomføres er gjennomgått under.
Rimelig foreståelige meldinger om hva postsystemet ville gjort blir skrevet til skjermen. Når du er fornøyd med resultatet, kopieres innholdet av «new-filter» til «.forward». Generell synktaks Filtrering vil normalt være sekvenser av tester på ulike deler av den innkommende meldingen, f.eks


Vi gjør vårt beste for å hindre at nyttepost avvises, men iblant hender det at også ønskverdig post blir nektet avlevert. Postmaster@uib.no kan kontaktes i slike tilfeller, oppgi adressen det sendes fra og tidspunkt. Selv blokkerte maskiner og adresser kan sende post til postmaster@uib.no
# Exim filter
if   
then 
elif 
then 
else 
endif
Kommandoer som understøttes i en slik filterfil er


Alle brukere av email på IT-avdelingens maskiner kan resevere seg mot våre blokadesystemer. Klikk [https://tjinfo.uib.no/wantspam her] dersom du vil at '''all''' post som sendes deg skal bli levert din innboks.
deliver          deliver to an email address (9)
finish          end processing (14)
if              test condition(s) (15)
logwrite        write to log file (13)
logfile          define log file (13)
mail            send a reply message (12)
pipe            pipe to a command (11)
save            save to a file (10)
testprint        print while testing (14)
vacation        tailored form of mail (12)


Du kan også få tilsendt ukentlige oversikter over hvilke eposter adressert til deg, systemet har avvist. Selve meldingen vil ikke være tilgjengelig men oversikten inneholder avsenders adresse og info om hvilken maskin eposten var sendt fra. Klikk [https://tjinfo.uib.no/wantspamrep her] dersom du vil ha denne rapporten tilsendt.
Tallet refererer til seksjonen i bruksansvisningen hvor kommandoen er utførlig beskrevet.


*Våre mailservere bærer stikkordet [http://www.cauce.org/proposal/ NO UCE] i sine bannere. 
Alle headere i en melding kan brukes når det testes i filteret vha av variabler med «$» som første tegn. F.eks vil innholdet av headeren «From:» kunne refereres med variabelen «$header_from» og innholdet av headeren «Subject:» med variabelen «$header_subject». Disse variablene kan forkortes til «$h_from» og er caseinsensitive. Det finnes også en del andre variabler, f.eks «$sender_address» som angir meldingens sender under overføringen til mailserveren. Dette er adressen som ble brukt av SMTPs «MAIL FROM:» og er ikke nødvendigvis den samme som hverken finnes i From:, Relpy-to: eller Sender: headerene i meldingen.
*Vi driver vår egen DNS-baserte svarteliste, [http://tjinfo.uib.no/rbluibno.html rbl.uib.no] og slår opp mot noen andre RBL-tjenester som www.orbl.org og relays.osirusoft.com. Disse tabellene som kontinuerlig oppdateres er [http://alf.uib.no//block/ tilgjengelige] for andre mailservere ved UiB (OBS: UIB-intern side). Mange mailservere (exim) oppdateres automatisk vha av dette [http://tjinfo.uib.no/get_tab_alf.txt scriptet].
**Vi [http://alf.uib.no/block/Spamdomains blokkerer hele domener], avsendere med adresser som f.eks slutter med job4u.com, success600.com eller click-me-now.com vil ikke bli levert adressaten (OBS: UIB-intern side).
**Dersom ikke hele domenet bør blokkeres kan [http://alf.uib.no/block/spammers enkeltadresser stoppes] (OBS: UIB-intern side). Noen eksempler er invest@sprynet.com, bannerman@babenet.com og solo_39@hotmail.com
**Et [http://alf.uib.no/block/reject regulært uttrykk] avviser også mange spam-meldinger, hensiktsmessig overfor spammere som forandrer adresse kontinuerlig men hvor det er mulig å finne gjenkjennelige mønstre i adressene som benyttes (OBS: UIB-intern side).
**Meldingen kjøres så gjennom et [http://tjinfo.uib.no/spamassassin.html Spamassassin-filter]. Det er en sammensatt og komplisert test som sjekker syntaks i meldingen og gjør flere søk etter kjente spamfraser.
**Meldinger som tiltross for reglene over blir akseptert av mailtjenerne, kontrolleres tilslutt av et [http://alf.uib.no/block/sysmailfilter mailfilter] (OBS: UIB-intern side), det fryser meldinger som sannsynglivis er uønskede. Meldinger som fryses i køen må manuelt inspiseres før de kastes eller evt aksepteres for avlevering (filteret kan inneholder også regler for å stoppe enkelte virus, men mailserverne [http://tjinfo.uib.no/virus.html gjør også full virusscan] av alle mails).


*Bare adresser som er riktig registrert i DNS godtas.
Ved test kan ordene «is», «contains» og «match» brukes, uansett er testene uavhengige om tekststrengene inneholder store eller små bokstaver.
*Meldinger svartelistet av RSS eller ORBS merkes med meldingsheaderen X-RBL-Warning for ytterligere [http://tjinfo.uib.no/exim-filter.html filtrering av den enkelte].
*I tillegg kommer unntak fra alle reglene over slik at vi f.eks kan sørge for at post fra «snille» brukere på «slemme» servere slipper igjennom.
*Med stor suksess begynte vi 26. januar 2004 med [http://tjinfo.uib.no/greylist.html grålisting].


if $header_from is kind@edb.uib.no
Uttrykket er sant dersom adressen er «kind@edb.uib.no»
if $header_from contains kind
Uttrykket er sant dersom adressen innholder strengen «kind»
if $header_from match "^kind|postmaster@.*uib.no"
Uttrykket er sant dersom adressen er innledet enten av strengen "kind" eller inneholder "postmaster@" et hvilket som helst domene ved UiB. exims regulære uttrykk er 100% kompatible med perls.


==Hvordan får spammerne tak i adressen min?==
I tester kan også uttrykkene «or», «and» og «not» brukes for å kombinere ulike forutsetninger. Eksempler Et filter kan være så langt og foreta så mange tester en måtte ønske og vil kunne utføre selv de meste utenkelige oppgaver. Filteret er rimelig sikkert og er i liten grad sårbart for loops. Her kommer noen korte, enkle og forhåpentligvis relevante eksempler. Mailliste til egen folder De fleste maillister har listedistributørens adresse i headeren «Sender:» og kan derfor ofte brukes. Alternativt vil en f.eks kunne gjøre en slik test:


De har mange og utspekulerte metoder! Holder du adressen din helt hemmelig vil du ikke få mye spam men da mister jo også adressen litt av poenget sitt ... Spammerne selger adresser seg i mellom, prisen for noen titalls millioner adresser er under hundre dollar, så selv om du klarer å komme deg ut av en liste vil adressen din figuere på titusenvis av andre kopier.
if $h_to is "list@some.org" or $h_cc is "listsome.org"


Før fikk spammerne tak i adresser via maillister, det er det få listeadministratorer som lar dem få gjøre lenger. Veldig mange plukker opp mailadresser fra Usenet, men det er vel ikke så mange som bruker Usenet lenger. Adresser jeg selv brukte på News på slutten av åttitallet mottar fortsatt mye spam ... Men den mest brukte måten spammerne samler inn adresser på er utvilsomt fra websider.
Dersom en ønsker alle meldinger mottatt via en liste til en egen folder lesbar for pine eller mutt, kunne «.forward» inneholde (dersom avsenderadressen var «list-request@some.org» og folderens navn var «list»)


Det er et dilemma at websider gjerne skal være signert av den som er ansvarlig samtidig som det åpner for mengder av uønsket epost. Kanskje det kan være lurt å forkle adressen litt, f.eks oppgi '''kind at uib.no''' heller enn å bruke @-tegnet. Unngå iallefall mailto-tagger, de finner spammerne veldig lett.
# Exim filter
if $header_sender is "list-request@some.org"
then
save mail/list
finish
endif


Og dersom en skulle være blant dem som foretrekker MH-foldere ville filteret kunne se slik ut:


==Hva vi ikke gjør på UiB for å bekjempe spam==
# Exim filter
if $sender_address is "list-request@some.org"
then
pipe "/share/lib/mh/rcvstore +list"
finish
endif


I liten grad prøver vi å følge opp mottatt spam med klager til serverne hvor spammen kommer fra. Det har ofte lite for seg, klager preller av som vann på gåsa om vi tar problemet opp med CyberPromo, Earthlink og tilsvarende firmaer. Spammens internasjonale karakter gjør det like vanskelig for UiBs nettleverandør, [http://www.uninett.no/ UNINETT], å iverksette tiltak. Oppdager vi imidlertid at spam rammer oss fra uskyldig tredjepart som brukes som rele av spammerne, underrettes ofte postmaster/abuse der om institusjonen er kjent. Meldingens headere bør imidlertid granskes grundig før klager og advarsler sendes. Det kan være et møysommelig og tidkrevende arbeid å utføre, så min anbefaling til brukere av elektronisk post ved UiB er '''å slette meldingen, glemme den og slett ikke la seg irritere!''' Ikke send sinte klager til abuse-adresser uten å vær helt sikker på at det sendes til riktig instans og at adressen det sendes til har en operativ mailserver.
Varsel til personsøker ved mottak av mail.


Spammernes elektroniske avsenderadresse er som regel ikke-eksisterende, bare veldig sjelden vil det være mulig å svare til avsender eller til adressene i meldingens headere. Maillistene som meldingene tilsynelatende er sendt til (f.eks Friends@public.com) finnes heller ikke. Etter normal forståelse av spillereglene på Internet, er meldingen altså '''ulovlig'''. Mange spam-meldinger gir inntrykk av at det er mulig å melde seg av listen ved å sende en mail til en «removal-adresse» eller ved å slå opp på en webside. Det er imidlertid ikke lurt å benytte seg av slike removal-tjenester. Det en evt oppnår er å bekrefte overfor spammerne at ens adresse er i aktiv bruk og dermed en aktuell mottager for mer spam. Spammerne oppgir gjerne en snailmail-adresse som skal brukes for å få kjøpt produktet, ofte de er ikke selv brukere av nettet.
Jeg er glad jeg ikke bruker personsøker og at den ikke piper til meg hver gang jeg får mail, men dette er en funksjon som mange ønsker seg og som tilbys av ymse teleoperatører. En mulig løsning kunne være slik:


For å spare egne ressurser benytter gladelig spammerne andres mailservere. Eldre versjoner som også brukes ved UiB, tillater spammerne å bruke våre ressurser for å spre møkka si til verden. '''Men slike mailservere er ikke lovlige ved UiB''', og må oppgraderes. Vår nettleverandør [http://www.uninett.no/ UNINETT], pålegger oss å sørge for at våre servere ikke lar seg utnytte, dessverre er ikke alle andre norske operatører på nettet like seriøse.
# Exim filter
if $sender_address matches "mor|far"
then
mail to 479999999@sms.teleleverandør.no
subject "mail from $sender_address"
text $h_subject
endif


Kaste meldinger


==Mer informasjon om spam==
IT-avdelingen foretar en del avvisning av spam, men den enkelte kan også foreta ytterligere sortering. Et nærliggende eksempel kunne være:


Også [http://tjinfo.uib.no/lister.html lokal informasjon] kan for mange arte seg som spam.  Vis måtehold!
# Exim filter
if $h_subject contains "ADULT SEX"
then
save /dev/null
finish
endif


Du kan få tilsendt [http://tjinfo.uib.no/spamrep.html ukentlig rapport] over hvilke eposter som har blitt avvist.
Kopi til annen mailadresse


IT-avdelingen har valgt å satse på mailsystemet [http://www.exim.org/ EXIM] som har fleksible løsninger og kraftige metoder for å møte problemet.
Mange har eget abonnement hos eksterne leverandører og i enkelte tilfeller er posten så viktig at den bør leveres til flere adresser.


Hver enkelt kan også foreta ytterligere filtrering vha procmail eller [http://tjinfo.uib.no/exim-filter.html exims innbygde mekanismer].
# Exim filter
if $header_from contains "kind"
then
deliver megselv@online.no
deliver userid
endif


«userid» settes til ens egen userid på UiBs server og leveres både lokalt og til ens adresse hos Tullemor.  Multiple mailbokser Når du får konto på unix-serverne ved IT-avdelingen vil du også bli satt opp med et mailalias. Brukernavnet vil være fem bokstaver på ansattmaskinene, mens det på rasmus vil være "st" etterfulgt av fem tall. Mailaliaset vil være på formen


[http://spam.abuse.net/spam/ Fight Spam on the Internet] [http://www.cauce.org/ Fight spam!]
Fornavn  punktum  Etternavn  krøllalfa  maildomene
 
Studenter vil bli satt opp med maildomenet student.uib.no, en oversikt over ansattes maildomener finner du her. Du vil ikke selv kunne sette opp andre aliaser, det er det bare "postmaster" som kan. Veldig ofte vil du kunne bruke ulike maildomener, ansatte vil f.eks oftest kunne bruke bare @uib.no og alle kan bruke maskinnavn (f.eks @alf.uib.no for ansatte og @rasmus.uib.no for studenter).
 
Men noen ganger kan det være praktisk å kunne oppgi mailadressing sin på en slik måte at du kan gjenkjenne hvor du oppga den. Som en utvidelse av brukernavnet kan alle lage slike gjenkjennbare mailboksnavn ved hjelp av tegnet pluss (+) og en vilkårlig tekststreng (som selvsagt ikke kan inneholde norske bokstaver). Om brukernavnet er BRUKER kan du altså bruke slike adresser
 
Ansatt
Student
 
BRUKER+news@uib.no
BRUKER+news@student.uib.no
 
BRUKER+annonse@alf.uib.no
BRUKER+annonse@rasmus.uib.no
 
BRUKER+viktig@alfred.uib.no
BRUKER+viktig@nille.uib.no
 
Tekststrengen du bruker mellom "+" og "@" kan du benytte i exims filterfil (.forward) med navnet $local_part_suffix
 
# Exim filter
if $local_part_suffix is +news
then
save mail/usenetsvar
finish
endif
 
if $local_part_suffix is +viktig
then
unseen deliver 99999999@mobilpost.com
finish
endif
 
Merk at her må BRUKER våre brukernavnet og ikke mailaliaser som Fornavn.Etternavn.  Kaste meldinger IT-avdelingen foretar en del avvisning av spam, men den enkelte kan også foreta ytterligere sortering. Et nærliggende eksempel kunne være:
 
# Exim filter
if $h_subject contains "ADULT SEX"
then
save /dev/null
finish
endif
 
IT-avdelingens eposttjenere avviser ikke nødvendigvis mail selv om avsenders maskin er  svartelistet av RSS eller ORBS. Men serverne våre slår opp mot disse tjenestene og stempler meldinger fra svartelistede maskiner med en egen meldingsheader,  X-rbl-warning:
 
Dersom du ikke vil ha post fra slike steder kan du legge f.eks dette til .forward-filen din, den antatte spammen kastes men logføres til filen spamfilter.log i hjemmekatalogen din på mailserveren.
 
# Exim filter
 
if $h_X-RBL-Warning matches "ordb|spamhaus|spamcop"
then
logfile $home/spamfilter.log
logwrite "$tod_log $sender_address $sender_host_name $h_X-RBL-Warning"
seen finish
endif
 
Dersom du f.eks er med på en liste som er svartelistet og du ønsker å kaste alle meldinger fra svartelistede maskiner unntatt fra denne kan filteret se slik ut
 
# Exim filter
if $sender_address is owner-e-fugl@feathers.net
then
save mail/fugler
finish
endif
if $h_X-rbl-warning matches "ordb|spamhaus|spamcop"
then
logfile $home/spamfilter.log
logwrite "$tod_log $sender_address $sender_host_name $h_X-RBL-Warning"
seen finish
endif
 
Dersom du foretrekker å bruke procmail heller enn exims eget filterspråk, lar du din «.forward» bare inneholde
 
|/share/bin/procmail


[[Kategori:E-post]]
[[Kategori:E-post]]

Sideversjonen fra 28. jan. 2010 kl. 16:07

Programsystemet som har vært i bruk for elektronisk post ved IT-avdelingen siden 1991 heter PP og var laget for andre tider og med andre fokuserte problemområder enn hva er aktuellt idag. På servere ved IT-avdelingen vil systemet bli lagt over til et nytt, exim. I første omgang tas exim i bruk på den nye studentserveren rasmus, «hovedpostkontorene» på alf/noralf vil følge etter snarlig.

Når PP fases ut til fordel for exim vil dette ikke innebære noen vesentlig endring for den enkelte bruker av email på IT-avdelingens servere utover at

«.mailfilter» vil ikke lenger fungere systemet vil anerkjenne normale «.forward» filer utstrakt filtrering og sortering av innkommende post vil være mulig.

IT-avdelingen forbeholder seg rett til å gjøre endringer i brukerers «.forward» filer dersom de skulle ha syntaktiske feil eller forårsake problemer ved avlevering eller for generell operasjon av postsystem eller server. IT-avdelingen fraskriver seg ethvert ansvar for tapt eller feilavlevert post som følge av feil i selvlagde filtre. «.forward» Den enkelte kan lage en fil i sin hjemmekatalog på unix-serverne med navn «.forward», denne vil støtte vanlig syntaks. Dersom en ønsker sin post videresendt til en annen adresse kan adressen legges inn i filen «.forward» og videresendingen blir umiddelbart effektiv.

Dersom en ønsker å videresende en kopi av meldingen til en annen adresse men at avlevering til lokal innboks skal foregå som normalt, kan «.forward» lages slik:

annen@adres.se userid

Det er også mulig å la et program (f.eks procmail) sortere posten ved å pipe meldingen til dette. Programnavnet skrives til filen «.forward» med tegnet «|» foran. exim støtter også normal håndtering av «vacation». Men ta en titt på kapittelet under først, exim har meget gode muligheter innebygd for de mest tenkelige og utenkelige ønsker og situasjoner. Utstrakt filtrering Mange bruker Eudora, Netscape eller annen POP-klient for å lese mail fra serverne på IT-avdelingen. En POP-klient (POP3) vil ikke ha mulighet for å lese innkommende post fra andre steder enn den defaulte innboksen. Men f.eks Eudora-PRO har egne muligheter for å filtrere innkommende post som delvis vil kunne gjøre tilsvarende oppgaver som beskrevet under.

Dersom den første linjen i «.forward» ser slik ut:

  1. Exim filter

vil postsystemet behandle den under helt andre regler enn en normal forward-fil. Brukere som har benyttet «.mailfilter» og som ønsker å opprettholde denne funksjonaliteten må konvertere til denne nye syntaksen som er forsøkt beskrevet med eksempler under. Komplett bruksansvisning er også tilgjengelig. Ønsker en å sette opp slik filtrering bør bruksanvisningen leses nøye og filteret testes før det tas i bruk. IT-avdelingen ved postmaster@uib.no vil bare til en viss grad kunne bistå for oppsett og feilsøking av filtere. Noen relevante eksempler er imidlertid gitt under. Test av filter Når et nytt filter («new-filter») lages bør det testes slik at en føler seg sikker på at det faktisk gjør det det var tiltenkt å gjøre. Lag eller kopier en melding med de aktuelle headere du ønsker å filtrere på til filen «test-message» og bruk kommandoen:

/usr/lib/sendmail -bf new-filter < test-message

Rimelig foreståelige meldinger om hva postsystemet ville gjort blir skrevet til skjermen. Når du er fornøyd med resultatet, kopieres innholdet av «new-filter» til «.forward». Generell synktaks Filtrering vil normalt være sekvenser av tester på ulike deler av den innkommende meldingen, f.eks

  1. Exim filter

if then elif then else endif Kommandoer som understøttes i en slik filterfil er

deliver deliver to an email address (9) finish end processing (14) if test condition(s) (15) logwrite write to log file (13) logfile define log file (13) mail send a reply message (12) pipe pipe to a command (11) save save to a file (10) testprint print while testing (14) vacation tailored form of mail (12)

Tallet refererer til seksjonen i bruksansvisningen hvor kommandoen er utførlig beskrevet.

Alle headere i en melding kan brukes når det testes i filteret vha av variabler med «$» som første tegn. F.eks vil innholdet av headeren «From:» kunne refereres med variabelen «$header_from» og innholdet av headeren «Subject:» med variabelen «$header_subject». Disse variablene kan forkortes til «$h_from» og er caseinsensitive. Det finnes også en del andre variabler, f.eks «$sender_address» som angir meldingens sender under overføringen til mailserveren. Dette er adressen som ble brukt av SMTPs «MAIL FROM:» og er ikke nødvendigvis den samme som hverken finnes i From:, Relpy-to: eller Sender: headerene i meldingen.

Ved test kan ordene «is», «contains» og «match» brukes, uansett er testene uavhengige om tekststrengene inneholder store eller små bokstaver.

if $header_from is kind@edb.uib.no Uttrykket er sant dersom adressen er «kind@edb.uib.no» if $header_from contains kind Uttrykket er sant dersom adressen innholder strengen «kind» if $header_from match "^kind|postmaster@.*uib.no" Uttrykket er sant dersom adressen er innledet enten av strengen "kind" eller inneholder "postmaster@" et hvilket som helst domene ved UiB. exims regulære uttrykk er 100% kompatible med perls.

I tester kan også uttrykkene «or», «and» og «not» brukes for å kombinere ulike forutsetninger. Eksempler Et filter kan være så langt og foreta så mange tester en måtte ønske og vil kunne utføre selv de meste utenkelige oppgaver. Filteret er rimelig sikkert og er i liten grad sårbart for loops. Her kommer noen korte, enkle og forhåpentligvis relevante eksempler. Mailliste til egen folder De fleste maillister har listedistributørens adresse i headeren «Sender:» og kan derfor ofte brukes. Alternativt vil en f.eks kunne gjøre en slik test:

if $h_to is "list@some.org" or $h_cc is "listsome.org"

Dersom en ønsker alle meldinger mottatt via en liste til en egen folder lesbar for pine eller mutt, kunne «.forward» inneholde (dersom avsenderadressen var «list-request@some.org» og folderens navn var «list»)

  1. Exim filter

if $header_sender is "list-request@some.org" then save mail/list finish endif

Og dersom en skulle være blant dem som foretrekker MH-foldere ville filteret kunne se slik ut:

  1. Exim filter

if $sender_address is "list-request@some.org" then pipe "/share/lib/mh/rcvstore +list" finish endif

Varsel til personsøker ved mottak av mail.

Jeg er glad jeg ikke bruker personsøker og at den ikke piper til meg hver gang jeg får mail, men dette er en funksjon som mange ønsker seg og som tilbys av ymse teleoperatører. En mulig løsning kunne være slik:

  1. Exim filter

if $sender_address matches "mor|far" then mail to 479999999@sms.teleleverandør.no subject "mail from $sender_address" text $h_subject endif

Kaste meldinger

IT-avdelingen foretar en del avvisning av spam, men den enkelte kan også foreta ytterligere sortering. Et nærliggende eksempel kunne være:

  1. Exim filter

if $h_subject contains "ADULT SEX" then save /dev/null finish endif

Kopi til annen mailadresse

Mange har eget abonnement hos eksterne leverandører og i enkelte tilfeller er posten så viktig at den bør leveres til flere adresser.

  1. Exim filter

if $header_from contains "kind" then deliver megselv@online.no deliver userid endif

«userid» settes til ens egen userid på UiBs server og leveres både lokalt og til ens adresse hos Tullemor. Multiple mailbokser Når du får konto på unix-serverne ved IT-avdelingen vil du også bli satt opp med et mailalias. Brukernavnet vil være fem bokstaver på ansattmaskinene, mens det på rasmus vil være "st" etterfulgt av fem tall. Mailaliaset vil være på formen

Fornavn punktum Etternavn krøllalfa maildomene

Studenter vil bli satt opp med maildomenet student.uib.no, en oversikt over ansattes maildomener finner du her. Du vil ikke selv kunne sette opp andre aliaser, det er det bare "postmaster" som kan. Veldig ofte vil du kunne bruke ulike maildomener, ansatte vil f.eks oftest kunne bruke bare @uib.no og alle kan bruke maskinnavn (f.eks @alf.uib.no for ansatte og @rasmus.uib.no for studenter).

Men noen ganger kan det være praktisk å kunne oppgi mailadressing sin på en slik måte at du kan gjenkjenne hvor du oppga den. Som en utvidelse av brukernavnet kan alle lage slike gjenkjennbare mailboksnavn ved hjelp av tegnet pluss (+) og en vilkårlig tekststreng (som selvsagt ikke kan inneholde norske bokstaver). Om brukernavnet er BRUKER kan du altså bruke slike adresser

Ansatt Student

BRUKER+news@uib.no BRUKER+news@student.uib.no

BRUKER+annonse@alf.uib.no BRUKER+annonse@rasmus.uib.no

BRUKER+viktig@alfred.uib.no BRUKER+viktig@nille.uib.no

Tekststrengen du bruker mellom "+" og "@" kan du benytte i exims filterfil (.forward) med navnet $local_part_suffix

  1. Exim filter

if $local_part_suffix is +news then save mail/usenetsvar finish endif

if $local_part_suffix is +viktig then unseen deliver 99999999@mobilpost.com finish endif

Merk at her må BRUKER våre brukernavnet og ikke mailaliaser som Fornavn.Etternavn. Kaste meldinger IT-avdelingen foretar en del avvisning av spam, men den enkelte kan også foreta ytterligere sortering. Et nærliggende eksempel kunne være:

  1. Exim filter

if $h_subject contains "ADULT SEX" then save /dev/null finish endif

IT-avdelingens eposttjenere avviser ikke nødvendigvis mail selv om avsenders maskin er svartelistet av RSS eller ORBS. Men serverne våre slår opp mot disse tjenestene og stempler meldinger fra svartelistede maskiner med en egen meldingsheader, X-rbl-warning:

Dersom du ikke vil ha post fra slike steder kan du legge f.eks dette til .forward-filen din, den antatte spammen kastes men logføres til filen spamfilter.log i hjemmekatalogen din på mailserveren.

  1. Exim filter

if $h_X-RBL-Warning matches "ordb|spamhaus|spamcop" then logfile $home/spamfilter.log logwrite "$tod_log $sender_address $sender_host_name $h_X-RBL-Warning" seen finish endif

Dersom du f.eks er med på en liste som er svartelistet og du ønsker å kaste alle meldinger fra svartelistede maskiner unntatt fra denne kan filteret se slik ut

  1. Exim filter

if $sender_address is owner-e-fugl@feathers.net then save mail/fugler finish endif if $h_X-rbl-warning matches "ordb|spamhaus|spamcop" then logfile $home/spamfilter.log logwrite "$tod_log $sender_address $sender_host_name $h_X-RBL-Warning" seen finish endif

Dersom du foretrekker å bruke procmail heller enn exims eget filterspråk, lar du din «.forward» bare inneholde

|/share/bin/procmail