UNIVERSITAS BINA NUSANTARA Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2005/2006 APLIKASI MAIL SERVER BERBASIS SMTP DAN POP3 DENGAN SPAM FILTERING Andreas Lukito Dedi Liusmawan Andry Satria Kelas 07PDT
/ 0600612663 / 0600619083 / 0600631050 / Kelompok 3
Abstrak Electronic mail (email) merupakan salah satu media komunikasi yang sering digunakan saat ini. Keberadaan mail server yang baik sangat dibutuhkan untuk menunjang kebutuhan komunikasi lewat email. Karena memiliki peranan yang penting, maka mail server harus dapat menyaring email-email yang secara sengaja dikirimkan secara massal kepada user yang tidak berhubungan dan merugikan user tersebut. Emailemail tersebut dinamakan dengan spam. Untuk mengatasi permasalahan spam tersebut salah satu caranya dengan spam filtering. Tujuan penelitian ini ialah merancang aplikasi mail server yang dapat melakukan penyaringan terhadap spam. Metode penelitian dilakukan dengan studi pustaka dan studi lapangan. Studi pustaka dilakukan dengan mengumpulkan basis pengetahuan yang akan digunakan dalam perancangan. Studi lapangan dilakukan untuk mendapatkan data dan informasi mengenai kondisi yang ada dan evaluasi atas perancangan yang dihasilkan. Hasil yang dicapai ialah suatu aplikasi mail server berbasis SMTP dan POP3 yang memiliki fasilitas spam filtering. Simpulan yang didapat ialah mail server dengan spam filtering memberikan keuntungan bagi pengguna email sehingga terbebas dari tumpukan spam pada mailboxnya. Kata kunci: email, spam, mail server, SMTP, POP3, spam filtering.
v
PRAKATA
Segala hormat, puji, dan syukur kepada Tuhan yang Maha Kuasa atas penyertaan serta kekuatan yang diberikan-Nya kepada penulis, sehingga dapat menyelesaikan penelitian skripsi yang berjudul : Aplikasi Mail Server berbasis SMTP dan POP3 dengan Spam Filtering sebagai syarat menyelesaikan jenjang studi Strata-1 di Universitas Bina Nusantara, Jakarta. Pada kesempatan ini, penulis ingin mengucapkan rasa terima kasih kepada pihakpihak yang berperan dalam penyusunan skripsi ini. Ucapan terima kasih yang sebesarbesarnya kami sampaikan khususnya kepada: 1. Bapak Prof. Dr. Gerardus Polla, M.App.Sc., selaku Rektor Universitas Bina Nusantara. 2. Bapak Mohammad Subekti, BE.,M.Sc., selaku Ketua Jurusan Teknik Informatika. 3. Bapak Fredy Purnomo, S.Kom.,M.Kom., selaku Sekretaris Jurusan Teknik Informatika. 4. Bapak Fransiscus Ati Halim, S.Kom, MM., selaku dosen pembimbing yang dengan sabar telah banyak memberikan bimbingan yang sangat berarti dari awal hingga akhir penelitian skripsi ini. 5. Seluruh staff dosen pengajar Universitas Bina Nusantara yang telah membimbing penulis selama kuliah. 6. Keluarga dan rekan-rekan penulis, atas doa dan dukungan demi kesuksesan pembuatan skripsi ini.
vi
7. Semua pihak yang tidak dapat disebutkan satu persatu, yang telah memberikan dukungan baik moril maupun materil dalam penyusunan skripsi ini. Kami berharap penelitian skripsi ini dapat menjadi sumbangsih kami bagi peningkatan pengetahuan dan wawasan segenap civitas akademik Universitas Bina Nusantara, dan bermanfaat bagi pembaca pada umumnya.
Jakarta, Januari 2006
Penulis
vii
DAFTAR ISI
Halaman Judul Luar
i
Halaman Judul Dalam
ii
Halaman Persetujuan Hardcover
iii
Halaman Pernyataan Dewan Penguji
iv
Abstrak
v
Prakata
vi
Daftar Isi
viii
Daftar Tabel
xii
Daftar Gambar
xiii
Daftar Lampiran
xvii
BAB 1 PENDAHULUAN
1
1.1
Latar Belakang
1
1.2
Ruang Lingkup
4
1.3
Tujuan dan Manfaat
4
1.4
Metodologi
5
1.5
Sistematika Penulisan
6
BAB 2 LANDASAN TEORI 2.1
8
Jaringan Komputer dan Protokol Komunikasi
8
2.1.1
8
Protokol Komunikasi dan Fungsi dari Protokol
viii
2.2
Object Oriented and Design (OOAD) dan Unified Modeling Language (UML)
13
2.3
Objek-objek yang Berperan dalam Pengiriman Email
19
2.4
Protokol-protokol dalam Pengiriman Email
20
2.4.1
Simple Mail Transfer Protocol (SMTP) dan perintahperintah SMTP
2.4.2
Domain Name Service(DNS) dan Elemenelemennya
2.4.3
33
Post Office Protocol – Version 3.0 (POP3) dan Operasioperasinya
35
BAB 3 ANALISIS DAN PERANCANGAN 3.1
3.2
3.3
21
39
Analisis Mengenai Email Spam dan Akibat yang Ditimbulkannya
39
Analisis Tahap-tahap Pengiriman Email Spam
44
3.2.1
Pengumpulan Alamat Email (Address Harvesting) 44
3.2.2
Pembentukan Email Spam
46
3.2.3
Pengiriman Email Spam
48
3.2.4
Verifikasi Alamat Email
50
Cara-cara Pengendalian Email Spam
52
3.3.1 Penyaringan Spam Pada Tingkat Mail Server
55
3.3.2
Pengaruh Peran Mail Server Terhadap Penyaringan Spam
3.3.3
58
Teknik Penyaringan Spam untuk Outgoing SMTP ix
Server 3.3.4
59
Teknik Penyaringan Spam untuk Mail Exchanger (MX)
60
3.4
Analisis dan Fitur-fitur Mail Server Umum
70
3.5
Perancangan Email Server
75
3.5.1 Perancangan Class Diagram
75
3.5.2 Perancangan Use Case Diagram
94
3.5.3 Perancangan Statechart Diagram
95
BAB 4 HASIL PENELITIAN 4.1
101
Tahap Implementasi
101
4.1.1
Proses Instalasi dan Konfigurasi
101
4.1.2
Proses Testing
109
4.1.2.1 Memeriksa Jalannya Aplikasi Mail Server Menggunakan Telnet 4.1.2.2 Mengirimkan Email Menggunakan Telnet
119 120
4.1.2.3 Mengirimkan Email dan File Attachment Menggunakan Outlook Express 6 4.2
123
Evaluasi Kinerja Mail Server
135
4.2.1
Evaluasi Kehandalan Mail Server
135
4.2.1.1 Metode Pengujian dan Evaluasi
135
4.2.1.2 Spesifikasi Server
136
4.2.1.3 Hasil Pengujian
137
4.2.2
Evaluasi Tingkat Keberhasilan Penyaringan Mail x
Server
137
4.2.2.1 Metode Pengujian dan Evaluasi
137
4.2.2.2 Spesifikasi Server dan Konfigurasi Mail
4.3
Server
139
4.2.2.3 Hasil Pengujian
141
4.2.3 Keterbatasan Sistem
143
Rekomendasi Penggunaan
143
BAB 5 SIMPULAN DAN SARAN 5.1
Simpulan
145
5.2
Saran
146
DAFTAR PUSTAKA
147
RIWAYAT HIDUP
151
LAMPIRAN-LAMPIRAN
154
xi
DAFTAR TABEL
Tabel 1.1 Abuse Report
3
Tabel 4.1 Tabel Pengujian Kehandalan Sistem
137
Tabel 4.2 Tabel hasil pengujian mail server Exim
141
Tabel 4.3 Tabel hasil pengujian mail server hasil perancangan
142
xii
DAFTAR GAMBAR
Gambar 1.1 Contoh mail server
2
Gambar 2.1 Lingkungan OSI
11
Gambar 2.2 Perbandingan arsitektur protokol OSI dan TCP/IP
12
Gambar 2.3 Contoh Use case
15
Gambar 2.4 Contoh Actor
15
Gambar 2.5 Use-case Diagram
16
Gambar 2.6 Class Diagram
18
Gambar 2.7 Statechart Diagram
19
Gambar 2.8 SMTP
21
Gambar 3.1 Grafik dari berbagai situs yang aksesnya terus meningkat sejak alamatnya diiklankan dalam spam
41
Gambar 3.2 Pengamatan jumlah spam per tahun
42
Gambar 3.3 Diagram jumlah email yang diterima berdasarkan tempat posting
45
Gambar 3.4 Pengiriman spam melalui komputer bervirus
50
Gambar 3.5 Teknik captcha yang digunakan oleh salah satu penyedia layanan Webmail
55
Gambar 3.6 Postfix Spam Control
71
Gambar 3.7 Class Diagram
77
Gambar 3.8 Class ADAMSGui
78
Gambar 3.9 Class ADAMSNoGui
78
Gambar 3.10 Class AccountManager
79
Gambar 3.11 Class Logger
80 xiii
Gambar 3.12 Class SMTPServer
81
Gambar 3.13 Class POP3Server
82
Gambar 3.14 Class SMTPSender
83
Gambar 3.15 Class Configuration
85
Gambar 3.16 Class Mail
88
Gambar 3.17 Class FileManager
90
Gambar 3.18 Class Filter
91
Gambar 3.19 Class MXLookUp
93
Gambar 3.20 Class AccessList
93
Gambar 3.21 Use case Diagram
94
Gambar 3.22 ADAMailServer Statechart Diagram
95
Gambar 3.23 SMTPServer Statechart Diagram
96
Gambar 3.24 SMTPSender Statechart Diagram
98
Gambar 3.25 POP3Server Statechart Diagram
99
Gambar 4.1 File allowRelay.ada
103
Gambar 4.2 File config.ada
104
Gambar 4.3 File dnsbl.ada
107
Gambar 4.4 File domainBlockList.ada
108
Gambar 4.5 File fwdRoute.ada
108
Gambar 4.6 File ipBlockList.ada
108
Gambar 4.7 Tampilan awal aplikasi mail server
110
Gambar 4.8 Tampilan layar “Account Manager”
111
Gambar 4.9 Tampilan layar “ADAMS Config”
112
Gambar 4.10 Tampilan layar “SMTP Config”
113
xiv
Gambar 4.11 Tampilan layar ”DNS Black List”
114
Gambar 4.12 Tampilan layar ”Domain Block List”
115
Gambar 4.13 Tampilan layar “IP Block List”
116
Gambar 4.14 Tampilan layar “Forward Route”
117
Gambar 4.15 Tampilan layar “Allow Relay”
118
Gambar 4.16 Telnet
119
Gambar 4.17a Telnet berhasil
119
Gambar 4.17b Telnet gagal
120
Gambar 4.18 Langkah-langkah pengiriman email dengan telnet
121
Gambar 4.19 Alamat direktori
122
Gambar 4.20 Isi dari email
122
Gambar 4.21 Langkah 1 : Tools > Accounts…
124
Gambar 4.22 Langkah 2 : Add > Mail…
125
Gambar 4.23 Langkah 3 : Nama user
126
Gambar 4.24 Langkah 4 : Alamat email
127
Gambar 4.25 Langkah 5 : Nama server POP3 dan SMTP
128
Gambar 4.26 Langkah 6 : Nama account dan password
129
Gambar 4.27 Langkah 7 : Finish
130
Gambar 4.28 Langkah 1 : File > New > Mail Message
132
Gambar 4.29 Langkah 2 : Layar baru untuk menulis email
133
Gambar 4.30 Langkah 3 : Insert > File Attachment
133
Gambar 4.31 Langkah 4 : Memilih file yang ingin di tambahkan
134
Gambar 4.32 Langkah 5 : Mengirimkan email
134
Gambar 4.33 Konfigurasi utama mail server hasil perancangan (config.ada)
140
xv
Gambar 4.34 Konfigurasi DNS Blacklist yang digunakan (dnsbl.ada)
xvi
141
DAFTAR LAMPIRAN AccountManager.java
L1
Configuration.java
L3
AccessList.java
L8
Filter.java
L 10
ADAMSGui.java
L 14
ADAMSNoGui.java
L 34
FileManager.java
L 34
Logger.java
L 37
Mail.java
L 38
MultiDomain.java
L 41
MXLookUp.java
L 42
POP3Server.java
L 43
SMTPServer.java
L 48
SMTPSender.java
L 57
xvii