Institutional Repository | Satya Wacana Christian University: Perancangan dan Implementasi Sistem Keamanan Jaringan dengan Metode Port Knocking untuk Mencegah Http Attack Vulnerability

  

Perancangan dan Implementasi Sistem Keamanan Jaringan

dengan Metode Port Knocking untuk Mencegah Http Attack

Vulnerability

Artikel Ilmiah

  

Peneliti :

Ruben Adi Wijaya (672010275)

Irwan Sembiring, S.T., M.Kom.

  

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

Salatiga

  

Oktober 2014

  

Perancangan dan Implementasi Sistem Keamanan Jaringan

dengan Metode Port Knocking untuk Mencegah Http Attack

Vulnerability

   1) 2)

Ruben Adi Wijaya, Irwan Sembiring

  

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

Jl. DIPonegoro 52-60, Salatiga 50771, Indonesia

  1) 2)

Email: ruben.wijaya@yahoo.com, irwan@staff.uksw.edu

  

Abstract

With the development of today's world, a website is already popular in cyberspace. It

makes the website become the target of hackers that may be detrimental to the

exploitation of the website itself. To secure the website and database from hackers then

be made system to protect communication between client and server is called Port

Knocking. Port Knocking is a method of network security to open a closed port or to open

firewall acces and allow the knocker through designated port by sending certain packets

to the destination port. In this study, to protect communication between client with server

and database webserver on port 80 (http), there is a shadow port that is useful to move

database residing on the webserver that hackers can not find the location of the database

from the webserver on port 80 (http). So the client who wants to open a database of

webserver must do a combination of knock in the shadow ports contained within port 80

(http) to open the database safely unnoticed by hackers. This method can reduce the

vulnerabilities that becomes the target of hackers.

  Keywords : Website, Hacker, Port Knocking, Network Security, Port, Http

Abstrak

Dengan berkembangnya dunia saat ini, sebuah website sudah populer di dunia maya. Hal itu membuat website menjadi sasaran peretas untuk melakukan tindakan pengeksploitasian yang dapat merugikan website itu sendiri. Untuk mengamankan website dan databasenya dari peretas dibuatlah sistem untuk melindungi komunikasi antara client dengan server yang dinamakan Port Knocking. Port Knocking merupakan metode keamanan jaringan untuk membuka sebuah port yang tertutup atau membuka akses firewall dan mengizinkan knocker masuk melalui port yang dituju melalui pengiriman paket-paket tertentu ke port tujuan. Dalam penelitian ini untuk melindungi komunikasi antara client dengan server dan database webserver pada port 80 (http), terdapat port bayangan yang berguna untuk memindahkan database yang berada di webserver agar peretas tidak bisa menemukan lokasi database dari webserver yang berada di port 80 (http). Karena itu client yang ingin membuka database dari webserver harus melakukan kombinasi ketukan pada port bayangan yang terdapat di dalam port 80 (http) untuk dapat membuka database secara aman tanpa diketahui oleh peretas. Metode ini dapat mengurangi kelemahan pada webserver yang menjadi incaran peretas.

  Kata Kunci : Website, Peretas, Port Knocking, Keamanan Jaringan, Port, Http 1)

  

Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas

Kristen Satya Wacana Salatiga 2) Staff Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana Salatiga

  1. Pendahuluan

  Pada saat ini dunia maya sudah berkembang pesat disegala bidang khususnya di bidang website. Dengan berbagai macam website saat ini, informasi apapun yang diperlukan untuk pengembangan bisnis maupun pendidikan sangat mudah didapatkan. Namun ada kelemahan yang membuat sebuah website menjadi incaran para peretas yaitu keamanannya dalam menjaga database pada webserver sehingga saat seorang client ingin mengolah databasenya dari jarak jauh kadang seorang peretas dapat meretas jaringannya dan hal itu dapat membuat kerugian pada client itu sendiri. Komunikasi antara client dengan server haruslah aman dari orang-orang yang ingin mengeksploitasi tanpa izin.

  Http (port 80) merupakan port yang sering diakses oleh banyak user untuk mengakses sebuah alamat dan port ini juga yang sering menjadi incaran setiap peretas untuk mengeksploitasi sebuah webserver. Membiarkan port terbuka merupakan masalah yang serius untuk keamanan jaringan itu sendiri. Hal ini membuat port 80 kurang aman dalam menjaga data-data yang penting yang terdapat di dalam databasenya dari para peretas yang tidak bertanggung jawab.

  Port Knocking merupakan merupakan metode keamanan jaringan untuk

  membuka sebuah port yang tertutup atau membuka akses firewall dan mengijinkan knocker masuk melalui port yang dituju melalui pengiriman paket-paket tertentu ke port tujuan[1]. Metode ini digabungkan dengan di dalam webserver untuk menciptakan port bayangan yang

  virtualhost

  tertutup dan di dalamnya juga terdapat database sehingga hanya bisa diakses oleh client dengan kombinasi ketukan. Metode ini menjadi solusi dari komunikasi antara client dengan server di port 80 yang menjadi aman.

  Berdasarkan latar belakang masalah tersebut, maka dilakukan penelitian untuk merancang suatu keamanan jaringan untuk melindungi kelemahan

  

