• Tidak ada hasil yang ditemukan

BAB 3 ANALISIS DAN PERANCANGAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 3 ANALISIS DAN PERANCANGAN"

Copied!
63
0
0

Teks penuh

(1)

BAB 3

ANALISIS DAN PERANCANGAN

3.1 Analisis Mengenai Email Spam dan Akibat yang Ditimbulkannya

Email spam sebenarnya mempunyai banyak pengertian. Email spam bisa berarti email yang dikirimkan dalam jumlah banyak pada banyak orang sekaligus, bisa juga berarti email yang mengandung iklan-iklan tentang suatu produk, atau bisa juga berarti email yang mengandung sesuatu yang tidak diinginkan oleh penerima. Walaupun demikian, batas-batas antara email spam dan email asli kadang-kadang tidak jelas. Banyak email asli yang berasal dari perusahaan terkemuka, juga mengandung isi yang bersifat memperkenalkan produk atau iklan. Lebih jauh lagi, email tersebut juga dikirimkan pada sejumlah besar penerima sekaligus.

Berdasarkan pengamatan atas beberapa pengertian, batasan mengenai email spam yang cukup tepat adalah batasan menurut Mail Abuse Prevention System (MAPS) www.mail-abuse.org. Menurut MAPS sebuah email atau pesan disebut spam jika :

1. Pesan tidak ada hubungannya dengan identitas penerima karena pesan tersebut bisa berlaku untuk semua calon penerima yang lain.

2. Penerima belum memberikan ijin secara sengaja, tegas dan dapat dibatalkan pada pesan tersebut untuk dikirim.

3. Pengiriman dan penerimaan pesan tersebut hanya memberikan keuntungan lebih pada pengirimnya dibanding penerimanya (tidak seimbang).

Berdasarkan batasan-batasan diatas, sebuah email yang dikirimkan kepada sejumlah besar pengirim dan mengandung pesan yang berlaku bagi semua orang

(2)

bukanlah spam jika dan hanya jika penerima telah memintanya atau telah menyatakan bersedia untuk menerimanya. Sebagai contoh email yang bukan spam antara lain, email yang diterima user akibat berlangganan pada sebuah mailing list, dan email yang dikirimkan oleh perusahaan dimana user telah mengisi form berlangganan newsletter (surat edaran) untuk perusahaan itu.

Banyak alasan yang menyebabkan beberapa pihak terus menerus mengirimkan email spam. Alasan yang paling utama tentu saja untuk menjangkau banyak calon konsumen sekaligus, dan berharap konsumen akan tertarik pada produk mereka. Walaupun banyak yang tidak merespon terhadap spam yang diterimanya, tetap saja ada user yang tertarik dan membeli produk yang ditawarkan. Berdasarkan penelitian yang dilakukan Forrester, 9 dari 10 responden menerima spam, dan 23 persennya membaca dan meresponnya. Penelitian lebih lanjut yang dilakukan Forrester pada tahun 2004, dengan menanyakan 6000 orang di 6 negara (Brasil, Kanada, Perancis, Jerman, Inggris, dan AS), didapat hasil bahwa 27 persen telah membeli software yang diiklankan oleh spam. Produk lain yang juga sering dibeli antara lain pakaian dan perhiasan (24 persen), perjalanan wisata (20 persen), keuangan (12 persen), materi untuk dewasa (10 persen), obat dan bahan kimia (13 persen), dan penawaran kesempatan bisnis (11 persen). Dari penelitian ini, dapat diambil kesimpulan bahwa spam dapat terus dikirimkan karena ada saja yang merespon dan membeli produk yang ditawarkan, sehingga pihak pengirim spam terus mendapatkan keuntungan.

(3)

Gambar 3.1

Grafik dari berbagai situs yang aksesnya terus meningkat sejak alamatnya diiklankan dalam spam.

