Hrvatska akademska i istraživačka mreža
  NASLOVNICA MAPA WEBA TRAŽILICA KONTAKTI CARNET WEB
Hrvatska akademska i istraživačka mreža
 
menu 4
Sigurnost
menu 4
Distribucija
menu 4
Pomoć
menu 4
Dokumenti
menu 4
menu 4

 

 

23-06-05 11:34
Dolazi širokopojasni spam, što sad?

piše ŽELJKO BOROŠ

Virusi, trojanci, spyware i spam su svakodnevna (i) noćna mora svakog korisnika, ali i sistemaca. Spameri svakodnevno istražuju i rabe nove metode isporuke reklama i prilično je teško održati visoku razinu obrane od njih. Spameri se koriste različitim metodama za isporuku mailova, a nerijetko radi toga posežu i za nezakonitim metodama, poput uporabe računalnih crva i virusa.

 

Kako bi prikrili tragove i ujedno si smanjili troškove, spameri isporuku spama prepuštaju samim korisnicima, odnosno, njihovim računalima stavljenima pod nadzor. Ako se korisnik zarazi nekim od takvih programa sam postaje isporučitelj spama, a da toga nije svjestan.

 

Problem zaraze na računalu kućnog, odnosno modemskog korisnika lako je uočljiv jer se brzina surfanja naglo smanjuje a to će korisnika natjerati da otkrije problem. Nakon savjetovanja s prijateljima korisnik će relativno brzo pronaći odgovarajući alat i sam očistiti maliciozni softver.

 

U posljednje vrijeme hrvatski ISP-ovi učinili su brze veze dostupne mnogim neiskusnim korisnicima. Ponavljamo iskustvo poznato izvan naših granica. A ono kaže da neiskustvo korisnika u kombinaciji s brzinom veze čine da se povećan promet mnogo teže uočava (bar do prvog računa za DSL). Spam pošta je kratka, pa takve aktivnosti u pozadini mogu dulje ostati nezamijećene. Za to vrijeme korisnikovo računalo može generirati tisuće i tisuće mailova sa spamom.

 

Što se može učiniti budući da se spam tako višestruko umnožava. Sretna je okolnost što većina providera svojim DSL i kabelskim korisnicima Interneta dodjeljuje unos u DNS-u sličan ovom:

 

DDD-CCC-BBB-AAA.regija.provider.zemlja

 

Ključna stvar je početni dio naziva DNS-a, koji je obično reverzni oblik IP adrese, pa je u gornjem primjeru prava adresa klijenta AAA.BBB.CCC.DDD. Pojavljuju se još neki oblici, ali se kao i ovaj, obično lako prepoznju. ISP-ovi takva imena dodjeljuju zbog lakše administracije, no nama tako daju priliku da zadamo još jedan udarac borbi protiv spama. Zbog ovoga oblika adrese lako je razlučiti računala širokopojasnih korisnika od regularnih mail poslužitelja i odjednom imamo priliku smanjiti broj neželjene pošte koja dolazi od "nedužnih" spamera.

 

Ovdje se javljaju dva problema: što ako na toj adresi ipak postoji nekakav "normalan" poslužitelj? Ako zabranimo cijelu domenu, kako širokopojasni korisnik može nama poslati regularan mail?

 

Prvi problem zapravo i nije pravi problem, jer je svaka od tih adresa samo privremena, i rotira se unutar 24 sata, ili manje, za svakog korisnika. Statična IP adresa mora se posebno doplatiti. Činjenica da IP adresa, a time ni DNS naziv korisnikova računala nije statičan isključuje mogućnost da se na njemu nalazi nekakav "legalan" Internet servis, za što je osnovni preduvjet imati poznatu i statičnu IP adresu. Ovo dakako vrijedi i za mail, pa možemo slobodno zabraniti mogućnost da korisnici s tih IP adresa mogu slati mail izravno na naš poslužitelj.

 

Drugi problem je realan i teško se može efikasno riješiti. Doduše, možemo pokušati dopustiti slanje maila samo s posebnih Mail Exchanger (MX) poslužitelja, što će uz pravilnu konfiguraciju klijenata širokopojasnih korisnika omogućiti slanje maila na naš poslužitelj. Problem je u tome da je samo pitanje vremena kad će se spameri prilagoditi i početi slati spamove upravo preko takvih poslužitelja. Svako rješenje tog tipa je, kako vidimo, kratkog vijeka.

 

Dobiti popis kabelskih i DSL korisnika koji pokušavaju slati mail direktno na naš poslužitelj nije velik problem: nalazi se u mail logovima. Da bismo razlikovali adrese širokopojasnih korisnika od adresa normalnih mail poslužitelja upotrijebit ćemo samo jedan regex (regularni izraz) koji će izbaciti adrese prije spomenutog oblika:

 

egrep '[0-9]+\-[0-9]+\-[0-9]+\-[0-9]\..*?\..*?' /var/log/mail/mail.log \

| grep 'relay=' | sed -e 's/^.*relay=//g' -e 's/ \[.*$//g' | sort | uniq

 

Lokacija log datoteke se može razlikovati, ovisno o postavkama u /etc/syslog.conf, pa prilagodite naredbeni redak vašoj situaciji.

 