(vulnerability) webserver dari peretas (Http Attack). Metode yang akan

  digunakan adalah Port Knocking yang berguna untuk mengamankan komunikasi antara client dengan server dalam mengelola databasenya melalui

  

port bayangan yang tertutup di port 80. Penelitian ini menghasilkan keamanan

  komunikasi antara client dengan server dalam mengelola database di dalam webserver nya.

  2. Kajian pustaka

  Penelitian tentang Port Knocking sudah banyak diteliti oleh orang yang mahir di bidang keamanan jaringan, salah satunya tentang “Analisa dan

  

Implementasi Sistem Keamanan Jaringan dengan Iptables sebagai Firewall

Menggunakan Metode Port Knocking ”. Berdasarkan pembahasan dari

  penelitian yang dilakukan sebelumnya menyebutkan, bahwa Port Knocking dapat menyediakan keamanan khusus untuk komunikasi antara client dengan

  server melalui kombinasi ketukan yang dilakukan ke port yang tertutup[2].

  Berdasarkan penelitian terdahulu tentang

  “Pengujian dan Analisa Keamanan Website Terhadap Serangan SQL Injection”, bahwa penelitian

  serangan SQL Injection yang dilakukan peretas pada website membuat celah keamanan jaringan di database webserver terbuka, sehingga dibutuhkan langkah untuk menanggulangi celah kelemahan yang terdapat di sebuah webserver melalui port [3].

  Berdasarkan pada penelitian yang terkait dengan Port Knocking dan kelemahan (vulnerability) webserver, maka dilakukan pengembangan penelitian yang membahas Perancangan dan Implementasi Sistem Keamanan jaringan dengan Metode Port Knocking untuk mencegah Http Attack

  

Vulnerability. Penelitian ini menghasilkan keamanan dalam berkomunikasi

  antara client dengan server untuk mengelola database yang berada di dalam

  

webserver . Penelitian ini menggunakan sistem operasi Ubuntu dan

penyerangan menggunakan tools dari BackTrack.

  Keamanan jaringan adalah proses untuk mencegah dan mengidentifikasi penggunaan yang tidak sah dari jaringan komputer. Langkah-langkah pencegahan membantu menghentikan pengguna yang tidak sah yang disebut penyusup untuk mengakses setiap bagian dari sistem jaringan komputer. Tujuan keamanan jaringan komputer adalah untuk mengantisipasi resiko jaringan komputer berupa bentuk ancaman fisik maupun logik baik langsung ataupun tidak langsung mengganggu aktivitas yang sedang berlangsung dalam jaringan komputer [4]. Saat keamanan suatu jaringan selalu mengalami peningkatan, maka ancaman serangan ke port 80 pun semakin banyak seperti,

  

Back Door merupakan suatu serangan yang dengan sengaja membuka suatu

  “pintu belakang” bagi pengunjung tertentu, tanpa disadari oleh orang yang meng-instal software, sehingga mereka dengan mudah masuk kedalam sistem jaringan. Port Scanning merupakan usaha pelacakan port yang terbuka pada suatu sistem jaringan sehingga dapat dimanfaatkan oleh hacker untuk melakukan serangan. XSS merupakan semacam cross site scripting, serangan melalui port 80 yang memanfaatkan kelemahan aplikasi pada situs web sehingga isi-nya bisa diubah (deface). Serangan - serangan ini dapat memungkinkan data yang berada di port 80 terancam dieksploitasi.

  Port Knocking merupakan salah satu cara berkomunikasi pada jaringan komputer, cara yang umum digunakan adalah melalui port yang tertutup.

  Dalam sebuah jurnal tentang metode Port Knocking menjelaskan bahwa metode ini merupakan metode keamanan jaringan untuk membuka sebuah

  

port yang tertutup atau membuka akses firewall dan mengijinkan knocker

  masuk melalui port yang dituju melalui pengiriman paket-paket tertentu ke

  

port tujuan. Cara yang digunakan adalah dengan melakukan telnet ke port

yang tertutup pada server dengan tujuan untuk membuka port yang dituju[1].

  Format ketukan yang digunakan dalam Port Knocking menggunakan tiga

  

