Spammerek használják a DNS szerveredet?

Vannak olyan morcos emberek, akik addig harcolnak a spammerek ellen, amíg a DNS szervereiket is hidegre teszik. Ez azért is felettébb kellemetlen a spammerek számára, mert a DNS számukra is az Internet infrastruktúra kritikus része.

Mert az még hagyján, hogy ha nem érhető el a spammer domainje, akkor hiába is illeszt egy web poloskát (1×1 pixel méretű átlátszó kép) a leveleibe, és így nem tudja nyomon követni, hogy valójában melyik kiküldött levelet olvasták el, ill. melyik landolt a spam folderben. Nagyobb probléma, hogy egy (több) új DNS szervert kell valahol máshol telepíteni, ha azt akarja, hogy a levelekben levő hivatkozásokra kattintva az érdeklődők el tudjanak jutni a Rolex órákat áruló web oldalakra.

Ezért azt találták ki egy ideje ezek az igen leleményes bűnözők, hogy nyitott DNS szervereket keresnek (hasonlóan az open relay SMTP szerverekhez), amelyek bárki számára végeznek rekurzív névfeloldást.

A trükk a következő: regisztrálnak egy spam domaint olyan DNS-eken, amelyek az ő irányításuk alatt vannak. Ezt bejegyeztetik valamely regisztrátorral. Ezután a fentebb említett rekurzív DNS szervereket ráveszik, hogy tárolják el ideiglenesen az ő spam domainjük adatait. Majd visszamennek a regisztrátorhoz, és módosíttatják
a spam domain paramétereit úgy, hogy a domain DNS-ei ezután már nem a spammer saját szerverei, hanem választanak párat abból a nagyszámú emberspammerbarát DNS szerverek közül. A regisztrátorok pedig nem sokat aggódnak amiatt, hogy vajon a (spammer) domain tulajdonosa jogosan használja-e az új DNS-eket.

Ezután pedig hadd szóljon, kiküldik a rengeteg spamet. Ha pedig valaki morcos lesz emiatt, és panaszt tesz a spammer DNS szerverére, annak szolgáltatójánál, lesz majd meglepi, hogy vajon miért vágták el a DNS szerverem Internet kapcsolatát?!

A megoldás egyszerű: mint sok esetben, az idő most is begyógyítja a sebeket, a felhasznált DNS szerverek a spammer domain adatait – mivel az valójában nem is az övéké – a TTL (time-to-live) paraméterben megadott idő múlva elfelejtik. Csakhogy egy spam kampány jó eséllyel lefut ennyi idő alatt.

Ha azonban még egy rövid ideig sem akarunk – akaratunk ellenére – részt venni a spammerek kampányában, akkor állítsuk be úgy a DNS szervereinket, hogy azok a világ számára _NE_ végezzenek rekurzív névfeloldást, kizárólag a saját felhasználóink számára.

Az eredeti cikk után van néhány komment, és az egyik olvasó megjegyzi, hogy ennél kicsit nehezebb a dolog, ha a spammer rá tudja venni valahogyan az egyik legitim felhasználónkat, hogy ő kérdezze le az ominózus spam domain adatait. De ez szerencsére nehezebb még egy spammer számára is.

Slackware Linux telepítő USB pendrive-on

Már korábban is szerettem volna, ha az USB kulcsra egy Linux telepítő is felkerül. Az új pendrive-val pedig már nem lehet több kifogás. Az alábbiakban azt mutatom meg, hogyan sikerült egy redukált Slackware telepítőt applikálni a pendrive-omra.

Az USB kulcsra csak a legszükségesebb csomagokat és egyéb kellékeket teszem fel, ha pedig utólag még szükség lesz valamire, azt majd letöltöm valamelyik Slackware tükörről vagy a pendrive másik partíciójára másolom. A művelethez szükség lesz egy Slackware telepítő CD-re (vagy DVD-re) esetleg egy friss ISO file-ra. Ha már van adat (bármi) a kulcsodon, végezz egy mentést róla.

Praktikus okok miatt hozzunk létre két partíciót az USB kulcson, hogy az alábbihoz hasonló módon nézzen ki az fdisk kimenete (nálam /dev/sda az USB pendrive):

fdisk -l /dev/sda

Disk /dev/sda: 2063 MB, 2063597568 bytes
64 heads, 62 sectors/track, 1015 cylinders
Units = cylinders of 3968 * 512 = 2031616 bytes


Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 126945 6 FAT16
/dev/sda2 65 1015 1886784 6 FAT16