Gornjom naredbom dobit ćemo "grubi" popis adresa koje rabe kabelski i DSL operatori, no i to je dovoljno za generiranje prve liste i provjeru rada. Kasnije se može napisati perl ili shell skripta koja će moći odmah rafinirati ovaj popis u jednom potezu.

 

Sendmail posjeduje mogućnost blokade određenih IP adresa njihovim upisom u /etc/mail/access datoteku. Njen položaj i funkcioniranje se određuje u datoteci sendmail.mc, odnosno sendmail.cf. Uobičajeno je da je ta opcija uključena, a ako nije, potrebno je upisati FEATURE(access_db) u datoteku sendmail.mc te kreirati sendmail.cf s naredbom "make –C /etc/mail".

 

Sendmail access baza nudi još mogućnosti, no ograničit ćemo se samo na funkciju odbijanja maila s određenih IP adresa ili DNS imena. Format zapisa je jednostavan:

 

AAA.BBB.CCC.DDD REJECT

domena.com REJECT

 

odnosno

 

AAA.BBB.CCC.DDD 550 Poruka

domena.com 550 Poruka

 

Drugi oblik ima prednost, jer osim što je klijent odbijen, ispisuje mu se standardni SMTP kod za odbijanje klijenta kao i human-readable poruka koja će regularnom korisniku ili udaljenom administratoru ukazati na problem. Spameri nikad ne čitaju odgovore mail poslužitelja, ali na ovaj način umanjujemo štetu ako smo upisali pogrešnu IP adresu i spriječili slanje maila s regularnih mail poslužitelja.

 

Odbijanje spamera putem IP adrese ili DNS naziva se ponešto razlikuje po rezultatima, što ćemo vidjeti u nastavku.

 

Blokiranje spamerskih adresa putem DNS naziva

Iz popisa koji smo dobili grepanjem mail loga, izabrat ćemo samo jedinstvene domene (jer će svakako biti više unosa s istom domenom), poput comcast.net, rr.com, xdsl.is ili domaćeg xnet.hr i upisati ih u datoteku s odgovarajućim tekstom.

 

comcast.net 550 Your domain banned. Contact root@nasa.domena from another domain.

 

Ovaj unos blokira sve pokušaje slanja maila s domene comcast.net, uz odgovarajuću poruku klijentu o ispravnom postupku.

 

Prednost:blokira sve buduće pokušaje s te domene, čak i kad spameri poboljšaju softver i počnu slati mail preko odgovarajućeg MX poslužitelja unutar domene. Vrlo je jednostavan za implementaciju i ne treba upisivati višestruke unose kao kod blokiranja pomoću IP adresa.

 

Mane:u slučaju vaše greške, administrator udaljenog sustava ima dodatni angažman oko rješavanja problema, jer sa službene e-mail adrese ne može poslati mail.

 

Blokiranje spamera putem IP adrese

Za sve adrese iz popisa dobivenog grepanjem logova treba naći IP adrese, odnosno raspon IP adresa koje rabi operator. Ovaj pristup traži bolje poznavanje subnetiranja, IP adresnog prostora i klasa IP adresa, ali nudi i veće mogućnosti. Ujedno je i opasniji, jer je sasvim moguće pogreškom zabraniti i sasvim regularne klase adresa i time onemogućiti normalno komuniciranje e-mailom s poslužiteljima iz tog raspona IP adresa.

 

82.238 550 Your IP range banned. Contact root@nasa.domena from another IP range.

 

Prednost: ne blokira domenu, pa bilo koji mail iz te domene koji se ne nalazi u zabranjenom adresnom prostoru može doći do našeg poslužitelja. Neki ISP-ovi imaju strogo odijeljene poslovne klase adresa od onih koje se dodjeljuju korisnicima.

 

Mane:ISP-ovi mogu imati više klasa, odnosno dodijeljenih adresnih prostora, što znači da neke adrese jednostavno možete "promašiti". Još je lošije kad slučajno zabranite slanje maila poslužitelju iz "nedužnih" adresnih prostora jer niste dovoljno provjerili koje su sve adrese dodijeljene konkretnom ISP-u.

 

Generiranje Access liste

Nakon unosa svih adresa u datoteku /etc/mail/access, potrebno je kreirati bazu iz ove datoteke, što se čini naredbom:

 

makemap hash /etc/mail/access < /etc/mail/access

 

Nije potrebno restartati sendmail kako bi baza počela "djelovati". No, važno je nekoliko dana nadzirati logove u potrazi za eventualnim problemima i povremeno unositi nove adrese. Skripticu za grepanje logova možete iz crona pokretati primjerice svaka dva tjedna i slati si rezultate mailom, što će ujedno biti podsjetnik da cijeli sustav treba provjeriti i fino podesiti ako se za to pokaže potreba.

 

Valja napomenuti da je cijeli sustav napravljen isključivo praćenjem logova i isprobavanjem efikasnosti, bez previše razmišljanja o RFC standardima ili nekim drugim pravilima. Ovim putem je već krenuo sustav graylistinga, jer spameri u želji da isporuče što više maila već odavno krše sva poznata pravila. Imajući ovo u vidu, određeno "iskrivljavanje pravila" ima smisla.





[Lista]
Ovu uslugu CARNeta realizira Sveučilišni računski centar Sveučilišta u Zagrebu
  Copyright ©2005. CARNet. Sva prava zadržana. Impressum.
Mail to
sys-portal@CARNet.hr