port ketukan sebagai tujuan pengiriman paket data untuk melakukan ketukan,

  sehingga dibuat aturan untuk mempermudah proses ketukan yaitu ketukan sesuai dengan nomor port tujuan, digit terakhir pada nomor port ketukan merujuk pada nomor port tujuan. Sebagai contoh user ingin mengakses port 80 dengan range port ketukan yang telah ditentukan yaitu antara port 2000 sampai 4000, maka didapat nomor port ketukan 2000+a, 3000+b, 4000+c (abc merupakan port tujuan). Port ketukan tersebut merupakan port tujuan pengiriman paket data yang berfungsi sebagai port ketukan. Nomor tersebut menunjukkan port tujuan yang akan dibuka atau ditutup, sehingga ketukan yang dilakukan oleh user jika ingin membuka port 80 adalah seperti 2000, 3008, 4000 sedangkan untuk menutup port 80 maka ketukan yang dilakukan user adalah 3008, 4000, 2000. Proses pengetukan port dilakukan dengan cara mengirimkan paket data alamat sumber menuju alamat tujuan. Header pada paket data tersebut akan diperiksa terutama header control SYN yang digunakan untuk mensikronisasi sequence number. Apabila nomor port yang digunakan sebagai sequence ketukan sesuai dengan nomor tujuan yang telah di tentukan sebagai nomor port ketukan, maka port yang dituju akan membuka atau menutup sesuai dengan format ketukan yang digunakan[5].

  Gambar 1 merupakan gambaran umum sistem Port Knocking yang meliputi empat tahap proses kerjanya yaitu : 1) Tahap pertama : saat akan melakukan Port Knocking, semua port ditutup dan karena semua port ditutup maka metode ini tidak bisa melindungi semua jenis layanan. Hal ini disebabkan karena koneksi yang dibangun menuju layanan yang dilindungi membutuhkan semacam password untuk mengaksesnya. Pada bagian A, client mencoba melakukan ketukan port terhadap server dan tidak terjadi suatu koneksi karena server tidak merespon sedangkan bagian B, client tidak bisa koneksi ke port manapun yang akan dituju karena ketukan belum benar; 2) Tahap kedua : seorang client sedang melakukan urutan ketukan dengan mengirimkan paket SYN (1,2,3,4). Urutan ketukan ini hanya diketahui oleh orang-orang tertentu yang dIPercaya. Selanjutnya dengan menggunakan ketukan ini, maka alamat IP seseorang yang oleh firewall sebelumnya dianggap sebagai user yang tidak dapat dipercaya akan berubah status menjadi user yang dapat dipercaya sehingga user akan diijinkan untuk mengakses atau melakukan koneksi terhadap layanan yang disediakan; 3) Tahap ketiga : setelah melakukan ketukan rahasia dengan tujuan membuka suatu port tertentu, maka pada bagian A server melakukan proses otentifikasi yaitu proses di mana PK daemon (Port Knocking daemon) menyetujui ketukan dari client sehingga membuka firewall sebagai jalur akses ke server. Fase mengetuk ini juga dapat diartikan sebagai ketukan pada pintu yang tidak terlihat karena client tidak dapat mengetahui port-port mana yang sedang dimonitor dan dicatat, dan demikian juga dengan orang lain ; 4) Tahap keempat : merupakan di mana proses sebuah port terbuka dan dapat melakukan koneksi dengan client, sedangkan alamat IP yang mencoba ingin masuk akan tetap di blok sehingga tidak dapat mengakses port tersebut. Setelah ketukan berhasil dari client yang sudah di otentifikasi oleh daemon

  

Port Knocking di server dan client dapat terhubung ke port tujuan, maka

client dapat masuk untuk mengolah aplikasi di dalam server tersebut. Dan bila

  sudah selesai melakukan koneksi, client dapat melakukan ketukan lagi pada

  

port tujuan untuk memberi perintah pada firewall untuk menutup port yang

sebelumnya dibuka [6].

  Tahap 1 Tahap 2 Tahap 3 Tahap 4

  Gambar 1 Gambaran Umum Sistem Port Knocking, Sumber: Port Knocking.org

  Hypertext Transfer Protocol (HTTP) merupakan sebuah protocol jaringan lapisan aplikasi yang sering digunakan untuk mengawali menuju sebuah serta untuk system informasi terdistribusi, dan kolaboratif.

  website

  Penggunaanya banyak pada pengambilan sumber daya yang saling terhubung dengan tautan, yang disebut dokumen hypertexts, yang kemudian membentuk

  