Én már el is készítettem a szükséges FAT16 filerendszert mindkét partíción:

mkdosfs -F 16 /dev/sda1
mkdosfs -F 16 /dev/sda2

A kisebbik (kb. 128 MB) partíción lesz a Slackware telepítő, a nagyobbikon (majdnem 1,9 GB) pedig az adatok (ez nálam mindenféle dokumentációt, konfigurációkat, mentéseket és ennek a site-nak a tartalmát jelenti).

Csatoljuk fel a kisebbik partíciót:

mount -t vfat /dev/sda1 /mnt/pendrive

Készítsük el rajta az alábbi szerkezetet:

ls -l /mnt/pendrive/

total 5006
-rwxr-xr-x 1 sj jogyerek 2375298 2007-02-14 18:06 bzImage
-rwxr-xr-x 1 sj jogyerek 2731362 2007-02-14 18:36 initrd.img
-r-xr-xr-x 1 sj jogyerek 8236 2007-02-14 20:34 ldlinux.sys
-rwxr-xr-x 1 sj jogyerek 830 2007-02-14 20:28 message.txt
drwxr-xr-x 6 sj jogyerek 2048 2007-02-14 21:11 slackware
-rwxr-xr-x 1 sj jogyerek 309 2007-02-14 20:30 syslinux.cfg

A slackware/ könyvtár ugyanaz, mint ami a standard telepítő CD-n is megtalálható. Nekem most elég az “A”, “AP”, “D” és az “N” kollekció:

ls -l /mnt/pendrive/slackware/

total 32
drwxr-xr-x 2 sj jogyerek 22528 2007-02-14 17:03 a
drwxr-xr-x 2 sj jogyerek 4096 2007-02-14 21:04 ap
drwxr-xr-x 2 sj jogyerek 2048 2007-02-14 21:11 d
drwxr-xr-x 2 sj jogyerek 4096 2007-02-14 17:03 n

Persze ezekből sem szerepel az összes csomag, csak azok, amelyeket szükségesnek ítéltem. Pl. az “n” könyvtár csak az alábbi csomagokat tartalmazza:

ls -l /mnt/pendrive/slackware/n/

total 6190
-rwxr-xr-x 1 sj jogyerek 2897 2007-02-14 17:03 install-packages
-rwxr-xr-x 1 sj jogyerek 446 2007-02-14 17:03 install.end
-rwxr-xr-x 1 sj jogyerek 1297 2007-02-14 17:03 maketag
-rwxr-xr-x 1 sj jogyerek 5423 2007-02-14 17:03 maketag.ez
-rwxr-xr-x 1 sj jogyerek 493080 2007-02-14 17:03 ncftp-3.2.0-i486-2.tgz
-rwxr-xr-x 1 sj jogyerek 189 2007-02-14 17:03 ncftp-3.2.0-i486-2.tgz.asc
-rwxr-xr-x 1 sj jogyerek 324 2007-02-14 17:03 ncftp-3.2.0-i486-2.txt
-rwxr-xr-x 1 sj jogyerek 783961 2007-02-14 17:03 openssh-4.4p1-i486-1.tgz
-rwxr-xr-x 1 sj jogyerek 189 2007-02-14 17:03 openssh-4.4p1-i486-1.tgz.asc
-rwxr-xr-x 1 sj jogyerek 676 2007-02-14 17:03 openssh-4.4p1-i486-1.txt
-rwxr-xr-x 1 sj jogyerek 3479851 2007-02-14 17:03 openssl-0.9.8d-i486-1.tgz
-rwxr-xr-x 1 sj jogyerek 189 2007-02-14 17:03 openssl-0.9.8d-i486-1.tgz.asc
-rwxr-xr-x 1 sj jogyerek 561 2007-02-14 17:03 openssl-0.9.8d-i486-1.txt
-rwxr-xr-x 1 sj jogyerek 103393 2007-02-14 17:03 rp-pppoe-3.8-i486-2.tgz
-rwxr-xr-x 1 sj jogyerek 189 2007-02-14 17:03 rp-pppoe-3.8-i486-2.tgz.asc
-rwxr-xr-x 1 sj jogyerek 499 2007-02-14 17:03 rp-pppoe-3.8-i486-2.txt
-rwxr-xr-x 1 sj jogyerek 1274 2007-02-14 17:03 tagfile
-rwxr-xr-x 1 sj jogyerek 833414 2007-02-14 17:03 tcpip-0.17-i486-39.tgz
-rwxr-xr-x 1 sj jogyerek 189 2007-02-14 17:03 tcpip-0.17-i486-39.tgz.asc
-rwxr-xr-x 1 sj jogyerek 589 2007-02-14 17:03 tcpip-0.17-i486-39.txt
-rwxr-xr-x 1 sj jogyerek 599349 2007-02-14 17:03 wget-1.10.2-i486-2.tgz
-rwxr-xr-x 1 sj jogyerek 189 2007-02-14 17:03 wget-1.10.2-i486-2.tgz.asc
-rwxr-xr-x 1 sj jogyerek 398 2007-02-14 17:03 wget-1.10.2-i486-2.txt