(http://www.xtdnet.nl/paul/spam/graphs/)

Alasan lain yang sangat mendukung pengiriman spam adalah biaya yang sangat murah untuk mengirimkan email. Struktur pengiriman email dalam lingkungan Internet yang bersifat ”push email” menyebabkan biaya dan beban untuk sebuah transaksi email lebih berada pada sisi penerima. Pengirim spam tidak perlu menyediakan disk space untuk menyimpan email yang dikirim, karena email disimpan di sisi penerima. Pengirim spam hanya perlu membayar biaya koneksi untuk mengirimkan banyak email ke berbagai mail server. Misalkan biaya koneksi internet adalah Rp 5.000 / jam, dan dalam waktu 1 menit, dapat dikirimkan 1.000 email spam, berarti biaya yang dibutuhkan untuk mengirimkan spam pada satu penerima adalah Rp 0,0833. Bila dibandingkan dengan surat edaran biasa, tentu saja biayanya akan berkali-kali lebih murah dan keuntungan pun akan jauh lebih besar.

(4)

Jumlah email spam yang beredar selalu meningkat dari tahun ke tahun. Berdasarkan penelitian yang dilakukan CipherTrust (http://www.ciphertrust.com), pada tahun 2002, jumlah spam yang beredar hanya 10 persen dari seluruh email yang beredar. Tahun berikutnya, jumlah spam yang beredar menjadi 60 persen dari seluruh email yang beredar. Kemudian, menurut pengamatan Paul Wouters (http://www.xtdnet.nl/paul/spam/) , jumlah spam yang diterimanya pada tahun 2003 adalah 35 spam per hari, sedangkan pada tahun 2004 jumlah yang diterimanya menjadi 355 spam per hari.

Gambar 3.2

Pengamatan jumlah spam per tahun

(http://www.xtdnet.nl/paul/spam/graphs/yearly.png)

Jumlah email spam yang kian meningkat membawa berbagai akibat yang merugikan. Akibat yang utama adalah pemborosan disk space, terutama pada mail server. Dari survei terhadap beberapa pihak, mail server yang mempunyai 31 user (rata-rata), dalam setiap hari bila setiap user menerima 300 email spam, dan satu email spam

(5)

berukuran 3 KiloBytes (rata-rata), maka dalam satu hari mail server harus menyimpan email spam sebesar 27900 KB atau 28 MB. Hanya dalam waktu 1 bulan lebih, spam yang disimpan akan mencapai 1 GB.

Akibat merugikan lainnya adalah pemborosan bandwidth. Semakin banyak email spam yang diterima, berarti semakin banyak transfer data (traffic) antara client dengan mail server. Banyaknya transfer data tentu akan menghabiskan bandwidth dalam jumlah signifikan. Kinerja jaringan tentu saja akan terpengaruh dan menjadi kurang efisien. Menerima email spam juga mengakibatkan pemborosan waktu, biaya dan mengurangi produktivitas seseorang. Seseorang yang menerima email spam tentu akan menghabiskan waktu untuk memilah-milah dan menghapus email spam tersebut. Terlebih lagi, seseorang yang memeriksa email nya dengan protokol POP3 harus mendownload semua emailnya terlebih dahulu, baru menghapusnya. Waktu yang dihabiskan untuk proses ini tidaklah sedikit. Berdasarkan pengalaman pribadi penulis, setiap hari penulis mendapatkan kira-kira 30 email, email-email tersebut akan dibaca menggunakan protokol POP3 dan koneksi internet dial-up. Untuk men-download 30 email tersebut, kira-kira menghabiskan waktu selama 5 menit. Tetapi dari 30 email yang diterima, hanya 2 yang merupakan email asli, sisanya adalah spam. Ini berarti setiap hari penulis memboroskan waktu 4 menit lebih hanya untuk men-download dan menghapus spam, dibandingkan dengan waktu kurang dari 1 menit untuk men-download dan membaca email asli. Pemborosan waktu dan produktivitas seseorang tentu saja akan berdampak pada pemborosan biaya. Berdasarkan penelitian yang dilakukan Ferris Research pada bulan Januari 2003 (http:// www.ferris.com/url/spam.html), selama tahun 2002, spam menghabiskan biaya sebesar $8,9 milyar. Biaya itu terdiri dari IT resources (44 persen), produktivitas karyawan (39 persen) dan help-desk resources (17 persen).

(6)

3.2 Analisis Tahap-tahap Pengiriman Email Spam

Pada waktu spammer akan mengirimkan email spam, ia biasanya akan melakukan tindakan-tindakan yang dapat dikelompokkan menjadi beberapa tahap. Tahap yang pertama adalah tahap pengumpulan alamat email. Setelah alamat email selesai dikumpulkan, tahap berikutnya adalah pembentukan email spam. Tahap ini menentukan berisi tentang apakah email spam tersebut. Setelah email selesai dibentuk, tahap berikutnya adalah mengirimkan email spam tersebut pada sebuah mail server. Setelah pengiriman biasanya diperoleh alamat-alamat yang aktif dan yang tidak aktif, sehingga ada tahap tambahan yaitu tahap verifikasi alamat email.

3.2.1 Pengumpulan Alamat Email (Address Harvesting)

Tahap pertama yang dilakukan spammer untuk mengirimkan email spam adalah mendapatkan dan mengumpulkan daftar alamat-alamat email yang akan dikirimi spam. Untuk mendapatkan response rate yang besar, maka jumlah alamat email yang dikumpulkan harus sangat banyak.

Berdasarkan uji coba yang dilakukan penulis, salah satu sumber pengumpulan alamat email adalah dari halaman web yang mengandung alamat email. Uji coba yang dilakukan adalah dengan membuat suatu alamat email baru ([email protected]), lalu alamat tersebut diposting ke halaman-halaman web dan blog. Dalam waktu 1 minggu setelah diposting, email itu telah mendapatkan email spam sejumlah 4 buah. Kesimpulan dari percobaan ini adalah spammer menggunakan suatu software khusus untuk mencari sejumlah kata atau string yang diduga adalah alamat email (sesuatu@sesuatu) dari sejumlah besar halaman web yang ada di internet. Kata-kata yang memenuhi syarat sebagai alamat email akan dikumpulkan dan dijadikan calon penerima spam. Hal ini

(7)

juga didukung oleh penelitian dari Center for Democracy & Technology, tahun 2002 (http://www.cdt.org/speech/spam/030319spamreport.shtml ). Hasil dari penelitian tersebut adalah data bahwa 97 persen dari spam yang mereka terima berasal dari alamat email yang mereka posting di halaman Web. Sisanya spam yang mereka terima berasal dari alamat email yang diposting di USENET newsgroup, dari alamat yang diposting di discussion board, dari alamat yang digunakan untuk berhenti berlangganan newsletter, dari alamat yang diduga diperjualbelikan, dan dari alamat yang digunakan untuk mendaftar nama domain.

Gambar 3.3

Diagram jumlah email yang diterima berdasarkan tempat posting (http://www.cdt.org/speech/spam/figure1.gif)

8609 82 25

15

1 110

Posted on the Public Web Posted on the USENET Newsgroup Web services : Emaill received after opted-out Web services : unapproved

sharing/selling of email address Web services : Email address was used on Email address was used to register

(8)

Cara lain yang diperkirakan dapat digunakan oleh para spammer adalah dengan menjadi anggota sebuah mailing list, lalu melihat daftar alamat email anggota-anggota lainnya untuk dimasukkan ke dalam daftar penerima spam. Mailing list dengan anggota yang besar ( lebih dari 10.000 anggota) menjadi sasaran utama para spammer.

Cara lain yang juga umum dilakukan untuk mendapatkan alamat email adalah dengan melakuan Dictionary Attack, yaitu mencoba menebak suatu kombinasi huruf dan angka untuk menghasilkan suatu alamat email. Dictionary Attack biasa dilakukan pada saat transaksi email dengan mail server, dengan cara memberikan perintah RCPT TO: dengan argumen berupa alamat hasil penebakan, secara berulang-ulang.

Berdasarkan penelitian yang dilakukan oleh Blue Security (http://www.bluesecurity.com/the_blue_zone/2005/04/p2p_exploited_t.html), spammer telah memanfaatkan cara baru untuk mengumpulkan alamat email, yaitu dengan memanfaatkan jaringan P2P (Peer to Peer). Penelitian itu telah menemukan beratus-ratus kejadian dimana file-file yang mengandung alamat email dapat diakses pada jaringan P2P. Bila file-file itu terlihat oleh spammer, otomatis alamat email tersebut akan diambil.

3.2.2 Pembentukan Email Spam

Setelah alamat-alamat email untuk dikirimi spam selesai dikumpulkan, maka selanjutnya spammer akan membentuk isi dari email spam tersebut. Dengan mengamati salah satu contoh email spam, dapat dilihat bahwa identitas pengirim yang terdapat pada email spam merupakan identitas palsu. Identitas palsu ini digunakan agar komplain atau keluhan dari pihak yang menerima spam tidak dapat dilakukan. Identitas palsu ini juga

(9)

digunakan untuk membuat penerima spam tertarik membaca karena mengira email yang mereka terima berasal dari perusahaan terkemuka.

Isi dari email spam sebenarnya bermacam-macam tergantung dengan apa yang ingin dijual. Tetapi berdasarkan pengamatan atas email spam yang selama ini diterima, isi email spam secara garis besar adalah mengenai obat-obatan dan kesehatan, kesempatan bisnis atau investasi, perhiasan, serta software.

Dalam membuat isi email spam, spammer biasa menuliskan kata-kata dalam email-nya dengan ejaan yang aneh dan tidak umum. Ini dilakukan dengan tujuan untuk menembus pemeriksaan email berdasarkan isi (content-based spam filtering). Content-based spam filtering biasa memeriksa keberadaan suatu kata agar suatu email dapat diidentifikasi sebagai spam. Dengan ejaan yang aneh, kata tersebut menjadi tidak dikenali oleh program tetapi tetap dapat dimengerti oleh manusia.

Cara lain yang terlihat sering digunakan adalah mengirimkan isi pesan dalam bentuk gambar sebagai attachment email. Cara ini juga ditujukan untuk menanggulangi content-based spam filtering.Dengan cara ini teknik menyaring spam berdasarkan isi tidak bisa bekerja dengan efektif karena tidak ada kata-kata dalam bentuk teks dan email spam tersebut tidak akan tersaring.

Isi dari email spam juga terlihat banyak mengandung kata-kata yang aneh dan bila dibaca sama sekali tidak mengandung arti apa-apa. Ini sebenarnya merupakan sebuah cara untuk menembus penyaringan spam yang menggunakan Bayesian filtering, sebuah teknik untuk menyaring spam berdasarkan perbandingan peluang antara kata-kata yang umum terdapat dalam spam dan kata-kata-kata-kata yang jarang terdapat dalam spam. Kata-kata yang dimasukkan secara acak dalam email spam ini disebut dengan spam poetry. Dengan memasukkan kata-kata secara acak dalam email spam, teknik Bayesian

(10)

filtering akan menghitung perbandingan yang salah dan menganggap bahwa email tersebut merupakan email biasa dan meloloskannya begitu saja.

Dari pengamatan yang dilakukan, bagian yang selalu ada dalam setiap email spam adalah hyperlink menuju halaman web yang berisi mengenai keterangan produk dan bagaimana cara membelinya. Bagian inilah yang paling diharapkan oleh para spammer untuk diklik oleh penerima email spam.

3.2.3 Pengiriman Email Spam

Pada awalnya diketahui bahwa spammer mengirimkan spam dari ISP tempat ia berlangganan, tetapi seiring dengan banyaknya keluhan tentang spam, ISP yang mengetahui kalau pelanggannya mengirimkan spam akan langsung menutup akses bagi pelanggan tersebut. Oleh karena itu, spammer mulai menggunakan komputer orang lain untuk mengirimkan email spam. Bagi spammer, menggunakan komputer orang lain untuk mengirimkan spam menghasilkan banyak keuntungan seperti, dapat menyembunyikan jejak, dapat menggunakan sumber daya dan hardware orang lain untuk mengirimkan email, dan dapat menghindar dari pemeriksaan pihak yang berwajib.

Pada tahun 1990-an, penggunaan komputer orang lain oleh spammer dilakukan dengan memanfaatkan mail server yang bersifat open relay. Open relay artinya adalah dapat menerima email dari siapa saja dan mengirimkan email ke siapa saja. Dengan memanfaatkan mail server yang open relay, spammer dapat mengirimkan banyak sekali email spam dengan memanfaatkan sumber daya server tersebut. Data dari http://www.ordb.org/statistics/relaycount/ menunjukkan bahwa selama tahun 2005 kurang lebih ada 225.000 open relay yang ditemukan.

(11)

Selain menggunakan open relay, spammer juga memanfaatkan server yang menawarkan layanan open proxy. Proxy merupakan layanan yang berfungsi sebagai perantara antara client dan server yang akan melakukan komunikasi. Jadi client yang ingin melakukan komunikasi dengan server akan membuat koneksi dengan proxy, kemudian proxy akan membuat koneksi dengan server. Data yang dikirimkan dari client ke server dan sebaliknya akan melewati proxy terlebih dahulu. Proxy server yang bersifat menerima koneksi dari siapa saja dan meneruskan koneksi ke siapa saja tanpa otentikasi disebut dengan open proxy. Spammer menggunakan open proxy untuk membuat koneksi dengan mail server tertentu lalu mengirimkan spam. Dengan cara ini, spammer dapat mennyembunyikan jejaknya dengan mudah karena yang tercatat melakukan koneksi dengan mail server adalah proxy.

Spammer juga menggunakan cara yang tergolong jahat, yaitu dengan mengirimkan virus untuk mengambil alih komputer yang terinfeksi dan memanfaatkannya sebagai alat pengirim spam. Sebagian besar virus yang menginfeksi komputer dengan sistem operasi Microsoft Windows, seperti Sobig dan Mimail, termasuk dalam kategori spammer virus, yaitu virus yang dirancang khusus untuk menjadikan komputer yang terinfeksi menjadi alat pengirim spam. Selain itu, komputer yang terinfeksi virus juga sering dimanfaatkan untuk melakukan Distributed Denial Of Service (DDoS) pada DNS Blacklist (DNSBL), dan sumber-sumber anti spam lainnya. DNSBL merupakan suatu server yang dirancang untuk mengumpulkan dan menyebarkan daftar-daftar alamat komputer yang sudah terbukti melakukan spam atau membantu dalam pengiriman spam.

(12)

Gambar 3.4

Pengiriman spam melalui komputer bervirus (http://en.wikipedia.org/wiki/Image:Circle-of-spam.png)

Cara lain yang umum sering terlihat digunakan oleh spammer adalah dengan memanfaatkan layanan webmail yang bersifat gratis, seperti Yahoo! atau Hotmail. Karena banyaknya email yang akan dikirim, spammer membutuhkan banyak account. Account itu dibuat secara menggunakan program yang dirancang khusus untuk membuat banyak sekali account sekaligus pada suatu layanan webmail. Setelah mendapatkan account dalam jumlah besar, spammer akan mengirimkan email spamnya menggunakan account tadi. Hal ini cenderung merugikan layanan webmail karena jumlah account semakin lama semakin membengkak, dan menghabiskan sumber daya server.

3.2.4 Verifikasi Alamat Email

Alamat-alamat email yang dikumpulkan dan dikirimi spam tidak semuanya berhasil, ada alamat yang tidak aktif, ada yang sudah tidak valid dan sebagainya. Oleh karena itu, spammer membutuhkan suatu cara untuk memverifikasi kalau sebuah alamat

(13)

itu valid dan masih aktif, agar pengiriman tidak dilakukan sia-sia. Beberapa cara-cara yang terlihat sering digunakan, antara lain :

1. Menggunakan header khusus dalam email yang dikirim agar dapat memberikan konfirmasi bila email sudah dibaca. Header itu berupa : Return-Receipt-To: <alamat-email> yang mengirimkan konfirmasi pengiriman, dan X-Confirm-Reading-To: <alamat-email> yang mengirimkan konfirmasi pembacaan. Email client yang menerima email dengan header ini akan otomatis mengirimkan receipt, bila user sudah membacanya. Spammer yang menerima receipt ini akan langsung mengetahui kalau alamat email tersebut aktif.

2. Menawarkan user untuk mengunjungi situs tertentu untuk menghilangkan emailnya dari daftar spam. Dari contoh email spam yang dipelajari, biasanya dalam email spam tersebut terdapat link berisi keterangan untuk unsubscribe, atau untuk berhenti menerima email. Hal ini biasanya bersifat menipu, user yang berusaha menghilangkan emailnya dari daftar spam malah sebaliknya mengkonfirmasi kalau emailnya aktif, dan akibatnya ia akan semakin banyak dikirimi spam.

3. Meminta user untuk membalas (reply) email spam yang dikirimkan agar user tidak dikirimkan email spam lagi. Dari contoh email spam, biasanya ada isi yang memberi petunjuk untuk membalas email spam tersebut disertai dengan subjek ”UNSUBSCRIBE”. Cara ini juga bersifat membohongi user untuk mengkonfirmasi alamat email mereka.

4. Ada beberapa email spam yang didalamnya mengandung kode HTML, dan didalam kode HTML tersebut terdapat tag <img> (untuk memasukkan

(14)

gambar). Gambar tersebut memiliki hyperlink berisi alamat email user. Hyperlink ini disisipkan alamat email user. Bila email client dari user melakukan decode HTML, gambar itu akan di-download dan spammer dapat mengetahuinya. Spammer cukup memeriksa log dari web servernya untuk mengetahui gambar mana yang di-download untuk menunjukkan alamat email mana yang aktif.

3.3 Cara-cara Pengendalian Email Spam

Ada beberapa cara untuk mengendalikan email spam agar tidak terlalu banyak beredar. Cara untuk mengendalikan spam ini dapat dikelompokkan menjadi beberapa bagian. Yang pertama adalah mengurangi dan mencegah aksi pengumpulan alamat email. Cara yang kedua adalah berusaha menyaring spam berdasarkan isi email (content-based filtering). Cara yang ketiga adalah berusaha mencegah spammer pada saat ia mengirim spam.

Aksi pengumpulan alamat email oleh spammer salah satunya adalah memanfaatkan software khusus yang berfungsi untuk mencari semua kata yang diduga merupakan alamat email. Untuk mencegah agar alamat email tidak diambil oleh spammer, maka cara yang paling utama adalah tidak menulis alamat email di halaman web. Apabila terpaksa harus menulis alamat email di halaman web, maka cara penulisan yang aman adalah tanpa menggunakan tanda ”@”. Tulis email dengan menggunakan cara yang dapat dibaca manusia (human-readable) tetapi sulit untuk dikenali secara software. Sebagai contoh, [email protected] dapat ditulis : alukito at jvadams dot com. Penulisan email juga dapat dilakukan dengan cara menyisipkan karakter-karakter lain, lalu menginformasikan pada pembaca agar mengabaikan karakter-karakter tersebut

(15)

saat dibaca. Selain menghindari menulis alamat email pada halaman web, sebaiknya menulis pada tempat-tempat umum lainnya, seperti discussion board, chatroom, dan newsgroup juga tidak dilakukan. Pencegahan email spam dengan cara ini cukup efektif, walaupun ada saat-saat tertentu dimana alamat email memang harus dituliskan, seperti alamat contact person.

Menyaring isi email spam bertujuan untuk membedakan antara email spam dengan email asli. Prinsip utama content-based filtering adalah untuk mencari adanya sejumlah kata-kata tertentu yang sering terdapat pada email spam. Misalnya jika pada suatu email terdapat kata ”Free” atau ”Viagra”, maka kemungkinan besar email tersebut adalah spam. Masalah utama pada cara ini adalah spammer selalu menggunakan isi email yang berubah-ubah, dan kreatif. Spammer selalu berusaha membuat email-nya tampak seperti email asli, dengan menyisipkan maupun mengurangi kata-kata yang dicurigai. Cara ini juga bisa menimbulkan kejadian dimana email asli yang kebetulan mengandung kata-kata tertentu dianggap email spam. Atas alasan tersebut, penyaringan spam yang hanya berdasarkan isi tidak dianjurkan untuk dipakai. Penyaringan spam berdasarkan isi akan lebih baik jika digabungkan dengan penyaringan lainnya, seperti penyaringan pada saat email dikirim (penyaringan pada tahap mail server).

Penyaringan email spam yang paling utama dapat dilakukan pada saat email tersebut sedang dikirim oleh spammer. Pada saat spammer sedang terhubung dengan mail server, penyaringan dapat dilakukan. Salah satu tindakan penyaringan yang dapat dilakukan adalah mengkonfigurasi mail server agar tidak lagi bersifat open relay. Mail server yang tidak bersifat open relay tidak bisa dimanfaatkan oleh spammer untuk mengirim spam, karena membatasi host-host tertentu saja yang diperbolehkan mengirim email. Penyaringan pada tahap ini juga dapat dilakukan dengan menggunakan daftar

(16)

alamat yang disediakan oleh DNSBL untuk menolak koneksi dari alamat yang sudah terbukti melakukan spam. DNSBL merupakan kumpulan server-server yang mengumpulkan daftar-daftar alamat IP dari komputer yang digunakan oleh para spammer. Data dari sebuah DNSBL (Spamcop.net) menunjukkan bahwa sejumlah 180,121,090 email spam telah disaring selama DNSBL tersebut berjalan (http://www.vamsoft.com/orf/statdetails.asp?cID=15). Ini menunjukkan DNSBL cukup berhasil dalam menyaring spam. Hal yang harus diperhatikan dalam menggunakan DNSBL adalah daftar-daftar yang disediakan oleh DNSBL-DNSBL dikumpulkan sendiri, dan kadang-kadang keputusan untuk memasukkan sebuah alamat ke dalam daftar spam bersifat subjektif. Karena itu, DNSBL yang digunakan sebaiknya yang sudah dikenal oleh berbagai pihak, contohnya : RBL milik http://www.mail-abuse.org/rbl/, atau Spam Cop milik http://spamcop.net/ .

Penyaringan email juga dapat dilakukan dengan menvalidasi dan memeriksa informasi-informasi yang dikirimkan client pada mail server karena email spam pada umumnya mengandung informasi palsu dan dibuat-dibuat. Pemeriksaan informasi itu dapat dilakukan pada saat perintah-perintah SMTP (seperti HELO, MAIL, RCPT) diberikan.

Khusus bagi penyedia layanan webmail, untuk mencegah pendaftaran account secara berlebihan oleh web bot milik spammer, dapat menggunakan teknik captcha. Bila menggunakan teknik ini, user yang ingin mendaftar harus memasukkan huruf atau angka dari suatu gambar yang berisi huruf atau angka dalam bentuk yang aneh dan sulit dibaca, tetapi masih dapat dimengerti oleh manusia. Bentuk-bentuk aneh tersebut dimaksudkan agar web bot yang digunakan spammer tidak dapat mengenali huruf tersebut, bahkan dengan teknik Optical Character Recognizition (OCR) sekalipun.

(17)

Gambar 3.5

Teknik captcha yang digunakan oleh salah satu penyedia layanan webmail (http://www.yahoo.com)

3.3.1 Penyaringan Spam Pada Tingkat Mail server

Pada prinsipnya, pengiriman spam dapat dicegah jika mail server tersebut kuat. Mail server yang kuat dapat membatasi koneksi dan dapat melakukan berbagai teknik pemeriksaan atau penyaringan email pada tingkat mail server. Penyaringan spam pada tingkat mail server dilakukan pada saat email belum disimpan pada mailbox user yang bersangkutan. Penyaringan email spam pada tingkat mail server terdiri dari dua cara.

Cara yang pertama adalah melakukan penyaringan email setelah email tersebut diterima oleh server. Jadi pertama kali spammer akan mengirimkan email spam pada mail server, kemudian mail server akan menyimpan email spam tersebut. Sebelum mail server mengirimkan email tersebut ke mailbox user yang bersangkutan, mail server akan memeriksa email tersebut apakah berupa spam atau tidak. Jika ternyata dikenali email tersebut adalah spam, maka mail server dapat memutuskan untuk menghapus email tersebut, dan tidak mengirimkannya pada mailbox user.

(18)

Cara yang kedua adalah menghentikan pengiriman spam pada saat proses pengiriman email sedang berlangsung, yaitu pada saat terjadi dialog SMTP antara client dan server. Jadi pada saat spammer sedang melakukan koneksi dengan mail server, mail server mencoba memeriksa beberapa informasi tentang spammer ini. Jika pada proses ini terbukti bahwa kemungkinan besar email yang sedang dikirim adalah spam, mail server dapat langsung memberikan perintah reject dan memutuskan koneksi. Pada cara ini, email spam tidak disimpan dalam server dan tidak akan sampai pada mailbox user.

Cara yang pertama memiliki beberapa kelemahan. Setelah mail server menerima email yang dicurigai sebagai spam, hanya ada beberapa langkah yang bisa diambil :

- Menghapus email dari server kemudian mengirimkan Delivery Status Notification (DSN) pada pengirim untuk memberitahukan bahwa email-nya tidak dapat terkirim. Langkah ini bisa menimbulkan masalah Collateral Spam, yaitu terkirimnya DSN pada seorang user, padahal user tersebut tidak pernah mengirimkan email yang dimaksud oleh DSN tersebut. Hal ini disebabkan karena dalam email spam, informasi pengirim biasanya berupa alamat palsu atau alamat milik orang lain, sehingga orang lain yang tidak terlibat bisa mendapatkan DSN dari mail server.

- Menghapus email dari server, tanpa mengirimkan Delivery Status Notification pada pengirim. Langkah ini juga dapat menimbulkan masalah False Positives, yaitu terhapusnya email asli karena keliru dianggap sebagai spam. Karena tidak ada pengiriman DSN pada pengirim, pengirim akan menganggap emailnya sudah terkirim, sedangkan penerima sama sekali tidak menerima email tersebut. Hal ini dapat menimbulkan masalah, apalagi jika email yang dikirimkan bersifat penting.

(19)

- Memindahkan email spam tersebut pada tempat tertentu, misalnya folder bulk. Tetapi bagi user yang membaca emailnya melalui protokol POP3, hal ini tidak bisa dilakukan. Protokol POP3 akan men-download seluruh email yang tersimpan di server, sehingga pemisahan email ke dalam folder-folder tidak akan berpengaruh apa-apa. Selain itu juga, jarang sekali ada user yang memeriksa folder bulknya secara periodik, sehingga cepat atau lambat, email tersebut akan terhapus dengan sendirinya tanpa sempat diperiksa.

Kelemahan cara yang pertama dapat diatasi oleh cara yang kedua. Dengan mencegah pengiriman pada saat dialog SMTP sedang berlangsung, berarti mail server belum menyimpan email tersebut dan tentu saja tidak bertanggung jawab untuk mengirimkannya. Tanggung jawab untuk mengirimkan ulang berada pada client atau mail server yang melakukan koneksi pada mail server penerima ini. Seandainya email itu ternyata adalah email asli, pengirim email akan tetap tahu kalau emailnya tidak bisa terkirim, walaupun mail server tidak mengirimkan DSN, karena emailnya langsung ditolak saat itu juga. Pengirim tentu dapat memutuskan untuk mengirim ulang atau membatalkan pengiriman email tersebut.

Keuntungan lain yang didapat dengan cara kedua antara lain :

- Dapat menghemat bandwidth dan cpu processing karena pencegatan dilakukan pada saat dialog SMTP sedang berlangsung, dimana email belum diproses. - Dapat menghemat hard disk space, karena email belum disimpan di harddisk

(20)

- Dapat melakukan teknik spam filtering tambahan yang tidak dapat digunakan pada cara pertama, seperti SMTP Transaction Delay.

3.3.2 Pengaruh Peran Mail Server Terhadap Penyaringan Spam

Sebuah mail server biasanya mempunyai 2 peran, yaitu sebagai Outgoing SMTP Server, dan sebagai Mail Exchanger (MX). Sebagai Outgoing SMTP Server, sebuah mail server mempunyai fungsi untuk mengirimkan email kemanapun tujuan email tersebut. Sebuah perusahaan atau organisasi biasanya mempunyai satu atau lebih Outgoing SMTP Server yang digunakan oleh para karyawan untuk mengirim email, baik ke dalam maupun ke luar domain perusahaan tersebut. Karena sifatnya yang dapat mengirim ke mana saja, maka Outgoing SMTP Server ini rentan terhadap penyalahgunaan, termasuk pengiriman spam. Dengan kata lain, Outgoing SMTP Server sering dimanfaatkan sebagai alat pengirim spam.

Sebagai Mail Exchanger (MX), sebuah mail server berfungsi sebagai penerima email untuk suatu domain tertentu. Jadi semua email dari luar jaringan yang ditujukan pada domain tersebut harus menghubungi MX yang alamatnya telah didaftarkan pada DNS Server. MX ini mempunyai sifat menerima semua email yang berasal dari luar jaringan asalkan email tersebut ditujukan untuk domain yang ditangani MX tersebut. Dengan kata lain, sebuah MX tidak akan menerima email yang dikirimkan untuk domain lain selain yang ditangani oleh MX tersebut. Karena sifatnya yang seperti itu, sebuah MX seringkali menjadi sasaran pengiriman spam. Spammer dapat dengan mudah membuat koneksi pada MX secara langsung untuk mengirimkan email spam pada sebagian atau semua user yang terdaftar pada domain yang ditangani MX tersebut. Dengan kata lain, MX sering dimanfaatkan sebagai alat penerima spam.

(21)

3.3.3. Teknik Penyaringan Spam untuk Outgoing SMTP Server

Masalah yang dialami oleh Outgoing SMTP Server dapat diatasi dengan cara membatasi akses terhadap Outgoing SMTP Server, hanya komputer-komputer yang berada pada jaringan lokal saja yang diperbolehkan mengirim email. Pembatasan akses ini dapat dilakukan dengan menggunakan firewall ataupun menggunakan fasilitas dari mail server sendiri. Dengan kata lain, penyaringan spam untuk Outgoing SMTP Server lebih merupakan usaha pencegahan akses yang tidak diinginkan terhadap mail server. Pembatasan akses pada mail server seperti ini sudah dapat menanggulangi semua pengiriman spam, atau seandainya masih terdapat email spam, pengirimnya dapat mudah dilacak, karena berasal dari jaringan lokal sendiri.

Masalah baru dapat muncul apabila seseorang ingin mengakses mail server dari luar jaringan, misalnya karyawan yang ingin mengirim email menggunakan mail server perusahaan dari rumah. Mail server yang ingin memberikan akses pada client seperti itu harus mencatat IP address yang akan digunakan untuk diberikan akses, tetapi bila karyawan menggunakan IP address dinamis, seperti koneksi dial-up, pencatatan IP address satu persatu menjadi tidak mungkin dilakukan.

Salah satu teknik yang dapat digunakan untuk mengatasi masalah tersebut adalah teknik POP-before-SMTP. Cara kerjanya adalah sebagai berikut, client yang ingin mengirimkan email pada mail server harus menghubungi POP3 server terlebih dahulu. POP3 server akan melakukan otentikasi dan mencatat IP address dari client untuk diperbolehkan mengakses mail server. IP address client itu dapat mengakses server selama waktu tertentu, misalnya 1 jam. Setelah waktu tersebut lewat, client yang ingin mengirim email harus menghubungi POP3 Server lagi. Dengan kata lain, sebelum client

(22)

ingin mengirimkan email, client hanya perlu memeriksa email pada mailboxnya, tidak perlu menggunakan software khusus lagi untuk melakukan otentikasi.

3.3.4 Teknik Penyaringan Spam untuk Mail Exchanger (MX)

Untuk mengatasi masalah-masalah spam pada MX, ada beberapa teknik yang dapat digunakan. Teknik-teknik untuk mengenali spam ini dilakukan pada saat terjadi transaksi email, yaitu pada saat dialog SMTP sedang berlangsung antara client dan server. Teknik-teknik ini antara lain :

• SMTP Transaction Delays

Teknik ini menggunakan selang waktu tertentu untuk memperlambat spammer dalam mengirimkan perintah-perintah SMTP pada saat terjadi transaksi email. Kebanyakan spam dan email palsu lainnya dikirimkan secara langsung pada mail server dengan menggunakan suatu software khusus yang dioptimalkan untuk mengirimkan email dalam jumlah sangat banyak dalam waktu singkat. Software seperti itu biasa disebut dengan ratware atau spamware. Agar bisa mengirim dengan cepat, spamware biasanya mengirim perintah dengan terburu-buru dan mencoba mengirim beberapa perintah SMTP sekaligus tanpa menunggu balasan dari server. Penyimpangan seperti itu biasa disebut dengan synchronization error. Dengan memanfaatkan sifat seperti itu, mail server dapat mencegah spam dengan cara memberikan selang waktu (delay) pada setiap reply yang diberikan. Dengan demikian, bila terjadi synchronization error, mail server dapat langsung memutuskan koneksi dan mencegah spam dikirimkan. Selang waktu yang paling tepat untuk ini adalah 20 detik. (Sletness, Tor et al, 2004). Menurut RFC 2821,

(23)

client harus menunggu beberapa menit untuk setiap balasan SMTP. Masalahnya adalah bila server melakukan pemrosesan yang memakan waktu seperti Sender Callout Verification, selang waktu lebih dari 20 detik dapat menyebabkan client membatalkan pengiriman.

Keuntungan menggunakan teknik ini adalah :

o Dapat menolak sebagian besar email spam, karena memanfaatkan sifat yang dimiliki oleh spamware.

o Dapat dikombinasikan dengan teknik lain, sehingga membuat fasilitas filtering yang lebih dapat diandalkan. Teknik ini biasa digunakan setelah teknik lain telah mengenali spam. Contohnya bila diketahui bahwa IP address client termasuk dalam DNS Blacklist, daripada langsung memutuskan koneksi, lebih baik melakukan SMTP Transaction Delay agar lebih pasti dalam mengenali spam.

Kerugian menggunakan teknik ini adalah :

o Memperlambat kinerja server, karena banyaknya selang waktu pada setiap perintah yang diterima.

o Bila para spammer sudah beradaptasi dengan teknik ini, dan sudah memperbaiki spamwarenya, teknik ini bisa menjadi kurang efektif. • DNS Check

Informasi mengenai client yang melakukan koneksi ke server dapat diperoleh melalui serangkaian DNS Check. Informasi mengenai client ini dapat berguna untuk menentukan apakah client tersebut akan mengirimkan spam atau tidak. Dua teknik yang termasuk DNS Check antara lain : DNS Blacklist dan DNS Integrity Check.

(24)

DNS Blacklist

Teknik ini menggunakan bantuan beberapa DNSBL untuk mengenali spam. DNSBL merupakan server-server di Internet yang menyediakan daftar-daftar IP address yang selama ini terbukti melakukan spam, dan daftar-daftar IP address yang tidak mungkin mengirimkan email asli langsung pada server, seperti IP address untuk koneksi dial-up. Contoh DNSBL yang sering digunakan antara lain ”dnsbl.sorbs.net” milik Sorbs.net, "l1.spews.dnsbl.sorbs.net" milik SPEWS, dan "sbl-xbl.spamhaus.org" milik SpamHaus. Mail server yang ingin menggunakan DNS Blacklist melakukan reverse DNS lookup pada IP address client yang digabungkan dengan alamat DNSBL . Bila IP address tersebut dapat di-reverse lookup berarti IP address tersebut termasuk dalam IP address yang dilarang mengirim email (blacklisted). Sebagai contoh, bila IP address 61.5.12.3 akan diperiksa pada DNSBL dnsbl.sorbs.net, maka mail server akan melakukan reverse DNS lookup pada 3.12.5.61.dnsbl.sorbs.net. Apabila DNSBL memberikan reply berupa private IP 127.0.0.* berarti IP address tersebut termasuk blacklisted, sedangkan bila diberikan reply bahwa alamat tak dapat di-resolve, berarti IP address tersebut tidak termasuk blacklist. Agar lebih reliabel dalam mengambil keputusan, sebuah mail server harus memeriksa sebuah IP address dengan lebih dari satu DNSBL .

Keuntungan menggunakan teknik ini antara lain :

o Spam dapat dikenali dengan cepat tanpa melakukan pemrosesan atau pemeriksaan yang rumit.

(25)

o Banyak DNSBL yang tersedia di internet sehingga membantu kepastian pengenalan spam.

Kerugian menggunakan teknik ini antara lain :

o Tidak semua DNSBL yang dipakai memberikan informasi yang seratus persen akurat. Akibatnya mungkin terjadi pihak yang sebenarnya tidak bersalah menjadi tidak dapat mengirimkan email sama sekali akibat dimasukkan dalam daftar blacklist. Solusi untuk mengatasi ini adalah menggunakan DNSBL lebih dari satu, dan menggunakan DNSBL yang terkenal dan sudah terbukti akurat.

o Bila DNSBL tidak bisa diakses, maka perlindungan terhadap spam menjadi hilang sama sekali.

o Pemeriksaan menggunakan DNS kadang-kadang memakan waktu yang cukup lama, terutama bila server sedang sibuk

DNS Integrity Check

DNS Integrity Check melakukan pemeriksaan terhadap suatu IP address untuk memastikan informasi DNS untuk IP address tersebut adalah valid. Pertama kali, mail server akan melakukan reverse lookup terhadap IP address client, menghasilkan suatu nama. Kemudian mail server akan melakukan forward lookup terhadap nama tersebut, menghasilkan kumpulan IP address. IP address client akan dibandingkan pada kumpulan IP address tersebut. Jika IP address client termasuk dalam kumpulan IP address itu, informasi DNS untuk client tersebut adalah valid. Sebaliknya, jika IP address client tidak termasuk dalam kumpulan IP address itu, informasi DNS untuk client tersebut tidak valid.

(26)

Keuntungan menggunakan teknik ini :

o Dapat menyaring sebagian besar spam terutama yang berasal dari host yang tidak mempunyai informasi DNS. Bila mail server berperan sebagai Mail Exchanger, maka host yang melakukan koneksi haruslah mail server lain, yang pasti mempunyai informasi DNS.

Kerugian menggunakan teknik ini :

o Mail server lain kadang-kadang mempunyai informasi DNS yang sudah tidak valid lagi, atau tidak dikonfigurasi dengan benar. Dengan teknik ini, email yang berasal dari mail server seperti itu, walaupun asli, tetap akan dikenali sebagai spam. Solusi untuk ini adalah tidak menolak email berdasarkan informasi DNS semata, tetapi dijadikan salah satu indikator spam yang nanti dapat diverifikasi ulang menggunakan teknik-teknik lain.

o Sangat bergantung pada informasi dari DNS server sehingga pemeriksaan tidak dapat dilakukan jika DNS server tidak bisa diakses.

• SMTP Check

Dalam dialog SMTP yang sedang terjadi, mail server dapat melakukan beberapa pemeriksaan pada perintah dan argumen yang diberikan oleh client. Pemeriksaan ini terdiri dari antara lain, pemeriksaan HELO atau EHLO, pemeriksaan alamat pengirim, dan pemeriksaan alamat penerima. Pengambilan keputusan untuk menolak dapat langsung dilakukan pada tahap ini, tetapi kode reply untuk menolak sebaiknya dikirimkan setelah client

(27)

mengirimkan perintah RCPT TO: . Hal ini dilakukan dengan alasan bahwa spamware biasanya terus mengirimkan perintah sampai perintah RCPT TO: dikirimkan, walaupun pada perintah-perintah sebelumnya mail server telah memberikan reply penolakan.

HELO/EHLO Check

RFC 2821 mengatakan bahwa argumen pada perintah HELO atau EHLO harus berupa FQDN (Fully Qualified Domain Name), atau IP address dalam kurung siku. Spamware biasanya memberikan informasi palsu untuk menutupi identitas host tempat ia mengirim. Informasi palsu itu biasanya berupa :

ƒ IP address acak, atau bahkan IP address mail server. ƒ Nama domain dari mail server.

ƒ Nama domain pihak lain, seperti yahoo.com atau hotmail.com ƒ Nama domain yang tidak ada, atau tidak terdaftar.

ƒ Tidak ada nama domain sama sekali

Mengetahui sifat-sifat spamware yang seperti itu, mail server dapat melakukan pemeriksaan langsung terhadap sintaks argumen perintah HELO/EHLO. Bila argumen tersebut tidak sesuai dengan ketentuan RFC 2821, mail server dapat memutuskan untuk menolak email tersebut.

Bila sintaks argumen perintah HELO/EHLO sudah memenuhi syarat, mail server dapat melakukan pemeriksaan lanjutan berupa pemeriksaan DNS terhadap nama yang diberikan. Pemeriksaan dapat dilakukan dengan cara melakukan forward lookup pada nama yang diberikan, lalu mencocokkan hasilnya dengan IP address client, atau dengan cara melakukan reverse

(28)

lookup pada IP address client lalu mencocokkan hasilnya dengan nama yang diberikan. Bila salah satu dari cara tersebut memberikan hasil positif, berarti nama yang diberikan client adalah valid.

Keuntungan dari teknik ini :

o Untuk spam dengan informasi domain yang tidak valid, pemeriksaan sintaks sudah cukup untuk meyaringnya. Waktu yang dibutuhkan untuk pemeriksaan sintaks sangat singkat.

o Pemeriksaan DNS dapat menyaring semua spam yang mempunyai informasi DNS palsu.

Kerugian dari teknik ini :

o Pemeriksaan sintaks saja kadang tidak cukup detail untuk menyaring spam, sehingga harus bergantung pada pemeriksaan DNS.

o Pemeriksaan DNS sangat bergantung pada informasi dari DNS server sehingga pemeriksaan tidak dapat dilakukan jika DNS server tidak bisa diakses.

Sender Address Check

Mail server dapat melanjutkan pemeriksaan SMTP dengan memeriksa alamat pengirim yang diberikan client (argumen dari perintah MAIL FROM: ). Pemeriksaan ini dapat dilakukan dengan beberapa cara, antara lain :

- Syntax check

Memeriksa sintaks dari alamat pengirim, yaitu harus berupa <local@domain>. Bagian local harus berupa huruf atau angka atau karakter khusus seperti garis bawah ( _ ), dan bagian domain harus berupa FQDN.

(29)

- Simple Validation

Jika alamat merupakan alamat lokal, pemeriksaan dilakukan pada bagian sebelum tanda ”@” (bagian local) apakah merupakan salah satu mailbox user.

Jika alamat merupakan alamat remote (di luar jaringan lokal), pemeriksaan dilakukan dengan melakukan DNS lookup pada bagian setelah tanda ”@” (bagian domain) untuk memastikan domain benar-benar valid.

- Sender Callout Verification

Teknik ini berusaha mengetahui apakah alamat email yang diberikan client benar-benar terdaftar di mail servernya. Setelah mail server mendapatkan alamat pengirim, mail server akan membuat koneksi dengan mail server remote yang disebutkan pada alamat pengirim, kemudian mail server akan berusaha melakukan transaksi seolah-olah seperti pengiriman email biasa, tetapi begitu mail server remote menerima atau menolak perintah RCPT TO, mail server akan memberikan perintah QUIT dan memutuskan koneksi. Dari hasil penerimaan atau penolakan RCPT TO, dapat diketahui apakah alamat email itu benar-benar valid atau tidak.

Keuntungan dari teknik-teknik ini :

o Untuk alamat pengirim yang berasal dari jaringan lokal, simple validation dapat memastikan apakah user benar-benar valid.

(30)

o Untuk alamat pengirim yang berasal dari jaringan luar, Sender Callout Verification dapat memastikan apakah user benar-benar valid. Kerugian dari teknik-teknik ini :

o Sender Callout Verification hanya dapat memeriksa apakah sebuah user valid, tetapi tidak dapat memastikan apakah yang mengirimkan email benar-benar user yang dimaksud.

o Sender Callout Verification dapat menyebabkan Denial of Service (DoS) pada mail server lain. Semakin banyak email spam yang berasal dari salah satu domain tertentu, maka verifikasi alamat yang dilakukan semakin banyak. Pada tingkat tertentu, banyaknya verifikasi ini dapat menghabiskan sumber daya server dan terjadi DoS.

Recipient Address Check

Lebih lanjut, Mail server dapat memeriksa alamat penerima yang diberikan oleh client. Pemeriksaan ini digunakan untuk memastikan bahwa alamat penerima tersebut valid. Pemeriksaan alamat penerima ini penting untuk menjaga agar mail server tidak melakukan collateral spam. Bila mail server menerima email yang tujuannya ternyata tidak valid, berarti mail server bertanggung jawab untuk mengirimkan Delivery Status Notification (DSN) pada pengirim asal. Hal inilah yang menimbulkan collateral spam. Pemeriksaan alamat penerima meliputi antara lain :

- Syntax check

Memeriksa sintaks dari alamat penerima, yaitu harus berupa <local@domain>. Bagian local harus berupa huruf atau angka

(31)

atau karakter khusus seperti garis bawah ( _ ), dan bagian domain harus berupa FQDN.

- Simple Validation

Jika alamat merupakan alamat lokal, pemeriksaan dilakukan pada bagian sebelum tanda ”@” (bagian local) apakah merupakan salah satu mailbox user.

Jika alamat merupakan alamat remote (di luar jaringan lokal), pemeriksaan dilanjutkan dengan pemeriksaan open relay.

- Open relay Prevention

Open relay adalah suatu keadaan dimana mail server menerima email yang dikirimkan oleh siapa saja dan untuk tujuan siapa saja. Dengan kata lain, mail server seperti ini akan menerima email apa saja, baik yang berasal dari atau ditujukan kepada domain sendiri ataupun tidak. Mail server yang bersifat open relay sangat sering dimanfaatkan untuk mengirim spam, karena sifatnya yang terlalu bebas. Mail server yang bersifat open relay biasanya akan dimasukkan ke dalam daftar blacklist DNSBL , sehingga mail server tersebut tak dapat digunakan untuk mengirimkan email. Mail server harus dikonfigurasi untuk mencegah open relay, dengan cara memeriksa alamat pengirim dan penerima sekaligus. Konfigurasi yang benar adalah sebagai berikut :

• Bila alamat penerima atau tujuan adalah domain lokal, terima email tersebut.

(32)

• Bila alamat penerima atau tujuan adalah domain luar atau remote, periksa alamat pengirim. Bila alamat pengirim adalah domain lokal, terima email tersebut, selain itu tolak email.

Keuntungan dari teknik-teknik ini :

o Simple validation dapat memastikan apakah user benar-benar valid, bila mailbox user berada pada server yang sama dengan MX.

o Open relay Prevention dapat mencegah semua email spam yang berusaha memanfaatkan MX untuk mengirim email ke luar domain. Kerugian dari teknik-teknik ini :

o Bila mailbox user berada pada server yang berbeda dengan MX, atau bila MX yang digunakan lebih dari satu, teknik simple validation tidak dapat digunakan untuk memastikan user.

Solusi dari masalah ini adalah dengan melakukan Recipient Callout Verification terhadap mail server yang menyimpan mailbox. Dengan Recipient Callout Verification, alamat user dapat dipastikan dan hal ini dapat dilakukan dengan cepat, karena hanya digunakan pada jaringan lokal sendiri.

3.4 Analisis dan Fitur-fitur Mail Server Umum a. Postfix

Postfix menawarkan beberapa fitur yang dapat membatasi pengiriman email spam. Secara default, Postfix SMTPServer hanya akan menerima email yang berasal

(33)

dari jaringan atau domain lokal, jadi tidak akan menerima mail relay atau forward bulk dari pengirim asing. (http://www.postfix.org/features.html)

Gambar 3.6 Postfix Spam Control (http://www.postfix.org/features.html)

Fitur anti spam yang dimiliki oleh Postfix: 1. Header filtering

Fitur ini akan membatasi apa-apa saja yang diperbolehkan ada pada header pesan. Polanya diaplikasikan kepada keseluruhan header pesan, bahkan jika header pesan terdiri atas banyak baris.

(34)

2. Body filtering

Fitur ini akan membatasi teks-teks apa saja yang diperbolehkan ada di dalam body pesan.

3. Client name/ address restrictions

Fitur ini membatasi client mana yang akan diterima oleh sistem saat menerima koneksi SMTP.

4. Require HELO (EHLO) command

Fitur ini menjabarkan bahwa client harus mengirimkan perintah HELO (EHLO) pada saat awal sesi SMTP.

5. HELO (EHLO) hostname restrictions

Fitur ini akan membatasi hostname client yang akan mengirimkan perintah HELO (EHLO).

6. Require strict RFC 821 - Style envelope addresses

Fitur strict_rfc821_envelopes mengatur toleransi postfix terhadap alamat yang diberikan pada perintah MAIL FROM atau RCPT TO.

7. Sender address restrictions

Fitur ini membatasi alamat pengirim mana yang dapat diterima oleh sistem saat mengirimkan perintah MAIL FROM.

8. Recipient address restrictions

Fitur ini membatasi alamat pengirim mana yang dapat diterima oleh sistem saat mengirimkan perintah RCPT TO.

9. ETRN command restrictions

Fitur ini membatasi domain mana yang dapat dispesifikasikan dengan perintah ETRN dan client mana yang dapat memberikan perintah ETRN.

(35)

10. Additional UCE (Unsolicited commercial Email) control parameters - default_rbl_reply

Reply yang akan diberikan saat permintaan SMTP client di block oleh pembatasan reject_rbl atau reject_rhsbl.

- Permit_mx_backup_networks

Membatasi penggunaan permit_mx_backup fitur relay control ke tujuan yang memiliki MX host primer yang cocok dengan daftar network blocks.

- rbl_reply_maps

Fitur ini menspesifikasikan lookup table dengan RBL reply yang memiliki indeks RBL nama domain.

- relay domains

Fitur ini mengatur perilaku dari check_relay_domain yang dapat muncul sebagai bagian dari daftar alamat penerima yang dibatasi.

- smtpd_sender_login_maps

Fitur ini menspesifikasi pemilik dari alamat MAIL FROM.

b. CommuniGate Pro

CommuniGate Pro merupakan sebuah aplikasi mail server yang dikembangkan oleh CommuniGate Systems. CommuniGate Pro sendiri mendukung protokol SMTP, POP3, dan IMAP. Serta mendukung fitur-fitur lainnya seperti groupware, Webmail, personal Web pages, mailing lists, LDAP directory services, SIP server dan spam/virus protection.

Bila di lihat dari segi keamanan CommuniGate Pro mendukung komunikasi dengan SSL / TLS. Dimana komunikasi tersebut tersedia untuk semua layanan – SMTP,

(36)

POP, IMAP, HTTP, LDAP, ACAP, POPPWD, dan juga 100% mendukung seluruh browsers dan mail clients termasuk Microsoft Outlook, Outlook Express, dan Netscape Messenger.

CommuniGate Pro juga mendukung fitur otentikasi yang aman (APOP / SASL) untuk setiap layanan pengiriman pesan – SMTP (SMTP AUTH), IMAP, POP, LDAP, ACAP, POPPWD. Fitur ini mampu melakukan otentikasi user tanpa perlu mengirimkan password user dalam bentuk clear text.

Mengenai fitur anti-spam, CommuniGate Pro sudah memiliki fitur anti-spam di dalamnya yang berguna untuk melindungi para pengguna dari email spam yang tidak diinginkan. Fitur-fitur yang digunakan yaitu melarang adanya open relay, SMTP AUTH, return-path address verification, DNS Black List, spam traps, banning email berdasarkan header dan body lines, dan filtering email.

Selain itu CommuniGate Pro juga mendukung adanya penggunaan produk third-party untuk meneliti seluruh pesan yang masuk dan keluar dengan virus detection, spam prevention, dan content filtering. CommuniGate Systems bermitra dengan perusahaan anti-virus dan anti-spam untuk membuat bermacam-macan filtering plugins untuk CommuniGate Pro.

c. Exim

Fitur-fitur anti spam yang dimiliki oleh Exim mail server : (http://www.exim.org/eximwiki/SpamFiltering)

1. ACL Related Tricks Fitur ini meliputi:

(37)

- Pemeriksaan informasi alamat pengirim dan keberadaan alamat penerima. - Pemeriksaan lewat daftar blacklist.

2. Exim mail server dapat menggunakan program lain untuk membantu penyaringan email spam, salah satu contohnya adalah Spam Assassin.

3. Selain itu Exim mail server juga dapat menggunakan fitur khusus seperti Gray Listing yang juga dapat membantu dalam penyaringan email spam.

3.5 Perancangan Mail Server

Perancangan mail server ini dimulai dengan merancang class diagram, use case diagram dan statechart diagram. Class diagram akan menjelaskan mengenai class, attribute dan method yang dimiliki oleh mail server serta hubungan antar class-nya. Use case diagram akan menjelaskan mengenai sistem mail server dan aktor-aktor yang terlibat serta hubungan antara sistem dengan aktor-aktor tersebut. Statechart diagram akan menjelaskan state-state yang ada pada mail server dan transisi dari satu state ke state lain.

3.5.1 Perancangan Class diagram

Aplikasi mail server ini memiliki beberapa class. Class utamanya adalah ADAMSGui dan ADAMSNoGui. Class ADAMSGui dan class ADAMSNoGui berfungsi sebagai antarmuka untuk menjalankan sistem dan melakukan konfigurasi. Class SMTPServer berfungsi untuk melayani transaksi penerimaan email dari email client maupun SMTP server lain. Class POP3Server berfungsi melayani transaksi penarikan email dari mailbox user. Class SMTPSender berfungsi untuk melakukan proses pengiriman email, baik domain lokal maupun domain luar, dan juga menangani

(38)

email yang gagal terkirim. Class Logger berfungsi untuk melakukan loging terhadap kinerja mail server ini. Class Configuration berfungsi untuk mengambil nilai yang ada didalam file konfigurasi server. Class AccountManager berfungsi sebagai pengatur account yang dimiliki oleh mail server.

(39)
(40)

Class ADAMSGui

Gambar 3.8 Class ADAMSGui Attribute : smtp ; Objek dari class SMTPServer

pop ; Objek dari class POP3Server smtpSender ; Objek dari class SMTPSender

conf ; Objek dari class Configuration log ; Objek dari class Logger

am ; Objek dari class AccountManager Method :

Keterangan :

Ini merupakan class utama yang akan menampilkan tatap muka user . Tatap muka user ini dapat membantu user dalam melakukan setting mail server, mengatur account mail, termasuk menjalankan dan mematikan mail server.

Class ADAMSNoGui

(41)

Attribute : smtp ; Objek class dari SMTPServer pop ; Objek class dari POP3Server smtpSender ; Objek class dari SMTPSender

am ; Objek class dari AccountManager Method :

Keterangan :

Ini merupakan class utama yang akan menjalankan mail server tanpa tatap muka grafis . User dapat menjalankan dan mematikan mail server serta mengatur account mail lewat class ini.

Class AccountManager

Gambar 3.10 Class AccountManager Attribute : UserID ; Nama account dari user UserPassword ; Password untuk userID

conf ; Objek dari class Configuration

Method : checkAccount () ; Melakukan cek mengenai status account user addAccount() ; Menambah account user

(42)

deleteAccount() ; Menghapus account user updateAccount() ; Untuk mengubah userPassword Keterangan :

Class ini berfungsi untuk mengatur masalah account email, meliputi penambahan user baru, dan pengaturan password

Class Logger

Gambar 3.11 Class Logger Attribute : logFile

Method : openLog() ; Membuka logFile Log() ; Menulis ke logFile closeLog() ; Menutup logFile Keterangan :

Class ini memiliki fungsi menampilkan pesan-pesan yang berhubungan dengan kinerja mail server ke dalam logFile.

(43)

Class SMTPServer

Gambar 3.12 Class SMTPServer

Attribute : ourDomain ; domain mail server QueuePath ; tempat client terkoneksi objMail ; Objek dari class Mail log ; Objek dari class Logger filter ; Objek dari class Filter Method : Start() ; Menjalankan SMTP server Shutdown() ; Mematikan SMTP server Keterangan:

Class ini akan menerima koneksi dan melayani perintah-perintah SMTP dalam pengiriman email yang dilakukan oleh email client ataupun SMTP server lain

(44)

Class POP3Server

Gambar 3.13 Class POP3Server Attribute : userPath ; path untuk direktori user

FileList ; daftar antrian file

am ; Objek dari class AccountManager config ; Objek dari class Configuration fm ; Objek dari class FileManager log ; Objek dari class Logger Method : Start() ; Menjalankan POP3 server

Shutdown() ; Mematikan POP3 server Keterangan:

Class ini akan menerima koneksi dan melayani perintah-perintah POP3 dalam penarikan email dari mailbox user.

(45)

Class SMTPSender

Gambar 3.14 Class SMTPSender Attribute : objMail ; objek email

toDomain ; nama domain tujuan toAddr ; alamat tujuan

toRetry ; domain yang akan dikirim ulang toBounce ; domain yang gagal terkirim config ; Objek dari class Configuration fm ; Objek dari class FileManager log ; Objek dari class Logger md ; Objek dari class MultiDomain objMail ; Objek dari class Mail

mx ; Objek dari class MXLookUp

(46)

sendRemote() ; email dikirim ke SMTP server tujuan sendSMTPData() ; mengirimkan SMTP command handleFailedEmail() ; menangani email yang gagal terkirim bounceMsg() ; menampilkan pesan bila email gagal

terkirim

Start() ; Menjalankan SMTP Sender. Shutdown() ; Mematikan SMTP Sender.

Keterangan :

Class ini digunakan untuk mengirimkan email ke tujuan. Tujuan dapat berupa alamat yang berada pada satu domain, maupun berupa alamat pada domain lain. Class ini juga berguna untuk menangani email yang gagal saat proses pengiriman.

(47)

Class Configuration

Gambar 3.15 Class Configuration Attribute : configDir ; Direktori letak file config.ada cpFile ; Salinan file config

cfFile ; File config

Method : getMSDomain() ; Mendapatkan nama domain getSMTPPort() ; Mendapatkan port SMTP

(48)

getPOP3Port() ; Mendapatkan port POP3 getUserPath() ; Mendapatkan path User getFailPath() ; Mendapatkan path Fail getQueuePath() ; Mendapatkan path Queue getConfigDir() ; Mendapatkan direktori config getLimitDelivery() ; Mendapatkan limitDelivery getDNSBLStat() ; Mendapatkan status dari DNSBL getDNSBLMax() ; Mendapatkan nilai maksimum DNSBL getDNSBLDcn() ; Mendapatkan DNSBL Decision

getDNSIntStat() ; Mendapatkan status dari DNS Integrity getDNSIntDcn() ; Mendapatkan DNS Integrity Decision getDNSBL() ; Mendapatkan DNSBL

getHELOSyntaxStat() ; Mendapatkan status dari HELO Syntax getHELODNSStat() ; Mendapatkan status dari HELO DNS getSCVStat() ; Mendapatkan status dari Sender Callout

Verification

getIPRoute() ; Mendapatkan IP route getDomainRoute() ; Mendapatkan domain route getMDaemonName() ; Mendapatkan nama MDaemon getMDaemonAddr() ; Mendapatkan address MDaemon getLogPath() ; Mendapatkan path Log

getPopBfSmtpStat() ; Mendapatkan status dari POP before SMTP setMSDomain() ; Mengubah MSDomain

(49)

setPOP3Port() ; Mengubah port POP3 setQueuePath() ; Mengubah path Queue setUserPath() ; Mengubah path User setFailPath() ; Mengubah path Fail setLimitDelivery() ; Mengubah limitDelivery setDNSBLStat() ; Mengubah status dari DNSBL setDNSBLMax() ; Mengubah nilai maksimum DNSBL setDNSBLDcn() ; Mengubah DNSBL Decision

setDNSIntStat() ; Mengubah status dari DNS Integrity setDNSIntDcn() ; Mengubah DNS Integrity Decision setMDaemonName() ; Mengubah nama MDaemon setMDaemonAddr() ; Mengubah address MDaemon setLogPath() ; Mengubah path Log

setPopBfSmtpStat() ; Mengubah status dari POP before SMTP Keterangan :

Class ini digunakan untuk menentukan konfigurasi-konfigurasi yang diinginkan terhadap mail server, meliputi nama domain dan daftar alamat yang diperbolehkan. Selain itu juga berguna untuk melakukan setting terhadap direktori-direktori yang berhubungan dengan mail server.

(50)

schedule ; penjadwalan email yang akan dikirim

cld ; tanggal dari email

Method : getDate() ; mendapatkan tanggal email getHeloDomain() ; mendapatkan domain dari email getFrom() ; mendapatkan alamat pengirim email getTo() ; mendapatkan alamat tujuan email getHdrFrom() ; mendapatkan alamat pengirim pada

header

getData() ; mendapatkan data getMsgID() ; mendapatkan ID pesan

getSchedule() ; mendapatkan waktu penjadwalan getDeliveryCount() ; mendapatkan deliveryCount setSchedule() ; menentukan waktu penjadwalan setDeliveryCount() ; menentukan deliveryCount setFrom() ; menentukan alamat asal email setTo() ; menentukan alamat tujuan email addHeader() ; menambahkan header

getHeader() ; mendapatkan header

addFirstHeader() ; menambahkan header paling atas setData() ; menentukan data

resetFrom() ; mengosongkan EnvFrom resetTo() ; mengosongkan EnvTo

(51)

Class Mail

Gambar 3.16 Class Mail

Attribute : helodomain ; nama domain dari client EnvFrom ; alamat pengirim

EnvTo ; alamat tujuan

Header ; bagian header email

Body ; bagian isi email

msgId ; ID dari pesan

deliveryCount ; jumlah pengiriman yang telah dilakukan terhadap satu email

(52)

validAddress ; memeriksa valid tidaknya penulisan

alamat

validDomain ; memeriksa valid tidaknya penulisan domain

Keterangan :

Class ini merupakan objek email, yang terdiri dari header dan isi email. Class ini memiliki method yang berguna untuk menentukan nilai attribute maupun untuk mengambil nilai dari attribute

Class FileManager

Gambar 3.17 Class FileManager Attribute : objMail ; Objek dari class Mail

Method : deleteQueue() ; menghapus antrian file email loadFile() ; membuka isi file

saveTemp() ; menyimpan file sementara saveMailBox() ; menyimpan mailbox fileList() ; mengembalikan daftar file fileVector() ; menampung file

(53)

sortFile() ; mengurutkan file countFile() ; menghitung jumlah file swapFile() ; menukar file

Keterangan :

Class ini digunakan untuk menangani operasi file seperti menyimpan, membuka dan menghapus file

Class Filter

Gambar 3.18 Class Filter

Attribute : al ; Objek dari class AccessList config ; Objek dari class Configuration log ; Objek dari class Logger

Method : checkDNSbl () ; melakukan pemeriksaan atas DNS blacklist

(54)

checkDNSIntegrity() ; melakukan pemeriksaan valid atau

tidaknya IP

checkHELOSyntax() ; memeriksa syntax HELO

checkHELOdns() ; memeriksa DNS dan IP pada saat HELO checkSenderAvail() ; memeriksa valid tidaknya account

pengirim email dari domain lokal.

checkSCV() ; memeriksa valid tidaknya account email

yang berasal luar domain

checkOpenRelay() ; memeriksa nama tujuan domain dengan domain mail server

checkRcptAvail() ; memeriksa valid tidaknya alamat tujuan checkPOPRelay() ; mengetahui IP mana saja yang telah

melakukan otentikasi dengan melakukan

POP.

blockedIP ; memeriksa valid tidaknya format IP. blockedDomain ; memeriksa valid tidaknya format domain. Keterangan:

Class ini berguna dalam menyaring semua email yang akan dikirimkan melalui SMTP server. Class ini akan memberikan tanda kepada mail yang akan membedakan email spam dengan email biasa.

(55)

Class MXLookUP

Gambar 3.19 Class MXLookUp Attribute :

Method : doLookUp() ; melakukan LookUp terhadap domain getServer() ; mendapatkan alamat Mail Exchanger Keterangan :

Class ini digunakan untuk mengetahui alamat Mail Exchanger dari suatu domain.

Class AccessList

Gambar 3.20 Class AccessList Attribute :

Method : createIPRegex() ; membuat regular expression untuk memeriksa IP.

createDomainRegex() ; membuat regular expression untuk memeriksa domain.

(56)

domain.

IpCheck() ; memeriksa format IP.

ipFilter() ; memeriksa format masukan IP dari user. domainFilter() ; memeriksa format masukan domain dari

user

3.5.2 Perancangan Use Case Diagram

(57)

Mail server ini memiliki hubungan 3 aktor, yaitu Administrator, email client, dan mail server lain. Administrator bertugas sebagai user yang dapat mengubah konfigurasi server, mengubah account dan menjalankan atau menghentikan server. Email client berhubungan dengan mail server saat user ingin mengirimkan email (SMTP), email client juga dapat digunakan untuk menarik email yang ada pada mailbox (POP3), selain itu email client juga dapat menghapus email. Mail server berhubungan dengan mail server lain saat client mengirimkan email yang memiliki tujuan domain berbeda dengan mail server. Email tersebut akan melalui spam filter dan validasi email. Mengirim email dan menarik email membutuhkan koneksi terlebih dahulu. Setelah menarik email, email akan disimpan oleh email client.

3.5.3 Perancangan Statechart Diagram

(58)

Setelah ADAMailServer dijalankan, administrator akan memasuki tatap muka ADAMailServer. Administrator dapat melakukan perubahan (penambahan, perubahan, penghapusan) terhadap account. ADAMailServer dapat mengakses ataupun mengubah Config file yang isinya akan digunakan oleh mail server (SMTP dan POP3) saat dijalankan. Selain itu, Administrator dapat menjalankan maupun menghentikan SMTPServer dan POP3Server.

Gambar

Gambar 3.6 Postfix Spam Control  (http://www.postfix.org/features.html)
Gambar 3.7 Class Diagram
Gambar 3.8 Class ADAMSGui  Attribute   :  smtp   ; Objek dari class SMTPServer
Gambar 3.10 Class AccountManager  Attribute   :  UserID  ; Nama account dari user   UserPassword  ;  Password untuk userID
+7

Referensi

Dokumen terkait

Sistem kerja robot pengangkat dan pemindah barang ini tidak hanya menggunakan joystick sebagai pengendali, tetapi ada perangkat lain yang berperan aktif seperti

Dengan diberlakukannya kurikulum baru tersebut mahasiswa FKIP USD wajib mengambil Mata Kuliah Magang yang terdiri dari 3 bagian, yaitu: (1) Magang Manajemen Sekolah, (2)

Secara umum tujuan yang diharapkan dicapai pada modul ini adalah peserta memahami pengembangan sarana kegiatan, sumber, media, dan materi bermain sambil belajar di TK

Berdasarkan basil penelitian dan temuan di lapangan, malca penyimpulan akhir tentang Manajemen Strategi Badan Pengelolaan Keuangan Kabupaten Aceh Tengah Halam Peningkatkan

Tabel 4.12 Program Visi Misi Sekolah dalam Tindakan No Pilihan Frekuensi Presentase Kategori.. 9

Sikap dan cara kerja yang fisiologis ergonomis perlu agar tercapai nilai efisiensi, kearnanan dan kenyamman kerja serta terhindar dari cidera Cidera adalah. salah

Dalam penelitian, penulis menemukan ujaran yang mengandung fungsi ini, seperti : situasi ujaran ini terjadi karena Mitch merasa sahabatnya telah melupakan hal

Dari hasil penelitian dan pembahasan, mengenai pengaruh perputaran modal kerja, perputaran kas dan debt to equity ratio terhadap profitabilitas pada perusahaan asuransi