World Wide Web pada tahun 1990 oleh Fisikiawan Inggris yaitu Tim Berners-

  Lee. Sampai saat ini protocol HTTP mempunyai dua versi yang berbeda, yaitu HTTP/1.0 yang menggunakan koneksi terpisah untuk setiap dokumen, dan HTTP/1.1 yang menggunakan koneksi yang sama untuk melakukan transaksi sehingga HTTP/1.1 bisa lebih cepat karena memang tidak perlu membuang waktu untuk membuat koneksi secara berulang-ulang[7].

  BackTrack dibuat oleh Mati Aharoni yang merupakan konsultan security

  dari Israel. Jadi merupakan kolaborasi komunitas. BackTrack sendiri merupakan merger dari whax yang merupakan salah satu distro Linux yang digunakan untuk tes keamanan yang asal dari whax sendiri dari Knoppix.

  Ketika Knoppix mencapi versi 3.0 maka dinamakan dengan whax. Whax dapat digunakan untuk melakukan tes security dari berbagai jaringan di mana saja. Max Mosser merupakan auditor security collection yang mengkhususkan dirinya untuk melakukan penetrasi keamanan di Linux. Gabungan dari auditor dan Whax ini sendiri menghasilkan 300 tool yang digunakan untuk testing security jaringan. Auditor security collection juga terdapat pada knoppix. Namun sejak rilis ke-4 hingga rilis yang terbaru ini, BackTrack sudah tidak lagi menggunakan basis Knoppix. BackTrack kini menggunakan basis Ubuntu.

  BackTrack telah memasuki versi 5 R3 dengan kernel 3.2.6.[4].

  Berdasarkan pada tujuan yang ingin dicapai, penelitian ini dirancang dengan pendekatan “Penelitian dan Pengembangan”, artinya suatu program penelitian ditindaklanjuti dengan program pengembangan untuk perbaikan atau penyempurnaan. Metode yang digunakan yaitu model waterfall disebut juga dengan classic life cycle dengan terbagi dalam empat tahapan, yaitu: (1) Analisis kebutuhan sistem, (2) Perancangan sistem dan perangkat, (3) Implementasi sistem, dan (4) Pengujian sistem dan analisis hasil pengujian. Adapun tahapan yang dilakukan ditunjukkan pada Gambar 2.

  Gambar 2 Tahapan Penelitian Tahap pertama : analisis kebutuhan dilakukan untuk mengumpulkan data

  dengan cara mengumpulkan artikel yang berkaitan dengan keamanan jaringan,

  

Port Knocking, penetrasi atau serangan dan cara membangun web sederhana

  serta penelitian terdahulu tentang Port Knocking; Tahap kedua : perancangan sistem dan perangkat meliputi perancangan proses Port Knocking di dan client serta perancangan penyerangan untuk menanggulangi

  webserver

  kelemahan port 80; Tahap ketiga : implementasi sistem, yaitu membuat simulasi serangan dan pencegahan serangan sesuai perancangan proses pada tahap kedua, yaitu misalnya bagaimana aplikasi atau program berjalan saat

  

Port Knocking dijalankan pada komunikasi client dan webserver; Tahap

keempat : pengujian sistem dan analisis hasil pengujian, yaitu dilakukan

  pengujian dengan cara membandingkan sistem tanpa metode Port Knocking dengan yang menggunakan metode Port Knocking untuk mengetahui seberapa aman database dilindungi dari peretas menggunakan tools dari BackTrack.

  Pada tahap perancangan sistem terdapat dua pengguna sistem untuk dapat menjalankan sistem ini, pertama adalah client dan kedua adalah admin. Client dapat melakukan aktivitas sebagai berikut : 1) Client mengelola sistem Port

  

Knocking di komputernya untuk dapat melakukan ketukan ke webserver di

admin; 2) Client melakukan ketukan yang sesuai dengan kombinasi yang

  sudah diatur di webserver; 3) Client dapat membuka dan mengelola database di webserver saat ketukan berhasil. Admin dapat melakukan aktivitas berikut : 1) Admin mengelola sistem Port Knocking di komputernya untuk mengkonfigurasi ketukan saat client mengetuk; 2) Admin membangun dan mengelola webserver serta databasenya; 3) Admin membangun sebuah web untuk dapat diuji oleh peretas; 4) Admin mengelola port bayangan serta menempatkan folder database phpmyadmin kedalam direktori port 99 (port bayangan); 5) Admin dapat memonitoring client yang sedang melakukan ketukan.

  Hardware dan software yang digunakan dalam membangun sistem ini

  memiliki spesifikasi : 1) CPU Intel Core i3-2350M., 2.3Ghz, memory RAM

  4GB; 2) Wi-fi speedy; 3) Software Port Knocking, Apache2; 4) Database yang digunakan phpmyadmin, mysql; 5) Web browser yang digunakan Mozilla

  Firefox; 6) Bahasa pemrograman dalam membuat web adalah php5 dan html.

  Dalam perancangan sistem keamanan ini, dibutuhkan sistem operasi

  

Ubuntu 12.04 serta untuk penetrasi ke webserver menggunakan tools dari

BackTrack.

  Untuk dapat mewujudkan sistem yang dibuat, maka pada perancangan selanjutnya adalah menginstall sistem Port Knocking ini di kedua komputer, karena pada penelitian terdahulu sistem ini dibuat secara manual sehingga pada perancangan ini yang dibutuhkan adalah menginstall. Untuk mengatur konfigurasi ketukan serta alamat port yang dituju dan setting port yang akan digunakan yaitu 2099, 3099, 4099, maka port yang dibuat di webserver menggunakan port 99. Pada konfigurasi OpenHTTP, bagian sequence berfungsi untuk menentukan port ketukan yang digunakan untuk membuka

  