Hogy a telepitő panaszkodását eleve kizárjuk, elég módosítani a “maketag” állományt, és csomagok leírásánál a hiányzókat kitöröljük, hogy csak az alábbi csomagok maradjanak:

"ncftp" "NcFTP file transfer utilities" "on" \
"openssh" "OpenSSH Secure Shell" "on" \
"openssl" "OpenSSL Secure Sockets Layer toolkit" "on" \
"rp-pppoe" "Connect to ADSL ISPs that use PPPoE" "on" \
"tcpip" "Basic TCP/IP network programs and daemons" "on" \
"wget" "WWW/FTP retrieval tool" "on" \

Természetesen arra is lehetőség van, hogy egy adott csomag alapértelmezésben ne legyen kiválasztva, ebben az esetben a leírása után szereplő “on” kapcsolót állítsuk át “off“-ra.

Az ISO file-ban is megtalálható isolinux/ könyvtár alól másoljuk az /mnt/pendrive alá az initrd.img és a message.txt file-okat, ez utóbbit – igény esetén – kedvünkre szerkeszthetjük.

A kernels/ könyvtár alól válasszunk ki egy kernelt, pl. sata.i, és az abban levő kernelt másoljuk a /mnt/pendrive könyvtárba:

cp kernels/sata.i/bzImage /mnt/pendrive

Végül hozzuk létre a /mnt/pendrive/syslinux.cfg file-t. Ez nagyon hasonlít az isolinux/isolinux.cfg állományra, nálam így néz ki (Figyelem! Ebben a példában a file 7 soros):

cat /mnt/pendrive/syslinux.cfg
default bzImage initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=6464 rw root=/dev/ram SLACK_KERNEL=bzImage
prompt 1
timeout 100
display message.txt
label bzImage
kernel bzImage
append initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=6464 rw root=/dev/ram SLACK_KERNEL=bzImage

Igény szerint több kernelre is hivatkozhatunk, csak készítsünk neki egy bejegyzést a syslinux.cfg-ben, ill.a kernelt is másoljuk a /mnt/pendrive alá.

Ha idáig eljutottunk, akkor futtassuk a “syslinux /dev/sda1” parancsot, amely elkészíti a
/mnt/pendrive/ldlinux.sys állományt.

A syslinux program a “syslinux” csomagban található, és szükségünk lesz még a “floppy
nevű csomagra is (az mcopy parancshoz).

Ha elkészültünk ezzel is, akkor csatoljuk le a pendrive-ot (umount /mnt/pendrive), indítsuk újra a gépet, és szükség szerint állítsuk be a BIOS-ban, hogy az USB eszközről boot-oljon a gépünk. Ha mindent jól csináltunk, akkor a Slackware szokásos telepitő üzenete köszönti az olvasót.

Megcsinálhatom?

Az ember azt hinné, hogy azt a néhány futóbolondot, akik a világ megjobbításáért tesznek valamit ingyen és szerelemből, senki nem bántja. Történt ugyanis, hogy Bob Jacobsen, akinek a vasúti terepasztal volt a hobbija, írt egy programot, ami lehetővé tette, hogy számítógéppel lehessen vezérelni a terepasztalt. És hogy a világ, ha csak egy kicsit is, de valóban jobb lehessen, ingyen elérhetővé tette a programját, mi több, még a forráskódot is megosztotta a világgal, hogy aki akarja, még jobbá tehesse vagy módosíthassa a kódot.

Eddig még szép volt a világ, de jött a KAM Industries nevű cég, akik valami hasonló projektben utaztak, és próbálták a bejegyzett szabadalmi jogukat érvényesíteni. Nehogy már valami senki belezavarjon az üzletükbe.

