8 BAB 2 LANDASAN TEORI
2.1. Teori Dasar / Umum 2.1.1. Jaringan Komputer Penggabungan antara teknologi komputer dan komunikasi sangat berpengaruh terhadap bentuk organisasi sistem komputer. Saat ini model komputer tunggal yang melayani seluruh tugas-tugas komputasi suatu organisasi telah diganti oleh sekumpulan komputer yang berjumlah banyak
dan
terpisah,
tetapi
masih
saling
berhubungan
dalam
melaksanakan tugasnya, sistem ini disebut sebagai jaringan komputer. Suatu jaringan global yang terbentuk dari jaringan-jaringan lokal dan regional, disebut dengan internet. Dengan adanya teknologi internet maka memungkinkan terjadinya komunikasi data antar komputerkomputer yang terhubung ke jaringan tersebut. Komputer yang tersebar di seluruh dunia, memiliki jenis dan karakteristik yang tidak sama dengan tempat-tempat
lain.
Untuk
mengatasi
masalah
tersebut,
maka
diciptakanlah suatu standar protokol yang disebut TCP/IP (Transfer Control Protocol/Internet Protocol), sehingga semua pengiriman data dan penerusan data di Internet. Protokol TCP/IP ini memberikan suatu IP
9 Number (nomor IP) yang unik untuk tiap komputer yang terhubung ke Internet sehingga lalu lintas data di Internet dapat diatur. Berdasarkan jangkauan dan ruang lingkup jaringan komputer dibagi menjadi tiga kelompok, yaitu : 1. LAN (Local Area Network) LAN adalah jaringan komputer yang saling dihubungkan dan dibatasi oleh ruang geografis yang relative kecil dan pada umumnya dibatasi ruang lingkup pada perkantoran, sekolah dan pada umumnya tidak lebih dari 2 km2. Pada implementasi LAN, khusus didesain untuk : •
Beroperasi pada wilayah geografis yang terbatas.
•
Memungkinkan banyak user untuk mengakses media dengan kecepatan tinggi.
•
Menyediakan koneksi ke layanan local setiap saat
•
Menghubungkan peralatan yang berdekatan
(CCNA companion guide 3rd edition, ebook) 2. MAN (Metropolitan Area Network) Jaringan yang mencakup area lebih besar dari LAN, dan menjangkau antar wilayah dalam satu propinsi. Sehingga dalam
10 kata lain MAN menghubungkan beberapa LAN menjadi suatu jaringan yang lebih besar pada area geografis yang sama. 3. WAN (Wide Area Netwrok) Jaringan yang ruang lingkupnya sudah terpisah oleh batas geografis yang berbeda atau dalam kata lain jaringan ini mencakup area yang luas dan mampu menjangkau batas propinsi bahkan sampai antar negara. Jaringan tersebut pada umumnya sudah menggunakan kabel bawah laut, ataupun melalui media satelit. Pada kategori implementasi WAN khususnya di desain untuk : •
Beroperasi antar area geografis yang sangat luas.
•
Memungkinkan pengguna untuk berkomunikasi dengan user lain yang berjauhan pada saat yang sama.
•
Menyediakan email, World Wide Web, e-commerce, dan file transfer.
(CCNA companion guide 3rd edition, ebook)
2.1.2. Model OSI (Open System Interconnection) Model Open System Interconnection (OSI) dikembangkan oleh Internasional Standart Organization (ISO) sebagai model untuk merancang komunikasi komputer dan sebagai kerangka dasar untuk
11 mengembangkan protokol lainnya. Model OSI terdiri dari tujuh layer (Stallings, 2003, p.20): Layer 7 : Application Layer Menyediakan jasa untuk aplikasi pengguna. Layer ini bertanggungjawab atas pertukaran informasi antara program komputer, seperti program email, dan service lain yang jalan di jaringan, seperti server printer atau aplikasi komputer lainnya. (http://mudji.net/press/?p=61) Layer 6 : Presentation Layer Bertanggung jawab bagaimana data dikonversi dan diformat untuk transfer data. Contoh konversi format text ASCII untuk dokumen, GIF dan JPG untuk gambar. Layer ini membentuk kode konversi, translasi data, enkripsi dan konversi. Layer 5 : Session Layer Menentukan bagaimana dua terminal menjaga, memelihara dan mengatur koneksi, bagaimana mereka saling berhubungan satu sama lain. Koneksi di layer ini disebut “session”. Layer 4 : Transport Layer Bertanggung jawab membagi data menjadi segmen, menjaga koneksi logika “end-to-end” antar terminal, dan menyediakan penanganan error (error handling).
12 Layer 3 : Network Layer Bertanggung jawab menentukan alamat jaringan, menentukan rute yang harus diambil selama perjalanan, dan menjaga antrian trafik di jaringan. Data pada layer ini berbentuk paket. Layer 2 : Data Link Layer Menyediakan link untuk data, memaketkannya menjadi frame yang berhubungan dengan “hardware” kemudian diangkut melalui media. komunikasinya dengan kartu jaringan, mengatur komunikasi layer physical antara sistem koneksi dan penanganan error. Layer 1 : Physical Layer Bertanggung jawab atas proses data menjadi bit dan mentransfernya melalui media, seperti kabel, dan menjaga koneksi fisik antar sistem
Gambar 2.1 Tujuh Layer OSI
13 2.1.3. Model TCP/IP TCP/IP (Transmission Control Protocol / Internet Protocol) adalah suatu model yang dikembangkan oleh Department of Defense (DoD) Amerika Serikat dengan maksud untuk mengirimkan paket data setiap saat dalam kondisi apapun dari suatu titik ke titik yang lain. TCP/IP memungkinkan terjadinya komunikasi antara jaringan yang saling berhubungan dan dapat digunakan baik dalan LAN maupun WAN. Ada empat layer yang dikenal dalam TCP/IP, yaitu (Beasley,2008,p.156): Layer 4 : Application Layer Application Layer merupakan sisi paling atas dari arsitektur protokol TCP/IP. Pada layer ini terletak semua aplikasi yang menggunakan protokol TCP/IP seperti FTP (File Transfer Protocol), SMTP (Simple Mail Transfer Protokol), dan HTTP (Hyper Text Transfer Protocol). Layer 3 : Transport Layer Layer ini bertanggung jawab untuk komunikasi antara aplikasi. Layer ini mengatur aluran informasi dan menyediakan pemeriksaan kesalahan (error). Data dibagi kedalam beberapa paket yang dikirim ke internet layer dengan sebuah header. Header mengandung alamat tujuan, alamat sumber, dan checksum. Checksum diperiksa oleh mesin penerima untuk melihat apakah paket tersebut ada yang hilang pada rute.
14 Layer 2 : Internet Layer Layer ini berkorespondensi dengan network layer pada model OSI, dimana layer ini bertanggung jawab untuk mengirimkan paket data dalam jaringan menggunakan pengalamatan logikal. Layer ini berfungsi untuk melakukan penentuan best path dan packet switching. Layer 1 : Network Access Layer Protokol pada layer ini menyediakan media bagi sistem untuk mengirimkan data ke device lain yang terhubung secara langsung. Fungsi utama dari network access layer adalah mengkonversikan IP packet sehingga bisa dikirim melalui physical link..
Gambar 2.2 Layer TCP/IP
15 2.1.4. Internet Protocol Internet Protocol merupakan protokol pada network layer yang bersifat tidak memelihara sebuah sesi koneksi (Connectionless) dan tidak menjamin datagram yang dikirim sampai ke tempat tujuan (Unreliable). Internet Protocol didesain untuk dapat melewati berbagai media komunikasi yang memiliki karakteristik dan kecepatan berbeda-beda. Pada umumnya semakin cepat kemampuan transfer data, maka semakin besar panjang datgram maksimum yang digunakan. Hal ini dapat dilihat dari perbedaan panjang satu datagram pada jaringan Ethernet dan jaringan publik, dimana pada jaringan Ethernet memiliki panjang datagram yang lebih besar dari pada panjang datagram pada jaringan publik yang menggunakan media jaringan telepon maupun pada jaringan wireless. Perbedaaan ini ditujukan untuk mencapai throughput yang baik pada setiap media. Akibat dari perbedaan ini, datagram IP mengalami fragmentasi ketika berpindah dari media kecepatan tinggi ke kecepatan rendah. Pada router atau host penerima, datagram yang telah terfragmen harus disatukan kembali sebelum diteruskan ke router berikutnya atau ke lapisan transport pada host tujuan. Struktur datagram Internet Protokol Versi 4 adalah sebagai berikut :
16
Gambar 2.3 Datagram IPv4
•
Version (4 bit), yaitu versi dari protokol IP yang digunakan
•
Header Length (4 bit), mengidentifikasi ukuran dari IP Header.
•
Type of Service (8 bit), digunakan untuk menentukan kualitas transmisi yang dapat mempengaruhi jalur datagram.
•
Total Length Of Datagram (16 bit), mendefinisikan panjang total IP datagram. Nilai ini termasuk IP header dan data yang ada didalam datagram.
•
Identification (16 bit), digunakan untuk mendukung fasilitas fragmentasi dengan memberikan nilai ID pada setiap paket data yang terfragmen.
•
Flags (3 bit), IP datagaram perlu difragmen atau tidak.
17 •
Fragment Offset (13 bit) mendefinisikan lokasi dari paket-paket yang mengalami fragmentasi dalam urutan keseluruhan paket.
•
Time to Live (8 bit), berisi jumlah hop maksimal yang dilewati paket IP. Nilai maksimum field ini adalah 255. Setiap kali paket IP lewat satu router, isi dari field ini dikurangi satu. Jika TTL telah habis dan paket tetap belum sampai ke tujuan, paket ini akan dibuang dan router terakhir akan mengirimkan paket ICMP time exceeded. Hal ini dilakukan untuk mencegah paket IP terus menerus berada dalam network.
•
Protocol (8 bit), mengandung angka yang mengidentifikasikan protokol transport layer, misalnya untuk TCP ditujukan dengan angka 6, ICMP dengan angka 1.
•
Header Checksum (16 bit), digunakan untuk memastikan IP header dan data yang dibawa tidak mengalami kerusakan selama transmisi antara sumber ke tujuan.
•
Source IP Address (32 bit), mendefinisikan alamat IP dari pengirim.
•
Destination IP Address (32 bit), mendefinisikan alamat IP penerima.
•
Options (32 bits), digunakan untuk mendefinisiakn informasi tambahan yang diminta oleh pengirim, misalnya record routing. Namun option tidak selalu digunakan dalam implementasi datagram.
18 •
Padding, digunakan untuk memastikan paket header berkelipatan 32 bit.
2.1.5. Transport Layer 2.1.5.1. TCP TCP merupakan protokol layer transport yang dapat menyediakan layanan connection-oriented, realiable dan byte stream orientation. TCP mampu memberikan jasa pengiriman yang dapat diandalkan (reliable) sekaligus bersifat flow-controlled. Sifat ini memungkinkan peralatan-peralatan jaringan yang berkecepatan rendah (slower-speed network devices) dapat berhubungan dengan peralatan-peralatan jaringan yang berkecepatan tinggi (higher-speed network devices). Unit data yang ditransferkan antara dua software TCP di dua host yang berbeda disebut segment. Segment ini dipertukarkan untuk kepentingan membuat koneksi, pengiriman data, pengiriman ack, pemberitahuan ukuran window dan penutupan koneksi. Sebuah segmen dapat berukuran hingga 65495 byte, yang terdiri atas sebuah header dan segmen data (payload), yang dienkapsulasi dengan menggunakan header IP dari protokol IP. Segmen-segmen TCP akan dikirimkan sebagai datagram-datagram IP. Datagram IP tersebut akan dienkapsulasi lagi dengan menggunakan header
19 protokol network interface menjadi frame lapisan Network Interface. Berikut ini adalah datagram pada protocol TCP :
Gambar 2.4 Datagram TCP
•
Source dan Destination Port Menururt Osteloh (2002, p.265), Field Source dan Destination port berukuran masing-masing 2 bytes. Source port mengidentifikasi proses komunikasi host pengirim, sedangkan destination port mengidentifikasi proses komunikasi host penerima. Client port mempunyai rentang antara 1.204-65.535 dan server port 1-1.023. Karena TCP mendukung komunikasi dua arah, nilai dari field ini tergantung dari mana arah komunikasi tiba. Apabila host meminta request, maka menggunakan rentang port client. Apabila host me-respon request dari client maka menggunakan rentang server port.
20 Menurut Carne (2005, p.27), Port yang sering digunakan untuk TCP, antara lain : o Port 20 FTP Server (data channel). o Port 21 FTP Server (control channel). o Port 23 Telnet Server. o Port 25 Simple Mail Transfer Protocol (SMTP). o Port 80 Hypertext Transfer Protocol (HTTP). o Port 137 NetBIOS Session Service •
Sequence Number (32 bit), merupakan nomor urut paket dari seluruh paket data. Paket data bisa saja sampai di tujuan dalam keadaan tidak berurut tergantung rute yang ditempuh dan kepadatan traffic-nya, ketika sampai di host tujuan, paket data akan diurutkan kembali sesuai dengan urutannaya, sehingga paket data dapat disusun kembali yang menghasilkan data seperti yang dikirimkan oleh host pengirim.
•
Acknowlegment Number (32 bit), mengindikasikan nomor urut dari oktet selanjutnya dalam aliran byte yang diharapkan oleh untuk diterima oleh pengirim dari si penerima pada pengiriman selanjutnya. Acknowledgment number sangat penting bagi segmen-segmen TCP dengan flag ACK diset ke nilai 1.
21 •
Data Offset (4 bit) digunakan untuk menunjukkan awal field data dan dibutuhkan karena TCP header tidak memiliki ukuran yang baku
•
Reserved (6 bit) sebagai header cadangan. Header ini diset 0 pada pengirim dan diabaikan oleh penerima.
•
Control Bit – URG (1 bit). Jika kode ini diset atau bernilai 1, maka akan mengindikasikan sebagai data urgent yakni didahulukan dari data atau transmisi yang lain, sebagai contoh ketika kita sedang proses download dengan FTP tetapi kita ingin membatalkannya dengan CTRL+C.
•
Control Bit – ACK (1 bit). Jika kode ini diset, maka akan mengindikasikan bahwa paket data yang dikirim diperbolehkan yang akan boleh dikirimkan, nomor paket yang boleh dikimkan ini didefinisikan dalam Acknowlegment Number header.
•
Control Bit- PSH (1 bit). Jika kode ini diset akan mengubah mode transmisi dengan mode push yaitu mem-flush data pada layer TCP, contoh mode push yaitu pada aplikasi telnet yang merupakan aplikasi interaktif
•
Control Bit- RST (1 bit). Kode ini digunakan jika koneksi akan direset yaitu membatalkan secara tiba-tiba, hal ini terjadi karena error dalam koneksi atau oleh interupsi yang lain.
22 •
Control Bit- SYN (1 bit). Kode ini digunakan jika akan memulai sebuah koneksi TCP (persiapan transmisi data pada TCP/IP) yaitu untuk mensinkronisasi sequence number .
•
Control Bit- FYN (1 bit). Kode ini diset jika seluruh data sudah terkirim dan session transmisi akan disudahi.
•
Window (16 bit) menunjukkan jumlah blok data yang mampu diterima dalam satu kali transmisi, hal ini diperlukan agar semua data dapat di terima dengan sebaik-baiknya.
•
Checksum (16 bit) digunakan untuk mengetahui apakah terjadi perubahan header dan data yang dikirimkan ketika proses transmisi.
•
Urgent Pointer (16 bit) bermakna hanya jika URG pada Control Bit diset dan menunjukkan lokasi data yang akan ditransmisikan dengan urgent mode.
•
Option, memiliki 3 fungsi, yaitu untuk menunjukkan o End of option list o No operation o Maximum segment size
23 • Padding
digunakan
untuk
memenuhi
panjang
header
merupakan kelipatan 32 bit. Jika terdapat header yang kurang, maka padding ditambahkan sampai berjumlah 32 bit
2.1.5.2. UDP Menurut Carne (2004, p.24) User Datagram Protocol (UDP) merupakan sebuah transport layer yang sederhana yang bersifat unreliable, ketika mengirim. UDP menerima data dari application layer, kemudian menambahkan port tujuan dan port pengirim, dan menghitung checksum yang akan digunakan penerima untuk mengecek validitas dari pengirim dan alamat tujuan. Berikut ini adalah gambar datagram pada protocol UDP :
Gambar 2.5 Datagram UDP
•
Source dan Destination Port, masing-masing mempunyai ukuran 2 byte. Source port mengidentifikasi proses atau aplikasi yang digunakan oleh pengirim, sedangkan destination port mengidentifikasi proses atau aplikasi yang digunakan oleh
24 penerima. Nilai dari port ini tergantung apakah host mengirimkan proses klien atau proses server. Apabila klien proses, maka host mengirim atau menerima menggunakan port antara 1.024 sampai dengan 65.535. Dan untuk server proses maka host menggunakan port antara 1 sampai dengan 1.023 untuk mengirim atau menerima. (Osteloh, 2002, p.264). •
Port UDP Menurut Carne(2004, p.25) port yang sering digunakan untuk UDP antara lain : o Port 53 Domain Name System (DNS). o Port 67 Dynamic Host Configuration Protocol (DHCP) Client. o Port 68 Dynamic Host Configuration Protocol (DHCP) Server. o Port 69 Trivial File Transfer Protocol (TFTP). o Port 137 NetBIOS Name Service. o Port 138 NetBIOS Datagram Service. o Port 161 Simple Network Management Protocol (SNMP). o Port 161 Simple Network Management Protocol (SNMP) trap.
25 •
Length Kolom ini menentukan besarnya data (dalam bytes) yang terkandung dalam datagram ini. Nilai yang terkandung dalam Length juga termasuk ukuran dari UDP Header. Jadi nilai minimal yang terkandung dalam field ini adalah 8 byte. Kolom Length mempunyai ukuran sebesar 2 byte. (Osteloh, 2002, p.264).
• Checksum, mempunyai ukuran sebesar 2 byte, yang berfungsi menjamin data yang dikirimkan tidak rusak selama proses pengiriman. Awalnya Host pengirim melakukan checksum, disebut CRC (Cyclic Redudancy Check), dan menempatkan nilai hasil ke dalam UDP header. Pada saat ditujuan, host penerima melakukan perhitungan yang sama untuk memverifikasi isi dari header.
Apabila
CRC
tidak
valid,
host
penerima
mengasumsikan bahwa terjadi kesalahan pada saat transmis dan membuang datagram tersebut. (Osteloh, 2002, p.265).
2.1.6. Protokol ARP Address Resolution Protocol (ARP) adalah protokol yang bertugas untuk menemukan alamat hardware suatu host dengan alamat IP tertentu. Protokol ini berada di antara layer 2 dan layer 3. Ketika suatu IP
26 paket akan dikirim, maka paket tersebut diteruskan ke layer dibawahnya (Ethernet), yang akan memberikan alamat hardware sesuai dengan alamat IP tersebut. Jika alamat hardware ini tidak ada di dalam cache ARP, maka ARP bertugas mencarinya di dalam jaringan (lokal). ARP dikembangkan untuk memfasilitasi resolusi alamat dinamis antara IP dan Ethernet. (http://www.tcpipguide.com.). Resolusi alamat menggunakan ARP dicapai melalui pertukaran pesan antara perangkat sumber untuk melakukan resolusi, dan perangkat tujuan yang merespon untuk itu. Berikut ini adalah datagram protokol ARP :
Gambar 2.6 Datagram Protokol ARP (Gambar dari : www.tcpipguide.com)
27 •
Hardware Type-HRD (2 bytes), melakukan identifikasi tipe hardware yang digunakan untuk mentransmisikan pesan ARP. Seperti untuk Ethernet 10mb bernilai 1.
•
Protocol Type-PRO (2 bytes), mengidentifikasikan jenis dari alamat Sender Protocol Address and Target Protocol Address.
•
Hardware Address Length-HLN (1 bytes), menetapkan ukuran dari alamat Sender Hardware Address and Target Hardware Address dalam satuan byte. Untuk Ethernet atau jaringan lain dengan menggunakan alamat MAC IEEE 802, nilai adalah 6.
•
Protocol Address Length-PLN (1 bytes), menetapkan ukuran dari alamat Sender Protocol Address dan Target Protocol Address dalam satuan byte. Untuk alamat IPv4 bernilai 4.
•
Operational Code-Opcode (2 bytes), menetapkan suatu fungsi atau operasi yang dilakukan. Untuk ARP Request bernilai 1, ARP Reply bernilai 2, RARP Request bernilai 3 dan RARP Reply bernilai 4
•
Sender Hardware Address-SHA (nilainya sama dengan kolom HLN), berisi alamat dari sebuah perangkat keras yang mana sebagai pengirim pesan..
•
Sender Protocol Address-SPA (nilainya sama dengan kolom PLN), merupakan alamat IP dari perangkat pengirim pesan ini.
28 •
Target Hardware Address-THA (nilainya sama dengan kolom HLN), berisi alamat dari sebuah perangkat keras yang mana sebagai penerima pesan.
•
Target Protocol Address-TPA (nilainya sama dengan kolom PLN), berisi alamat IP sebagai penerima pesan. Proses transmisi protokol ARP dimulai pertama kali dengan
memutuskan apakah perangkat tujuan berada di jaringan lokal atau jaringan yang jauh. Jika pada jaringan lokal, maka akan mengirim langsung ke tujuan, dan apabila diluar jaringan lokal maka akan mengirim datagram ke salah satu router untuk diteruskan. Operasi dasar ARP adalah sepasang transmisi permintaan/ tanggapan (request/ response) pada jaringan lokal. Dalam hal ini sumber mentransmisikan secara broadcast yang berisi informasi tentang tujuan. Tujuan kemudian me-respons unicast kembali ke sumber, dengan mengatakan sumber alamat hardware tujuan. Berikut ini adalah gambar proses transmisi protokol ARP :
29
Gambar 2.7 Proses Transmisi Protokol ARP (Gambar dari www.tcpipguide.com)
1. Source Device Checks Cache: Perangkat sumber pertama-tama akan memeriksa cache untuk menentukan apakah sudah memiliki resolusi perangkat tujuan. Jika sudah ada maka dapat melanjutkan ke langkah terakhir (langkah ke-9) 2. Source Device Generates ARP Request Message: Perangkat sumber melakukan pesan ARP Request.Menempatkan sendiri alamat data link layer sebagai Sender Hardware Address dan alamat IP sebagai Sender
30 Protocol Address. Serta mengisi alamat IP tujuan sebagai Target Protocol Address 3. Source
Device
Broadcasts
ARP
Request
Message:
Sumber
menyiarkan (broadcast) pesan ARP di jaringan lokal. 4. Local Devices Process ARP Request Message: Pesan yang telah diterima oleh masing-masing perangkat pada jaringan lokal, diproses dengan membandingkan Target Protokol Address. Apabila tidak sesuai maka akan mengabaikan pesan dan tidak mengambil tindakan lebih lanjut. 5.
Destination Device Generates ARP Reply Message: Satu perangkat yang alamat IP-nya sesuai dengan isi Target Protocol Address dari suatu pesan akan menghasilkan pesan ARP Request. Ini mengambil Sender Hardware Address dan Kolom Sender Protocol Address dari pesan ARP Request dan menggunakannya sebagai nilai untuk Target Hardware Address dan Target Protocol Address . Kemudian mengisi sendiri lapisan dua alamat sebagai Sender Hardware Address dan alamat IP-nya sebagai Sender Protocol Address.
6. Destination Device Updates ARP Cache: Jika sumber harus mengirim IP datagram ke tujuan, memungkinkan tujuan perlu untuk mengirim tanggapan (response) ke sumber di beberapa titik. (Setelah semua, sebagian besar komunikasi di dalam sebuah jaringan adalah dua arahbidirectional.) Sebagai pengoptimalan, maka perangkat tujuan akan
31 menambahkan sebuah entri ke cache ARP-nya sendiri yang berisi hardware dan alamat IP sumber yang mengirim ARP Request. 7. Destination Device Sends ARP Reply Message: Perangkat tujuan mengirim pesan ARP reply dan dikirim unicast ke perangkat sumber. 8. Source Device Processes ARP Reply Message: perangkat sumber memproses jawaban dari tujuan, kemudian menyimpan Sender Hardware Address sebagai lapisan kedua alamat tujuan, yang akan digunakan untuk mengirim datagram IP-nya. 9. Source Device Updates ARP Cache: Perangkat sumber menggunakan Sender Protocol Address and Sender Hardware Address untuk melakukan update ARP cache untuk digunakan di lain waktu ketika mentransmisikan ke perangkat ini.
2.1.7. Protokol DNS Domain Name System (DNS) adalah distributed database system yang digunakan untuk pencarian nama komputer (name resolution) di jaringan yang mengunakan protocol TCP/IP (Transmission Control Protocol/Internet Protocol). DNS biasa digunakan pada aplikasi yang terhubung ke Internet seperti web browser atau e-mail, dimana DNS membantu memetakan host name sebuah komputer ke IP address. Selain digunakan di Internet, DNS juga dapat di implementasikan ke private network atau intranet. Domain Name Space merupakan sebuah hirarki
32 pengelompokan domain berdasarkan nama, yang terbagi menjadi beberapa bagian diantaranya: 1. Root-Level Domains Domain ditentukan berdasarkan tingkatan kemampuan yang ada di struktur hirarki yang disebut dengan level. Level paling atas di hirarki disebut dengan root domain. Root domain di ekspresikan berdasarkan periode dimana lambang untuk root domain adalah (“.”). 2. Top-Level Domains Top-level domains dapat berisi second-level domains dan hosts. Pada bagian dibawah ini adalah contoh dari top-level domains, yaitu com, edu, org, net, gov, mil, num, arpa, xx (dua-huruf untuk kode Negara, misalnya id:Indonesia,sg:singapura,au:australia,dll). 3. Second-Level Domains Second-level domains dapat berisi host dan domain lain, yang disebut dengan subdomain. Sebagai contoh: Domain Skripsi, skripsi.com terdapat komputer (host) seperti server1.skripsi.com dan subdomain training.skripsi.com. Subdomain training.skripsi.com juga terdapat komputer (host) seperti client1.training.skripsi.com.
33 4. Host Names Domain name yang digunakan dengan host name akan menciptakan fully qualified domain name (FQDN) untuk setiap komputer. Sebagai contoh, jika terdapat fileserver1.detik.com, dimana fileserver1 adalah host name dan detik.com adalah domain name. Fungsi dari DNS adalah menerjemahkan atau memetakan nama komputer ke alamat IP. Klien DNS disebut dengan resolver dan DNS server disebut dengan Name Server. Resolver atau klien mengirimkan permintaan ke name server berupa queries. Name server akan memproses dengan cara mengecek ke local database DNS, menghubungi name server lainnya atau akan mengirimkan “message failure” jika ternyata permintaan dari client tidak ditemukan. Proses tersebut disebut dengan Forward Lookup Query, yaitu permintaan dari client dengan caramemetakan nama komputer (host) ke IP address. Gambar dibawah ini adalah Struktur pesan Header DNS
Gambar 2.8 Header DNS
34 •
ID (16-bit) digunakan untuk mengkorelasikan permintaan dan tanggapan.
•
Q (1-bit) mengidentifikasi pesan sebagai pertanyaan atau tanggapan.
•
Query (4-bit) menggambarkan jenis pesan :
•
0
Standard query (name to address).
1
Inverse query (address to name).
2
Server status request.
A - Authoritative Answer (1-bit) Ketika di set ke 1, mengidentifikasi respon sebagai salah satu yang dibuat oleh Nama Server otoritatif.
•
T – Truncation (1-bit) field. Ketika di set ke 1, menunjukkan pesan telah terpotong.
•
R (1-bit) field. Ketika diset menjadi 1 oleh resolver untuk meminta layanan secara rekursif oleh name server.
•
V (1-bit) field. Ketersediaan sinyal rekursif oleh layanan Name Server.
•
B (3-bit )field. Dicadangkan untuk penggunaan mendatang. Harus diset ke 0.
•
RCode - Response Code (4-bit) tetapkan oleh Name Server untuk mengidentifikasi status query
•
Question count (16-bit) kolom yang mendefinisikan jumlah entri dalam bagian pertanyaan.
35 •
Answer count (16-bit) kolom yang mendefinisikan jumlah catatan di bagian jawaban.
•
Authority count (16-bit kolom yang mendefinisikan jumlah catatan Name Server di bagian otoritas..
•
Additional count (16-bit) kolom yang mendefinisikan jumlah catatan di bagian catatan tambahan.
2.1.8. Keamanan Jaringan Keamanan jaringan merupakan salah satu aspek penting dari sebuah sistem informasi. Dalam hal ini terdapat paradigma yang beranggapan
bahwa
masalah
keamanan
komputer
merupakan
tanggungjawab sepenuhnya administrator jaringan, padahal terciptanya suatu sistem keamanan jaringan perlu dukungan dari pihak pengguna jaringan itu sendiri. Sehingga perlu adanya pengenalan akan pengetahuan keamanan. Keamanan jaringan itu sendiri didefinisikan sebagai sebuah perlindungan dari sumber daya terhadap upaya penyingkapan, modifikasi, utilisasi, pelarangan dan perusakan oleh pihak yang tidak diijinkan. Pada umumnya terdapat parameter dari ukuran sebuah sistem yang aman, diantaranya seorang penyerang atau pihak yang tidak mempunyai hak harus membutuhkan banyak waktu, tenaga dan biaya yang besar dalam
36 melakukan penyerangan selain itu yang perlu diperhatikan adalah resiko yang dikeluarkan penyerang tidak sebanding dengan hasil yang diperoleh. Sistem yang aman merupakan suatu trade-off atau sebuah tarik ulur perimbangan antara keamanan dan biaya, dimana semakin aman sebuah sistem maka semakin tinggi biaya yang diperlukan untuk memenuhinya. Sehingga dapat dikatakan bahwa kebutuhan keamanan untuk sebuah sistem jaringan komputer berbeda-beda, hal ini tergantung pada aplikasi yang ada didalamnya, nilai dari data yang ada di dalam sistem, dan tersedianya sumber dana. Celah keamanan sistem internet dapat disusun dalam skala klasifikasi. Skala klasifikasi ini disebut dengan istilah skala Internet Threat Level (ITL). Dalam hal ini, ancaman terendah digolongkan dengan ITL kelas 0, sedangkan ancaman teringgi digolongkan degan kelas 9. Klasifikasi permasalahan keamanan tergantung pada kerumitan perilaku ancaman pada sistem sasaran, dalam hal ini dibagi ke dalam tiga kategori utama, yaitu ancaman lokal, ancaman remote dan ancaman dari lintas firewall. Tingkat ancaman tersebut dapat diukur dengan melihat faktorfaktor seperti kegunaan sistem, kerahasiaan data dalam sistem, tingkat kepentingan dari integritas data, kepentingan untuk menjaga akses yang tidak boleh terputus, profil pengguna dan hubungan antara sistem yang
37 satu dengan sistem yang lain. Secara garis besar terdapat dua tipe ancaman, yaitu: •
Ancaman Pasif Pada ancaman pasif penyerang melakukan pemantauan dan atau perekaman data selama data ditransmisikan melalui fasilitas komunikasi. Tujuan dari penyerangan ini adalah untuk mendapatkan informasi yang sedang dikirimkan.. Kategori ini memiliki dua tipe, yaitu release of message contain dan traffic analysis. Pada tipe release of message contain, memungkinkan penyusup untuk mendengar pesan, sedangkan tipe traffic analysis memungkinkan penyusup untuk membaca header dari suatu paket, sehingga bisa menentukan arah atau alamat tujuan paket dikirimkan.
Gambar 2.9 Ancaman Pasif
38 •
Ancaman Aktif Ancaman aktif merupakan pengguna gelap suatu peralatan terhubung fasilitas komunikasi untuk mengubah transmisi data atau mengubah isyarat kendali atau memunculkan data atau isyarat kendali palsu. Pada
kategori
ini
terdapat
modification, denial of
tiga
tipe
yaitu
message-stream
message service dan masquerade. Tipe
message-stream modification memungkinan pelaku untuk memilih, menghapus, menduplikasi
memodifikasi, pesan
asli
menunda, dan
melakukan
memungkinkan
juga
menambahkan pesan-pesan palsu. Pada tipe denial of
reorder, untuk message
service memungkinkan pelaku untuk merusak atau menunda sebagian besar atau seluruh pesan. Sedangkan pada tipe masquerade memungkinkan pelaku untuk menyamar sebagi host atau switch asli dan berkomunikasi dengan yang host yang lain atau switch untuk mendapatkan data atau pelayanan.
39
Gambar 2.10 Ancaman Aktif . Salah satu cara untuk mengamankan suatu sistem jaringan adalah dengan mengetahui bagaimana penyerang bekerja, yaitu dengan mengetahui bagaimana tahapan dan perangkat atau tools apa yang digunakan. Pada dasarnya tahapan penyerangan dibagi menjadi beberapa hal, yaitu : •
Spying and Analyzing Pada tahapan ini penyerang berusaha mempelajari target yang akan diserang dengan mengumpulkan data berupa hal-hal yang berkaitan dengan target dan menggunakan data maupun informasi tersebut untuk kemudian dianalisa.
40 •
Initial Access to The Target Tujuan dari tahapan ini adalah mendapatkan akses ke target sistem. Dalam hal ini akses tidak perlu menjadi root atau user biasa, melainkan bisa berupa akses FTP sampai Sendmail atau dengan kata lain hanya untuk dapat login sebagai pengguna dalam sistem.
•
Full System Access Tipe dari tahapan ini bertujuan untuk mendapatkan akses penuh dalam target sistem, sehingga dapat dikatakan bahwa penyerang telah mencapai apa yang diharapkan dari rencana-rencana yang telah dijalankan sebelumnya. Jadi pada langkah ini penyerang harus menerapkan pengetahuan tentang bug yang bisa memberikan akses tinggat tertinggi atau root dalam target sistem atau memanfaatkan kesalahan parameter-parameter konfigurasi sistem.
•
Covering Track and Installing Backdoor Pada tahapan ini, tujuan dari penyerang adalah untuk menghilangkan jejak dan memasang backdoor. Dalam menghapus log dalam target sistem
merupakan
langkah
wajib
yang
dilakukan
untuk
menghilangkan jejak. Sedangkan pemasangan backdoor dilakukan agar penyerang dapat tetap dengan mudah masuk ke dalam target sistem.
41 2.1.8.1. Firewall Firewall mempunyai arti "sebuah perangkat atau sistem operasi, atau aplikasi yang menerapkan aturan akses antar jaringan dengan cara menyaring, membatasi dan menolak suatu hubungan atau kegiatan suatu segmen pada jaringan komputer. (RFC 2647). Firewall merupakan perangkat jaringan yang berada di dalam kategori perangkat Layer 3 (Network layer) dan Layer 4 (Transport layer) dari protocol 7 OSI layer. Seperti diketahui, layer 3 adalah layer yang mengurus masalah pengalamatan IP, dan layer 4 adalah menangani
permasalahan
port-port
komunikasi
(TCP/UDP).
Terdapat tiga tipe firewall yang sering digunakan, diantaranya : •
Packet-Filtering Router Menurut Stalling (2003, p.618), packet filtering mengaplikasi sekumpulan rule untuk mengatur setiap paket IP. Pada tipe ini paket tersebut akan diatur apakah akan di terima dan diteruskan atau ditolak. Packet filtering ini di konfigurasikan untuk menyaring packet yang akan di transfer secara dua arah (baik dari dan ke jaringan lokal). Rule yang digunakan berdasarkan pada informasi yang terkandung dalam IP Header, seperti source dan destination IP address, source dan destination port, protokol yang digunakan pada Transport Layer (TCP atau UDP). Kelebihan dari tipe ini adalah mudah
42 untuk di implementasikan, transparan untuk pemakai, relatif lebih cepat. Adapun kelemahannya adalah cukup rumit dalam melakukan konfigurasi terhadap paket yang akan difilter secara tepat, serta lemah dalam hal authentikasi.
Gambar 2.11 Skema Packet Filtering Router
•
Aplication-Level Gateway Menurut Stalling (2003, p.624) Application-level Gateway atau yang biasa dikenal sebagai proxy server, yang mana berfungsi untuk menyalurkan aplikasi. Cara kerjanya adalah apabila ada pengguna yang menggunakan salah satu aplikasi seperti FTP untuk mengakses secara remote, maka gateway akan meminta user memasukkan alamat remote host yang akan di akses. Saat pengguna mengirimkan user ID serta informasi lainnya yang sesuai maka gateway akan melakukan hubungan terhadap aplikasi tersebut yang terdapat pada remote host, dan menyalurkan data diantara kedua titik.
43 Apabila data tersebut tidak sesuai maka firewall tidak akan meneruskan data tersebut atau menolaknya. Pada tipe ini firewall dapat di konfigurasikan untuk hanya mendukung beberapa aplikasi saja dan menolak aplikasi lainnya untuk melewati firewall. Kelebihannya adalah relatif lebih aman daripada tipe packet filtering router lebih mudah untuk memeriksa dan mendata semua aliran data yang masuk pada level aplikasi. Kekurangannya adalah pemrosesan tambahan yang
berlebih
pada
setiap
hubungan.
Yang
akan
mengakibatkan terdapat dua buah sambungan koneksi antara pemakai dan gateway, dimana gateway akan memeriksa dan meneruskan semua arus dari dua arah.
Gambar 2.12 Aplication Level Gateway
44 •
Circuit-level Gateway Menurut Stalling (2003, p.624)
Circuit-level Gateway
merupakan suatu sistem yang berdiri sendiri , atau juga merupakan fungsi khusus yang terbentuk dari tipe applicationlevel gateway. Tipe ini tidak mengijinkan koneksi TCP end to end (langsung). Gateway akan mengatur kedua hubungan TCP tersebut, yaitu antara Gateway dengan pengguna TCP lokal (inner host), dan antara Gateway dengan pengguna TCP luar (outside host). Saat dua buah hubungan terlaksana, Gateway akan menyalurkan TCP segment dari satu hubungan ke lainnya tanpa memeriksa isinya. Fungsi pengamanannya terletak pada penentuan hubungan mana yang di ijinkan.
Gambar 2.13 Circuit Level Gateway
45 2.1.8.2. Intrusion Detection System Intrusion Detection System (IDS) merupakan suatu piranti lunak atau keras yang memeriksa aktifitas jaringan yang masuk maupun yang keluar, dan mengidentifikasi pola yang dicurgai sebagai
serangan
yang
dapat
membahayakan
sistem.
IDS
mengumpulkan dan menganalisa informasi dari komputer atau suatu jaringan, dan mengidentifikasikan kemungkinan pelanggaran dari security policy, termasuk unauthorized accsess. Pada umumnya terdapat dua tipe dari IDS, diantaranya : •
Network-based IDS, mengawasi seluruh segmen jaringan dimana
NIDS
ditempatkan.
NIDS
menyadap
seluruh
komunikasi yang ada dijaringan tersebut, tanpa memilah-milah paket data yang lewat. Sebagai tambahan NIDS harus terhubung dengan span port di switch atau network tap. Span port dan network tap berfungsi untuk menduplikasi seluruh paket data yang lewat. NIDS harus ditempatkan pada posisi yang memungkinkan untuk bisa memonitor seluruh jaringan. Gambar dibawah ini merupakan contoh sederhana dari penempatan NIDS.
46
Gambar 2.14 Topologi NIDS
•
Host-Based IDS hanya melindungi system dimana HIDS tersebut berada, dan beroperasi tanpa memilih data yang lewat. Namun kelemahannya adalah kinerja CPU menjadi lebih tinggi dan membebani host karena HIDS tidak memilah data yang lewat. HIDS membuka semua tambahan informasi lokal dan mengaitkannya dengan keamanan, termasuk system calls, modifikasi file system, dan system log. Keuntungan lain dari HIDS adalah kemampuan untuk mengatur rule sangat baik bagi kebutuhan host.
47
Gambar 2.15 Topologi HIDS
2.1.8.3. Intrusion Prevention System Intrusion Prevention System (IPS) pada dasarnya serupa dengan dengan system IDS. Intrusion Detection & Prevention (Endorf ,2004) terdapat perbedaan utama pada kedua system tersebut, dimana pada IPS bersifat inline pada suatu jaringan dan ketika terjadi suatu peristiwa tertentu, system tersebut akan melakukan tindakan sesuai dengan rule yang telah ditentukan. Hal ini berbeda dengan system IDS, yang hanya bersifat pasif. Intrusion Prevention
System
(IPS)
merupakan
salah
satu
perangkat
perlindungan keamanan atau piranti lunak yang dapat mencegah
48 serangan terhadap system jaringan komputer. Saat ini terdapat dua teknologi IPS, yaitu : •
Network-based menyediakan
Intusion komponen
Prevention proaktif
yang
System secara
(NIPS), efektif
mengintegrasikan ke dalam bagian keamanan jaringan. NIPS merupakan perangkat inline - berada pada jalur komunikasi data, memprosesnya dan meneruskannya kembali. •
Host-based Intrusion Prevention System (HIPS) merupakan sebuah aplikasi yang berjalan pada satu komputer atau server untuk melihat seluruh lalu-lintas komunikasi dari dan menuju komputer tersebut.
2.1.8.3.1. Mekanisme IPS Dalam melakukan analisis paket, terdapat beberapa anatomi dasar yang dilakukan IPS untuk mengidentifikasikan adanya suatu penggangggu (intrusion) maupun kejanggalan dalam aktifitas jaringan, diantaranya preprocessing, berfungsi untuk mengelompokkan data dalam beberapa golongan ketika data telah dikumpulkan dari sensor IPS. Ketika proses ini telah selesai, maka proses selanjutnya adalah analysis, dimana data yang telah tercatat akan dianalisis dan dicocokan dengan
49 knowledge base. Tahap selanjutnya adalah response, yaitu ketika telah diketahui bahwa terjadi intrusi maka IPS akan menanggapi dengan melakukan pencegahan terhadap serangan yang terjadi. Tahap yang terakhir adalah refinement, yang merupakan proses yang paling kritis dimana fine-tuning dari system IPS dapat dilakukan, berdasarkan pada intrusi yang terdeteksi. Hal ini memberi kesempatan untuk mengurangi tingkatan false-positive. Metode deteksi yang digunakan IPS terbagi menjadi dua bagian, yaitu : •
Rule-Based Detection Metode rule-based detection atau yang dikenal sebagai signature-based detection, pattern matching dan misuse detection, sebuah paket data akan dianalisis dan dicocokkan dengan suatu database signature. Pada proses analisis suatu intrusion, terdapat empat tahapan. o Preprocessing.
Langkah
awal
adalah
proses
pengumpulan data tentang intrusion, vulnerability dan serangan-serangan yang kemudian dikelompokan ke dalam skema klasifikasi. Skema klaisifikasi terdiri dari content-based signatures (menguji payload dan packet header),
dan
context-based
signature
(hanya
50 mengevaluasi
packet
header)
untuk
mengidentifikasikan suatu alert. o Analysis, dimana data akan dibandingkan dengan knowledge base dengan menggunakan pattern-matching analysis engine. Kemudian analysis engine mencari pola yang diketahui sebagai serangan. o Response, apabila cocok dengan pola serangan, analysis engine akan mengirimkan peringatan (alert). o Refinement, dilakukan dengan memperbaharui signature, karena IDS dapat berjalan optimal dengan signature terbaru •
Anomaly Detection Metode anomaly detection atau profile-based detection digunakan untuk mendeteksi adanya kejanggalan atau aktifitas yang tidak normal. IPS membuat profile system yang menandakan suatu situasi yang menyimpang dari pola normal dan memberikan informasi tersebut ke output. Perbedaan mendasar tentang metode ini dengan metode analisis lainnya adalah pada anomaly-based detection mengidentifikasikan seluruh aktifitas, baik yang diijinkan maupun tidak. Pada metodologi ini, terdapat tiga katagori utama, diantaranya behavioral, pola traffic dan protokol.
51 Pada behavior analysis melihat adanya kejanggalan secara statistik, seperti hubungan dalam suatu paket dan apa saja yang dikirimkan pada suatu jaringan. Sedangkan pada analisis pola trafic untuk mengamati pola yang specifik dalam lalu-lintas jaringan. Dan yang terakhir adalah protocol analysis, dimana mengamati pelanggaran protokol jaringan atau penyalahgunaan yang berdasarkan pada perilaku RFC. Pada model analisis dalam konteks anomaly detection terdapat empat tahapan. o Preprocessing, merupakan proses pengumpulan data berdasarkan perilaku normal pada jaringan dalam waktu tertentu. Dalam hal ini data tersebut dibentuk ke dalam format numerik dan akan digolongkan kedalam statistical profile dengan algoritma yang berbeda dalam knowledge base. o Analysis, dimana data suatu kejadian dianalisis dengan membandingkan isi dari profile vector dari data suatu kejadian dengan knowledge base. o Response, merupakan suatu tindakan yang dilakukan berdasarkan hasil analisis.
52 o Refinement, dimana data record perlu diperbaharui. Dalam hal ini perlu diketahui bahwa profile vector history akan dihapus setelah beberapa hari. Berikut ini merupakan tahapan bagaimana suatu informasi atau paket data yang dilalui oleh IPS : •
Raw Packet Capture, internal information flow dimulai dengan
menangkap
paket
data
mentah,
kemudian
menyampaikannya ke komponen berikutnya dari suatu system. Paket data mentah diambil melalui network interface card (NIC) dan kemudian disimpan di memori, sehingga paket tersebut dapat diproses dan dianalisis. Pada umumnya IPS mempunyai dua cara untuk menangkap paket data mentah. Pertama Promiscuous mode, yaitu NIC menangkap semua paket yang melewati network media. Yang kedua adalah
Nonpromiscuous mode, yaitu NIC
hanya mengambil paket data mentah untuk alamat tertentu dan mengabaikan data yang lain.. •
Filtering, merupakan suatu tindakan untuk membatasi paket yang ditangkap menurut logika tertentu berdasarkan pada beberapa karakteristik, seperti tipe suatu paket, jarak alama IP asal, dan lain-lain.
53 •
Packet
decoding.
Paket
kemudian
dikirim
ke
serangkaian decoder yang mendefinisikan paket pada data link layer. Paket tersebut di-decode untuk menentukan lebih lanjut apakah paket tersebut sebuah paket IPv4, atau IPv6, serta alamat IP sumber dan tujuan, port sumber dan tujuan dari TCP dan UDP, dan lain.. •
Storage. Ketika setiap paket telah di-decode, biasanya disimpan ke dalam hard disk atau ke dalam form suatu struktur data, sehingga pada waktu yang bersamaan data dibersihkan dari memori.
•
Fragment Reassembly, merupakan suatu proses yang terbilang cukup penting meskipun paket data telah didecode sebelumnya, karena paket yang telah ter-fragment dapat menimbulkan masalah lain pada sistem IDS atau IPS, dimana paket tersebut dapat digunakan untuk menyerang sistem atau menghindari mekanisme deteksi. Permasalahannya adalah ketika suatu paket fragmen dapat saling tumpang tindih dengan paket fragmen lainnya, dimana ketika paket tersebut dirakit kembali akan menimpa paket yang telah dirakit sebelumnya. Selain itu ukuran paket fragment yang tidak sesuai. Cara lainnya adalah
dengan
menggabungkan
beberapa
fragment,
54 sehingga offset yang dihasilkan membuat program yang besar
untuk
proses
fragment-reassembly,
yang
menyebabkan host penerima crash. Cara yang efektif dalam
menangani
paket
fragment
adalah
dengan
mengulang bagian pertama dari paket tersebut, yang mana berisi informasi dalam packet header, alamat IP sumber dan tujuan, tipe paket dan lain-lain. •
Stream Reassembly, mengambil data dari TCP stream yang kemudian disusun kembali apabila data tidak berurutan, sehingga paket data yang dikirim sama dengan yang diterima. Ketika paket data yang tiba pada mesin IDS maupun IPS tidak berurutan, maka paket data tersebut tidak bisa dianalisis dengan baik, sehingga diperlukanlah stream reassembly. Stream reassembly jg memfasilitasi detection of out-of-sequence scanning methods.
•
Stateful Inspection TCP Session, digunakan untuk menghindari situasi dimana saat IPS menganalisis setiap paket yang menjadi bagian dari sesi yang dimanipulasi.
•
Firewalling, pada dasarnya digunakan untuk melindungi IPS dari serangan ketika menganalisis paket, terutama setelah menyelesaikan TCP stateful inspection sejak penyerang dapat membuat system IPS dilumpuhkan.
55 Firewalling merupakan salah satu pilihan untuk mengintegrasikan pertahanan IPS. Istilah response dalam IPS mengacu pada suatu tindakan yang diambil ketika dicurigai adanya kejanggalan aktifitas dalam jaringan maupun serangan. Pada umumnya, terdapat tiga tipe yang digunakan dalam menanggapi serangan, diantaranya : •
Automated
Response,
melakukan
tanggapan
secara
otamatis apabila mendeteksi adanya serangan. Akan tetapi metode ini memiliki kelemahan diantaranya ketika terjadi false positive, sehingga menyebabkan proses yang berjalan untuk segera dihentikan. Ada bebarapa cara yang digunakan. Pertama droping the connection, dimana akan menginstruksikan firewall untuk menghentikan seluruh komunikasi pada port. Yang kedua adalah teknik throttling, yaitu untuk mencegah penggunaan port scan. Teknik ini digunakan dengan cara menunda dalam melakukan scanning dan ketika aktifitas meningkat maka waktu tunda akan meningkat. Sedangkan yang ketiga adalah shunning, merupakan proses identifikasi suatu penyerang dan akan menangkal penyerangan pada sistem jaringan akses atau servis tertentu. Tipe yang terakhir adalah session sniping, yaitu dimana IPS akan mengakhiri
56 serangan dengan menggunakan paket TCP RESET untuk mengakhiri koneksi dan mencegah serangan. •
Manual response, dimana mempercayakan sepenuhnya kemampuan dari pengguna maupun administrator dalam rangka menganalisis dan menanggapi suatu serangan. Hybrid response, merupakan tipe response yang paling umum digunakan karena hal ini terbilang cukup efektif dalam
menanggapi
adanya
serangan,
yang
mana
menggabungkan teknologi antara automated response dan manual response.
2.1.8.4. False Alarm IPS mendeteksi aktivitas yang dianggap sebagai ancaman, kemudian memberikan peringatan akan ancaman tersebut kepada administrator.
Beberapa
sistem
IPS
mengambil
tindakan
sebagaimana mestinya secara otomatis, seperti blocking atau menghentikan traffic berdasarkan ancaman tersebut. Terkadang IPS tidak mendeteksinya dengan benar, disebut dengan false alarm. False alarm dikelompokan dalam beberapa kategori, termasuk false positive dan false negative.
57
Kategori Reactionary
Deskripsi Traffic Traffic yang disebabkan oleh kegiatan lain jaringan, seringkali
Alarm
tidak
berbahaya.
Sebagai
contoh
perangkat NIDS yang memicu alarm ICMP Flood yang
sebenarnya
disebabkan
oleh
kesalahan
perlatan. Equipment
Related Alarm yang disebabkan oleh paket yang tidak dikenali yang disebabkan oleh beberapa peralatan
Protocol
jaringan.
Load
Balancer
sering
menjadi
penyebabnya. Protocol Violation
Alarm yang disebabkan oleh network traffic yang tidak
dikenal,
seringkali
disebabkan
oleh
penulisan/codding software klien yang buruk. True False Positive
Alarm yang ditimbulkan oleh IDS tanpa alasan yang jelas. Biasanya ditimbulkan karena bug dari Software IDS.
Non-Malicious Alarm
Disebabkan
dari
beberapa
sebenarnya tidak berbahaya. Tabel 2.1 Kategori False Alarm
kejadian
yang
58 2.1.8.4.1. False Positive Metode Anomaly Detection secara mendasar adalah dengan membandingkan data yang lewat dengan data pada keadaan normal. Traffic yang menuju sistem terkadang ditandai sebagai ancaman ketika polanya tidak disimpan di dalam rule IPS, sehingga menyebabkan alarm yang salah. Hal ini menyebabkan false positive, yang rawan terjadi ketika menggunakan metode anomaly detection. False positive selalu terjadi dalam analisis anomali ketika tidak semua keadaan normal didefinisikan secara akurat sebagai keadaan normal yang
sebenarnya.
dihilangkan
False
sepenuhnya,
positive
hampir
tidak
namun
dengan
desain
dapat dan
implementasi yang tepat pada sebuah IPS false positive dapat dikurangi.
2.1.8.4.2. False Negative Kasus terburuk dari IPS adalah tidak bisa mendeteksi serangan yang masuk secara efektif dan akurat, dan membiarkan serangan masuk ke dalam jaringan. Atau IPS mendeteksi penyerang yang masuk sebagai sebuah aktifitas yang normal. Hal ini disebut sebagai false negative. Sebuah IPS yang baik mampu untuk menghindari false negative,
59 sehingga tidak ada penyerang yang mampu masuk dan merusak sistem. Intrusion
No Intrusion
Alert
True Positive
False Positive
No Alert
False Negative
True Negative
Tabel 2.2 Perbandingan Kondisi True-False
Alarm
True
Positive
Aktifitas
False normal
yang Aktifitas
diidentifikasi dengan benar salah dan diberi izin akses Negative
Aktifitas
serangan
diidentifikasi
yang dan
tidak diberi izin akses yang Aktifitas serangan yang
diidentifikasi dengan benar salah dan dilakukan blocking
normal
diidentifikasi
dan
tidak dilakukan blocking.
True: Kondisi dimana IPS bekerja secara benar False: Kondisi dimana IPS bekerja secara salah Positive: Aktifitas normal Negative: Aktifitas tidak normal Tabel 2.3 True-False Detection Alarm
60 2.2. Teori Khusus 2.2.1. Mekanisme Serangan Man In The Middle Serangan Man-In-The-Middle (MITM), merupakan suatu tipe serangan yang memanfaatkan kelemahan pada keamanan protokol IP. Seperti yang telah kita ketahui bahwa, dalam koneksi jaringan TCP/IP melibatkan suatu proses pengiriman, penerimaan dan persetujuan. Konsep dasar dari serangan ini adalah penyerang harus berada di jaringan antara dua mesin atau komputer yang saling berkomunikasi, sehingga secara teknis memungkinkan bagi penyerang untuk melihat, bahkan mampu mengontrol atau mengubah data yang dikirim antar dua komputer tersebut Dalam melakukan serangan ini pun, mesin penyerang tidak harus secara fisik terletak diantara dua komputer, namun rute paket yang ditujukan bagi host lain harus diyakinkan untuk melalui mesin penyerang. Berikut ini adalah ilustrasi secara umum bagaimana penyerang melakukan serangan MITM. PC A adalah client dan PC B adalah server, maka penyerang (PC X) harus menjadi “legitimate server” bagi “real client” (PC A) dan juga sebagai “legitimate client” bagi “real server” (PC B). Pada aktiftas normal, PC A dan PC B dapat mengirimkan data tanpa harus melalui PC X. Namun pada aktifitas tidak normal, data dari PC A yang seharusnya dikirim ke PC B harus melewati PC X terlebih dahulu. PC A menganggap data yang diterima berasal dari PC B, begiu
61 juga sebaliknya. Serangan ini mengakibatkan keaslian dan kerahasiaan data tidak terjamin.
Gambar 2.16 Ilustrasi MITM
Seperti yang telah disinggung sebelumnya bahwa studi ini hanya fokus pada lingkup jaringan LAN. Dalam hal ini terdapat tiga teknik yang biasa digunakan dalam melakukan serangan tersebut, diantaranya ARP Spoofing, DNS Spoofing dan MAC Flooding. •
Address Resolution Protocol Spoofing Pada dasarnya Address Resolution Protocol (ARP) dirancang bertindak sebagai perantara antara alamat IP dan MAC atau dengan kata lain ARP bertanggung jawab untuk mengelola hubungan antara alamat Media Access Control (MAC) dan alamat IP pada perangkat jaringan. Seperti yang kita ketahui, bahwa perangkat Ethernet menggunakan alamat MAC untuk berkomunikasi. Informasi tentang
62 alamat MAC tersebut akan disimpan dalam RAM (Random Access Memory) dan bersifat temporer dengan waktu dua menit. Ruang simpan dalam RAM ini disebut ARP cache. Tujuan dari penyimpanan tersebut adalah untuk membantu mempercepat transfer data sehingga alamat MAC tidak harus diverifikasi setiap kali satu perangkat yang ingin berkomunikasi dengan perangkat lain. Sebagai contoh, jika ARP hanya menemukan nomor IP tetapi tidak menemukan MAC address pasangannya, maka ARP akan mengirim request ke jaringan. Prinsip dasar dari ARP adalah tidak boleh ada lebih dari satu nomor IP memakai satu MAC address yang sama. Protokol ARP bersifat stateless, yang berarti protocol ARP akan mengirim request MAC address dan mengirimkan pemberitahuan kepada komputer anggota jaringan jika terjadi ketidakberesan dalam pengalamatan, walaupun tidak ada komputer di jaringan yang memintanya. Seain itu protokol ARP juga bersifat non-routable, yang berarti hanya bekerja pada satu segmen jaringan lokal. Ancaman keamanan muncul ketika ada upaya manipulasi terhadap pengalamatan alamat IP dan MAC. Ancaman tersebut dikenal dengan istilah Address Resolution Protocol (ARP) spoofing atau ARP poisoning atau ARP Poison Routing (APR). ARP Spoofing memungkinkan penyerang untuk mengambil frame data pada Local Area Network (LAN), memodifikasi, dan menghentikan traffic. Perlu
63 diketahui bahwa serangan ini hanya dapat digunakan pada jaringan yang menggunakan protokol ARP dan tidak menggunakan metode Address Resolution yang lain. Prinsip kerja dari ARP spoofing ini adalah mengirimkan pesan palsu kepada sebuah Ethernet LAN, yang bertujuan untuk mengasosiasikan alamat MAC penyerang dengan alamat IP target (contohnya default gateway). Lalu lintas (traffic) apapun yang seharusnya ditujukan untuk alamat IP target akan dengan otomastis dikirim kepada mesin penyerang, disini penyerang dapat memilih untuk meneruskan traffic alamat yang sebenarnya atau memodifikasi data sebelum diteruskan. Selain itu penyerang juga dapat menjalankan serangan
Denial
of
Service
(DoS)
kepada
korban
dengan
mengasosiasikan sebuah MAC yang tidak ada kepada default gateway dari IP Address korban. Gambar dibawah ini adalah ilustrasi terjadinya serangan ARP cache poisoning. IP address
MAC address
PC A
192.168.1.2
AA:AA:AA:AA:AA:AA
PC B
192.168.1.4
BB:BB:BB:BB:BB:BB
PC X
192.168.1.10
XX:XX:XX:XX:XX:XX
Tabel 2.4 ARP Kondisi Awal
64 •
PC X mengirimkan suatu pesan ARP Reply ke PC A mengatakan
bahwa
IP
address
192.168.1.3
mempunyai MAC address XX:XX:XX:XX:XX:XX. •
PC X juga mengirimkan suatu pesan ARP Reply ke PC B
mengatakan
bahwa
IP
address
192.168.1.2
mempunyai MAC address XX:XX:XX:XX:XX:XX.
Gambar 2.17 Proses ARP Chace Poisonning
•
Pada saat PC A ingin mengirim suatu pesan ke PC B, karena MAC address PC B dalam tabel ARP PC A adalah XX:XX:XX:XX:XX:XX maka PC A akan mengirimkan ke X, bukan ke PC B. X menerima pesan ini, memprosesnya dan kemudian meneruskan ke PC
65 B. Begitu juga sebaliknya jika PC B ingin mengirim suatu pesan ke komputer A.
Gambar 2.18 Pengiriman Paket Setelah ARP Poisonning
•
Domain Name System Spoofing Serangan DNS spoofing dapat didefinisikan sebagai usaha memasukkan informasi palsu oleh orang yang tidak memiliki kewenangan
untuk
memberikan
informasi
tersebut.
Dengan
menggunakan teknik ini, penyerang dapat memasukkan informasi alamat IP yang akan mengarahkan korban dari situs web atau tujuan yang sah ke salah satu situs yang merupakan di bawah kendali penyerang. DNS menanggapi queries pada host dengan mengandalkan protokol UDP untuk meminta dan memperoleh informasi resolusi. Setiap query DNS berbasis UDP yang berasal dari host juga akan
66 diberikan sebuah pengenal (ID) untuk membantu mengelola beberapa tanggapan. Setiap query DNS server menyertakan ID query yang sama dengan request. Jika ID pada response tidak sama dengan ID request, maka host harus mengabaikan respon. DNS ID Spoofing merupakan serangan yang berfokus pada memberikan kesalahan pada informasi resolusi DNS ke permintaan host setelah mengamati ID permintaan. Berikut ini adalah proses penyerangannya : 1. Host mengirim permintaan berbasis UDP ke server DNS dengan ID 117. 2. Penyerang telah memposisikan sebuah komputer pada jaringan untuk mengendus (sniffing) semua lalu lintas jaringan dan merespon permintaan DNS. 3. Setelah mengidentifikasi permintaan DNS untuk situs tujuan dengan ID 117, penyerang secara otomatis menjawab dengan alamat IP 200.10.1.11 dengan menggunakan ID yang sama. 4. Beberapa sepersekian detik kemudian, server DNS yang sebenarnya mengirimkan respon alamat IP yang sebenarnya, akan tetapi diabaikan oleh komputer host karena telah menerima respon dari mesin penyerang.
67
Gambar 2.19 DNS ID Spoofing
•
MAC Flooding Proses transmisi data pada perangkat Switch yaitu dengan melihat MAC address yang ada pada data, dan meneruskannya hanya kepada host penerima. Penyerang menggunakan teknik Mac Flooding pada perangkat switch agar dapat melihat data yang sedang ditransmisikan. Switch menggunakan Content Adressable Memory (CAM) yang berisi informasi mengenai MAC address yang terhubung dengan Switch. CAM table ini memliki kapasitas maksimum. Teknik MAC flooding memanfaatkan kapasitas maksimum tersebut dengan mengirimkan request dengan jumlah yang sangat besar, sehingga CAM table mengalami kelebihan beban (overload). Ketika ini terjadi Switch bertindak sebagi Hub, atau dengan kata lain perangkat switch
68 mengirimkan
data
tanpa
melihat
MAC
Address
namun
mengirimkannya ke semua host yang terhubung dengan Hub. Akibatnya penyerang dapat melihat data yang sedang ditransmisikan dengan mudah. Saat ini teknik serangan MAC Flooding biasanya dicegah dengan menggunakan Switch yang mempunyai fitur Port Security. Ketika MAC Flooding terdeteksi oleh Switch maka secara otomatis Port Security akan menutup Port yang melakukan MAC Flooding. Pada saat serangan MAC flooding, perilaku switch berbeda, dimana penyerang (PC X) "membanjiri" switch dengan paket-paket, yang masing-masing dengan sumber alamat MAC yang berbeda. Berikut ini adalah ilustrasi proses serangan MAC flooding.
Gambar 2.20 Proses MAC Flooding
69 Jika Content Addressable Memory (CAM) (memori di mana alamat MAC yang diminta) sudah penuh, switch bekerja seperti hub, sehingga jika PC A mengirimkan sebuah paket ke PC B, paket akan diterima ke PC C juga.
Gambar 2.21 Proses Kirim Data Setelah MAC Flooding
2.2.2. Snort Snort merupakan suatu piranti lunak open source network intrusion detection dan prevention system yang di-release pada tahun 1998 oleh pendiri Sourcefire dan CTO Martin Roesch. Snort merupakan aplikasi portable yang dapat dijalankan pada beberapa system aplikasi, seperti x86 system Linux, FreeBSD, NetBSD, OpenBSD, Windows, Sparc Solaris, x86 Mac OS X, PowerPC Mac OS X dan MkLinux, and PA-RISC HP-UX.
70 Snort mampu melakukan analisis lalu lintas jaringan secara real-time dan packet logging pada IP networks. Selain itu snort dapat menganalisis protokol dan pencocokan serta pencarian suatu data yang dicurigai sebagai serangan. Untuk mendukung hal tersebut maka digunakanlah rules yang fleksibel untuk menguraikan lalu lintas jaringan bahwa apakah suatu data perlu dilewati atau dikumpulkan. Rules merupakan metodologi pendeteksian yang didasarkan pada suatu kelemahan (vulnerability). Pada snort, pengguna bisa membuat rule sendiri sesuai dengan kebutuhan dan lingkungan system yang ada. Ada beberapa konsep yang harus dimengerti tentang fungsi utama dari snort, diantaranya : sniffer mode, yang mana hanya membaca paket dari suatu jaringan dan menampilkannya secara berkelanjutan pada suatu konsole. Packet loger mode, yang mana akan mencatat paket ke dalam disk. Network Intrusion Detection System (NIDS) mode, yang mana mengijinkan snort untuk menganalisis network traffic untuk melaporkan rule yang telah dibuat oleh pengguna dan melakukan tindakan sesuai dengan apa yang dilihat. Inline mode, yang mana memperoleh paket dari iptables sebagai ganti dari libpcap dan kemudian menyebabkan iptables untuk drop atau melewati paket berdasarkan aturan snort yang menggunakan rule inline-specific ( Snort 2.1 Intrussion Detection 2nd ) Arsitektur snort terdiri dari empat komponen dasar, yang mana komponen tersebut bekerja bersama untuk mendeteksi serangan dan
71 menghasilkan output dalam format yang diperlukan dari system pendeteksi. Komponen tersebut yaitu : sniffer, preprocessor, detection engine dan output. Dalam hal ini, setiap komponen saling bekerjasama dalam mendeteksi adanya percobaan serangan.
2.2.3. Backrack 3 Backtrack merupakan salah satu distro linux yang dikhususkan untuk tes penetrasi. Tanpa instalasi apapun, analisis platform dimulai secara langsung dari CD-Rom dan sepenuhnya dapat diakses dalam hitungan menit. Backtrack berevolusi gabungan dari dua distribusi yaitu WHAX (White Hat and Slax) dan Auditor Security Collection. Dengan menggabungkan kekuatan ini, Backtrack telah memperoleh popularitas besar-besaran pada tahun 2006 sebagai #1 Security Live Distribution oleh insecure.org.( http://www.remote-exploit.org/backtrack.html). Saat ini Backtrack menggunakan distro Slackware yang dianggap lebih modular dan mudah untuk dikembangkan. Backtrack 3 memiliki lebih dari 300 tool untuk hacking, diantranya metasploit, Scanrand, Whireshrak, Pirana, Driftnet, Snort dan juga lainnya
72 2.2.4. Windows Server 2003 Enterprise Edition Windows Server 2003 Enterprise Edition adalah sebuah versi Windows Server lebih handal dibandingkan dengan versi terdahulu, yang ditujukan untuk menggantikan Windows 2000 Advanced Server dan Windows NT 4.0 Enterprise Server yang telah lama beredar. Windows Server 2003 Enterprise Edition menggandakan dukungan prosesor jika dibandingkan dengan Windows Server 2003 Standard Edition, dari 4 hingga 8 prosesor sekaligus. Selain itu, Enterprise Edition juga mendukung prosesor 64-bit, seperti IA-64 dan x64.
2.2.5. Bash Shell Pada sistem operasi linux, shell berperan sebagai perantara antara sistem operasi (kernel) dengan pemakai atau dengan kata lain shell merupakan jembatan bagi pengguna untuk mengakses kernel. Sebagai contoh, apabila shell akan mengakses suatu perangkat keras maka harus melalui kernel. Namun meskipun sebagai interface antara pengguna dan kernel, shell juga tetap menjadi interface aplikasi atau utilitas lainnya terhadap kernel. Sekitar tahun 1983-1990, shell yang paling populer dan banyak digunakan dalam lingkungan unix adalah c shell dan bourne shell, hingga dikembangkannya bash. Bash atau Bourne Again SHell merupakan pengembangan dari Bourne shell (sh) yang dibuat oleh Steve Bourne. Bash kompatibel dengan shell sh yang bersama-sama
73 menggunakan fitur dari Korn shell (ksh) dan C shell (csh). Bash merupakan perbaikan dari sh untuk mode interaktif dan penggunaan pemrograman bash dikembangkan oleh Brian Fox dari Free Software Foundation. Shell ini mempunyai lisensi GNU sehingga bebas digunakan.
2.2.6. IPTables IPTables merupakan suatu baris perintah program yang digunakan untuk mengkonfigurasi Linux 2.4.x dan 2.6.x IPv4 sebagai ketentuan packet filtering. Hal ini ditargetkan untuk administrator sistem. (http://www.iptables.org/projects/iptables/index.html). Fitur yang dimiliki IPTables: 1. Connection Tracking Capability yaitu kemampuan untuk inspeksi paket serta bekerja dengan icmp dan udp sebagaimana koneksi TCP. 2. Menyederhanakan perilaku paket-paket dalam melakukan negosiasi (input,output, dan forward). 3. Rate-Limited connection dan logging capability. Kita dapat membatasi usaha-usaha koneksi sebagai tindakan preventif serangan Syn flooding denial of services (DOS). 4. Kemampuan untuk memfilter flag-flag dan opsi tcp dan alamat MAC. Kebijakan pada iptables dibuat berdasarkan sekumpulan peraturan yang diberikan pada kernel untuk mengatur setiap paket yang datang.
74 Pada iptable ada istilah yang disebut dengan Ipchain yang merupakan daftar aturan bawaan dalam Iptables. Ketiga chain tersebut yaitu : 1. INPUT, Mengatur paket data yang memasuki firewall dari arah intranet maupun internet. 2. OUTPUT, Mengatur paket data yang keluar dari firewall ke arah intranet maupun internet. Biasanya output tidak diset, karena bisa membatasi kemampuan firewall itu sendiri. 3. FORWARD, Mengatur paket data yang melintasi firewall dari arah internet ke intranet maupun sebaliknya. Policy forward paling banyak dipakai saat ini untuk mengatur koneksi internet berdasarkan port, mac address dan alamat IP Selain aturan (policy) firewall iptables juga mempunyai parameter yang disebut dengan TARGET, yaitu status yang menentukkan koneksi di iptables diizinkan lewat atau tidak. TARGET ada tiga macam yaitu: •
ACCEPT, Akses diterima dan diizinkan melewati firewall
•
REJECT, Akses ditolak, koneksi dari komputer klien yang melewati firewall langsung terputus, biasanya terdapat pesan "Connection Refused". Target Reject tidak menghabiskan bandwidth internet karena akses langsung ditolak, hal ini berbeda dengan DROP.
•
DROP, Akses diterima tetapi paket data langsung dibuang oleh kernel, sehingga pengguna tidak mengetahui kalau koneksinya
75 dibatasi oleh firewall, pengguna melihat seakan - akan server yang dihubungi mengalami permasalahan teknis. Pada koneksi internet yang sibuk dengan trafik tinggi Target Drop sebaiknya jangan digunakan. Selain sebagai Firewall, iptables juga bisa difungsikan untuk translasi alamat dari satu alamat ke alamat IP yang lain atau yang biasa disebut dengan Network Address Translation (NAT). Fungsi iptables tidak hanya sampai disitu saja namun bisa juga melakukan translasi alamat IP, iptables juga bisa melakukan NAT alamat Port aplikasi, bisa disebut juga dengan Port Address Translation (PAT). PAT digunakan untuk membangun beberapa server seperti mail, web, database maupun datacenter yang diakses melalui internet hanya dengan satu alamat IP publik. Prinsip dasar NAT di bagi menjadi dua bagian, yang pertama adalah POSTROUTING, yaitu melakukan NAT paket data yang keluar dari firewall, kebanyakan postrouting dipakai untuk translasi alamat IP. Yang kedua adalah PREROUTING, untuk melakukan NAT paket data yang memasuki firewall, kebanyakan digunakan untuk transparency proxy server dan membangun beberapa server dengan satu IP publik.