BAB I PENDAHULUAN
1.1 Pendahuluan Kemajuan teknologi komputer dan teknologi informasi dewasa ini telah mengubah bentuk pengolahan data dalam berbagai bidang usaha manusia dari sistem manual menuju sistem yang terkomputerisasi. Dengan semakin kompleksnya informasi yang dibutuhkan, maka banyak pihak merasa perlu untuk mempelajari dan mengembangkan terus teknologi komputer dan teknologi informasi tersebut sehingga sistem dapat menyelesaikan berbagai masalah sesuai dengan kebutuhan manusia. Adapun fungsi komputer telah bergeser dari sekedar mesin hitung berskala besar menjadi mesin serba bisa, mulai dari pengolahan kata, gambar, film, suara, jaringan, internet, dan games. Salah satu yang cukup populer dan berkembang paling pesat adalah teknologi Internet. Dewasa ini Internet telah menjadi salah satu gudang dan sumber informasi bahkan membentuk dunianya sendiri atau biasa disebut cyberworld.
Berbagai informasi dan data dapat dengan mudah kita
peroleh melalui Internet. Internet sendiri merupakan suatu jaringan komputer yang besar yang dibangun dari jaringan – jaringan komputer kecil. Internet saat ini telah berubah menjadi salah satu alat bisnis.
Jutaan
transaksi bisnis ataupun segala yang berkaitan dengannya mengalir tiap harinya melalui lalu lintas paket data di Internet. Hal ini menyebabkan keamanan menjadi masalah serius yang perlu dipikirkan. Berbagai cara pengamanan data ataupun sistem dari akses oleh pihak yang tidak sah dikembangkan tiap tahunnya. Salah satunya adalah sistem autentikasi dan firewall.
Sistem autentikasi sendiri
merupakan suatu teknik tertentu yang dilakukan oleh suatu sistem untuk menentukan apakah pihak yang berkomunikasi dengannya merupakan pihak yang
1
diharapkan atau sebaliknya1. Sedangkan firewall adalah software atau aplikasi yang berfungsi untuk melakukan filterisasi dengan aturan tertentu terhadap lalu lintas data yang masuk ataupun keluar dari suatu mesin/host2.
1.2 Latar Belakang Masalah Pada prinsipnya komunikasi antara dua host secara umum paling kurang membutuhkan 2 informasi pada setiap paket data yang dilewatkan. Informasi tersebut adalah alamat IP tujuan paket dan port dituju pada host yang akan menerima paket. Saat paket data tiba di tujuan maka program daemon pada host akan membaca isi paket dan menentukan kemana paket akan diteruskan dan program apa yang bertanggung jawab untuk itu. Untuk menentukan program yang bertanggung jawab atas paket data tersebut maka aplikasi daemon pada host yang dituju akan membaca port number tujuan dari paket data tersebut. Banyak program aplikasi umum yang memiliki standard port untuk melakukan komunikasi. Sebagai contoh webserver biasanya menggunakan port 80 (HTTP). Secure shell menggunakan port 22 (SSH), FTP menggunakan port 21 untuk control flow dan port 20 untuk data flownya, Mail/SMTP menggunakan port 25 dan beberapa program aplikasi umum lainnya. Saat program – program ini berjalan dalam sebuah mesin dalam bentuk daemon, maka port – port yang menangani paket yang ditujukan kepada program aplikasi ini harus tetap dibiarkan terbuka. “Terbuka” disini berarti port – port tersebut siap untuk menerima dan memproses paket yang dikirimkan dari dan ke mana saja tergantung hasil filter dari firewall.. Program daemon berada dalam keadaan listen state pada port – port tertentu yang harus dalam keadaan terbuka. Keadaan ini dapat menimbulkan ancaman yang serius terhadap sistem yang bersangkutan.
Hampir sebagian
serangan yang dirancang, merupakan exploit – exploit untuk port – port yang terbuka. Dengan mengirimkan program aplikasi yang listen pada port tertentu 1 Tannenbaum S. Andrew, Computer Network, New Jersey : Prentice Hall, 2003, Chapter 8.7 2 Komar Brian et, Firewall for Dummies,New York : Wiley Publishing Inc., Hal : 9
2
dengan data – data tertentu, seseorang dapat saja menyebabkan kerusakan yang cukup serius bagi sistem, atau mengeksekusi perintah atau kode untuk mengambil alih control sistem. Salah satu pendekatan primitif yang cukup masuk akal adalah dengan menutup semua port atau biasa disebut juga closed port system. Hal ini tentu saja benar dan tidak salah, namun bila semua port ditutup maka sama saja menutup koneksi mesin atau host tersebut dari dunia luar dalam hal ini Internet. Untuk itu diperlukan suatu jalan keluar yang tetap menjamin keamanan mesin tersebut, tanpa harus mengorbankan tingkat konektifitas sistem.
1.2 Rumusan Masalah Berdasarkan masalah di atas maka diperlukan suatu metode autentikasi yang mengijinkan pemiliki akses sah untuk melakukan koneksi ke server dan mengakses server walaupun akses ke semua port di server ditutup. Dalam hal ini metode autentikasi yang digunakan adalah metode “port knocking”. Secara garis besar, sistem yang akan dibangun ini akan menganalisa dan membahas apakah “port knocking” dapat diterapkan sebagai salah satu alternatif sistem autentikasi yang bersifat stealth dan relatif aman dari packet sniffing/monitoring/spoofing, mampu mengurangi resiko portscan attack, serta reliable dalam hal ini tidak perlu merubah program aplikasi standar yang sudah ada, misalnya ftp, telnet, dsb,
1.3 Batasan Masalah Sistem yang dibangun merupakan sistem one time authentication. Sehingga autentikasi dilakukan hanya pada awal koneksi (inisialisasi koneksi) dan akhir koneksi. Autentikasi pada awal koneksi hanya bertujuan untuk memberikan informasi kepada server port apa yang harus dibuka, dan kepada siapa harus dibuka. Sedangkan untuk autentikasi selama proses pertukaran data diserahkan kepada aplikasi yang terlibat misalnya ftp, telnet, ssh dsb. Sedangkan autentikasi
3
pada akhir koneksi memberikan informasi kepada server akhir dari koneksi. Client yang melakukan koneksi menggunakan port knocking pada kondisi idealnya diharapkan tidak berada dibelakang packet-rewriting firewall dengan jenis IP masquerade atau standard proxy server atau jaringan yang terhubung ke Internet menggunakan NAT (Network Addres Translator). Bila client terpaksa harus melakukan koneksi dari belakang NAT, atau packet - rewriting firewal atau Standar Proxy maka client harus mengetahui alamat IP real yang digunakan oleh NAT atau IP Masquerade untuk koneksi ke jaringan global (Internet) atau bila proxy maka alamat DNS – nya. Sistem yang dibangun tidak dirancang untuk menghindari serangan portscan. Kemampuan untuk menghindari portscan diserahkan sepenuhnya kepada aturan dari firewall yang diterapkan dalam hal ini IPF serta kernel sistem operasi yang digunakan yaitu FreeBSD 5.4. Untuk pengalamatan sistem hanya mendukung pengalamatan untuk IPV4.
1.4 Tujuan Penelitian Penelitian ini sendiri bertujuan untuk : •
Membangun
suatu
sistem
autentikasi
alternatif
yang
mengimplementasikan konsep/ide autentikasi melalui usaha koneksi. •
Sebagai sarana bagi penulis untuk menerapkan ilmu – ilmu berkaitan dengan bidang informatika yang diperoleh selama berkuliah.
1.5 Manfaat Penelitian Penelitian dan pembangunan sistem ini diharapkan dapat memberikan gambaran mengenai pentingnya sistem autentikasi yang ringan dan aman dari packet sniffing/monitoring/spoofing dalam lingkungan jaringan komputer dan mengurangi ancaman serangan exploitasi terhadap port – port yang terbuka di dalam sistem.
Selain itu pengembangan sistem ini juga dapat dijadikan
pengalaman serta pelajaran bagaimana cara membangun program sederhana,
4
namun memperhatikan segala aspek penting dalam panduan secure coding di sistem operasi Unix.
1.6 Spesifikasi Program Sistem yang dibangun adalah sistem berbasis client – server. 1. Program pada sisi Server, Program daemon yang akan running dan berada dalam keadaan listen state untuk menganalisa dan mengintepretasikan setiap percobaan koneksi yang dilakukan melalui catatan yang terdapat pada log file dari firewall. Jumlah port yang harus dianalisa oleh program ini adalah 256 port. Port ini secara khusus telah disepakati sebagai knock port untuk sistem ini. 2. Program pada sisi Client, Port knock client berjalan pada sisi klien. Program ini dijalankan dengan memberikan argument yaitu host asal, host tujuan, port tujuan, aksi yang akan dilakukan, username, dan password terekripsi.
1.7 Kebutuhan Sistem Kebutuhan Sistem dibagi 3 yaitu kebutuhan selama masa pengembangan sistem, kebutuhan server, dan kebutuhan client. Kebutuhan pengembangan •
Sistem Operasi UNIX FreeBSD 5.4
•
CC atau GCC 2.9.x
•
library OPENSSL, 0.9.7 keatas.
•
Teks editor Xemacs dan VI
Kebutuhan minimal server •
Komputer dengan processor Arsitektur x86
•
RAM minimal 32 MB
5
•
Hardisk 500MB
•
Koneksi jaringan atau Internet
•
Sistem operasi UNIX FreeBSD 4.x keatas
•
Dukungan kernel untuk firewall ipfilter
Kebutuhan minimal client •
Komputer dengan processor Arsitektur x86
•
RAM minimal 32 MB
•
Koneksi jaringan atau Internet
•
Sistem Operasi *NIX standard POSIX atau turunan BSD system.
1.8 Sistematika Penulisan Sistematika penulisan yang dipergunakan pada tugas akhir ini disesuaikan dengan ketentuan yang telah diatur pada tata cara penulisan tugas akhir program studi teknik informatika Universitas Kristen Duta Wacana. Informasi tentang latar belakang permasalahan, rumusan masalah, tujuan penulisan, manfaat penelitian, spesifikasi program dan sistematika penulisan yang akan dikerjakan akan di tulis dan dijelaskan dalam laporan pada bab I. Kemudian pada bab II akan dijelaskan tentang teori-teori pendukung yang berhubungan dengan sistem kerja yang akan dilaksanakan. Pada bab selanjutnya, yaitu bab III akan dilakukan analisa sistem beserta perancangan sistem. Bab ini juga meliputi rancangan sistem yang dibuat baik desain basis data secara dimensional maupun kerangka tampilan program didalam pola sistem masukan dan keluaran. Selanjutnya pembahasan tentang implementasi sistem yang mencakup implementasi input dan implementasi output, berikut penjelasan perintah dan argumen yang digunakan didalamnya akan dibahas dalam bab IV. Akhirnya pada bab V akan diisi dengan kesimpulan dan saran-saran yang membangun, sehingga kelak diharapkan akan ada perkembangan yang lebih baik dari sistem yang telah ada. 6