Jacobsen információkat kért arról, hogy pontosan mivel is sértette meg ő a KAM szabadalmát, mire postafordultával kapott is egy számlát $203,000 összegről, mivel – állítólag – az a kb. 7000 felhasználó, akik ingyen letöltötték a nyílt forrású programot, és ezzel fejenként legalább 29 dollár kárt okoztak a KAM-nak.

A KAM ezen kívül írt Jacobsen akadémiai szponzorának, és bekérte az ő összes levelezését. Jacobsen egy idő után megírta nekik levélben, nem hinné, hogy a KAM keresete megállna a bíróságon. Azt ismegemlítette, hogy az ő “problémás” szoftvere már azelőtt elérhető volt, hogy a KAM bejegyeztette volna a szabadalmát, és ezt a KAM ügyvédeinek is tudniuk kellene.

Ezek az öltönybe bújt gonosztevőkügyvédek azonban állították, ők nem is hallottak arról, hogy Jacobsennek a már megjelent munkája esetleg semmissé tenné az ő szabadalmukat, és továbbra is állították, hogy Jacobsen megsértette azt.

Bár nyilvánvaló, hogy a KAM szabadalmi bejegyzése ennek fényében érvénytelen, még nincs vége történetnek. Az mindenesetre kiderült, hogy az efféle szabadalmi jogok hátráltatják a nyílt forrású fejlesztőket (is). Sőt, még egy kisvállalkozás is fegyverként foghatja azt az érdekeit sértő fejlesztőkre.

Józan ésszel egyszerűen felfoghatatlan, hogy miért baj az, ha egy adott problémát egymástól függetlenül 2 vagy több csoport is megold. Persze megértem én azt, hogy ha mind a kettő hasonló tudású, minőségű, stb. és az egyik ingyen elérhető a felhasználók számára, akkor az a kereskedelmi megoldás piacát csökkenti, aminek az utóbbi részvényesei nyilván nem örülnek.

De a világ – ha a szabad versenyt nem korlátozzák – már csak ilyen: a ragadozók (=felhasználók) először a gyengébb példányokat likvidálják (=nem szívesen választják a gyengébb megoldást). Főleg ha az legalább még drágább is.

Bérgyilkos spam

Nem akartam hinni a szememnek, amikor először megláttam ezt az angol nyelvű szöveget. A spam azzal kezdődik, hogy megnyugtatja az embert: noha valaki $50,000 pénzt fizetett neki (=egy bérgyilkosnak), hogy végezzen velünk, ő azonban követ minket pár napja, és megállapította, hogy ártatlanok vagyunk, ezért mégsem akar megölni. Ellenben szüksége lenne 80,000 US dollárra, különben is mi az a mi életünkért?

Ezért gyorsan át kellene utalni először $20,000 összeget a megadott bankszámlára. Ezután majd összefutunk valahol, és átadom neked a megbízómra nézve terhelő hangfelvételt, amin éppen nyélbeütjük a likvidálásod szerződését. Ezzel elmehetsz a rendőrségre, és szépen utalod a további 60,000 USD-t.

Az FBI egyik különleges ügynöke szerint azonban nem kell megijedni ez ún. scam (=átverés), amit az is erősít, hogy több nyelvtani hiba is van a levélben, úgyhogy az valószínűleg valahonnan a tengerentúlról származik.

Tőzsde spam

Manapság senkinek nem kell már a spamben tukmált Rolex vagy \/iagra, és már (talán) elfogytak azok a hiszékenyek is, akik az afrikai hercegeket segítenék (bőkezű ellenszolgáltatás ellenében) örökségükhöz, vagy akiket a spanyol lottó sok millió Euro összegű nyereménye meg tud még szédíteni – noha soha nem töltöttek ki egyetlen szelvényt sem.

A spammerek ezért mostanában új célpontot találtak maguknak: a tőzsdét. Kinéznek valami gyengén szereplő részvényt, amiből felvásárolnak egy jó adagot. Ilyen volt pl. az amerikai Southern Cosmetics részvénye, amelyet darabonként mindössze 1 centért meg lehetett venni. Ezután kiküldenek egy csomó spamet, amelyben az adott részvényeket reklámozzák, hogy az hű de milyen jó, és vásárlásra biztatnak.

Ilyen nincs, és mégis van, hihetetlen, de sokakat megszédített a csábítás. Az említett kozmetikai cég részvénye pár nap múlva már 6,6 centet ért. A spammerek pedig 100*(6,6-1/1) = 560% haszonnal adhattak túl a bevásárolt részvényeken. Egyszóval kaszáltak rajta rendesen.