port tujuan. Ketukan ini menggunakan aturan Jeaniquer yang mudah untuk

  dihafalkan karena dengan kombinasi tiga ketukan dan disetiap akhir ketukan tertuju port tujuan yang akan diakses sebagai komunikasi antara webserver dengan client. Seq-timout=30 merupakan waktu di mana proses ketukan berlangsung sehingga bila waktu yang ditentukan habis maka, sistem akan menutup kembali jalur komunikasinya. Setelah itu pada bagian command merupakan di mana perintah Iptables untuk membuka port yang dituju dengan menyertakan alamat IP dan pada akhir perintah pada sistem ini bertuliskan yang berfungsi menunjukkan header paket yang dikirimkan

  tcpflags=syn

  sebagai ketukan port. Pada bagian CloseHTTP yang membedakan adalah ketukanya yang dibalik, fungsinya agar dapat menutup kembali port yang tadi dibuka, yang membedakan adalah perintah

  • –D pada perintah Iptables yang mempunyai arti menghapus satu baris aturan yang sudah dibuat, sehingga dapat menutup port yang terbuka tadi.

  Ketukan yang digunakan dalam program ini menggunakan dynamically

  

Assigned Port yang berkisar 1024 sampai 65536 sehingga dapat digunakan

  sesuai kebutuhan. Untuk mengaktifkan program Port Knocking, komputer

  

server harus merubah setingan di dalam program Port Knocking dan set nama

interfacenya sesuai koneksi internet dan restart program Port Knockingnya.

  Untuk komputer client proses install sama persis dengan komputer server.

  Dalam program Port Knocking format ketukan yang digunakan dalam perancangan sistem adalah format port tunggal dengan pemetaan tetap, dan menggunakan tiga port ketukan sebagai tujuan koneksi data untuk melakukan ketukan. Dalam konfigurasi yang telah dibuat, dipilih tiga nomor port yang termasuk dalam kategori dynamically assigned port dan port yang dipilih merupakan port yang jarang digunakan di jaringan internet. Nomor yang digunakan untuk membuka port 99 adalah 2099, 3099, 4099. Untuk menutup kembali port yang terbuka adalah 4099, 3099, 2099. Kombinasi ketukan ini dapat dibuat rumit atau mudah tergantung client yang bisa mengingatnya. Aturan kombinasi ketukan ini merupakan aturan yang sudah dikenal lama oleh Sebastian Jeanquier yaitu menggunakan tiga buah port di mana masing- masing digit terakhir port menunjuk ke nomor port tujuan [5].

  Gambar 3 adalah alur dari proses cara kerja pada penelitian ini. Sistem

Port Knocking pada komputer server dan komputer client harus diaktifkan.

Sebelum memulai proses knocking, client harus mengetahui alamat IP pada komputer server melalui terminal sehingga menemukan alamat IP server tersebut. Untuk memulai proses knocking, maka client harus mengetuk dengan kombinasi port tertentu untuk membuka port 99. Akan tetapi sebelum client terhubung ke port yang dituju, Port Knocking Daemon akan mencatat format ketukan, alamat IP dan alamat port di log data. Setelah disimpan maka program Port Knocking pada komputer server akan mengklarifikasi alamat IP dan port tujuan serta format ketukan. Jika alamat IP, port, dan format ketukan benar maka program Port Knocking pada komputer server akan membuka

  

port yang dituju. Apabila tidak cocok ketukanya , maka tidak ada port yang

  terbuka dan tidak ada respon. Jika port sudah diklarifikasi di Port Knocking

  

daemon , maka program Port Knocking di komputer server akan menjalankan

  perintah Iptables agar client bisa masuk ke port yang dituju. Setelah port terbuka, client bisa mengakses database. Bila akan menutup kembali port yang terbuka, maka komputer client akan melakukan ketukan kembali. Bila ketukan benar, maka Port Knocking daemon di webserver akan menutup port 99 kembali. Dan apabila ketukan salah atau tidak sesuai dengan aturan yang berada di server Port Knocking daemon, maka port akan tetap terbuka dan aman serta client tetap bisa melakukan komunikasi.

  Gambar 3 Alur Proses Utama Pada Sistem

  Pada perancangan selanjutnya yang dilakukan adalah menginstall

  

webserver pada Ubuntu 12.04 pada komputer server dengan menggunakan

Apache dan bahan-bahanya untuk membuat suatu simulasi penyerangan

  terhadap kelemahan webserver (http attack vulnerability). Setelah itu untuk membuat contoh tampilan beberapa web utama yang berada di port 80 agar dalam satu webserver mempunyai banyak domain sehingga waktu client mebuka database yang disembunyikan, maka hanya database dari salah satu web yang terbuka. Perancangan web ini menggunakan bahasa html dan

  

php [9]. Gambar 4 merupakan tampilan beberapa web yang berada di port 80

  dan dalam satu webserver yang sama untuk pengujian penetrasi yang sudah terinstall dan terkonfigurasi sistem Port Knocking.

  Gambar 4 Tampilan Beberapa Contoh Web di Port 80

  Pada perancangan selanjutnya agar sistem berjalan lancar, maka diperlukan untuk membuat virtualhost pada port 99 yang tertutup di dalam

  

webserver apache yang terinstall agar dapat dipakai untuk menempatkan

