BAB 2 DASAR TEORI 2.1 Honeypot Honeypot adalah sebuah sistem atau komputer yang dikorbankan untuk menjadi target serangan dari hacker. Menurut P. Diebold, A. Hess, dan G. Schafer (2005), honeypot dapat berguna untuk membuang – buang sumber daya penyerang atau mengalihkan penyerang dari sesuatu yang lebih berharga. Komputer tersebut melayani setiap serangan yang dilakukan oleh hacker dalam melakukan penetrasi terhadap server tersebut. Bagi para administrator jaringan yang menerapkan Honeypot ini, akan memperoleh informasi - informasi dari kegiatan cracker, mengetahui metode yang ditempuh cracker dalam menginject suatu sistem sehingga dapat dilakukan pencegahan terhadap jaringan yang dilindungi sebenarnya. Biasanya penyerang akan melakukan scanning jaringan untuk mencari komputer yang vulnerable . Penyerang pasti akan menemukan honeypot karena honeypot sengaja dibuat vulnerable untuk menarik serangan sehingga jika penyerang melakukan koneksi ke honeypot, maka honeypot akan mendeteksi dan mencatatnya, karena seharusnya tidak ada user yang berinteraksi dengan honeypot. Biasanya honeypot akan ditempatkan di lokasi – lokasi berikut : 1. Di depan gateway (dekat dengan jaringan publik (Internet) 6 7 2. Di dalam DMZ (Demilitarized Zone) 3. Di belakang gateway (dekat dengan jaringan privat (intranet)) Gambar 2.1 Letak Honeypot Setiap lokasi mempunyai kelebihan dan kekurangannya masing – masing. Oleh karena itu, dibutuhkan pertimbangan - pertimbangan sebelum sebuah lokasi ditetapkan. • Di Depan Gateway (dekat dengan jaringan publik [Internet]) Kelebihan dari penempatan honeypot di lokasi ini adalah honeypot akan dianggap sama seperti dengan sistem eksternal sehingga akan mengurangi risiko terhadap jaringan privat apabila honeypot telah berhasil disusupi/diambil alih oleh penyerang. Kekurangannya adalah trafik – trafik tidak sah yang dicatat oleh honeypot tidak akan tercatat atau membangkitkan alert pada firewall atau IDS sehingga informasi yang diperoleh sangat berkurang. 8 • Di Dalam DMZ (Demilitarized Zone) Pada gateway biasanya juga terdapat sistem pengamanan seperti firewall. Di lokasi ini, kelebihan yang didapatkan adalah trafik tidak sah yang biasanya menuju ke honeypot akan melewati firewall dan akan tercatat pada firewall log. Dengan demikian ada informasi yang terkumpulkan. Kekurangan dari letak honeypot di lokasi ini adalah sistem lain yang terdapat pada DMZ harus diamankan dari honeypot. Karena bila honeypot telah berhasil disusupi/diambil alih oleh penyerang, maka kemungkinan honeypot tersebut akan digunakan untuk menyerang sistem lain yang terdapat pada DMZ dan bahkan menyerang firewall yang terdapat pada gateway. • Di Belakang Gateway (dekat dengan jaringan privat [intranet]) Alasan honeypot ditempatkan di lokasi ini adalah untuk mendeteksi penyerang yang berasal dari dalam atau untuk mendeteksi firewall yang tidak terkonfigurasi dengan baik sehingga menyebabkan adanya trafik tidak sah yang menuju jaringan privat. Penempatan honeypot pada lokasi ini akan mengakibatkan bertambahnya risiko pada jaringan privat karena bila honeypot telah berhasil disusupi / diambil alih maka penyerang akan mendapat akses menuju jaringan privat melalui honeypot. Dengan kata lain, honeypot akan digunakan sebagai batu loncatan untuk menyerang jaringan privat. Menurut Lance Spitzner (2002), honeypot dapat diklasifikasikan menjadi 3 kategori yaitu Low-Interaction Honeypot, Medium-Interaction Honeypot, dan HighInteraction Honeypot. Perbedaannya dapat dilihat dari instalasi, konfigurasi, deployement, dan maintenance. 9 1. LOW INTERACTION HONEYPOT Low-interaction honeypot didesain untuk mengemulasikan service (layanan) seperti pada server yang asli. Penyerang hanya mampu memeriksa dan terkoneksi ke satu atau beberapa port. Kelebihan low-interaction honeypot yaitu: • Mudah diinstall, dikonfigurasi, deployed, dan dimaintain • Mampu mengemulasi suatu layanan seperti http, ftp, telnet, dan lainnya. • Berfungsi untuk mendeteksi serangan, khususnya pada proses scanning atau percobaan pembukaan koneksi pada suatu layanan. Kekurangan low-interaction honeypot : • Layanan yang diberikan hanya berupa emulasi, sehingga penyerang tidak dapat berinteraksi secara penuh dengan layanan yang diberikan atau sistem operasinya secara langsung • Informasi yang didapatkan dari penyerang sangat sedikit. • Apabila serangan dilakukan oleh “real person” bukan “automated tools” mungkin akan segera menyadari bahwa yang sedang dihadapi merupakan mesin honeypot, karena keterbatasan layanan yang bisa diakses. 2. MEDIUM INTERACTION HONEYPOT Kelebihannya Medium Interaction Honeypot: • Memiliki kemampuan yang lebih banyak untuk berinteraksi dengan penyerang dibandingkan low-interaction honeypot namun tidak sebanyak high-interaction honeypot. 10 • Emulasi layanan dapat ditambahkan berbagai macam fitur tambahan sehingga penyerang merasa benar-benar sedang berinteraksi dengan layanan yang sebenarnya. Kekurangan Medium Interaction Honeypot : • Sistem tersebut cukup kompleks. • Memerlukan usaha lebih untuk maintain dan deploy sistem tersebut sehingga akses yang diberikan kepada penyerang benar-benar terjamin tingkat keamanannya namun tetap dapat memberikan suasana sistem yang nyata bagi penyerang sehingga penyerang tersebut tidak sadar bahwa aktivitasnya sedang dimonitor. 3. HIGH INTERACTION HONEYPOT Pada high-interaction honeypot, penyerang dapat berinteraksi langsung dengan sistem dan tidak ada batasan yang membatasi interaksi tersebut, sehingga tingkat risiko yang dihadapi semakin tinggi karena penyerang dapat memiliki akses root. Pada saat yang sama, kemungkinan pengumpulan informasi semakin meningkat dikarenakan kemungkinan serangan yang tinggi. Kelebihannya : • Penyerang berinteraksi langsung dengan sistem yang nyata termasuk diantaranya sistem operasi, network, hingga layanan yang diberikan ( web, ssh service, dan mail service ). • Sistem tersebut biasanya terdiri dari berbagai macam implementasi dari teknologi keamanan yang banyak digunakan untuk melindungi suatu sistem, seperti firewall, IDS/IPS, dan router. 11 • Target serangan berupa sistem operasi sebenarnya yang siap untuk berinteraksi secara langsung dengan penyerang. Kekurangannya : • Perencanaan dan implementasi sistem sangat rumit dan dibutuhkan banyak pertimbangan. • High-interaction honeypot membutuhkan pengawasan berkala karena bila telah diambil alih oleh penyerang maka honeypot tersebut dapat menjadi ancaman bagi jaringan yang ada. 2.1.1 Dionaea Menurut situs http://Dionaea.carnivore.it/ yang diakses tanggal 27-7-2011, Dionaea adalah sebuah low interaction honeypot yang diciptakan sebagai pengganti Nepenthes. Dionaea menggunakan python sebagai bahasa scripting, menggunakan libemu untuk mendeteksi shellcodes, mendukung ipv6 dan tls. Dionaea bertujuan untuk mendapatkan copy dari malware. Software cenderung memiliki bug, bug dalam software menawarkan layanan jaringan (network services) untuk dapat dieksploitasi, dan Dionaea adalah software yang menawarkan layanan jaringan, Dionaea memiliki bug yang dapat dimanfaatkan. Jadi, dengan tujuan untuk meminimalkan dampak, Dionaea mempunyai hak istimewa (privileges), dan chroot. Untuk dapat menjalankan sesuatu yang membutuhkan hak akses, Dionaea dapat menggunakan privilegesnya ,lalu Dionaea menciptakan subproses pada saat startup, dan meminta subproses untuk menjalankan aktivitas-aktivitas yang memerlukan hak-hak istimewa (privileges). Ini tidak menjamin apa-apa, tetapi seharusnya akan lebih sulit untuk mendapatkan akses root sistem dari user biasa dalam lingkungan chroot. 12 Penyerang biasanya berkomunikasi dengan beberapa service dengan mengirimkan beberapa paket terlebih dahulu kemudian mengirimkan payload. Dionaea memiliki kemampuan untuk mendeteksi dan mengevaluasi payload tersebut untuk dapat memperoleh salinan copy dari malware. Untuk melakukannya, Dionaea menggunakan libemu. Setelah Dionaea memperoleh lokasi file yang diinginkan penyerang/attacker untuk didownload dari shellcode, Dionaea akan mencoba untuk mendownload file. Protokol ke file download menggunakan tftp dan ftp diimplementasikan di python (ftp.py dan tftp.py) sebagai bagian dari Dionaea, men-download file melalui http dilakukan dalam modul curl - yang memanfaatkan kemampuan libcurl http. Tentu saja libcurl dapat menjalankan download untuk ftp juga, tapi layanan ftp tertanam dalam sebuah malware yang dirancang untuk bekerja dengan klien ftp.exe, dan gagal untuk diakses orang lain. Setelah Dionaea mendapat salinan dari worm attacker, Dionaea akan menyimpan file lokal untuk analisa lebih lanjut, atau mengirimkan file ke beberapa pihak ke-3 untuk analisis lebih lanjut. Dionaea bisa http / POST file ke beberapa layanan seperti CWSandbox, Norman Sandbox atau VirusTotal. Dionaea juga dapat menulis informasi ke file teks, tetapi Dionaea juga menyediakan web interface sehingga lebih mudah dalam melihat informasi serangan yang diterima oleh Dionaea. 2.1.1.1 Carniwwwhore Carniwwwhore digunakan dengan tujuan menjadi web interface untuk database Dionaea melalui xmpp. Untuk memulai, logsql database sqlite yang terdapat di Dionaea harus dikonversi ke database postgres. Carniwwwhore ditulis dalam python2.x menggunakan Django. 13 Gambar 2.2 Proses Dionaea ke Carniwwwhore (Diambil dari http://carnivore.it/2010/11/27/carniwwwhore ) 2.1.1.2 Malware Menurut Charles P. Pfleeger dan Shari Lawrence Pfleeger (2011), Malware adalah perangkat lunak yang dirancang untuk menyusup ke sistem komputer tanpa persetujuan pemilik atau program komputer yang di rancang untuk tujuan jahat. Ada beberapa tipe malware: • Virus Komputer adalah jenis malware yang menyerang file eksekusi (.exe) yang akan menyerang dan menggandakan diri ketika file exe yang terinfeksi dijalankan. Virus komputer menyebar dengan cara menyisipkan program dirinya pada program atau dokumen yang ada dalam komputer. • Worm adalah sebuah program komputer yang dapat menggandakan dirinya secara sendiri dalam sistem komputer. Sebuah worm dapat menggandakan dirinya dengan memanfaatkan jaringan (LAN/WAN/Internet) tanpa perlu campur 14 tangan dari user itu sendiri.Worm memanfaatkan celah keamanaan yang memang terbuka atau lebih dikenal dengan sebutan vulnerability. • Spyware adalah program yang bertindak sebagai mata-mata untuk mengetahui kebiasaan pengguna komputer dan mengirimkan informasi tersebut ke pihak lain. Spyware biasanya digunakan oleh pihak pemasang iklan. • Browser Hijacker mengarahkan browser yang seharusnya menampilkan situs yang sesuai dengan alamat yang dimasukkan ke situs lain. Itu contoh paling parah dari gangguan yang disebabkan oleh browser hijacker. Contoh lain yang bisa dilakukan oleh pembajak ini adalah menambahkan bookmark, mengganti home page, serta mengubah pengaturan browser. • Trojan atau trojan hourse adalah program yang diam-diam masuk ke komputer, kemudian memfasilitasi program lain misalnya virus, sypware, adware. keylogger dan malware lainnya untuk masuk, merusak sytem, memungkinkan orang lain meremote komputer dan mencuri informasi seperti password atau nomor kartu kredit. • Rootkit adalah program yang menyusup kedalam system komputer, bersembunyi dengan menyamar sebagai bagian dari system (misalnya menempel pada patch, keygen, crack dan game), kemudian mengambil alih, memantau kerja sistem yang disusupinya. Rootkit dapat mencuri data yang lalu-lalang di jaringan, melakukan keylogging, mencuri cookies akun bank dan lain-lain. 2.1.2 Glastopf Menurut artikel “Know Your Tools: Glastopf,A dynamic, low-interaction web application honeypot”, Glastopf adalah low interaction web application honeypot yang 15 memiliki kemampuan untuk mengemulasikan ribuan vulnerabilities untuk mengumpulkan data dari serangan yang ditujukan ke aplikasi web. Prinsip dasar dari kerja Glastopf adalah membalas serangan dengan memberikan jawaban sesuai dengan tujuan penyerang menyerang aplikasi web. Glastopf menyediakan vulnerability emulator yang membuat Glastopf dapat membalas semua serangan tanpa harus memodifikasi template aplikasi web. Cara kerja Glastopf sama seperti cara kerja web server. Seseorang mengirim request ke web server, lalu request tersebut diproses, mungkin ada beberapa yang disimpan di database dan kemudian server membalas request tersebut. Jika requestnya salah maka akan muncul error page. Gambar 2.3 Cara kerja Glastopf umum (Gambar diambil dari artikel “Know Your Tools: Glastopf,A dynamic, low-interaction web application honeypot”) 16 Setiap detail dari serangan harus diketahui agar Glastopf dapat menghasilkan jawaban yang valid dari request yang ada. Sampai saat ini, Glastopf hanya dapat menangani HEAD,POST, dan GET request. Glastopf akan membalas HEAD request dengan generic web server header. Jika mendapat POST request, maka semua data yang dikirim akan disimpan. Jika mendapat GET request maka Glastopf akan menentukan tipe serangan sesuai dengan pola yang ada. Setelah itu, Glastopf akan menghasilkan respon tertentu untuk mensimulasikan serangan yang berhasil. Gambar 2.4 Flowchart Glastopf menangani serangan (Gambar diambil dari artikel “Know Your Tools: Glastopf,A dynamic, low-interaction web application honeypot”) 17 2.1.2.1 RFI (Remote File Inclusion) RFI adalah tipe serangan yang memasukkan file berbahaya untuk dijalankan di server sasaran karena adanya bug pada aplikasi web. Cara kerja Glastopf untuk menangani serangan RFI seperti gambar dibawah: Gambar 2.5 Penanganan RFI (Gambar diambil dari artikel “Know Your Tools: Glastopf,A dynamic, low-interaction web application honeypot”) Saat mendapat serangan RFI , maka Glastopf akan mengirimkan HEAD ke penyerang agar dapat mengetahui file yang ingin dimasukkan oleh penyerang.Setelah itu, vulnerability emulator akan mengecek setiap baris yang mengandung fungsi echo() 18 dan kemudian mengganti semua variabelnya dengan nilai yang valid. Fungsi echo() digunakan untuk menampilkan string yang nantinya akan diterjemahkan oleh browser, entah string tersebut berupa teks ataupun tag HTML. 2.1.2..2 LFI(Local File Inclusion) Cara serangannya sama seperti RFI, tetapi file yang ingin disisipkan sudah ada di local server tersebut atau sudah satu tempat dengan server. LFI bertujuan untuk mendapatkan informasi keamanan sistem tersebut atau menjalankan kode yang sudah pernah dimasukkan. Glastopf akan membalasnya dengan file yang dihasilkan secara dinamis sesuai dengan file yang diminta untuk mendorong serangan lebih lanjut. 2.1.2.3 Dynamic Dork List Kebanyakan penyerang mencari aplikasi web yang memiliki bug dengan menggunakan search engine seperti Google. Setiap honeypot diserang, penyerang akan meninggalkan permintaan yang berisi path ke sebuah file dari aplikasi yang rentan diserang. String khusus juga disebut dork. Itulah yang para penyerang cari ketika mereka mencari korban baru. Pada awalnya dimulai dengan daftar yang sudah tersedia yang rentan yang diperoleh dari source honeypot, untuk mendapatkan penyerang pertama. Jika penyerang menemukan Glastopf dengan mencari salah satu dari Dorks yang telah disediakan, dia tidak akan hanya mencoba untuk mengeksploitasi satu bug tetapi juga yang lainnya. Perhatikan contoh berikut: GET http://example.com/hackme.php?color=http://evil.com/shell.php Jika hackme.php tidak ada dalam daftar Dorks, maka akan ditambahkan ke dalam database sehingga saat penyerang mencari sebuah contoh dari aplikasi web dengan hackme.php yang memiliki bug, ia juga akan menemukan honeypot ini. Metode 19 ini semakin lama akan meningkatkan daya tarik dari honeypot untuk diserang dan kemudian akan muncul banyak serangan yang diperoleh. 2.1.2.4 GlasIF GlasIF adalah web interface untuk Glastopf yang merupakan aplikasi web berbasis php. Tampilan dashboard merupakan overview dari semua serangan yang telah diterima yang membuat data lebih mudah dilihat dan dianalisis. Ini memberikan overview dari lima serangan terakhir serta lima alamat IP penyerang. Jika FileUrl plugin diaktifkan dan dikonfigurasi pada honeypot Glastopf, dashboard Glasif menunjukkan lima terakhir serangan RFI juga. 2.2 IPS dan IDS Menurut Deris Stiawan (2005), IDS (Intrution Detection System) adalah sebuah sistem yang melakukan pengawasan terhadap traffic jaringan dan kegiatan-kegiatan yang mencurigakan didalam sebuah sistem jaringan. Jika ditemukan kegiatan - kegiatan yang mencurigakan maka IDS akan memberikan peringatan kepada sistem atau administrator jaringan. Karakteristik IDS yang hanya berfungsi sebagai pendeteksi dan pemberi peringatan terhadap gangguan yang datang dari luar dan dalam sistem jaringan itu sendiri membuat IDS harus dikombinasikan dengan beberapa metode pengamanan lain untuk melengkapi kekurangan-kekurangan yang dimiliki oleh IDS. Misalnya dengan menggunakan firewall sebagai tambahan. Sedangkan IPS lebih bersifat proaktif dari IDS. IPS dapat memberikan keputusan apakah sebuah paket dapat diterima atau tidak oleh sistem. Apabila IPS menemukan bahwa paket yang dikirimkan adalah paket yang berbahaya, maka IPS akan memberitahu firewall sistem untuk menolak paket data tersebut. 20 Menurut Verma Mattord (2008), dalam membuat keputusan apakah sebuah paket data berbahaya atau tidak, IDS dan IPS dapat mempergunakan metode : • Signature-based Intrusion Detection System. Pada metode ini, telah tersedia daftar signature yang dapat digunakan untuk menilai apakah paket yang dikirimkan berbahaya atau tidak. Sebuah paket data akan dibandingkan dengan daftar yang sudah ada. Metode ini akan melindungi sistem dari jenis-jenis serangan yang sudah diketahui sebelumnya. Oleh karena itu, untuk tetap menjaga keamanan sistem jaringan komputer, data signature yang ada harus tetap terupdate. • Anomaly-based Intrusion Detection System. Pada metode ini, pengelola jaringan harus melakukan konfigurasi terhadap IDS dan IPS, sehingga IDS dan IPS dapat mengetahui pola paket seperti apa saja yang akan ada pada sebuah sistem jaringan komputer. Sebuah paket anomali adalah paket yang tidak sesuai dengan kebiasaan jaringan computer tersebut. Apabila IDS dan IPS menemukan ada anomali pada paket yang diterima atau dikirimkan, maka IDS dan IPS akan memberikan peringatan pada pengelola jaringan (IDS) atau akan menolak paket tersebut untuk diteruskan (IPS). Untuk metode ini, pengelola jaringan harus terus-menerus memberi tahu IDS dan IPS bagaimana lalu lintas data yang normal pada sistem jaringan komputer tersebut, untuk menghindari adanya salah penilaian oleh IDS atau IPS. 21 Topologi umum IPS Gambar 2.6 Topologi umum IPS Topologi umum IDS Gambar 2.7 Topologi Umum IDS Gambar 1, IDS terhubung ke firewall dan firewall harus dikonfigurasi untuk memirror-kan port yang digunakan untuk jalur keluar dan masuk untuk dipantau IDS. Gambar 2 paket yang masuk langsung diteruskan ke IDS. 22 2.3 Protokol Menurut Edi Sri Mulyanta (2005), protokol adalah sebuah standar yang mengatur atau mengijinkan terjadinya hubungan atau komunikasi antara dua atau lebih komputer. Pada tingkatan yang terendah, protokol mendefinisikan koneksi perangkat keras. Secara umum fungsi protokol adalah sebagai penghubung dalam komunikasi data sehingga proses penukaran data bisa berjalan dengan baik dan benar. Secara khusus, fungsi protokol adalah sebagai berikut : a. Fragmentasi dan Re-assembly Pembagian informasi yang dikirim menjadi beberapa paket data dari sisi pengirim. Jika telah sampai di penerima, paket data tersebut akan digabungkan menjadi satu paket yang lengkap. b. Enkapsulasi Enkapsulasi adalah proses pengiriman data yang dilengkapi dengan alamat, kode-kode koreksi, dan lain-lain. c. Kontrol Konektivitas Membangun hubungan komunikasi berupa pengiriman data dan mengakhiri hubungan dari pengirim ke penerima. d. Flow Control Fungsi dari Flow Control adalah sebagai pengatur jalannya data dari pengirim ke penerima. e. Error Control Tugasnya adalah mengontrol terjadinya kesalahan sewaktu data dikirimkan. f. Pelayanan Transmisi 23 Fungsinya adalah memberikan pelayanan komunikasi data yang berhubungan dengan prioritas dan keamanan data. 2.4 TCP/IP Menurut Melwin Syafrizal dalam bukunya Pengantar Jaringan Komputer (2005:96), TCP/IP (Transmission Control Protocol/Internet Protocol) adalah kumpulan dari beberapa protocol yang terdapat di dalam sebuah jaringan. TCP/IP digunakan untuk berkomunikasi atau bertukar data antar komputer. TCP/IP merupakan protocol standar pada jaringan internet yang menghubungkan banyak komputer dengan berbagai macam mesin atau system operasi agar tetap dapat saling berkomunikasi atau bertukar data. Pada protokol jaringan TCP/IP, port adalah mekanisme yang mengizinkan sebuah komputer untuk menjalankan beberapa sesi koneksi dengan komputer lainnya dan program di dalam jaringan. Port dapat mengidentifikasikan aplikasi dan layanan yang menggunakan koneksi di dalam jaringan TCP/IP. Sehingga, port juga mengidentifikasikan sebuah proses tertentu di mana sebuah server dapat memberikan sebuah layanan kepada klien atau bagaimana sebuah klien dapat mengakses sebuah layanan yang ada dalam server. Port dapat dikenali dengan angka 16-bit (dua byte) yang disebut dengan Port Number dan diklasifikasikan dengan jenis protokol transport apa yang digunakan, ke dalam Port TCP dan Port UDP. Karena memiliki angka 16-bit, maka total maksimum jumlah port untuk setiap protokol transport yang digunakan adalah 65536 buah. Dilihat dari penomorannya, port UDP dan TCP dibagi menjadi tiga jenis, yakni sebagai berikut: 24 • Well-known Port Pada awalnya berkisar antara 0 hingga 255 tapi kemudian diperlebar untuk mendukung antara 0 hingga 1023. Port number yang termasuk ke dalam wellknown port, selalu merepresentasikan layanan jaringan yang sama, dan ditetapkan oleh Internet Assigned Number Authority (IANA). • Registered Port: Port-port yang digunakan oleh vendor-vendor komputer atau jaringan yang berbeda untuk mendukung aplikasi dan sistem operasi yang mereka buat. Registered port juga diketahui dan didaftarkan oleh IANA tapi tidak dialokasikan secara permanen, sehingga vendor lainnya dapat menggunakan port number yang sama. Range registered port berkisar dari 1024 hingga 49151 dan beberapa port di antaranya adalah Dynamically Assigned Port. • Dynamically Assigned Port: merupakan port-port yang ditetapkan oleh sistem operasi atau aplikasi yang digunakan untuk melayani request dari pengguna sesuai dengan kebutuhan. Dynamically Assigned Port berkisar dari 1024 hingga 65536 dan dapat digunakan atau dilepaskan sesuai kebutuhan. Beberapa jenis port dan fungsinya: • Port 445, SMB Kelemahan windows yang membuka port ini. biasanya port ini digunakan sebagai port file sharing termasuk printer sharing, port ini mudah dimasukin virus atau worm. • Port 21, FTP Server Ketika seseorang mengakses FTP server, maka ftp client secara default akan melakukan koneksi melalui port 21 dengan ftp server. 25 • Port 80, Web Server Port ini biasanya digunakan untuk web server. 2.5 Database Database atau basis data merupakan bagian sangat penting dalam sebuah proses pengolahan data. Basis data adalah koleksi data yang saling berhubungan dan memiliki arti dan terorganisasi secara rapi. Data tersebut harus dapat diakses dengan urutan yang berbeda-beda secara logis dengan cara yang relatif mudah. Suatu sistem basis data terdiri dari empat komponen yaitu data, yang secara fisik menyimpan informasi-informasi, Database Management System (DBMS) yaitu software yang mengelola basis data, Data Definition language (DDL) dan Data Manipulation Language (DML) yaitu basis data yang berfungsi untuk mendeskripsikan data ke database management system (DBMS) dan juga member fasilitas untuk melakukan perubahan, pemeliharaan, dan pengelolaan basis data, dan program aplikasi yang memudahkan pengguna akhir untuk menggunakan data dan mendapatkannya sebagai informasi yang sesuai. Beberapa contoh database: • MySQL MySQL adalah sebuah program database server yang mampu menerima dan mengirimkan data dengan cepat, multiuser, serta menggunakan perintah dasar SQL (Structured Query Language). • Sqlite SQLite merupakan sebuah sistem manajemen database relasional yang bersifat ACID-compliant dan memiliki ukuran pustaka kode yang relatif kecil, ditulis dalam bahasa C. SQLite bukanlah sebuah sistem yang mandiri yang 26 berkomunikasi dengan sebuah program, melainkan sebagai bagian integral dari sebuah program secara keseluruhan. • Postgresql PostgreSQL adalah database relasional dengan kategori free open source software (FOSS). Pendekatan rancangan modelnya menggunakan paradigma object-oriented sehingga dikategorikan sebagai Object Relational Database Management System (ORDBMS).