[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Index   Calendar   Search
 

Hvordan stoppes spam?

Hyggemøde/BoF torsdag den 15. april 2004

Vi mødes klokken 19:00 i København på Niels Bohr Institutet, aud. M.

Hyggemøde om hvordan spam stoppes. Vi holder en BoF om hvordan dette uvæsen stoppes. Har du idéer som kan hjælpe, så kom og sig frem.

Dette er ikke et møde, men en diskutionsaften om hvilke muligheder der reelt er for at stoppe spam.

Siden spam begyndte at blive et problem, er mange muligheder blevet prøvet af. Den første spam blev udsendt af Digital Equipment Corporation i midten af 1980'erne på newsgroups, så det er noget der har forfulgt os ind i et nyt årtusinde. Resultatet er at mange newsgroups er ubrugelige. Dernæst blev open relays anvendt til spam, og initiativer såsom RBL og MAPS fik bremset dette - i starten.

Idag inficerer spammerne almindelige desktop computere med trojanske heste, der så sender spam eller virus ud til alle de e-mail adresser der findes på den inficerede computer.

De kendte og nye kampmidler mod spam er:

Hvis ikke spam og virus stoppes, bliver e-mail så ubrugeligt at det ikke længere er anvendeligt som kommunikationsmiddel. Gider vi gøre noget ved det, eller skal vi bare lade stå til? Er det er de langsigtede løsninger vi skal gå efter, eller igen et dirty hack?

Kristian Vilmann foreslog at man skulle have et MTA-kørekort®. Måske er det blevet sådan at det er for nemt at sætte en MTA op, specielt at sætte den forkert op. Hvis 25% af al mail krævede at HELO-feltet svarede til et eksiterende domæne ville det hjælpe gevaldigt. Hvis domænet i HELO-feltet så samtidigt skulle matche det IP-nummer som klienten har, så bliver det rigtigt svært at sætte en MTA op, og vi andre vil slippe for spam og virus. Udvidede man så HELO-feltet til også at skulle være et bestemt TLD, og det TLD var svært at få fat i, ville det hjælpe endnu mere. Det kunne være TLD .mail, og kun de MTA'er der kan præsentere et validt .mail TLD, såsom sslug.dk.mail, kan aflevere mail. Det skal selvfølgelig kun være for de få udvalgte at få adgang til et .mail TLD - man skal bl.a. dokumentere hvem man er, samt et par andre urimelige ting. Spørgsmålet er selvfølgelig om det skal være forbudt at afvise HELO der fejler, og så er det man ikke rigtigt forstår hvad meningen er med HELO.

Læs også om Sender Policy Framework (SPF).

Reject vs. Bounce

Når man modtager en mail til en bruger der ikke eksisterer på serveren, skal(bør) man gøre afsenderen opmærksom på det. Dette kan enten gøres med en reject eller en bounce.

Reject

En reject er en kommando der sendes retur til afsender imens TCP-forbindelsen er åben. På den måde er man sikker på, at den der skal have at vide at der er noget galt, får det at vide. En mail indeholder ofte en afsender, men her er det altså ikke afsender der nødvendigvis får beskeden, men den maskine der er ved at sende noget til os. Omvendt er det også resourcetungt for modtageren at skulle analysere en mail om den er egnet for modtagelse, og sikkerhedsmæssigt kan det være farligt at køre for mange underlige programmer som den bruger der modtager mail.

Bounce

En bounce udføres ved at hele den mail vi modtager bliver gemt på harddisken og TCP-forbindelsen lukkes. Herefter går diverse programmer igang med at undersøge om den mail er egnet for modtagelse. Er den ikke egnet for modtagelse, skal(bør) man sende en mail retur til afsender og gøre opmærksom på at der er noget galt. Problemet her er at det eneste man ved om afsender, er den mail-adresse der er anført i from-feltet, og den kan være forfalsket. Specielt er det i forbindelse med virus at man ser falsk afsender, og det er så en vældig smart måde at udnytte bounces til at sprede den slags. Bounce kan udføres af programmer med lav prioritet og få brugerrettigheder, og det er godt for sikkerheden. Dernæst kan mail der skal checkes lægges i kø, og undersøges når man får tid.

Så det store spørgsmål er om Reject eller Bounce er det rigtige at bruge.

SMTP

I løbet af mødet, der nok bliver lidt teknisk, vil SMTP blive brugt til at forklare diverse. Herunder kort hvordan Simple Mail Transport Protocol (SMTP) foregår efter specifikationen RFC 821 . Prøv selv med nedenstående, du taster det med fed:

telnet www.sslug.dk 25
Trying 130.228.2.150...
Connected to ns.sslug.dk (130.228.2.150).
Escape character is '^]'.
220 sslug.dk ESMTP
HELO my.domain.com
250 sslug.dk
MAIL FROM: <evil@spam.com>
250 ok
RCPT TO: <sslug-spam@sslug.dk>
250 ok
DATA
354 go ahead
Subject: test
Afslut med . ENTER
.
250 ok 1080002242 qp 16166
QUIT
221 sslug.dk
Connection closed by foreign host.

Ovenstående mail transfer gik godt. Den næste test er med en afsender hvor domænet ikke eksistere.

telnet schou.dk 25
Trying 213.237.41.196...
Connected to 213.237.41.196.adsl.ynoe.worldonline.dk (213.237.41.196).
Escape character is '^]'.
220 dasken.schou.dk ESMTP Postfix
HELO mail.tdc.dk
250 dasken.schou.dk
MAIL FROM: <chlor@hej.dav> hej.dav findes ikke
250 Ok
RCPT TO: <chlor@schou.dk>
her er en pause på 15 sekunder
450 : Sender address rejected: Domain not found
450 betyder: midlertidigt ude af drift, prøv senere
QUIT
221 Bye
Connection closed by foreign host.

I det næste eksempel forsøges at anvende et mail relay.

telnet schou.dk 25
Trying 213.237.41.196...
Connected to 213.237.41.196.adsl.ynoe.worldonline.dk (213.237.41.196).
Escape character is '^]'.
220 dasken.schou.dk ESMTP Postfix
HELO ligegyldig.tekst
250 dasken.schou.dk
MAIL FROM: <joe@spam.com>
250 Ok
RCPT TO: <jane@maps.com>
15 sekunders pause her
554 <jane@maps.com>: Relay access denied
554 og 55? betyder: mail rejected, kom ikke igen
QUIT
221 Bye
Connection closed by foreign host.

En ting man skal bemærke er at kommandoen HELO ligegyldig.tekst ikke rigtigt bliver fuldt udnyttet. Normalt bruges HELO (eller EHLO) alene til at finde ud af om mailserveren taler med sig selv. Potentielt kunne man sætte en blokering op så hostname skal matche IP-nummer på den mailserver man bliver kontaktet af. Det sker herunder er at der først bliver etableret en TCP-forbindelse som vanligt. Dernæst sender mailserveren der prøver at sende, en HELO streng. Modtager-mailserveren kunne så lave et host lookup på hosname, og kontrollere det op imod det IP-nummer der gives der. Alt ialt vil det være meget begrænset nettrafik, specielt sammenlignet med at det var en spam man modtog.

telnet schou.dk 25
Trying 213.237.41.196...
Connected to 213.237.41.196.adsl.ynoe.worldonline.dk (213.237.41.196).
Escape character is '^]'.
220 dasken.schou.dk ESMTP Postfix
HELO fake42.com
Her udføres host lookup
450 : Helo command rejected: Host not found
QUIT
221 Bye
Connection closed by foreign host.

Mødeansvarlig: Hans Schou

Medmindre andet er angivet er det ikke nødvendigt at tilmelde sig til SSLUG's arrangementer.

 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified Wednesday, 31-Mar-2004 14:45:49 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]SSLUG's webadministratorer [an error occurred while processing this directive] # [an error occurred while processing this directive] *