JURNAL INFORMATIKA
PERANCANGAN DAN IMPLEMENTASI PEMANTAUAN INDIKASI ANOMALI BANDWIDTH JARINGAN KOMPUTER (Studi Kasus PT. Kereta Api Indonesia) Winarno Sugeng[1] , Milda Gustiana Husada[2] , Chandraditya P. A.[3]
Jurusan Teknik Informatika Institut Teknologi Nasional Bandung ABSTRAK
Kegiatan memantau jaringan bukan hanya terpusat pada memantau kegiatan komputer client, tetapi juga dapat mengetahui seberapa besar bandwidth yang digunakan oleh sebuah institusi atau kantor yang terhubung dalam jaringan komputer, yang disebut juga pemantauan penggunaan bandwidth. PT.Kereta Api sistem pemantauan penggunaan bandwidth lengkap dengan informasi port yang terbuka dalam jaringan komputer. Pemantauan penggunaan bandwidth dilakukan untuk mengetahui informasi penggunaan bandwidth dan indikasi terjadinya anomali bandwidth di dalam jaringan komputer. Salah satu hal yang mengindikasikan terjadinya anomali bandwidth terlihat ketika terdapat port yang tidak dikenali sebelumnya tetapi menggunakan bandwidth yang besar.Tujuan akhir dari penelitian ini adalah bagaimana aplikasi yang dikembangkan dapat memantau penggunaan bandwidth setiap menit dalam jaringan komputer. Aplikasi ini juga akan menampilkan port TCP/IP dengan penggunaan bandwidth terbesar setiap menit. Kata kunci :pemantauan, bandwidth, anomali, port
ABSTRACT Network monitoring activities are not only focused on the client’s sides computer, but can also find out how much bandwidth which is used by an institution or office which connected on a computer networks, also called bandwidth usage monitoring. PT. Kereta Api Indonesia requires bandwidth usage monitoring system which contains an open port information in computer networks. Bandwidth usage monitoring conducted to determine the bandwidth usage information and an indication of bandwidth anomalies in computer networks. One of things that indicate the occurrence of bandwidth anomalies can be shown when there was an unrecognized port previously but uses a large bandwidth. The final goal of this research is how to develop the application can monitor the bandwidth usage every minute in computer networks. The application which succeed to develop is an application for bandwidth usage monitoring both upstream and downstream processes which are complete with TCP/IP’s port informations that is accessible by users, and this application has a bandwidth anomaly detection features such as anti ping flooding detection and port anomalies detection. Keywords : monitoring, bandwidth, anomaly, port
No.3 , Vol. 2, September – Desember 2011
8
JURNAL INFORMATIKA PENDAHULUAN PT. Kereta Api Indonesia (PT. KAI) merupakan perusahaan yang bergerak di bidang jasa perkeretaapian di Indonesia (Pulau Jawa dan Pulau Sumatera). PT. KAI memiliki banyak perangkat jaringan yang terkait di dalamnya seperti router, switch, perangkat kehadiran, perangkat CCTV, server, dan lain-lain.Seluruh perangkat jaringan tersebut memiliki IP dan memerlukan suatu sistem pemantauan agar kondisi jaringan untuk setiap perangkat terpantau secara real-time. PT. KAI membutuhkan aplikasi sistem pemantauan yang bersifat open source yang dapat memantau bandwidth usage untuk port-port yang terbuka untuk seluruh perangkat jaringan yang terhubung dalam jaringan komputer. Aplikasi bersifat open source diharapkan dapat menghemat anggaran pengeluaran PT. KAI dan dapat digunakan untuk hal lain yang berkaitan dengan pengembangan Divisi IT PT. KAI. Dengan aplikasi yang bersifat open source, staf IT PT. KAI dapat dengan mudah mengembangkan aplikasi ini yang disesuaikan dengan kebutuhan perusahaan. Dengan aplikasi berbayar dan tidak bersifat open source yang digunakan PT. KAI, staf IT PT. KAI tidak dapat mengembangkan aplikasi ini. Selain itu, untuk mencegah adanya penggunaan bandwidth yang disalahgunakan oleh useryang terhubung dengan jaringan komputer, PT. KAI berharap agar aplikasi yang dikembangkan memiliki fitur untuk mencegah terjadinya anomali bandwidth. Rumusan Masalah Rumusan masalah yang terdapat pada penelitian ini, yaitu : 1. Bagaimana cara menampilkan informasi hasil pemantauan bandwidth usage untuk seluruh port pada jaringan komputer PT. KAI? 2. Bagaimana cara mendeteksi anomali bandwidth yang terjadi di dalam jaringan komputer PT. KAI?
No.3 , Vol. 2, September – Desember 2011
Tujuan Tujuan penelitian adalah mengembangkan aplikasi sistem pemantauan yang berbasis open source yang dapat memantau aktivitasbandwidth usage lengkap dengan pemakaian bandwidth terbesar untuk port tertentu pada waktu tertentu dalam jaringan komputer PT. KAI. Batasan Masalah Batas-batas permasalahan yang diterapkan dalam penelitian ini, yaitu : 1. Implementasi pemantauan dilakukan untuk perangkat jaringan yang terhubung dalam jaringan komputer PT. KAI. 2. Penelitian dilakukan menggunakan sistem operasi berbasis open source, dalam hal ini penulis menggunakan Ubuntu 11.10 yang akan habis masa berlakunya pada April 2013. 3. Range port TCP dan UDP yang akan diteliti adalah Well-Known Port dari 0 hingga 1023 sebagai default. 4. Anomali bandwidth terdeteksi jika terdapat IP yang melakukan ping flooding terhadap router utama jaringan komputer. 5. Anomali bandwidth terdeteksi jika dalam jaringan komputer terdeteksi adanya port di luar range well-known port (0 – 1023) yang menggunakan bandwidth lebih dari 20 KB/s. 6. User aplikasi adalah administrator jaringan komputer PT. KAI. Metodologi Metodologi pengembangan sistem dilakukan dengan menggunakan metodologi prototype. Aktivitas penelitian yang dilakukan yaitu : 1. Mempelajari cara memantau bandwidth usage dan port scanning menggunakan bahasa pemrograman Python. 2. Melakukan pemantauan terhadap bandwidth usage yang lengkap dengan port scanning melalui PC Router yang
9
JURNAL INFORMATIKA
3. 4. 5. 6.
terhubung dengan jaringan komputer PT. KAI. Melakukan updating port scandan bandwidth usage setiap 1 menit. Membuat desain keseluruhan untuk membentuk software sampel. Membangun prototype atau simulasi sistem menggunakan bahasa pemograman Python. Pengembangan aplikasi.
LANDASAN TEORI Pemantauan[2] Pemantauan adalah aktivitas yang dapat dijelaskan sebagai kesadaran tentang apa yang ingin diketahui, pemantauan berkadar tingkat tinggi dilakukan agar dapat membuat pengukuran melalui waktu yang menunjukkan pergerakan ke arah tujuan atau menjauh dari itu. Pemantauan memberikan informasi tentang status dan kecenderungan bahwa pengukuran dan evaluasi yang diselesaikan berulang dari waktu ke waktu. Bandwidth[1] Bandwidth adalah luas atau lebar cakupan frekuensi yang digunakan oleh sinyal dalam medium transmisi. Bandwidth dalam ilmu komputer adalah suatu cara yang digunakan untuk menghitung konsumsi data yang tersedia pada suatu telekomunikasi. Dihitung dalam satuan bits per seconds (bit per detik). Bandwidth yang tertera komunikasi nirkabel, modem transmisi data, komunikasi digital, elektronik adalah bandwidth yang mengacu pada sinyal analog yang diukur dalam satuan hertz (makna asli dari istilah tersebut) yang lebih tepat ditulis bitrate. Port[5] Dalam protokol jaringan TCP/IP, sebuah port adalah mekanisme yang mengizinkan sebuah komputer untuk mendukung beberapa sesi koneksi dengan komputer lainnya dan program di dalam jaringan. Port dapat mengidentifikasikan aplikasi dan layanan yang menggunakan
No.3 , Vol. 2, September – Desember 2011
koneksi di dalam jaringan TCP/IP. Port juga mengidentifikasikan sebuah proses tertentu di mana sebuah server dapat memberikan sebuah layanan kepada klien atau bagaimana sebuah klien dapat mengakses sebuah layanan yang ada dalam server. Port dapat dikenali dengan angka 16-Bit (dua byte) yang disebut dengan Port Number dan diklasifikasikan dengan jenis protokol transportapa yang digunakan, yaituPort TCP dan Port UDP. Karena memiliki angka 16-bit, maka total maksimum jumlah port untuk setiap protokol transport yang digunakan adalah 65536 buah. Dilihat dari penomorannya, port UDP dan TCP dibagi menjadi tiga jenis, yakni sebagai berikut: • Well-known Port: yang pada awalnya berkisar antara 0 hingga 255 tapi kemudian diperlebar untuk mendukung antara 0 hingga 1023. • Registered Port: Merupakan port-port yang digunakan oleh vendor-vendor komputer atau jaringan yang berbeda untuk mendukung aplikasi dan sistem operasi yang mereka buat. Registered port juga diketahui dan didaftarkan oleh IANA (Internet Assigned Number Authority) tapi tidak dialokasikan secara permanen, sehingga vendor lainnya dapat menggunakan nomor port yang sama. Range registered port berkisar dari 1024 hingga 49151 dan beberapa port di antaranya adalah Dynamically Assigned Port. • Dynamically Assigned Port: merupakan port-port yang ditetapkan oleh sistem operasi atau aplikasi yang digunakan untuk melayani request dari pengguna sesuai dengan kebutuhan. Dynamically Assigned Port berkisar dari 1024 hingga 65536 dan dapat digunakan atau dilepaskan sesuai kebutuhan. Bahasa Pemgrograman Python[3] Python adalah bahasa pemrograman interpretatif multifungsi dengan filosofi
10
JURNAL INFORMATIKA perancangan yang berfokus pada tingkat kode yang mudah dipahami. Python diklaim sebagai bahasa yang menggabungkan kapabilitas, kemampuan, dengan sintaksis kode yang sangat jelas, dan dilengkapi dengan fungsionalitas pustaka standar yang besar serta komprehensif. Python mendukung banyak pola pemrograman, utamanya; namun tidak dibatasi; pada pemrograman berorientasi objek, pemrograman imperatif, dan pemrograman fungsional.Salah satu fitur yang tersedia pada Python adalah sebagai bahasa pemrograman dinamis yang dilengkapi dengan manajemen memori otomatis.Seperti halnya pada bahasa pemrograman dinamis lainnya, Pyhton umumnya digunakan sebagai bahasa skrip meski pada prakteknya penggunaan bahasa ini lebih luas mencakup konteks pemanfaatan yang umumnya tidak dilakukan dengan menggunakan bahasa skrip. Python dapat digunakan untuk berbagai keperluan pengembangan
perangkat lunak dan dapat berjalan di berbagai platform sistem operasi. ANALISIS DAN PERANCANGAN Aplikasi yang dibangun bernama BAMS (Bandwidth Anomaly Monitoring System).BAMS dibangun untuk memantau bandwidth yang digunakan setiap menit, lengkap dengan data port yang menggunakan bandwidth terbesar pada waktu tertentu. Selain itu BAMS juga memiliki fitur untuk melakukan blocking IP yang melakukan ping flooding ke dalam jaringan komputer. Perancangan dan analisis yang digunakan untuk kebutuhan sistem adalah sebagai berikut. Analisis Permasalahan dan Solusi Berikut ini adalah beberapa analisis terhadap permasalahan yang ada lengkap dengan solusi yang dianggap tepat untuk diimplementasikan pada aplikasi BAMS di PT. KAI. Penjelasan ini dipaparkan lengkap pada Tabel 1.
Tabel 1. Analisis Permasalahan dan Solusi No
Permasalahan
Solusi
1
Belum adanya aplikasi yang berbasis open source yang digunakan dalam memantau aktivitas portport yang terbuka di dalam jaringan komputer PT. KAI.
2
Sistem belum mampu melakukan deteksi terhadap port baru secara otomatis.
Membangun sebuah aplikasi berbasis open source dengan bahasa pemrograman Python dengan memanfaatkan Django sebagai web server yang digunakan. Membuat updater engine, yang fungsinya dapat mengambil informasi keadaan service-service baru dengan memanfaatkan TCP dan STOMP service.
3
4
5
Belum adanya fitur yang mendeteksi port-port yang belum dikenal sebelumnya untuk dijadikan sebagai acuan terjadinya anomaly bandwidth. Belum adanya pesan yang disampaikan kepada Administrator jika ditemukan port yang tidak dikenal sebelumnya. Tidak adanya sistem log (history) dari informasi hasil pemantauan penggunaan bandwidth jaringan komputer PT. KAI dalam waktu harian, bulanan dan tahunan.
No.3 , Vol. 2, September – Desember 2011
Sistem akan membaca seluruh port yang terdeteksi dalam jaringan PT. KAI yang disimpan log system. Membuat sebuah penyampaian informasi memanfaatkan fitur email yang langsung diberikan kepada Administrator. Membuat sebuah rutin proses untuk menampilkan log dari hasil informasi pemantauan, serta grafik realtime yang didistribusikan kedalam database penyimpanan khusus log.
11
JURNAL INFORMATIKA Workflow Workflow merupakan suatu gambaran ringkas dari gabungan sebab-akibat antara input dan output yang dihasilkan oleh sistem. Untuk menggambarkan cara kerja sistem dari aplikasi yang dibangun, maka berikut ini adalah sebuah workflow yang ditunjukan pada Gambar 1. Berikut ini adalah penjelasan tahapan pada workflow. 1. Administrator membuka sebuah browser kemudian mengisikan URL dengan alamat IP PC Router. 2. Setelah tampil laman aplikasi BAMS pada browser, administrator diharuskan melakukan login untuk proses validasi sistem. Jika proses validasi berhasil, selanjutnya administrator dapat mengaktifkan fitur anti ping flooding. Setelah itu sistem akan langsung merekam port-port terbuka dalam jaringan komputer PT. KAI. 3. Data yang disimpan pada agent RESTful web service akan dibaca dan dikirim oleh PC Router dengan menggunakan perintah get_data(). Selanjutnya, data yang masuk ke dalam
PC Router akan disimpan secara otomatis oleh sistem ke dalam MongoDB sebagai log. 4. Data yang telah disimpan di dalam databaseakan diambil oleh PC router untuk dikonversi menjadi sebuah informasi dan dikirim ke template aplikasi BAMS secara berkala. 5. Proses pengambilan informasi pemantauan port memanfaatkan RESTful web service dan STOMP service. Kedua sistem tersebut mengendalikan informasi yang masuk ke dalam template laman aplikasi secara otomatis dan realtime setiap 1 menit sekali. Report yang dikirim akan ditampilkan dalam bentuk grafik, teks, angka dan simbol yang mudah dipahami oleh administrator. 6. Untuk penyampaian report jika terjadi indikasi anomali bandwidth atau terdapat IP yang diblok karena melakukan ping flooding, secara otomatis sistem akan mengirimkan pesan dalam bentuk email.
Gambar 1. Workflow System
No.3 , Vol. 2, September – Desember 2011
12
JURNAL INFORMATIKA Flowchart Utama Aplikasi BAMS Flowchart sistem berfungsi untuk menunjukkan alur kerja sistem secara keseluruhan dan menjelaskan urutan dari prosedur-prosedur yang ada di dalam aplikasi BAMS. Gambar 2 merupakan flowchart utama dari perancangan sistem yang akan diterapkan pada aplikasi BAMS. Setiap proses memiliki fungsionalitas masingmasing sesuai dengan kebutuhan sistem sehingga diharapkan proses pembangunan program dapat dilakukan secara terstruktur.
Gambar 3. Use Case Diagram Gambar 3 menjelaskan interaksi antara Administrator (aktor) dengan komponen-komponen utama pada sistem yaitu konfigurasi web server pada sistem root pada server pemantauan, serta aktivasi fitur anti ping flooding dan view informasi pemantauan pada sistem aplikasi BAMS. SequenceDiagram Sequence diagram adalah suatu diagram yang menggambarkan interaksi antar obyek dan mengindikasikan komunikasi diantara obyek-obyek tersebut.
Gambar 2. Flowchart Utama Use Case Diagram[4] Use casediagram menggambarkan semua kasus (case) yang akan ditangani oleh sistem dan perangkat lunak beserta pelakunya.
Gambar 4. Sequence Diagram
No.3 , Vol. 2, September – Desember 2011
13
JURNAL INFORMATIKA Diagram sequence merupakan diagram yang menunjukkan alur kerja sistem. Gambar 4 merupakan diagram sequence yang menjelaskan mengenai proses aplikasi BAMS melakukan packet capturing termasuk deteksi ping flooding di dalamnya. Deployment Diagram Diagram deployment merupakan gambaran arsitektur fisik dari sistem, seperti hardware, komponen paket, sistem operasi, antarmuka dan semua perangkat pendukung yang akan dimanfaatkan dalam aplikasi BAMS.
dan di mana komponen-komponen sistem diletakkan. IMPLEMENTASI Tahap Instalasi Kebutuhan Server Pemantauan Untuk membangun aplikasi BAMS dibutuhkan library Python, terutama yang berguna untuk mempermudah proses development program. Tahap instalasi kebutuhan sistem pada PC Router ini secara keseluruhan dibangun menggunakan terminal, ketentuan tersebut digunakan pada PC Router. Update Repository Ubuntu Tahap pertama lakukan updaterepositorysistem operasi Ubuntu desktop pada PC Router. $ apt-get update Instalasi Library Python Selanjutnya lakukan instalasi kebutuhan library Python untuk melakukan development program. $ apt-get install python-dev python-setuptools python-pip mongodb gcc
Gambar 5. Deployment Diagram Sesuai dengan Gambar 5, aplikasi BAMS bekerja dengan 1 node utama dan 3 node optional yang berfungsi untuk mendukung kinerja dari aplikasi. Seluruh node tersebut saling berhubungan dan berkesinambungan, sehingga dapat digambarkan detail bagaimana informasi dapat dihasilkan oleh infrastruktur sistem No.3 , Vol. 2, September – Desember 2011
Fungsi yang dijalankan pada perintah di atas adalah sebagai berikut : 1. python-dev, instalasi Python development, yang berfungsi untuk mengintegrasikan seluruh modul eksternal Python. 2. python-setuptools, tools tambahan yang dapat mempermudah instalasi paket dari pypi.python.org. 3. python-pip, pip adalah paket library tambahan sebagai pengganti easy_install (installer Python). 4. mongodb, database yang digunakan dalam pengembangan aplikasi BUMS. 5. gcc, sebagai compiler program yang digunakan untuk mengeksekusi pemrograman Python.
14
JURNAL INFORMATIKA Instalasi Modul Library Python Tahapan selanjutnya melakukan instalasi modul-modul pendukung melalui file requirements.txt yang ada dalam folder “bams”, dalam requirements.txt ini sudah dipersiapkan list modul libraryPython dan tools yang dibutuhkan untuk konfigurasi aplikasi BAMS. Tujuan dibuatnya file requirements.txt ini adalah agar proses instalasi yang dibutuhkan oleh sistem dapat diakses dengan satu kali perintah, untuk itu dibuat sebuah terobosan baru dengan menggabungkan seluruh kebutuhan modulmodul pendukung menjadi satu paket. $ pip install –r requirements.txt Konfigurasi Sistem Server Pemantauan Setelah melakukan instalasi kebutuhan sistem library, tahapan selanjutnya adalah dengan melakukan beberapa konfigurasi agar aplikasi pemantauan indikasi anomali bandiwdth dapat berjalan pada PC Router. Konfigurasi Django Django web server dapat dijalankan dengan mengubah konfigurasi dengan membentuk daemon yang bekerja di belakang layar. $ python manage.py runserver 0.0.0.0:8000 > /dev/null Konfigurasi STOMP Client (Updater Proses) Tahap selanjutnya adalah menjalankan file updater.py melalui terminal.
No.3 , Vol. 2, September – Desember 2011
Updater.py berfungsi untuk mengambil source yang telah dihasilkan oleh monitor.py, tujuannya agar data terbaru yang telah diambil dapat ditampilkan melalui template web. $ python updater.py /dev/null 2>&1 &
>
Jika kedua konfigurasi ini telah berhasil dilakukan, maka proses development PC Router telah selesai dan aplikasi BAMS sudah dapat digunakan. PENGUJIAN Informasi Rinci Dalam informasi rinci akan dilakukan pengujian sistem terhadap jaringan komputer yang menampilkan data pemakaian bandwidth terbesar untuk port tertentu setiap menit. Dimana seluruh parameter ditampilkan melalui sebuah grafik dan bentuk tabel oleh aplikasi BAMS. Gambar 6 menjelaskan informasi yang ditampilkan oleh aplikasi BAMS yang menjelaskan pemantauan bandwidth usage yang dilakukan untuk keseluruhan port yang terbuka dalam suatu jaringan komputer. Grafik berwarna merah menandakan proses downstream, sementara grafik berwarna biru menandakan proses upstream. Grafik tersebut menjelaskan pemakaian bandwidth setiap menit untuk keseluruhan port yang terbuka dalam jaringan komputer.
15
JURNAL IN NFORMATIKA
Gambar 6. Inf formasi Rinci R (1) U Untuk meenampilkan grafik bandwidtth usage unntuk port yang y ingin ditampilk kan oleh useer, user dapaat memilih port HTT TP, HTTPS, FTP dan SS SH dengan memilih checkbox yang y disediiakan atau useringinn menampiilkan portt tertentu
dengaan mengisikkan nomorr port padda textboox yang terssedia, lalu klik generaate chart. Gambar 7 merupakan contoh graffik port HTTP H (80) uuntuk melihaat penggunaaan bandw width pada port p 80.
Gambar 7. Inf formasi Rinci R (2)
JURNAL IN NFORMATIKA Gam mbar 8 mem mperlihatkan tabel yang berisi data d port yang mennggunakan bandwidtth terbesar setiap s menitn nya dalam jaringan komputer. k B Bandwidth u usage yang ditampilk kan adalah h downstreeam dan
upstreeam lengkapp dengan porrt dan IP yanng bersanngkutan. Berrikut ini pennggalan syntaax yang berkaitan dengan cara menampilkaan port dan IP deengan banddwidth usagge terbessar.
Gam mbar 8. I Informasi i Rinci ( (3)
PENUTU UP Kesimpu ulan Peneelitian ini menghasilka m an aplikasi yang b bernama BAMS (B Bandwidth Anomaly Monitorinng System). Aplikasi m BAMS merupakan aplikasi yaang dapat melakukaan pemantauuan indikassi anomali bandwidtth jaringann komputter yang lengkap dengan infoormasi port--port yang menggunnakan banddwidth terbeesar pada waktu terrtentu. Aplikkasi ini mem miliki satu akurat. R PUSTAK KA DAFTAR [1] Corrner, Dougglas. (2008).Computer Netw works andd Internets, Prentice Hall. [2] Em mergency Operations O Manual. (200 02).Monitoring, Evalua ation and Auddit in Emergencies, Technical Refference Paper preparedd by The Offi fice of The In nspector Genneral. [3] Hettland, Magnus Lie.
fitur tambahan, yakni fituur anti pinng floodiing yang daapat mengeb blok IP yanng melakkukan pingg flooding ke dalaam jaring gan komputerr PT. KAI. H Harapan ngan daari pengemban peneliitian ini adaalah menam mbahkan fituurfitur yang berrkaitan den ngan detekksi bandw width agaar anomaali anomaali bandw width dappat terdeteeksi secaara
(2009).Begin ( nning Pytthon From Novice N To Professional, Seconnd Edition, E Aprress. [4] Nugroho, N Adi. (20009).Rekayassa Perangkat P Lunak Menggunaka M an UML U dan JA AVA, Penerbiit Andi. [5] Postel, P Jon n; Feinler, E. (19788). ARPANET A Protocol Handbook, Menlo M Park, CA: Networrk Center. Information I