folder phpmyadmin yang hanya terbuka bila diketuk oleh client.

  Hasil implementasi sistem berdasarkan perancangan yang telah dilakukan, dijelaskan dengan topologi seperti ditunjukkan pada Gambar 5.

  Gambar 5 Topologi Sistem Port Knocking Pada Webserver

  Gambar 5 merupakan topologi sistem yang dibuat dengan menganalogikan bahwa saat client melakukan ketukan, peretas berusaha melakukan scanning terhadap database tetapi yang dihasilkan, peretas tidak menemukan tempat di mana database berada. Dalam implementasi sistem ini komputer client harus mengetahui alamat IP komputer webserver terlebih dahulu (karena pada perancangan ini menggunakan jaringan localhost) dan pada port 80 dibiarkan terbuka agar peretas masuk melalui port tersebut. Komputer client memulai kombinasi pengetukan untuk berkomunikasi dengan server dan masuk ke

  

database melalui port 99 yang tertutup dengan maksud membuka port 99

yang ditunjukkan pada Gambar 5. root@ubuntu:~# knock -v 192.168.5.10 2099 3099 4099 hitting tcp 192.168.5.10:2099 hitting tcp 192.168.5.10:3099 hitting tcp 192.168.5.10:4099

   Gambar 6 Perintah Port Knocking Untuk Membuka Port 99 Dari Client

  Setelah melakukan ketukan, server akan melakukan monitoring port untuk mengetahui apakah ketukan berhasil atau tidak dengan mengetikkan perintah pada komputer server yang ditunjukkan pada Gambar 7.

  root@SERVER:~# tail /var/log/knockd.log [2014-10-29 23:44] 192.168.5.10: openHTTP: Stage 1 [2014-10-29 23:44] 192.168.5.10: openHTTP: Stage 2 [2014-10-29 23:44] 192.168.5.10: openHTTP: Stage 3 [2014-10-29 23:44] 192.168.5.10: openHTTP: OPEN SESAME [2014-10-29 23:44] openHTTP: running command: /sbin/iptables -I INPUT -s 192.168.5.10 -p tcp --dport 99 -j ACCEPT

  Gambar 7 Monitoring Dari Port Knocking daemon di Webserver Untuk Membuka Port 99

  Jika ketukan yang dilakukan komputer client benar, maka Port Knocking

  

daemon akan menjalankan perintah Iptables untuk membuka port 99 (port

  bayangan yang berada di dalam port 80) sehingga orang lain tidak bisa mengakses port bayangan ini selain client. Setelah berhasil akan muncul tampilan login masuk ke database phpmyadmin dari virtualhost yang dibuat di dalam webserver dengan mengetikkan 192.168.5.10:99 di browser client yang ditunjukkan pada Gambar 8, hal ini bertujuan untuk membedakan akses client . ke server internal serta database dari webserver

  Gambar 8 Login Phpmyadmin Saat Setelah Ketukan Dari Client

  Gambar 8 merupakan tampilan antarmuka saat client selesai melakukan ketukan pada webserver dan client bisa mengolah databasenya secara aman. Setelah client selesai dalam mengakses port 99 (port bayangan yang berada di

  

port 80) di komputer server, maka langkah selanjutnya adalah client

  melakukan ketukan port kembali dengan format ketukan yang digunakan untuk menutup kembali port 99 pada komputer webserver,Perintah yang digunakan dapat dilihat pada Gambar 9.

  

root@ubuntu:~# knock -v 192.168.5.10 4099

3099 2099 hitting tcp 192.168.5.10:4099 hitting tcp 192.168.5.10:3099 hitting tcp 192.168.5.10:2099

  Gambar 9 Perintah Untuk Menutup Kembali Port 99 Yang Terbuka

  Gambar 10 Proses Dari Ketukan Untuk Menutup Port 99

  Ketika client melakukan ketukan, maka program Port Knocking daemon akan melakukan monitoring kembali apakah port yang diketuk sesuai dengan format ketukan CloseHTTP. Jika ketukan benar, maka Port Knocking daemon akan menjalankan perintah Iptables untuk menutup port 99 yang ada di dalam

  

port 80, sehingga tidak ada satu komputer serta client yang bisa mengakses

  kembali port 99. Untuk mengetahui proses monitoring, komputer server melakukan perintah yang sama untuk menampilkan hasil monitoring sehingga akan tertampil pada Gambar 10.

  5. Hasil Pengujian

  Hasil pengujian dilakukan dengan membandingkan dua buah sistem yang berbeda yaitu :

  1. Sistem Keamanan dengan Firewall pada Webserver tanpa metode Port Knocking

  Sistem keamanan yang dibangun untuk melindungi webserver dengan

  

database nya yang hanya menggunakan firewall tanpa menggunakan metode

Port Knocking dan diserang dengan tools dari BackTrack. Adapun topologi

  dan hasil pada Gambar 11 dan Gambar 12 dari proses menggunakan tools

  

websploit untuk menemukan nama login untuk masuk ke database pada

