1 BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah Integrasi jaringan komputer sebagai media informasi dan transfer data yang cepat menjadi solusi bagi instansi, organisasi, atau perusahaan yang ingin menyediakan sistem informasi dan pengolahan data antar divisi untuk menunjang kegiatan utama di area mereka; dengan terkoneksi ke jaringan internet untuk menyediakan layanan publik. Satellite INTERNET Switch ss Wirele Conn ection VSAT Access Point Client Area Network VSAT Modem Switch Firewall Email Server Router Proxy Server Tar get Access imp lem ent Filtering Area a si Web Server Switch FTP Server Database Server Application Server DMZ=Demiliterized Zone (Server Area Network) Gambar 1.1 Infrastruktur Jaringan Internal Multi Area Oleh karena itu, keamanan jaringan komputer dan komunikasi data menjadi hal yang sangat perlu diperhatikan agar fungsi utama infrastruktur jaringan tersebut dapat berjalan sesuai dengan tujuannya. Ancaman kepada masalah keamanan jaringan dan informasi bisa datang kapan saja dari area jaringan Internet maupun lokal. Dalam hal ini, komputer dengan sistem operasi Linux 2 yang bertindak sebagai Router akan menjadi target pertama untuk dikuasai oleh pihak-pihak yang tidak berwenang atau tidak bertanggungjawab; agar dapat menguasai area-area jaringan lainnya yang berada dibawah otoritas komputer tersebut. Untuk keperluan proses maintenance, komputer Router yang berbasis Linux biasanya menjalankan layanan autentikasi (Authentication Service) yang memungkinkan Administrator melakukan login ke komputer tersebut lalu melakukan maintenance atau monitoring secara remote-connection. Ini berarti layanan yang selalu berjalan dan membuka nomor port tertentu untuk berkomunikasi data tersebut akan rentan dari serangan DOS (Denial Of Service), Brute Force, Sniffing, maupun Spoofing dari para black-hat hacker, cracker atau script kiddies. Bila hal tersebut terjadi maka dampak kerusakan dapat mempengaruhi area-area jaringan yang berada dibawah otoritas komputer Router tersebut. Karena itulah, maka idealnya sebuah komputer dengan sistem operasi Linux yang bertindak sebagai Router tersebut tidak perlu menjalankan layanan apapun sehingga tidak ada nomor port yang dibuka untuk menghindari kemungkinan penyerangan dari jaringan Internet maupun dari area LAN (Local Area Network). Sehingga, dengan demikian tinggal memikirkan solusi agar Administrator jaringan tetap dapat melakukan koneksi login pada komputer Router tersebut dengan metode yang tidak terdeteksi akan penyadapan transmisi-transmisi data oleh pihak yang tidak berwenang atau yang tidak bertanggungjawab. Metode Port Knocking diperkenalkan sebagai solusi untuk masalah tersebut diatas, seperti yang dipaparkan pada situs www.portknocking.org, 3 metode ini memungkinkan Administrator melakukan autentikasi pra-login secara remote-connection pada komputer tujuan; tanpa terlebih dulu membuka layanan dan nomor port untuk proses login tersebut. 1.2 Maksud Membangun sebuah perangkat lunak bantu untuk Administrator dalam melakukan proses login secara remote-connection, yang dapat bekerja sama dengan Firewall (Iptables) dan Secure Shell (SSH) yang telah terintegrasi pada sistem operasi Linux. 1.3 Tujuan Menganalisis, merekayasa dan mengimplementasikan metode Port Knocking untuk menjadi suatu aplikasi (tool) dengan sistem autentikasi pra-login bagi Administrator yang aman dari resiko penyerangan oleh Man In The Middle Attack pada server Router dalam lingkup jaringan multi area. 1.4 Pokok Masalah Suatu komputer Router yang berbasis sistem operasi Linux, idealnya tidak perlu membuka layanan dan nomor port untuk akses login kepada publik; agar dapat menghindari resiko adanya serangan yang mengancam stabilitas kerja dari komputer yang bersangkutan dan jaringan-jaringan lain yang berada dibawah otoritasnya. Yang menjadi permasalahan, Administrator akan mengalami kendala untuk menghubungi layanan SSH (Secure Shell) pada komputer Router tersebut, karena layanan tersebut tidak akan dijalankan secara otomatis oleh sistem operasi di saat startup. Dengan berpedoman dari konsep metode Port Knocking, 4 maka masalah utama yang dihadapi adalah membangun sebuah perangkat lunak bantu yang dapat menjadi event-trigger untuk layanan SSH pada komputer Router yang menjadi tujuan; yang dapat memberikan akses masuk (login) hanya bagi yang berhasil melewati tahapan autentikasi pra-login tersebut, untuk keperluan maintenance dan monitoring. Tantangan untuk pengembangan perangkat lunak bantu ini adalah resiko terjadinya penyadapan (Sniffing) transmisi-transmisi data TCP/IP pada saat proses autentikasi ke komputer tujuan oleh pihak ketiga (Man In The Middle Attack), dan pembajakan data (IP/ARP Spoofing) serta pembanjiran request SYN (Syn Flooding) terhadap komputer tujuan (server) yang mengimplementasikan Port Knocking. 1.5 Batasan Masalah Karena luas dan kompleksnya materi yang dapat dibahas sehubungan dengan maksud dan tujuan pembangunan perangkat lunak bantu yang telah dipaparkan diatas, maka pembahasan skripsi ini akan berada dalam lingkup batasan masalah sebagai berikut : a). Perancangan, dan implementasi difokuskan untuk komputer dengan sistem operasi Linux; yang berperan sebagai Router atau sekaligus Gateway bagi jaringan-jaringan dibawah otoritasnya; dalam jaringan multi area. b). Koneksi yang terjadi ada pada pengertian secara remote-connection. c). Perancangan, pengkodean dan implementasi aplikasi Port Knocking nantinya akan difokuskan untuk menjadi lapisan pra-login terhadap layanan login SSH (Secure Shell) pada komputer server, dimana pembahasan tentang SSH tidak dibahas dalam naskah ini karena 5 layanan tersebut telah memiliki mekanisme pengamanannya sendiri; yaitu enkripsi data, dan Port Knocking akan diimplementasikan untuk memicu dijalankannya layanan tersebut. d). Aplikasi Port Knocking yang dikembangkan saat ini hanya dapat berinteraksi antar IP address lokal dengan IP address lokal, atau IP address publik dengan IP address publik saja. e). Pengimplementasian aplikasi dilakukan pada topologi star. f). Konsep routing yang diterapkan adalah static routing. Dimana, mesin atau komputer yang berperan sebagai Router merupakan perantara (Gateway) antara jaringan internet dengan area jaringan internal yang terkait. g). Untuk menggunakan aplikasi client maupun server, harus oleh super user; yang dalam sistem operasi Linux standarnya adalah : root, ini dikarenakan adanya beberapa perintah yang digunakan nantinya dimana hanya super user saja yang dapat mengeksekusinya. h). Perangkat lunak yang dihasilkan akan memiliki sifat open-source dengan lisensi GPL (General Public Licence); untuk tujuan pengembangan lebih lanjut pada komunitas open-source di Internet. 1.6 Sistematika Penulisan Laporan Sistematika penulisan laporan Karya Tulis ini secara umum adalah sebagai berikut : BAB 1 PENDAHULUAN Pada bagian ini akan dipaparkan hal-hal mengenai latar belakang masalah, maksud dan tujuan penelitian, pokok masalah, batasan 6 masalah, serta sistematika penulisan laporan; dalam lingkup pembahasan implementasi Port Knocking. BAB 2 LANDASAN TEORI Pada bagian ini berisikan tentang tinjauan secara umum tentang : konsep dasar Port Knocking berdasarkan sumber pada www.porknocking.org, pembahasan teknik dasar konfigurasi komputer dengan sistem operasi Linux untuk peran Router dalam jaringan yang ditangani; untuk keperluan pemahaman tentang teknik implementasi aplikasi Port Knocking, pembahasan tentang dukungan sistem operasi Linux terkait pada utilitas yang akan dipakai dalam pemrograman Bash Shell Linux untuk keperluan rekayasa perangkat lunak yang menerapkan metode Port Knocking, dan dasar-dasar pemrograman Bash Shell di lingkungan sistem operasi Linux; untuk keperluan rekayasa perangkat lunak Port Knocking juga. BAB 3 ANALISIS DAN PERANCANGAN Pada bagian ini akan berisi penjelasan pengertian dari sistem dari hasil analisa konsep Port Knocking, kebutuhan perangkat keras dan perangkat lunak yang akan dipakai, serta hipotesa–hipotesa yang mengacu pada konsep Port Knocking oleh Martin Krzywinski; untuk kebutuhan perancangan dan pembangunan aplikasi yang akan diimplementasikan sesuai tujuan dan maksud yang disebutkan pada sub bab 1.2 dan 1.3 sebelumnya. Pada bagian akhir dari bab ini akan berisi perancangan interface untuk Control Panel aplikasi server dan interface untuk aplikasi client. 7 BAB 4 IMPLEMENTASI Pada bagian ini akan dipaparkan analisis pada input-output dari implementasi yang dilakukan; dengan tetap mengacu kepada hipotesa–hipotesa yang telah dipaparkan pada bab 3. BAB 5 PENUTUP Di bagian ini, akan berupa kesimpulan dari hasil analisis implementasi tiap hipotesa yang ada. Yang menjadi acuan untuk menentukan hasil rekayasa yang terbaik adalah tingkat keamanan komunikasi autentikasi pra-login antara server dengan client yang terkait dengan keamanan proses layanan SSH selama dijalankan. Pada bagian ini juga akan dipaparkan saran–saran untuk masalah–masalah minor yang masih didapatkan; untuk keperluan implementasi nyata dan pengembangan aplikasi selanjutnya. DAFTAR PUSTAKA Berisi sumber-sumber informasi dan referensi yang dipakai dalam analisa, perancangan dan rekayasa aplikasi Port Knocking; baik dari Internet maupun dari berbagai media cetak. LAMPIRAN Pada bagian ini berisi lampiran-lampiran, yaitu : daftar perintah built-in untuk Bash Shell pada lingkungan sistem operasi Linux, daftar utilitas yang sering digunakan dalam pemrograman Bash Shell, referensi manual pemakaian aplikasi, gambar-gambar input-output pemakaian aplikasi Control Panel Server dan aplikasi client, serta source code dari aplikasi hasil rekayasa.