Azok pedig, akik jól bevásároltak vele, hamarosan rádöbbentek, hogy az adott részvény valójában nem sokat ér, és annak árfolyama hamar vissza is esett a korábbi filléres értékre.

Spammer trükkök

A mai nap arra lettem figyelmes, hogy spammerek – az egyik ügyfelünk hibásan megírt php script-je segítségével – laza 30k spamet küldtek ki. Az első gondolatom az volt, hogy megnézem az Apache naplóját, és megkeresem, kié a legtöbb HTTP kérés. Ez azonban nem vezetett eredményre, biztosra vettem, hogy nem a top10 látogatók voltak az elkövetők.

Szerencsére kezembe került a spam egy példánya, valami fogyókúra dologról van szó benne (ha érdekel, elküldöm). Már csak azt kellett megoldani, hogy ha valaki ezt a spamet küldi el az űrlapnak, akkor az valahogy ne sikerüljön.

Ebben pedig a modsecurity nevű Apache modul volt a segítségemre. Még jó, hogy előző nap megkaptam az aktuális Linuxvilágot, amiben pont írtam erről a modulról. A lényeg az, hogy be tudtam állítani azt, hogy ha valaki ezt a bizonyos spamet akarja elküldeni, akkor az Apache egy 403-as hibát küld a spammernek (vagy a bot-jának).

Ehhez annyit tettem, hogy az említett spamből vettem egy mintát, majd készítettem egy modsec. szabályt SecFilterSelective POST_PAYLOAD “intensive medical procedures”, és voila! kapásból meglett az illető a modsecurity naplójában.

Egyébként egy HTTP POST kérés átlag kb. 120 email címet tartalmazott. A slusszpoén pedig az volt a fogás nyomán, hogy ugyanezt a spamet más site-on keresztül is küldték. De legalább mostmár sikertelenül. Tudom, hogy ez csak egy gyors tűzoltás volt, a probléma megnyugtató megoldása az lesz, ha minden érintett kijavítja a hibát a php script-jében…

Email marketing tanácsok

Lehet, hogy te is elgondolkodtál, hogy mi lenne, ha email-ben reklámoznád a cégedet, a csodálatos terémekiedet, meg a fantasztikus szolgáltatásaidat. Kelly Jackson Higgins 7 tanácsot ad, nehogy a címzettjeid spammernek tekintsenek téged, amiből néhányat megosztok veled.

1. Vedd komolyan a leiratkozási (unsubscribe) kérelmeket

Bár ez szinte magától értetődőnek tűnhet, mégis vannak, akik nem tartják tiszteletben a felhasználók ezirányú kérését. Ez pedig odavezethet, hogy az elégedetlenek a spamszűrőjükkel fogják megetetni a hírleveleidet.

2. Ne jelöld be azt a négyzetet, amivel automatikusan felkerül az illető a levelezési listádra

Elárulok egy nagy titkot: az emberek nem szeretik a (hosszadalmas) regisztrációt, ahol sok kellemetlen, intim kérdésre kell válaszolni, mint pl. jövedelem, életkor, stb. Sokan ezért meglehetős gyorsasággal, oda se igen figyelve töltik ki az űrlapokat. Így fordulhat elő, hogy egyszer csak kapnak egy hír- esetleg reklámlevelet a végén azzal a szöveggel, hogy ‘azért kapod ezt a levelet, mert feliratkoztál rá a regisztráció során’. Az illető pedig tagad a végsőkig. Ezért ne légy erőszakos, és az a bizonyos négyzet (checkbox) ne legyen alapértelmezésben bejelölve.

3. Ne add el a címlistádat senkinek

Igen kellemetlen, ha egy szép nap a felhasználó azért kap spamet arra az email címére, amivel nálad regisztrált, mert te azt átadtad egy harmadik fél részére. Ne tedd.

4. Vigyázz a weboldaladon lévő levél küldő űrlapra

Nagyon kényelmes az, ha a látogató kitölt egy formot, és egy program elküldi annak tartalmát egy megadott email címre. Sajnos eme programok egy része ügyetlenül/figyelmetlenül lett megírva, és a spammerek ezeken keresztül bárkinek tudnak levelet küldeni, így open relay lettél. Ellenőrizd le a levél küldő programodat.

5. Nézd meg, kivel állsz össze

Mi sem bizonyítja, hogy a spammerek jó arcok: pénzért még a te leveleidet is szétküldik. De ha a spammer botnet hálózata feketelistán van, az te rád is rossz fényt fog vetni.