webserver . root@SERVER:~# tail /var/log/knockd.log [2014-10-29 23:44] 192.168.5.10: CloseHTTP: Stage 1 [2014-10-29 23:44] 192.168.5.10: CloseHTTP: Stage 2 [2014-10-29 23:44] 192.168.5.10: CloseHTTP: Stage 3 [2014-10-29 23:44] 192.168.5.10: CloseHTTP: CLOSE SESAME [2014-10-29 23:44] CloseHTTP: running

command: /sbin/iptables -D INPUT -s

192.168.5.10 -p tcp --dport 99 -j ACCEPT

  Gambar 11 Topologi Dimana Peretas Melakukan Aksinya Saat Sistem Keamanan Jaringan yang Dibangun hanya Menggunakan Firewall

  Gambar 11 menunjukkan bahwa sistem memakai firewall sebagai keamanan jaringan pada webserver beserta databasenya yang ddapat dijelaskan sebagai berikut :

   Ketika admin sedang melakukan koneksi dengan webserver, maka peretas dengan mudah dapat melakukan serangan saat admin membuka akses databasenya melalui login phphmyadmin di port 80 yang selalu terbuka sehingga dengan menggunakan tools

  websploit di BackTrack, peretas dapat mengetahui nama login

database nya dengan cara scanning seperti pada Gambar 12.

  Gambar 12 Hasil Serangan dengan Websploit Sebelum Memakai Metode Port

Knocking

  

Gambar 13 Hasil Serangan Peretas yang Meretas Login Page Name dari Server sehingga

Peretas dapat masuk ke Phpmyadmin

   Kemudian peretas dengan leluasa dapat masuk ke login page name

  phpmyadmin , melakukan scanning password serta melakukan

  tindakan pencurian, mengolah data, serta memanipulasi web yang dipublish tersebut dan admin dipastikan sulit untuk mengantisipasi hal tersebut.

  Webserver

  Sistem yang dibangun dengan menggunakan metode Port Knocking lebih aman karena disertakan juga virtualhost sebagai port bayangan agar admin bisa mengakses database phphmyadmin tanpa melalui port 80 sehingga peretas tidak akan mengetahui bahwa databasenya berada di port 99 yang dalam keadaan port tertutup ataupun filtered. Adapun topologi serta proses peretas melakukan scanning menggunakan tools websploit pada Gambar 14 dan Gambar 15.

  

Gambar 14 Topologi Sistem Keamanan Jaringan Menggunakan Metode Port Knocking

Untuk Melindungi Webserver dan Database

  Pada Gambar 14 menunjukkan sistem keamanan jaringan dengan menggunakan metode Port Knocking untuk melindungi webserver serta

  database nya yang akan dijelaskan sebagai berikut :

   Ketika komputer admin ingin mengakses database pada port 99 pada webserver, maka yang dilakukan webserver adalah menutup

  port

  99 dan menonkatifkan service phpmyadmin serta memindahkan foldernya di dalam folder web di port 99 agar tidak bisa diketahui oleh peretas yang sedang melakukan scanning port ataupun scanning nama login database.

  

Gambar 15 Hasil Proses Serangan yang Dilakukan Peretas Setelah Webserver

Menggunakan Metode Port Knocking

  

Gambar 16 Hasil Saat Metode Port Knocking Diterapkan di port 80, dimana

Phpmyadmin tidak Ditemukan Walau di Scan Namun Bisa Terbuka oleh Client

  Gambar 17 Hasil Saat Metode Port Knocking Dapat Melindungi Database Phpmyadmin

   Kemudian admin akan melakukan ketukan pada port 99 yang berada didalam webserver sehingga admin dengan leluasa akan bisa mengakses database tanpa terdeteksi oleh peretas yang sedang melakukan scanning dengan tools websploit pada BackTrack dengan masuk ke webrowser dan mengetikkan alamat IP server dan menambahkan :99 dibelakang alamat IP server yang ditunjukkan pada Gambar 16.

   Admin kembali melakukan pengetukan ke port 99 untuk menutup tersebut dan peretas tidak bisa masuk ataupun melacak port 99

  port serta databasenya, seperti yang ditunjukkan pada Gambar 17.

   Hanya admin yang dapat mengetahui format ketukan port dan webserver akan mengabaikan ketukan yang salah.

  Berdasarkan penelitian dan pengujian yang telah dibuat, untuk mengamankan serangan dari peretas ke kelemahan webserver (http attack vulnerability) dengan menggunakan metode Port Knocking, maka dihasilkan kesimpulan: 1) Metode

  

Port Knocking bisa sangat berguna bagi para administrator untuk dapat

  berkomunikasi dengan webserver dari mana saja; 2) Dengan metode Port

  

Knocking, komunikasi antara client dengan server menjadi aman dari peretas yang

  ingin meretas melalui port 80 karena data serta databasenya sudah dialihkan ke

  

port 99 yang hanya bisa diakses oleh client melalui kombinasi ketukan dan hanya

client yang tahu kombinasinya; 3) Kelemahan-kelemahan yang ada di webserver

  seperti kerentanan terhadap hacker sementara cukup bisa teratasi dengan metode

  

