Menangani Masalah Spammer

Seperti tidak mau peduli terhadap [bencana alam](https://priyadi.net/archives/2004/12/27/gempa-sumatera/) yang terjadi, para spammer tetap melakukan aksi kriminalnya. Dalam satu hari kini paling tidak ada 50 komentar spam yang bersarang di blog ini :(. Jumlah yang terlalu banyak untuk saya tangani. Hal-hal yang telah saya lakukan untuk menjerat spam selama ini cukup sederhana:

* Memasukkan hostname dari URL yang dispamkan serta beberapa kata kunci umum ke dalam daftar kata-kata yang dilarang. Hasilnya cukup memuaskan, tetapi belakangan terlalu banyak *false positive* yang saya temukan
* Mengubah nama dari halaman *post* komentar, dari wp-comments-post.php menjadi wp-comments-postxyz.php, hal ini berhasil mereduksi spam menjadi satu dua buah dalam satu hari, namun tentunya trik sederhana ini tidak dapat berlangsung lama

Hal terakhir yang saya lakukan adalah dengan memasang plugin [Mookitty Spaminator](http://www.google.com/url?sa=U&start=2&q=http://mookitty.co.uk/devblog/archives/2004/10/31/kittens-spaminator/&e=7370). Plugin ini cukup berhasil menjaring spam. Dalam satu hari, kini rata-rata spam yang bersarang di blog ini cuma 2-3 buah, itu pun terjaring oleh *keyword filter* sehingga masuk ke dalam antrian moderasi.

Yang saya takutkan adalah kondisi ini tidak akan berlangsung lama. Para spammer sepertinya cukup pintar untuk mengatasi trik-trik anti spam yang dilakukan oleh komunitas *blogging*. Mungkin suatu saat saya harus merelakan [idealisme saya menentang Captcha](https://priyadi.net/archives/2004/11/02/drowned-in-spam/). Bahkan Captcha pun dapat ditaklukan dengan mudah. Sehingga, [Captcha](http://en.wikipedia.org/wiki/Captcha) pun hanyalah merupakan solusi sementara.

Hal lain yang saya perhatikan adalah bahwa para spammer tidak saja menargetkan blog, tetapi sepertinya sudah sangat generik, setiap form HTML yang mengandung field textarea juga ikut dihajar. Misalnya sistem komentar terbuka pada situs [KDE Look](http://www.kde-look.org) dan [KDE Apps](http://www.kde-apps.org) juga ikut diserang para spammer. Rekan-rekan saya juga ada yang mengeluhkan spam yang dikirim melalui *feedback form* pada situs mereka. Selain itu, seperti biasa, situs Wiki juga menjadi langganan tetap para spammer ini.

Penyebab dari permasalahan ini adalah algoritma [Pagerank](http://en.wikipedia.org/wiki/Pagerank) yang digunakan oleh [Google](http://www.google.com). Google akan menilai lebih tinggi halaman yang ditautkan oleh lebih banyak halaman lainnya. Para pemilik situs web yang tidak mau bersusah payah memopulerkan situs mereka kemudian melakukan hal-hal yang tidak terpuji seperti membuat *link* dari situs orang lain menurut situsnya sendiri. Lama kelamaan, hal ini dibuat otomatis sehingga terjadilah fenomena spam pada blog yang kita hadapi ini.

Bagaimana cara menanggulangi spam ini? Menurut saya, kita harus mempelajari apa saja yang dilakukan oleh komunitas email dalam menanggulangi spam. Langkah pertama yang mereka lakukan adalah dengan menutup *open relay*. Hal ini tidak relevan dalam dunia web dan blog, oleh karena itu kita maju ke langkah kedua, yaitu [DNSBL](http://en.wikipedia.org/wiki/DNSBL). Dalam dunia blog, DNSBL dapat diterapkan kira-kira sebagai berikut:

* Penyedia layanan DNSBL mempersiapkan sebuah sistem DNS di bawah hirarki, misalkan saja bl.example.net
* Situs blog, wiki, atau situs lain yang menerima komentar terbuka menambah rutin pengecekan sebelum sebuah komentar diterima. Rutin ini melakukan pengecekan terhadap bagian *hostname* dari setiap URL yang diterima dalam komentar. Misalnya URL yang ditemukan adalah example.com. Kemudian program akan mengecek *hostname* tersebut ke DNSBL dengan cara membuat *query* DNS ke alamat example.com.bl.example.net.
* Jika *query* tersebut menghasilkan sebuah A record, maka situs tersebut adalah situs spammer. Informasi lebih lanjut kemudian dapat dilihat pada TXT record yang bersangkutan
* Jika *query* tersebut tidak menghasilkan A record, maka situs tersebut bukan situs spammer.
* Harus ada mekanisme untuk melaporkan hostname baru sebagai spammer pada CMS (*content management system*) populer, seperti blog dan wiki. Hal ini dilakukan untuk mempermudah administrasi (contoh kebijaksanaan: hostname yang dilaporkan lebih dari 50 kali otomatis dimasukkan ke database spammer), dan menyederhanakan proses pelaporan.
* Tentunya otomatisasi pada point sebelumnya dapat dengan mudah disalahgunakan oleh pihak-pihak yang tidak bertanggung jawab. Untuk mengatasinya dapat diterapkan algoritma kepercayaan seperti yang dilakukan oleh [Advogato](http://www.advogato.org/trust-metric.html).

Selain itu, Google juga dapat memanfaatkan database ini untuk ‘menghukum’ situs-situs spammer yang mencoba untuk melakukan tindakan-tindakan tidak terpuji tersebut.

13 comments

  1. untuk Captcha secanggih apapun captchanya kalau spammer mau usaha bisa saja pri, kalau pernah denger istilah OCR dan spammer mau bayar / riset soal itu bisa gawat :)

  2. OCR? susah-susah amat? ambil captcha-nya, terus tampilin ke situs XXX, sebelum pengunjung situs XXX boleh lihat gambarnya, dia harus kasih solusi captchanya dulu

  3. gue juga akhirnya terpaksa pasang spaminator setelah nyerah blog gue diserbu 60-an spam sekaligus dalam satu hari. sebagian sudah kena moderate, namun tetap saja repot musti hapus2in

  4. #3 khan itu selalu berubah begitu direload, makanya di ditus2 besar kabanyakan mereka bikin gelombang2 atau miring2 gak karuan; mungkin mereka sudah memprediksikan soal ORC

  5. Pingback: Secandri.com
  6. berarti gue termasuk yang belum masang anti spam nih, cuma filtering standar wordpress. dalam satu minggu spam yang masuk ke blog rata-rata sekitar 5, dengan target yang sama yaitu posting di akhir september

    yang rada aneh justru sewaktu masih menggunakan pMachine belum pernah kena spam

Leave a Reply to Priyadi Cancel reply

Your email address will not be published. Required fields are marked *