6
BAB II LANDASAN TEORI
2.1
Konsep Dasar Sistem
2.1.1
Definisi Sistem Menurut Sutabri (2004), terdapat dua kelompok pendekatan di dalam
mendefinisikan sistem, yaitu yang menekankan pada prosedurnya dan yang menekankan pada komponen atau elemennya. Pendekatan sistem yang lebih menekankan pada prosedur mendefinisikan sistem sebagai berikut ini : ”Suatu sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran yang tertentu”. Pendekatan sistem yang lebih menekankan pada elemen atau komponennya mendefiniskan sistem sebagai berikut ini : ”Sistem adalah kumpulan dari elemen-elemen yang berinteraksi untuk mencapai suatu tujuan tertentu”.
2.1.2
Karakteristik Sistem
a) Komponen-komponen (components) Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi, yang artinya saling bekerja sama membentuk satu kesatuan. Komponen-komponen sistem atau elemen-elemen sistem dapat berupa suatu subsistem atau bagian-bagian dari sistem. Setiap sistem tidak perduli betapapun kecilnya, selalu mengandung komponenkomponen atau subsistem-subsistem. Setiap subsistem mempunyai sisfat-sifat dari sistem untuk menjalankan suatu fungsi tertentu dan mempengaruhi proses sistem secara keseluruhan. Suatu sistem dapat mempunyai suatu sistem yang lebih besar yang disebut supra sistem. Misalnya suatu perusahaan dapat disebut dengan suatu sistem dan industri yang merupakan sistem yang lebih besar dapat disebut dengan supra sistem. b) Batas sistem (boundary) Batas sistem (boundary) merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lainnya atau dengan lingkungan luarnya. Batas sistem ini
6
7 memungkinkan situasi sistem yang dipandang sebagai satu kesatuan. Batas suatu sistem menunjukkan ruang lingkup (scope) dari sistem tersebut. c) Lingkungan luar sistem (environment) Lingkungan luar (environment) dari suatu sistem adalah apapun di luar batas dari sistem yang mempengaruhi operasi sistem. Lingkungan luar sistem dapat bersifat menguntungkan dan dapat juga bersifat merugikan sistem tersebut. Lingkungan luar yang menguntungkan merupakan energi dari sistem dan dengan demikian harus tetap dijaga dan dipelihara. Sedang lingkungan luar yang merugikan harus ditahan dan dikendalikan, kalau tidak maka akan mengganggu kelangsungan hidup dari sistem. d) Penghubung (interface) Penghubung (interface) merupakan media penghubung antara satu subsistem dengan subsistem yang lainnya. Melalui penghubung ini memungkinkan sumber-sumber daya mengalir dari satu subsistem ke subsistem yang lainnya. Keluaran (output) dari satu subsistem akan menjadi masukan (input) untuk subsistem yang lainnya dengan melalui penghubung. Dengan penghubung satu subsistem dapat berintegrasi dengan subsistem lainnya membentuk satu kesatuan. e) Masukan (input) Masukan (input) adalah energi yang dimasukkan ke dalam sistem. Masukkan dapat berupa masukan perawatan (maintenance input) dan masukan sinyal (signal input). Maintenance input adalah energi yang dimasukkan supaya sistem tersebut dapat beroperasi. Signal input adalah energi yang diproses untuk didapatkan keluaran. Sebagai contoh di dalam sistem komputer, program adalah maintenance input yang digunakan untuk mengoperasikan komputernya dan data adalah signal input untuk diolah menjadi informasi. f) Keluaran (output) Keluaran (output) adalah hasil dari energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna dan sisa pembuangan. Keluaran dapat merupakan masukan untuk subsistem yang lain atau kepada supra sistem. Misalnya untuk sistem komputer, panas yang dihasilkan adalah keluaran yang tidak berguna dan merupakan hasil dari sisa pembuangan, sedang informasi adalah keluaran yang dibutuhkan.
8 g) Pengolah (process) Suatu sistem dapat mempunyai bagian pengolah yang akan merubah masukan menjadi keluaran. Suatu sistem produksi akan mengolah masukan berupa bahan baku dan bahan-bahan yang lain menjadi keluaran berupa barang jadi. Sistem akuntansi akan mengolah data-data transaksi menjadi laporan-laporan keuangan dan laporanlaporan lain yang dibutuhkan oleh manajemen. h) Tujuan (goal) Suatu sistem pasti mempunyai tujuan (objective) atau sasaran (goal). Kalau suatu sistem tidak mempunyai sasaran, maka operasi sistem tidak akan ada gunanya. Sasaran dari sistem sangat menentukan sekali masukan yang dibutuhkan sistem dan keluaran yang akan dihasilkan sistem. Suatu sistem dikatakan berhasil bila mengenai sasaran atau tujuannya.
Gambar 2.1 Karakteristik Sistem (Sumber : Sutabri, 2004)
2.2
Sistem Development Life Cycle (SDLC) Kendall dan Kendall (1995) menyatakan bahwa SDLC merupakan suatu metode
pengembangan sistem dengan pendekatan analisis dan desain melalui suatu siklus
9 aktivitas analis dan user (pengguna) secara spesifik. Pendekatan SDLC ini terdiri dari tujuh tahapan, yaitu 1. Identifikasi masalah, peluang (opportunities), dan tujuan; 2. Penentuan kebutuhan informasi; 3. Analisis kebutuhan sistem; 4. Desain sistem yang telah direkomendasi (recommended system); 5. Pengembangan dan dokumentasi perangkat lunak; 6. Ujicoba dan pemeliharaan sistem; 7. Implementasi dan evaluasi sistem. Ketujuh tahapan pengembangan sistem dengan pendekatan SDLC ini dapat digambarkan seperti pada gambar 2.2.
Gambar 2.2 Tujuh Tahapan SDLC (Sumber : Kendall dan Kendall, 1995)
2.2.1
Identifikasi Masalah, Peluang, dan Tujuan Teknik yang dapat digunakan dalam mengidentifikasi masalah, peluang, dan
tujuan adalah wawancara, kajian pustaka, dan observasi. Tahapan ini sangat penting dalam menentukan kualitas sistem yang akan dihasilkan. Masalah dapat didefinisikan sebagai suatu pertanyaan yang diinginkan untuk dipecahkan.
Masalah inilah yang
menyebabkan sasaran dari suatu sistem tidak dapat dicapai. Menurut Hartono (1999), tahap identifikasi masalah mesti diikuti dengan dua tahapan lanjutan yaitu:
10 Mengidentifikasi Penyebab Masalah; Mengidentifikasi Titik Keputusan. Setelah tahap diatas selesai maka langkah selanjutnya adalah mengidentifikasi peluang (opportunities) dan tujuan. Kendall dan Kendall (1995) mendefinisikan peluang sebagai kondisi-kondisi dalam sistem yang mampu diperbaiki/disempurnakan oleh analis dengan menggunakan sistem informasi yang terkomputerisasi.
Dengan menangkap
peluang-peluang yang ada maka suatu organisasi sangat memungkinkan untuk mencapai sisi kompetitif ataupun standar-standar operasional yang ada. Dalam mengidentifikasi tujuan analis harus mampu mencermati segala aktivitas yang terjadi dalam organisasi, dengan demikian dapat disimpulkan aspek-aspek aplikasi sistem informasi yang dapat digunakan untuk membantu organisasi dalam mencapai tujuannya.
2.2.2 Penentuan Kebutuhan Informasi Teknik yang dapat digunakan dalam menentukan kebutuhan informasi adalah sama seperti teknik identifikasi masalah, peluang, dan tujuan. Kendall dan Kendall (1995) berpendapat bahwa observasi dalam menentukan kebutuhan informasi dilakukan melalui pemahaman secara detail tentang fungsi-fungsi sistem yang ada, yaitu: 1. Siapa (orang-orang/bagian yang terlibat); 2. Apa (kegiatan yang dikerjakan); 3. Dimana (lingkungan dimana pekerjaan itu dikerjakan); 4. Kapan (waktu pengerjaan); 5. Bagaimana (bagaimana prosedur dijalankan)
2.2.3 Analisis Kebutuhan Sistem Tahap penentuan kebutuhan sistem adalah sebuah tahapan yang memerlukan kemampuan untuk mengkonseptualisasikan bagaimana data-data berpindah, prosesproses atau transformasi dan juga output yang dihasilkan dalam sistem. Perangkat atau alat yang dapat digunakan untuk membantu dalam menentukan kebutuhan sistem adalah diagram arus data (DAD) untuk menggambarkan input, proses, dan output sistem dalam bentuk diagram terstruktur. Setelah pembuatan diagram arus data, dilanjutkan dengan pembuatan kamus data dimana kamus data dibuat berdasarkan arus data yang ada pada diagram arus data. Arus data di DAD bersifat global (hanya
11 ditunjukkan nama arus data) dimana keterangan lebih lanjut tentang struktur dari suatu arus data di DAD diterangkan secara lebih terinci pada kamus data.
2.2.4 Perancangan Sistem yang Direkomendasikan Kendall dan Kendall (1995) menjelaskan bahwa dalam tahapan ini dilakukan perancangan prosedur pemasukan data (data entry) sehingga data yang dimasukkan ke dalam sistem informasi benar-benar akurat. Selain itu analis juga menggunakan teknikteknik dalam perancangan antarmuka (interface) yang baik. Contoh antarmuka pengguna (user interface) antara lain keyboard (untuk mengetik input/data), menu-menu pada layar (Graphical User Interface) dan mouse (sebagai penunjuk pada layar).
2.2.5 Pengembangan dan Dokumentasi Perangkat Lunak Firewall merupakan suatu perangkat keamanan jaringan yang memperkenankan berbagai bagian ruas jaringan untuk melaksanakan komunikasi antara satu dengan yang lainnya sesuai dengan definisi kebijakan keamanan (security policy) yang telah diterapkan sebelumnya. Firewall peka terhadap kesalahan konfigurasi dan kegagalan untuk menerapkan kebijakan, sehingga diperlukan tambahan atau peningkatan keamanan lain. Ada banyak sekali perangkat lunak (software) yang dapat kita gunakan untuk membangun aplikasi Firewall.
2.2.6 Uji Coba dan Pemeliharaan Sistem Langkah awal pada tahapan ini yaitu melakukan pengujian terhadap sistem informasi yang akan digunakan.
Kendall dan Kendall (1995) berpendapat hal ini
dilakukan untuk menghemat biaya, karena jika masalah-masalah terjadi saat sistem sudah diimplementasikan maka biaya yang akan dikeluarkan akan lebih besar. Oleh sebab itu tahap uji coba ini dapat disebut sebagai tahap penyempurnaan sistem yang telah dibuat. Untuk langkah pemeliharaan sistem, dimulai saat uji coba dilaksanakan yang kemudian dilakukan secara rutin selama sistem informasi dijalankan.
2.2.7 Implementasi dan Evaluasi Sistem Pada tahapan terakhir dari pengembangan sistem ini dilaksanakan implementasi dari sistem informasi yang telah dibuat.
Hal ini membutuhkan pelatihan-pelatihan
12 kepada user (pemakai sistem) untuk dapat mengoperasikan dan beradaptasi terhadap sistem yang baru. Evaluasi sistem biasanya dimaksudkan untuk pembahasan dan tahap evaluasi ini sebenarnya dilakukan di setiap tahap. Sasaran utama dari evaluasi adalah untuk mengetahui apakah pemakai benar-benar sudah menggunakan sistem. Perlu diperhatikan bahwa siklus pengembangan sistem ini dapat berulang. Ketika satu tahapan telah terselesaikan maka akan dilanjutkan ke tahapan berikutnya, penemuan suatu masalah bisa memaksa analis untuk kembali ke tahap sebelumnya dan memodifikasi pekerjaan (hasil) pada tahap tersebut.
2.3
Konsep Pengamanan Jaringan (Network Security) Komputer yang terhubung ke network, mempunyai ancaman keamanan lebih
besar dari pada komputer yang tidak terhubung kemana-mana. Dengan mengendalikan network security, risiko tersebut dapat dikurangi. Akan tetapi network security biasanya bertentangan dengan network access, yaitu bila network access semakin mudah, maka network security makin rawan, dan bila network security makin baik, network access makin tidak nyaman. Suatu network didesain sebagai komunikasi data highway dengan tujuan meningkatkan akses ke sistem komputer, sementara security didesain untuk mengontrol akses. Penyediaan network security adalah sebagai aksi penyeimbang antara open access dengan security. Jaringan dikatakan sebagai highway, karena menyediakan akses yang sama untuk semua, baik pengguna normal ataupun tamu yang tidak diundang. Sebagai analogi, keamanan di rumah dilakukan dengan cara memberi kunci di pintu rumah, tidak dengan cara memblokir jalan di depan rumah. Hal seperti ini juga diterapkan pada network security. Keamanan dijaga untuk (setiap) host-host tertentu, tidak langsung pada networknya. Apabila jaringan terhubung ke jaringan lain yang lebih terbuka, dan membuka peluang akses oleh host yang tidak aman atau tidak dikenal, maka host-host di jaringan tersebut membutuhkan pengamanan lebih. Hal tersebut bukan berarti keterbukaan hanya membawa akibat buruk, sebab banyaknya fasilitas yang ditawarkan dengan keterbukaan jaringan ini merupakan nilai lebih yang sangat membantu kemajuan network. Berikut adalah konsep dalam menentu keamanan jaringan
13
2.3.1 Perencanaan Security Salah satu masalah network security yang paling penting, adalah menentukan kebijakan (security policy) dalam network security. Kebanyakan orang menginginkan solusi teknis untuk setiap masalah, berupa program yang dapat memperbaiki masalahmasalah network security. Padahal, perencanaan keamanan yang matang berdasarkan prosedur dan kebijakan dalam network security akan membantu menentukan masalahmasalah yang harus dilindungi, berapa besar biaya yang harus ditanamkan dalam melindunginya, dan siapa yang bertanggungjawab untuk menjalankan langkah-langkah yang diperlukan untuk melindungi bagian tersebut.
2.3.2 Mengenali Ancaman Terhadap Network Security Langkah awal dalam mengembangkan rencana network security yang efektif adalah dengan mengenali ancaman yang mungkin datang, yaitu : 1. Akses tidak sah, oleh orang yang tidak mempunyai wewenang. 2. Kesalahan informasi, segala masalah yang dapat menyebabkan diberikannya informasi yang penting atau sensitif kepada orang yang salah, yang seharusnya tidak boleh mendapatkan informasi tersebut. 3. Penolakan terhadap service, segala masalah mengenai security yang menyebabkan sistem mengganggu pekerjaan-pekerjaan yang produktif. Hal ini ditekankan network security dari segi perangkat lunak, namun network security sebenarnya hanyalah sebagian dari rencana keamanan yang lebih besar, termasuk rencana keamanan fisik dan penanggulangan bencana.
2.3.3 Kontrol Terdistribusi Salah satu pendekatan dalam network security adalah dengan mendistribusikan tanggung jawab kontrol terhadap segmen-segmen dari jaringan yang besar ke grup kecil dalam organisasi. Pendekatan ini melibatkan banyak orang dalam keamanan, dan berjalan berlawanan dengan prinsip kontrol terpusat. Dalam kontrol terdistribusi, informasi dari luar disaring dahulu oleh admin network, kemudian disaring lagi oleh admin subnet, demikian seterusnya, sehingga user tidak perlu menerima terlalu banyak informasi yang tidak berguna. Bila informasi ke user berlebihan, maka user akan mulai mengabaikan semua yang mereka terima.
14
2.3.4 Menentukan security policy Dalam network security, peranan manusia yang memegang tanggungjawab keamanan sangat berperan. Network security tidak akan efektif kecuali orang-orangnya mengetahui tanggungjawabnya masing-masing. Dalam menentukan network security policy, perlu ditegaskan apa-apa yang diharapkan, dan dari siapa hal tersebut diharapkan. Selain itu, kebijakan ini harus mencakup : 1. Tanggung jawab keamanan network user, meliputi antara lain keharusan user untuk mengganti passwordnya dalam periode tertentu, dengan aturan tertentu, atau memeriksa kemungkinan terjadinya pengaksesan oleh orang lain, dan lain-lain. 2. Tanggung jawab keamanan sistem administrator, misalnya perhitungan keamanan tertentu, memantau prosedur-prosedur yang digunakan pada host. 3. Penggunaan yang benar sumber-sumber network, dengan menentukan siapa yang dapat menggunakan sumber-sumber tersebut, apa yang dapat dan tidak boleh mereka lakukan. 4. Langkah-langkah yang harus diperbuat bila terdeteksi masalah keamanan, siapa yang harus diberitahu. Hal ini harus dijelaskan dengan lengkap, bahkan hal-hal yang sederhana seperti menyuruh user untuk tidak mencoba melakukan apa-apa atau mengatasi sendiri bila masalah terjadi, dan segera memberitahu sistem administrator.
2.4
Jaringan Komputer Menurut Tanenbaum (2004), Jaringan komputer (Computer Network) merupakan
sekumpulan komputer otonom yang saling terhubung satu dengan yang lainnya menggunakan protokol komunikasi melalui media transmisi pada suatu jaringan komunikasi
data.
Jaringan
komputer
memungkinkan
suatu
organisasi
untuk
menggunakan sistem pengolahan data yang terdistribusi yang menggunakan PC dan dapat saling mengakses satu dengan yang lainnya. Jaringan komputer juga mendukung adanya resource sharing, information sharing dan network access. Dari sisi luas area cakupan yang dimilikinya, jaringan komputer dapat diklasifikasikan menjadi :
15 1. Local Area Network (LAN) Merupakan jaringan komputer lokal yang mencakup wilayah dengan garis tengah 20 kilometer. Penggunaannya pada beberapa gedung seperti lingkungan kampus, perkantoran, pabrik dan sebagainya. 2. Metropolitan Area Network (MAN) Merupakan jaringan komputer kelas menengah yang mencakup pada satu kota besar. Menghubungkan satu lingkungan kantor ke lingkungan kantor yang lain atau satu pusat perbelanjaan dan sebagainya. 3. Wide Area Network (WAN) Merupakan jaringan komputer dengan wilayah terluas yang mencakup antara negara atau benua. Biasanya disebut juga dengan Global Area Network (GAN) yaitu jaringan komputer yang wilayah jangkauannya mencakup seluruh dunia. Digunakan oleh internet,email dan aplikasi-aplikasi lain.
2.4.1 Topologi Jaringan Sebuah LAN dapat diimplementasikan dengan berbagai macam topologi jaringan. Topologi merupakan model dan struktur jaringan fisik yang digunakan untuk mengimplementasikan LAN tersebut. Husni (2004) menyatakan topologi jaringan merupakan tampilan fisik jaringan yang menggambarkan penempatan komputerkomputer di dalam jaringan dan bagaimana kabel ditarik untuk mengghubungkan komputer-komputer tersebut. Pemilihan topologi yang tepat merupakan hal yang sangat penting di dalam pemasangan jaringan komputer. Topologi yang digunakan pada jaringan komputer Jurusan Matematika adalah topologi Tree yaitu gabungan dari topologi Bus dan Star. Dipilih karena disesuaikan dengan kondisi dan kebutuhan jaringan komputer Jurusan Matematika. 1. Topologi Bus Topologi bus menghubungkan komputer-komputer di sepanjang satu atau lebih kabel seperti diperlihatkan pada gambar 2.3 Suatu jaringan yang menggunakan topologi bus dikenal sebagai “jaringan bus” yang merupakan bentuk asli jaringan Ethernet.
16
Gambar 2.3 Topologi Bus. Topologi bus merupakan cara termudah menghubungkan komputer untuk membentuk LAN di suatu departemen atau kelompok kerja, tetapi topologi ini tidak menguntungkan saat terjadi masalah pada salah satu node dan koneksi terputus, maka koneksi semua node di dalam jaringan (LAN) yang sama akan ikut terputus. Terminator merupakan masalah penting didalam jaringan bus. Sinyal listrik dari proses transmisi dapat bebas bergerak disepanjang kabel. Dengan adanya suatu penghenti (penutup kabel, terminator), akan menahan energi listrik dan menghentikan pemantulan pada saat sinyal mencapai ujung kabel. Karakteristik dari topologi ini yaitu jika jalur utama sibuk maka ia akan menunggu selang beberapa waktu yang acak untuk mencoba mengirim data lagi, Proses transmisi akan menjadi lambat bila banyak komputer yang terhubung, bahkan Jaringan akan off bila jumlah komputer melebihi
batas
kemampuan
jaringan.
Keuntungannya
topologi
ini
adalah
kesederhanaannya. Untuk menambah komputer ke jaringan ini hanya perlu memasang konektor baru yang merupakan alat penghubung ke jalur utama. 2. Topologi Star Topologi bintang (star) menghubungkan komputer-komputer melalui media kabel yang terpisah ke suatu unit pusat, biasanya berupa HUB atau switch seperti pada gambar 2.4. Topologi star dirancang untuk mengatasi masalah kepadatan jalur komunikasi. Pada saat suatu komputer atau peralatan jaringan lain yang mentransmisikan sinyal ke dalam jaringan, sinyal menuju HUB. Kemudian HUB melanjutkan sinyal secara simultan ke semua komponen yang terkoneksi ke dirinya. Ethernet 10BaseT merupakan jaringan yang berbasis pada topologi star. Saat ini topologi star paling banyak digunakan untuk menghubungkan komputer-komputer di dalam suatu departemen atau kelompok kerja.
17
Gambar 2.4 Topologi Star keuntungan yang bisa diperoleh dengan menggunakan topologi star ini adalah efisiensi dalam penggunaan sumber daya jaringan. Sumber daya jaringan digunakan dengan sangat efisien karena jalur virtual bisa dibuat bila diperlukan dan dihancurkan lagi bila tidak digunakan lagi. 3. Topologi Tree (Jaringan Pohon) Topologi tree adalah topologi gabungan bus dan star. Topologi jaringan tree disebut juga sebagai topologi jaringan bertingkat. Topologi ini biasanya digunakan untuk interkoneksi antar sentral dengan hirarki yang berbeda. Untuk hirarki yang lebih rendah digambarkan pada lokasi yang rendah dan semakin keatas mempunyai hirarki semakin tinggi. Topologi tree memiliki karakterisitik yang sama dengan topologi bus dan star. Topologi tree dapat mensupport baseband maupun broadband signaling dan juga mensupport contention maupun token bus access. Topologi jaringan jenis ini cocok digunakan pada sistem jaringan komputer.
Gambar 2.5 Topologi Tree
18
2.4.2 Model referensi OSI dan Standarisasi Untuk menyelenggarakan komunikasi berbagai macam vendor komputer diperlukan sebuah aturan baku yang standar dan disetejui berbagai fihak. Seperti halnya dua orang yang berlainan bangsa, maka untuk berkomunikasi memerlukan penerjemah (interpreter) atau satu bahasa yang dimengerti kedua belah pihak. Dalam dunia komputer dan telekomunikasi interpreter identik dengan protokol. Untuk itu maka badan dunia yang menangani masalah standarisasi ISO (International Standardization Organization) membuat aturan baku yang dikenal dengan nama model referensi OSI (Open System Interconnection). Dengan demikian diharapkan semua vendor perangkat telekomunikasi haruslah berpedoman dengan model referensi ini dalam mengembangkan protokolnya. Model referensi OSI terdiri dari tujuh lapisan, mulai dari lapisan fisik sampai dengan aplikasi. Model referensi ini tidak hanya berguna untuk produk-produk LAN saja, tetapi dalam membangung jaringan internet sekalipun sangat diperlukan. Hubungan antara model referensi OSI dengan protokol Internet bisa dilihat dalam Tabel 2.1
Table 2.1 Hubungan referensi model OSI dengan protokol Internet. Model OSI No
Lapisan
1
Aplikasi
2
Presentasi
TCP/IP
Aplikasi
Protokol TCP/IP Nama Protokol
Kegunaan
DHCP (Dynamic Host Configuration Protocol) DNS (Domain Name Server) FTP (File Transfer Protocol) HTTP (HyperText Transfer Protocol) MIME (Multipurpose Internet Mail Extention) NNTP (Networ News Transfer Protocol) POP (Post Office Protocol) SMB (Server Message Block)
Protokol untuk distribusi IP pada jaringan dengan jumlah IP yang terbatas Data base nama domain mesin dan nomer IP Protokol untuk transfer file
SMTP (Simple Mail Transfer Protocol) SNMP (Simple Network Management
Protokol untuk transfer file HTML dan Web Protokol untuk mengirim file binary dalam bentuk teks Protokol untuk menerima dan mengirim newsgroup Protokol untuk mengambil mail dari server Protokol untuk transfer berbagai server file DOS dan Windows Protokol untuk pertukaran mail Protokol untuk manejemen jaringan
19 Protocol) Telnet
3
TFTP (Trivial FTP) NETBIOS (Network Basic Input Output System) RPC (Remote Procedure Call) SOCKET
Sessi
4
Transport
5
Network
Transport
Internet
TCP (Transmission Control Protocol) UDP (User Datagram Protocol) IP (Internet Protocol) RIP (Routing Information Protocol) ARP (Address Resolution Protocol) RARP (Reverse ARP)
6
Datalink
LLC
Network Interface
MAC 7
Fisik
PPP (Point to Point Protocol) SLIP (Serial Line Internet Protocol)
Protokol untuk akses dari jarak jauh Protokol untuk transfer file BIOS jaringan standar
Prosedur pemanggilan jarak jauh Input Output untuk network jenis BSD-UNIX Protokol pertukaran data beroriantasi (connection oriented) Protokol pertukaran data nonoriantasi (connectionless) Protokol untuk menetapkan routing Protokol untuk memilih routing Protokol untuk mendapatkan informasi hardware dari nomer IP Protokol untuk mendapatkan informasi nomer IP dari hardware Protokol untuk point ke point Protokol dengan menggunakan sambungan serial Ethernet, FDDI, ISDN, ATM
(Sumber : Harry Prihanto, 2003) Standarisasi masalah jaringan tidak hanya dilakukan oleh ISO saja. tetapi juga diselenggarakan oleh badan dunia lainnya seperti International Telecommunication Union (ITU), American National Standard Institute (ANSI), National Committee for Information Technology Standardization (NCITS), bahkan juga oleh lembaga asosiasi profesi Institute of Electrical and Electronics Engineers (IEEE) dan ATM-Forum di Amerika.
2.5
Protokol Protokol merupakan sekumpulan aturan yang mendefinisikan beberapa fungsi
seperti pembuatan hubungan, pengiriman pesan atau file, serta memecahkan berbagai masalah khusus yang berhubungan dengan komunikasi data antara alat-alat komunikasi
20 tersebut supaya komunikasi dapat berjalan dan dilakukan dengan benar (Wahyono, 2003). Konsep dasar protokol adalah handshaking. Dengan adanya handshaking, maka masing-masing ujung pada jalur komunikasi akan terlihat oleh ujung yang lain. Ujung pemberi informasi akan terlihat oleh ujung yang akan mengirimkan informasi. Hal itu berarti bahwa data akan dikirim ketika penerima siap untuk menerima informasi sehingga pada saat komunikasi akan terjadi dengan sukses. Secara umum protokol komunikasi melaksanakan dua fungsi yaitu: a. Membuat hubungan antara pengirim (sumber data) dengan penerima (receiver). b. Menyalurkan informasi dengan tingkat keandalan yang tinggi.
2.5.1 TCP/IP Transmission Control Protocol/Internet Protokol (TCP/IP) merupakan sebuah protokol yang digunakan pada jaringan internet. Protokol ini terdiri dari dua bagian besar yaitu TCP dan IP. TCP menyediakan jalur hubungan end-to-end (transport layer) sedangkan IP menjalankan fungsinya pada network layer (pengalamatan dan routing). 1. Transmission Control Protocol (TCP) TCP merupakan suatu protokol yang berada di lapisan transport (tujuh lapis model referensi OSI atau model DARPA) yang berorientasi sambungan (connectionoriented) dan dapat diandalkan (reliable). TCP melakukan transmisi data per segmen, artinya paket data dipecah dalam jumlah yang sesuai dengan besaran paket, kemudian dikirim satu persatu hingga selesai. Agar pengiriman data sampai dengan baik, maka pada setiap paket pengiriman, TCP akan menyertakan nomor seri (sequence number). Komputer mitra yang menerima paket tersebut harus mengirim balik sebuah sinyal ACKnowledge dalam satu periode yang ditentukan. Bila pada waktunya sang mitra belum juga memberikan ACK, maka terjadi (time out) yang menandakan pegiriman paket gagal dan harus diulang kemabali. a. Karakteristik TCP Berorientasi
sambungan
(connection-oriented),
sebelum
data
dapat
ditransmisikan antara dua host, dua proses yang berjalan pada lapisan aplikasi harus melakukan negosiasi untuk membuat sesi koneksi terlebih dahulu. Koneksi TCP
21 ditutup dengan menggunakan proses terminasi koneksi TCP (TCP connection termination). Full-duplex, untuk setiap host TCP koneksi yang terjadi antara dua host terdiri atas dua buah jalur, yakni jalur keluar dan jalur masuk. Dengan menggunakan teknologi lapisan yang lebih rendah yang mendukung full-duplex, maka data pun dapat secara simultan diterima dan dikirim. Header TCP berisi nomor urut (TCP sequence number) dari data yang ditransmisikan dan sebuah acknowledgment dari data yang masuk. Dapat diandalkan (reliable), data yang dikirimkan ke sebuah koneksi TCP akan diurutkan dengan sebuah nomor urut paket dan akan mengharapkan paket positive acknowledgment dari penerima. Jika tidak ada paket Acknowledgment dari penerima, maka segmen TCP (protocol data unit dalam protokol TCP) akan ditransmisikan ulang. Pada pihak penerima, segmen-segmen duplikat akan diabaikan dan segmen-segmen yang datang tidak sesuai dengan urutannya akan diletakkan di belakang untuk mengurutkan segmen-segmen TCP. Untuk menjamin integritas setiap segmen TCP, TCP mengimplementasikan penghitungan TCP checksum. Byte stream, TCP melihat data yang dikirimkan dan diterima melalui dua jalur masuk dan jalur keluar TCP sebagai sebuah byte stream yang berdekatan. Nomor urut TCP dan nomor acknowlegment dalam setiap header TCP didefinisikan juga dalam bentuk byte. Meski demikian, TCP tidak mengetahui batasan pesan-pesan di dalam byte stream TCP tersebut. Untuk melakukannya, hal ini diserahkan kepada protokol lapisan aplikasi (dalam DARPA Reference Model), yang harus menerjemahkan byte stream TCP ke dalam bahasa yang dipahaminya. Memiliki layanan flow control, untuk mencegah data terlalu banyak dikirimkan pada satu waktu yang akhirnya membuat macet jaringan internetwork IP, TCP mengimplementasikan layanan flow control yang dimiliki oleh pihak pengirim yang secara terus menerus memantau dan membatasi jumlah data yang dikirimkan pada satu waktu. Untuk mencegah pihak penerima untuk memperoleh data yang tidak dapat disangganya (buffer), TCP juga mengimplementasikan flow control dalam pihak penerima, yang mengindikasikan jumlah buffer yang masih tersedia dalam pihak penerima.
22 Melakukan segmentasi terhadap data yang datang dari lapisan aplikasi (dalam DARPA Reference Model) Mengirimkan paket secara "one-to-one", hal ini karena memang TCP harus membuat sebuah sirkuit logis antara dua buah protokol lapisan aplikasi agar saling dapat berkomunikasi. TCP tidak menyediakan layanan pengiriman data secara one-tomany. TCP umumnya digunakan ketika protokol lapisan aplikasi membutuhkan layanan transfer data yang bersifat andal, yang layanan tersebut tidak dimiliki oleh protokol lapisan aplikasi tersebut. Contoh dari protokol yang menggunakan TCP adalah HTTP dan FTP. b. Segmen TCP Segmen TCP akan dikirimkan sebagai satuan protokol data unit pada lapisan internetwork atau datagram-datagram IP. Sebuah segmen TCP terdiri atas sebuah header dan segmen data (payload), yang dienkapsulasi dengan menggunakan header IP dari protokol IP. Segmen dapat berukuran hingga 65495 byte atau 216. Datagram IP tersebut akan dienkapsulasi lagi dengan menggunakan header protokol network interface (lapisan pertama dalam DARPA Reference Model) menjadi frame lapisan network interface. Di dalam header IP dari sebuah segmen TCP field Source IP Address diatur menjadi alamat unicast dari sebuah antar muka host yang mengirimkan segmen TCP yang bersangkutan. Sementara itu, field Destination IP Address juga akan diatur menjadi alamat unicast dari sebuah antarmuka host tertentu yang dituju. Hal ini dikarenakan, protokol TCP hanya mendukung transmisi one-toone. c. Port TCP Port
TCP
mampu
mengindikasikan
sebuah
lokasi
tertentu
untuk
menyampaikan segmen-segmen TCP yang dikirimkan yang diidentifikasi dengan TCP port number. Nomor-nomor di bawah angka 1024 merupakan port yang umum digunakan dan ditetapkan oleh IANA (Internet Assigned Number Authority). Port TCP merupakan hal yang berbeda dibandingkan dengan port UDP, meskipun mereka memiliki nomor port yang sama. Port TCP merepresentasikan satu sisi dari sebuah koneksi TCP untuk protokol lapisan aplikasi, sementara port UDP merepresentasikan
23 sebuah antrean pesan UDP untuk protokol lapisan aplikasi. Selain itu, protokol lapisan aplikasi yang menggunakan port TCP dan port UDP dalam nomor yang sama juga tidak harus sama. 2. IP IP (internet protocol) merupakan protokol pada lapisan network layer yang diperlukan untuk, pengalamatan, fragmentasi datagram antara jaringan, dan pengiriman datagram antara jaringan. Internet protokol menggunakan IPAddress sebagai identitas. Pengiriman data akan dibungkus dalam paket dengan label berupa IPAddress si pengirim dan IPAddress penerima. Apabila IP penerima melihat pengiriman paket tersebut dengan identitas IPAddress yang sesuai, maka datagram tersebut akan diambil dan disalurkan ke TCP melalui port, dimana aplikasi menunggunya. IP address terbagi dua ( 2 ) bagian, yaitu : a. Identitas Jaringan (Network ID) b. Identitas Komputer (Host ID) Penulisan IPAddress terbagi atas 4 angka, yang masing-masing mempunyai nilai maksimum 255 ( maksimum dari 8 bit ). IP Address : 255 . 255 . 255 . 255
2.5.2 User Datagram Protocol (UDP) UDP merupakan protokol transport yang sederhana merupakan salah satu protokol lapisan transport TCP/IP yang mendukung komunikasi yang tidak andal (unreliable), tanpa koneksi (connectionless) antara host-host dalam jaringan yang menggunakan TCP/IP. Kemiripan UDP dengan TCP ada pada penggunaan port number. Seperti halnya digunakan pada TCP, UDP menggunakan port number ini membedakan pengiriman datagram ke beberapa aplikasi berbeda yang terletak pada komputer yang sama. Karena sifatnya diatas tadi maka UDP digunakan oleh aplikasi-aplikasi yang secara periodik melakukan aktivitas tertentu (misalnya query routing table pada jaringan lokal).
24 1. Karakteristik UDP Connectionless (tanpa koneksi), pesan-pesan UDP akan dikirimkan tanpa harus dilakukan proses negosiasi koneksi antara dua host yang hendak bertukar informasi. Unreliable (tidak andal), pesan-pesan UDP akan dikirimkan sebagai datagram tanpa adanya nomor urut atau pesan acknowledgment. Protokol lapisan aplikasi yang berjalan di atas UDP harus melakukan pemulihan terhadap pesan-pesan yang hilang selama transmisi. Umumnya, protokol lapisan aplikasi yang berjalan di atas UDP mengimplementasikan layanan keandalan mereka masing-masing, atau mengirim pesan secara periodik atau dengan menggunakan waktu yang telah didefinisikan. UDP menyediakan mekanisme untuk mengirim pesan-pesan ke sebuah protokol lapisan aplikasi atau proses tertentu di dalam sebuah host dalam jaringan yang menggunakan TCP/IP. Header UDP berisi field Source Proses Identification dan Destination Process Identification. UDP menyediakan penghitungan checksum berukuran 16-bit terhadap keseluruhan pesan UDP. 2.
Pesan-pesan UDP UDP berbeda dengan TCP yang memiliki satuan paket data yang disebut dengan segmen, melakukan pengepakan terhadap data ke dalam pesan-pesan UDP (UDP Messages). Sebuah pesan UDP berisi header UDP dan akan dikirimkan ke protokol lapisan selanjutnya (lapisan internetwork) setelah mengepaknya menjadi datagram IP. Enkapsulasi terhadap pesan-pesan UDP oleh protokol IP dilakukan dengan menambahkan header IP dengan protokol IP. Pesan UDP dapat memiliki besar maksimum 65507 byte atau 216. Datagram IP yang dihasilkan dari proses enkapsulasi tersebut, akan dienkapsulasi kembali dengan menggunakan header dan trailer protokol lapisan network interface yang digunakan oleh host tersebut. Dalam header IP dari sebuah pesan UDP, field Source IP Address akan diset ke antarmuka host yang mengirimkan pesan UDP yang bersangkutan, sementara field Destination IP Address akan diset ke alamat IP uncast dari sebuah host tertentu, alamat IP boadcast, atau alamat IP multicast.
25 3. Port UDP Seperti halnya TCP, UDP juga memiliki saluran untuk mengirimkan informasi antar host, yang disebut dengan UDP Port. Untuk menggunakan protokol UDP sebuah aplikasi harus menyediakan alamat IP dan nomor UDP Port dari host yang dituju. Sebuah UDP port berfungsi sebagai sebuah multiplexed message queue, yang berarti bahwa UDP port tersebut dapat menerima beberapa pesan secara sekaligus. Setiap port diidentifikasi dengan nomor yang unik seperti halnya TCP, tetapi meskipun begitu UDP port berbeda dengan TCP port meskipun memiliki nomor port yang sama.
2.5.3 Internet Control Message Protocol (ICMP) CMP merupakan salah satu protokol inti dari keluarga protokol internet. ICMP umumnya digunakan oleh sistem operasi komputer jaringan untuk mengirim pesan kesalahan yang menyatakan, sebagai contoh, bahwa komputer tujuan tidak bisa dijangkau. ICMP beda dengan TCP dan UDP dalam hal ICMP tidak digunakan secara langsung oleh aplikasi jaringan milik pengguna. Salah satu pengecualian adalah aplikasi ping yang mengirim pesan ICMP (Echo Request dan menerima Echo Reply) untuk menentukan apakah komputer tujuan dapat dijangkau dan berapa lama paket yang dikirimkan dibalas oleh komputer tujuan. Pesan-pesan ICMP umumnya dibuat sebagai jawaban atas kesalahan di datagram IP atau untuk kegunaan pelacakan atau routing. 1. Karakteristik dari ICMP adalah : ICMP merupakan bagian internal dari IP dan diimplementasikan disetiap module IP, ICMP digunakan untuk menyediakan feedback tentang beberapa error pada sebuah proses datagram, tidak mendukung kehandalan pengiriman paket IP (Datagram atau paket bisa tidak terkirim dan tidak ada report pemberitahuan tentang kehilangan
datagram.
Jika
diperlukan
adanya
kehandalan
maka
harus
diimplementasikan pada layer transport ( pada arsitektur TCP /IP)), tidak ada respon ICMP yang dikirimkan untuk menghindari adanya perulangan tak terbatas, kecuali respon dari query, ICMP error message tidak pernah dikirimkan sebagai respon sebuah datagram untuk tujuan broadcast atau multicast.
26 2.
ICMP Message ICMP message dikirimkan didalam IP datagram. Format ICMP message dapat dilihat pada gambar 2.6. Dari gambar terlihat bahwa nomor protokol selalu 1 (ICMP) dan Type of Service selalu 0. 4
0
8
4 Bit Header Lengh
4 Bit Version
16
8-Bit type of service (TOS) = 0
16-bit total lengh (in bytes) 3 bit Flags
16-bit identification
8-bit time to live (TTL)
31
8-bit protocol =1 (ICMP)
13-bit Fragment Offset
20 Byte
16-bit header checksum
32-bit source IP address
32-bit destination IP address
Options
IP Data Field
Type
Code
Checksum
4 Byte
ICMP data (depending on the typeof massage)
Gambar 2.6 Format ICMP Message (Sumber : Mulia Siti Rachmani, 2002) Ada dua tipe pesan yang dapat dihasilkan oleh ICMP yaitu ICMP Error Message dan ICMP Query Message. ICMP Error Message sesuai namanya dihasilkan jika terjadi kesalahan pada jaringan. Sedangkan ICMP Query Message ialah jenis pesan yang dihasilkan oleh protokol ICMP jika pengirim paket menginginkan informasi tertentu yang berkaitan dengan kondisi jaringan. ICMP error message terdiri dari internet header (IP) dan sekurangnya 8 data octet (byte) pada datagram. Pada field type menspesifikasikan tipe dari message, sementara error code pada datagram dilaporkan oleh ICMP message pada field code. Pada kondisi normal protokol IP berjalan baik dan menghasilkan proses penggunaan memori serta sumber daya transmisi yang efisien. Namun ada beberapa kondisi dimana koneksi IP terganggu, misalnya karena router yang crash, putusnya kabel
27 atau matinya host tujuan. Pada saat ini ICMP berperan membantu menstabilkan kondisi jaringan. Hal ini dilakukan dengan cara memberikan pesan-pesan tertentu, sebagai respons atas kondisi tertentu yang terjadi pada jaringan tersebut.
Gambar 2.7 Timbulnya ICMP (Sumber : Mulia Siti Rachmani, 2002) Sebagai contoh, pada gambar diatas, hubungan antar router A dan B mengalami masalah, maka router A akan secara otomatis mengirimkan paket ICMP Destination Unreachable ke host pengirim paket yang berusaha melewati host B menuju tujuannya. Dengan adanya pemberitahuan ini maka host tujuan tidak akan terus menerus berusaha mengirimkan paketnya melewati router B. ICMP Query Messages terdiri dari Echo dan Echo Reply, bertujuan untuk memeriksa apakah sistem tujuan dalam keadaan aktif. Program ping merupakan program pengiriman paket ini. Responder harus mengembalikan data yang sama dengan data yang dikirimkan. Timestamp dan Timestamp Reply, menghasilkan informasi waktu yang diperlukan sistem tujuan untuk memproses suatu paket. Address mask, untuk mengetahui berapa netmask yang harus digunakan oleh suatu host dalam suatu network. Sebagai paket pengatur kelancaran jaringan, paket ICMP tidak diperbolehkan membebani network. Karenanya paket ICMP tidak boleh dikirim saat terjadi problem yang disebabkan oleh kegagalan pengiriman paket ICMP dan kegagalan pengiriman paket broadcast atau multicast
28
2.6
Network Port Port merupakan pintu masuk datagram dan paket data. Port dihubungkan dengan
nomor dan beberapa nomor bersifat spesifik yang berhubungan dengan jenis layanan khusus. IANA (Internet Assigned Number Authority) yaitu badan koordinasi dan penasihat teknis bagi masyarakat pengguna Internet, membagi port ke dalam tiga jarak (range) yaitu : a. Port Umum (Well Known Ports) dengan nomor port 0 sampai 1023. b. Port Terdaftar (Registered Ports) dengan nomor port 1024 sampai 49151. c. Port Pribadi atau dinamik (Dynamic and/or Private Ports) dengan nomor port 49152 sampai 65535. Port umum (Well Known Ports) yaitu angka-angka port yang telah distandarkan pada protokol TCP dan disediakan untuk layanan standar seperti FTP, Telnet, SSH, Mail, Web dan masih banyak lagi. Ketika sebuah paket (TCP atau UDP) datang pada sistem, paket itu meminta dikirimkan ke port yang sudah ditentukan. Contoh port yang di pakai TCP. Tabel 2.2 Port TCP. Port TCP No Port 20.21 110
23 22 25 80
Aplikasi FTP POP Telnet SSH SMTP HTTP(web)
Service email server biasa disebut SMTP ( Simple Mail Transport Protocol) berjalan pada port 25. Jika sebuah koneksi TCP meminta jawaban untuk port 25, maka dapat di katakan koneksi tersebut untuk mail server. port mengijinkan banyak koneksi diantara banyak mesin (host).
2.7
De-Militarised Zone (DMZ) De-Militarised Zone (DMZ) merupakan mekanisme untuk melindungi sistem
internal dari serangan pihak-pihak lain yang ingin memasuki sistem tanpa mempunyai
29 hak akses. DMZ melakukan perpindahan layanan suatu jaringan ke jaringan lain yang berbeda. DMZ bekerja pada seluruh dasar pelayanan jaringan yang membutuhkan akses terhadap jaringan “dunia luar” ke bagian jaringan yang lainnya. Dengan begitu, seluruh “open port” yang berhubungan dengan dunia luar akan berada pada jaringan DMZ, sehingga jika seorang hacker melakukan serangan dan melakukan crack pada server yang menggunakan sistem DMZ, hacker tersebut hanya akan dapat mengakses hostnya saja, tidak pada jaringan internal. Secara umum DMZ dibangun berdasarkan tiga buah konsep, yaitu : Network Address Translation (NAT), Port Addressable Translation (PAT), dan Access List. NAT berfungsi untuk menunjukkan kembali paket-paket yang datang dari “real address” ke alamat internal. Misal : terdapat ”real address” 203.8.90.100, maka dapat membentuk suatu NAT langsung secara otomatis pada data-data yang datang ke 192.168.100.1 (sebuah alamat jaringan internal). Kemudian PAT berfungsi untuk menunjukan data yang datang pada particular port, atau range sebuah port dan protocol (TCP/UDP atau lainnya) dan alamat IP ke sebuah particular port atau range sebuah port ke sebuah alamat internal IP. Sedangkan access list berfungsi untuk mengontrol secara tepat apa yang datang dan keluar dari jaringan dalam suatu pertanyaan. Misal : kita dapat menolak atau memperbolehkan semua ICMP yang datang ke seluruh alamat IP kecuali untuk sebuah ICMP yang tidak diinginkan.
2.8
Firewall Firewall adalah sebuah sistem yang didesain untuk mencegah akses dari pihak
yang tidak berhak (unauthorized) menuju atau dari jaringan lokal (Pramartha, 2007). Firewall dapat diimplementasikan, dalam bentuk hardware, software, atau kombinasi keduanya untuk menyaring seluruh lalu-lintas data (traffic) antara komputer. Firewall dalam sebuah jaringan, akan memastikan apabila terjadi hal-hal buruk yang tidak diinginkan terjadi di satu sisi Firewall (misalnya sisi Internet) maka komputer yang ada di sisi lainya tidak akan terpengaruh. Ketika traffic sampai di Firewall, Firewall akan memutuskan traffic mana yang diijinkan dan mana yang tidak untuk melewatinya. pc (jaringan local)
==
Firewall
==
internet (jaringan lain)
Gambar 2.8 Konfigurasi Sederhana Firewall
30 Firewall secara umum di peruntukkan untuk melayani : 1. Mesin/komputer, setiap mesin/komputer yang terhubung langsung ke jaringan luar atau internet dan menginginkan semua yang terdapat pada komputernya terlindungi. 2. Jaringan, jaringan komputer yang terdiri lebih dari satu buah komputer dan berbagai jenis topologi jaringan yang digunakan, baik yang di miliki oleh perusahaan, organisasi dsb.
2.8.1 Fungsi Dasar Firewall a.
Packet filtering, data yang dikomunikasikan lewat protokol di internet, dibagi atas paket-paket, seluruh header dari paket data yang melewati Firewall akan diperiksa. Firewall dapat menganalisa paket ini, kemudian memperlakukannya sesuai kondisi tertentu misal, jika ada paket a maka akan dilakukan b. Untuk filter paket, dapat dilakukan di Linux tanpa program tambahan. disini Firewall membuat keputusan yang jelas/tegas untuk mengijinkan atau memblok setiap paket.
b.
Bloking isi dan protokol, Firewall dapat melakukan bloking terhadap isi paket, misalnya berisi applet Jave, ActiveX, VBScript, Cookie.
c.
Autentikasi koneksi dan enkripsi (proses penyandian data), Firewall umumnya memiliki kemampuan untuk menjalankan enkripsi dalam autentikasi identitas user, integritas dari satu session, dan melapisi transfer data dari intipan pihak lain. Enkripsi yang dimaksud termasuk DES, Triple DES, SSL, IPSEC, SHA, MD5, BlowFish, IDEA dan sebagainya.
d.
Network Address Translation (NAT), dunia luar hanya akan melihat satu alamat IP di balik Firewall, sedangkan komputer-komputer di jaringan internal dapat menggunakan alamat IP apapun yang diperbolehkan di jaringan internal, alamat sumber dan tujuan dari paket yang melalui jaringan secara otomatis di ubah (diarahkan) ke komputer tujuan (client misalnya) yang ada di jaringan internal oleh Firewall.
e.
Aplication Proxy, Firewall mampu memeriksa lebih dari sekedar header suatu paket data, kemampuan ini menuntut Firewall untuk mampu mendeteksi protokol aplikasi tertentu yang spesifik.
31 f.
Pemantauan dan pencatatan traffic, mencatat segala sesuatu yang terjadi di Firewall amatlah penting, sehingga bisa menentukan untuk memperkirakan kemungkinan penjebolan keamanan atau memberikan umpan balik yang berguna tentang kinerja Firewall.
2.8.2 Teknik Yang Digunakan Oleh Sebuah Firewall a. Service control (kendali terhadap layanan) Berdasarkan tipe-tipe layanan yang digunakan di Internet dan boleh diakses baik untuk kedalam ataupun keluar Firewall. Firewall akan mengecek no IPAddress dan juga nomor port yang di gunakan baik pada protokol TCP dan UDP, bahkan bisa dilengkapi software untuk proxy yang akan menerima dan menterjemahkan setiap permintaan akan suatu layanan sebelum mengijinkannya. Bahkan bisa jadi software pada server itu sendiri, seperti layanan untuk web ataupun untuk mail. b. Direction Control (kendali terhadap arah) berdasarkan arah dari berbagai permintaan (request) terhadap layanan yang akan dikenali dan diijinkan melewati Firewall. c. User control (kendali terhadap pengguna) Berdasarkan pengguna/user untuk dapat menjalankan suatu layanan, artinya ada user yang dapat dan ada yang tidak dapat menjalankan suatu service, hal ini di karenakan user tersebut tidak di ijinkan untuk melewati Firewall. Biasanya digunakan untuk membatasi user dari jaringan lokal untuk mengakses keluar, tetapi bisa juga diterapkan untuk membatasi terhadap pengguna dari luar. d. Behavior control (kendali terhadap perlakuan) Berdasarkan berapa banyak layanan
itu
telah
digunakan.
Misal,
Firewall
dapat
memfilter
email
untuk
menanggulangi/mencegah spam.
2.8.3 Cara kerja Firewall Firewall mengamankan komputer atau jaringan komputer internal dengan berbagai cara diantaranya : a. Menutup traffic yang datang (incoming network traffic) berdasarkan sumber atau tujuan dari traffic tersebut. Memblok incoming network traffic yang tidak diinginkan, merupakan fitur umum yang ada pada Firewall.
32 b. Menutup traffic yang keluar (outgoing network traffic) berdasarkan sumber atau tujuan dari traffic tersebut. Firewall juga bisa menyaring traffic yang yang berasal dari jaringan internal ke Internet, misalnya ketika kita ingin mencegah user dari mengakses situs-situs porno. c. Menutup traffic berdasarkan kontennya, Firewall dapat memonitor traffic dari kontent-kontent yang tidak di inginkan, misalnya Firewall yang didalamnya terintegrasi antivirus ia dapat mencegah file yang terinfeksi oleh virus masuk ke komputer atau jaringan komputer internal yang kita miliki. d. Melaporkan traffic di jaringan dan kegiatan Firewall ketika memonitor traffic jaringan dari dan ke Internet. Mengetahui apa yang dikerjakan oleh Firewall, siapa yang mencoba membobol jaringan internal dan siapa yang mencoba mengakses informasi yang tidak layak dari Internet.
2.8.4 Langkah-langkang membangun Firewall a. Mengidenftifikasi bentuk jaringan yang dimiliki Mengetahui bentuk jaringan yang dimiliki khususnya toplogi yang di gunakan serta protokol jaringan, akan memudahkan dalam mendesain sebuah Firewall. b. Menentukan policy atau kebijakan Penentuan kebijakan atau policy merupakan hal yang harus di lakukan, baik atau buruknya sebuah Firewall yang di bangun sangat di tentukan oleh policy/kebijakan yang di terapkan. c. Menyiapkan software atau hardware yang akan digunakan baik itu operating sistem yang mendukung atau software-software khusus pendukung Firewall seperti ipchains, atau IPTables pada linux dan sebagainya. Serta konfigurasi hardware yang akan mendukung Firewall tersebut. d. Melakukan test konfigurasi Pengujian terhadap Firewall yang telah selesai di bangun haruslah dilakukan, terutama untuk mengetahui hasil yang akan kita dapatkan.
33
2.9
IPTables IPTables adalah nama perkakasan (tool) dari user space, dimana administrator
jaringan dapat membangun tatacara untuk penyaring paket (packet filtering). Sementara secara teknis IPTables adalah sekedar perkakasan untuk mengontrol komponen packet filtering di kernel Linux. IPTables dapat digunakan untuk melakukan seleksi terhadap paket-paket yang datang baik input, output maupun forward berdasarkan IP address, identitas jaringan, nomor port, source (asal), destination koneksi terhadap setiap paket (data) yang diinginkan. IPTables dapat melakukan perhitungan terhadap paket dan menerapkan prioritas trafik berdasarkan jenis layanan (service). IPTables dapat digunakan untuk mendefinisikan sekumpulan aturan keamanan berbasis port untuk mengamankan host-host tertentu.
2.9.1 Syntax IPTables 1. Table IPTable memiliki 3 buah tabel, yaitu FILTER, NAT, dan MANGLE. Setiap tabel terdiri dari beberapa buah chain Firewall atau dengan kata lain adalah seperangkat aturan yang berantai. Penggunannya disesuaikan dengan sifat dan karakteristik masing-masing. Fungsi dari masing-masing tabel tersebut sebagai berikut : Tabel FILTER merupakan tabel yang berisikan seperangkat aturan yang berfungsi melakukan penyaringan paket baik yang masuk maupun keluar. Tabel FILTER memiliki tiga macam chain yaitu INPUT, OUTPUT, dan FORWARD. Paket-paket yang diarahkan ke Firewall dinamakan chain INPUT, paket-paket yang diteruskan melewati Firewall dinamakan chain FORWARD dan paket-paket yang menuju jaringan eksternal meninggalkan Firewall dinamakan chain OUTPUT. Paketpaket yang masuk diperiksa apakah rusak, salah informasi atau tidak, kemudian diberikan ke chain INPUT. Tergantung pada informasi yang terdapat di dalam header paket dan kebijakan dalam rule. Tabel Network Address Translation (NAT) adalah penggantian field alamat asal atau alamat tujuan dari sebuah paket. Di dalam tabel NAT dapat memodifikasi source dan destination address atau port dari paket-paket yang keluar-masuk.
34 Keuntungan dari adanya fasilitas ini adalah untuk menyembunyikan alamat IP asli atau sering disebut dengan istilah IP Masquerading. Penyembunyian IP lokal menjadi sebuah bentuk lain yang dikenal dari luar merupakan salah satu sistem pengamanan yang paling dasar. Dengan demikian, tidak sembarang orang dapat mengetahui alamat IP yang asli, apalagi sampai masuk ke dalamnya perangkat jaringan komputer. Tabel NAT mempunyai tiga buah chain, yaitu PREROUTING, POSTROUTING, dan OUTPUT. Tabel MANGLE digunakan untuk melakukan penghalusan (mangle) paket, yang akan membuat paket-paket ditandai satu per satu. Tujuannya adalah agar paket tersebut mempunyai ciri khas, sehingga paket tersebut dapat diolah lebih lanjut sesuai dengan policy yang akan terapkan. Tabel MANGLE memiliki kemampuan untuk menggunakan semua chain yang ada dalam IPTables seperti INPUT, OUTPUT, PREROUTING, dan sebagainya. Tabel MANGLE dapat melakukan banyak hal, seperti melakukan pengubahan routing sesuai dengan kebijakan, atau memberikan perlakuan khusus pada salah satu jenis paket atau yang sering disebut dengan istilah QoS, dan masih banyak lagi. Maka dari itu, MANGLE banyak digunakan bersama dengan program lain untuk melayani pemprioritasan sebuah aplikasi. 2. Command Command pada baris perintah IPTables akan memberitahu apa yang harus dilakukan terhadap lanjutan sintaks perintah. Umumnya dilakukan penambahan atau penghapusan sesuatu dari tabel atau yang lain. 3. Option Option digunakan untuk dikombinasikan dengan command tertentu yang akan menghasilkan suatu variasi perintah. 4. Generic Matches Generic Matches artinya pendefinisian kriteria yang berlaku secara umum. Dengan kata lain, sintaks generic matches akan sama untuk semua protokol. Setelah protokol didefinisikan, maka baru didefinisikan aturan yang lebih spesifik yang dimiliki oleh protokol tersebut. Hal ini dilakukan karena tiap-tiap protokol memiliki karakteristik yang berbeda, sehingga memerlukan perlakuan khusus.
35 5. Implicit Matches Implicit Matches adalah match yang spesifik untuk tipe protokol tertentu. Implicit Match merupakan sekumpulan rule yang akan diload setelah tipe protokol disebutkan. Ada 3 Implicit Match berlaku untuk tiga jenis protokol, yaitu TCP matches, UDP matches dan ICMP matches. 6. Explicit Matches a. MAC Address Match jenis ini berguna untuk melakukan pencocokan paket berdasarkan MAC source address. Perlu diingat bahwa MAC hanya berfungsi untuk jaringan yang menggunakan teknologi ethernet. b. Multiport Matches Ekstensi Multiport Matches digunakan untuk mendefinisikan port atau port range lebih dari satu, yang berfungsi jika ingin didefinisikan aturan yang sama untuk beberapa port. Tapi hal yang perlu diingat bahwa tidak bisa menggunakan port matching standard dan multiport matching dalam waktu yang bersamaan. c. Owner Matches Penggunaan match ini untuk mencocokkan paket berdasarkan pembuat atau pemilik/owner paket tersebut. Match ini bekerja dalam chain OUTPUT, akan tetapi penggunaan match ini tidak terlalu luas, sebab ada beberapa proses tidak memiliki owner. d. State Matches Match ini mendefinisikan state apa saja yang cocok. Ada 4 state yang berlaku, yaitu NEW, ESTABLISHED, RELATED dan INVALID. NEW digunakan untuk paket yang akan memulai koneksi baru. ESTABLISHED digunakan jika koneksi telah tersambung dan paket-paketnya merupakan bagian dari koneki tersebut. RELATED digunakan untuk paket-paket yang bukan bagian dari koneksi tetapi masih berhubungan dengan koneksi tersebut, contohnya adalah FTP data transfer yang menyertai sebuah koneksi TCP atau UDP. INVALID adalah paket yang tidak bisa diidentifikasi, bukan merupakan bagian dari koneksi yang ada.
36 7. Target/Jump Target atau jump adalah perlakuan yang diberikan terhadap paket-paket yang memenuhi kriteria atau match. Jump memerlukan sebuah chain yang lain dalam tabel yang sama. Chain tersebut nantinya akan dimasuki oleh paket yang memenuhi kriteria. Analoginya ialah chain baru nanti berlaku sebagai prosedur/fungsi dari program utama. Sebagai contoh dibuat sebuah chain yang bernama tcp_packets. Setelah ditambahkan aturan-aturan ke dalam chain tersebut, kemudian chain tersebut akan direferensi dari chain input.
2.9.2 Penggunaan IPTables Rule dalam IPTables dapat dikenakan terhadap asal paket (-s), tujuan Paket (-d), protokol (-p), dan port. Misalnya, 1. untuk menolok semua paket yang datang dari komputer dengan IP address 192.168.100, penulisannya adalah: IPTABLES –A INPUT –s 192.168.0.100 –j DROP
(-A) adalah perintah untuk menambah satu aturan baru yang di tempatkan
pada
posisi paling bawah dari aturan-aturan IPTables yang kita buat (-s) Kriteria ini digunakan untuk mencocokkan paket berdasarkan alamat IP asal 2. Untuk menggantikan rule yang sudah ditetapkan sebelumnya digunakan perintah Replace (-R -replace) iptables -R INPUT 3 -s 202.155.32.47 -j DROP (Pada tabel INPUT baris ke 3, di gantikan dengan rule yang baru)