Port Knocking ; 4) Jika dibandingkan dengan komunikasi hanya lewat SSH,

  perancangan lebih aman dikarenakan perancangan ini komunikasinya melalui port 80 (HTTP) dan mengakses port tersembunyi di dalam port 80 tersebut. Saran untuk pengembang sistem ini adalah : 1) Perancangan yang telah dibuat ini masih sangat sederhana, sehingga perlu dikembangkan lagi dengan cara penambahan sistem one time password atau ketukan yang terus diganti saat client melakukan komunikasi sehingga dapat mempersulit peretas untuk dapat meretas kombinasi ketukan; 2) Bisa dikembangkan lagi pada service port yang lain sehingga tidak hanya di webserver saja tapi metode ini dapat melindungi komunikasi pada

  

service apapun; 3) Dalam hal ketukan dapat ditambahkan dengan pemilihan port

  yang rumit karena dalam perancangan ini hanya dibuat secara permanen untuk memudahkan dalam mengingat; 4) Metode ini bisa dikembangkan dan diuji tidak hanya di sistem operasi Ubuntu namun bisa coba diuji di berbagai sistem operasi.

  Dwianto, Dedi., 2007, Membuka Akses Firewall Melalui Network,

  Echozine, 5(7), (Diakses tanggal 17 September 2014).

  [2].

  Danu, Sujiwo, 2009, Analisa dan Implementasi Sistem Keamanan Jaringan dengan IPtables sebagai Firewall Menggunakan Metode Port Knocking,

  Jurnal Informatika , 5(2):1-15.

  [3].

  Dahlan, Moh., 2014, Pengujian dan Analisa Keamanan Website Terhadap Serangan SQL Injection, 8(4):1-17. [4].

  Andi, 2012, Network Hacking dengan Linux BackTrack, Semarang: Wahana Komputer. [5].

  Jeanquier, Sebastian, 2006, An Analysis of Port Knocking and Single Packet Authorization, Information Security Group : Royal Holloway College, University of London.

  [6].

Krzywinski, M., 2003, Port Knocking: Network Authentication Across Closed,Linux Journal, 12:12-17, http://www.linuxjournal.com/article/6811

  (Diakses tanggal 20 September 2014.) [7].

  [8].

  Fakultas Ilmu Komputer Universitas Petra, VirtualBook , iakses tanggal 12 Oktober 2014). Anastasia, Melan, M., 2013, Trik Menguasai PHP + JQuery Berbasis Linux & Windows, Yogyakarta: Lokomedia.

Dokumen yang terkait

Institutional Repository | Satya Wacana Christian University: Studi Perbandingan Algoritma Naive Method, Knuth-Morris-Pratt dan Boyer-Moore-Hoorspool pada Multi Record Database

0 0 31

Institutional Repository | Satya Wacana Christian University: Perancangan Aplikasi Pencatatan Transaksi Penjualan Berbasis E-Commerce menggunakan Framework Yii (Studi Kasus: Batik Lesmono Semarang)

0 1 17

Institutional Repository | Satya Wacana Christian University: Perancangan Sistem Keamanan Data Terkompresi Menggunakan Advanced Encryption Standard Algorithm pada Studio Foto GreenFrog

0 0 31

Institutional Repository | Satya Wacana Christian University: Peningkatan Kemampuan Membaca Permulaan Melalui Media Gambar di Kelompok B TK Kanisius Gendongan Salatiga

0 0 7

Institutional Repository | Satya Wacana Christian University: Peningkatan Kemampuan Membaca Permulaan Melalui Media Gambar di Kelompok B TK Kanisius Gendongan Salatiga

0 0 20

Institutional Repository | Satya Wacana Christian University: Peningkatan Kemampuan Membaca Permulaan Melalui Media Gambar di Kelompok B TK Kanisius Gendongan Salatiga

0 0 29

Institutional Repository | Satya Wacana Christian University: Upaya Meningkatkan Kemampuan Motorik Kasar Anak Melalui Lompat Tali pada Kelompok A di TK Kanisius Gendongan Salatiga

0 1 18

Institutional Repository | Satya Wacana Christian University: Upaya Meningkatkan Kemampuan Motorik Kasar Anak Melalui Lompat Tali pada Kelompok A di TK Kanisius Gendongan Salatiga

0 0 7

BAB IV HASIL PENELITIAN PEMBAHASAN 4.1. Hasil Penelitian 4.1.1. Kondisi awal sebelum pelaksanaan penelitian tindakan kelas (PTK) - Institutional Repository | Satya Wacana Christian University: Upaya Meningkatkan Kemampuan Motorik Kasar Anak Melalui Lompat

0 0 26

Institutional Repository | Satya Wacana Christian University: Penggunaan Konstanta 171 dan 11213 dalam Linear Congruential Generator dengan Pola Hexagram Lacing dalam Perancangan dan Implementasi Algoritma Data Berbasis Teks

0 0 25