Perancangan dan Implementasi Sistem Keamanan Jaringan … · 2018. 7. 5. · mengakses sebuah...

26
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

Transcript of Perancangan dan Implementasi Sistem Keamanan Jaringan … · 2018. 7. 5. · mengakses sebuah...

Page 1: Perancangan dan Implementasi Sistem Keamanan Jaringan … · 2018. 7. 5. · mengakses sebuah alamat dan port ini juga yang sering menjadi incaran setiap . peretas . untuk mengeksploitasi

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

Page 2: Perancangan dan Implementasi Sistem Keamanan Jaringan … · 2018. 7. 5. · mengakses sebuah alamat dan port ini juga yang sering menjadi incaran setiap . peretas . untuk mengeksploitasi
Page 3: Perancangan dan Implementasi Sistem Keamanan Jaringan … · 2018. 7. 5. · mengakses sebuah alamat dan port ini juga yang sering menjadi incaran setiap . peretas . untuk mengeksploitasi
Page 4: Perancangan dan Implementasi Sistem Keamanan Jaringan … · 2018. 7. 5. · mengakses sebuah alamat dan port ini juga yang sering menjadi incaran setiap . peretas . untuk mengeksploitasi
Page 5: Perancangan dan Implementasi Sistem Keamanan Jaringan … · 2018. 7. 5. · mengakses sebuah alamat dan port ini juga yang sering menjadi incaran setiap . peretas . untuk mengeksploitasi
Page 6: Perancangan dan Implementasi Sistem Keamanan Jaringan … · 2018. 7. 5. · mengakses sebuah alamat dan port ini juga yang sering menjadi incaran setiap . peretas . untuk mengeksploitasi
Page 7: Perancangan dan Implementasi Sistem Keamanan Jaringan … · 2018. 7. 5. · mengakses sebuah alamat dan port ini juga yang sering menjadi incaran setiap . peretas . untuk mengeksploitasi
Page 8: Perancangan dan Implementasi Sistem Keamanan Jaringan … · 2018. 7. 5. · mengakses sebuah alamat dan port ini juga yang sering menjadi incaran setiap . peretas . untuk mengeksploitasi

Perancangan dan Implementasi Sistem Keamanan Jaringan

dengan Metode Port Knocking untuk Mencegah Http Attack

Vulnerability 1) Ruben Adi Wijaya, 2) Irwan Sembiring

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

Jl. DIPonegoro 52-60, Salatiga 50771, Indonesia

Email: 1) [email protected], 2) [email protected]

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

Page 9: Perancangan dan Implementasi Sistem Keamanan Jaringan … · 2018. 7. 5. · mengakses sebuah alamat dan port ini juga yang sering menjadi incaran setiap . peretas . untuk mengeksploitasi

1

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

virtualhost di dalam webserver untuk menciptakan port bayangan yang

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

webservernya.

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].

Page 10: Perancangan dan Implementasi Sistem Keamanan Jaringan … · 2018. 7. 5. · mengakses sebuah alamat dan port ini juga yang sering menjadi incaran setiap . peretas . untuk mengeksploitasi

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

Page 11: Perancangan dan Implementasi Sistem Keamanan Jaringan … · 2018. 7. 5. · mengakses sebuah alamat dan port ini juga yang sering menjadi incaran setiap . peretas . untuk mengeksploitasi

3

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].

Page 12: Perancangan dan Implementasi Sistem Keamanan Jaringan … · 2018. 7. 5. · mengakses sebuah alamat dan port ini juga yang sering menjadi incaran setiap . peretas . untuk mengeksploitasi

4

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

website serta untuk system informasi terdistribusi, dan kolaboratif.

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.

Page 13: Perancangan dan Implementasi Sistem Keamanan Jaringan … · 2018. 7. 5. · mengakses sebuah alamat dan port ini juga yang sering menjadi incaran setiap . peretas . untuk mengeksploitasi

5

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].

3. Metode Perancangan Sistem

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

webserver dan client serta perancangan penyerangan untuk menanggulangi

kelemahan port 80; Tahap ketiga : implementasi sistem, yaitu membuat

simulasi serangan dan pencegahan serangan sesuai perancangan proses pada

Page 14: Perancangan dan Implementasi Sistem Keamanan Jaringan … · 2018. 7. 5. · mengakses sebuah alamat dan port ini juga yang sering menjadi incaran setiap . peretas . untuk mengeksploitasi

6

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

tcpflags=syn yang berfungsi menunjukkan header paket yang dikirimkan

sebagai ketukan port. Pada bagian CloseHTTP yang membedakan adalah

Page 15: Perancangan dan Implementasi Sistem Keamanan Jaringan … · 2018. 7. 5. · mengakses sebuah alamat dan port ini juga yang sering menjadi incaran setiap . peretas . untuk mengeksploitasi

7

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.

Page 16: Perancangan dan Implementasi Sistem Keamanan Jaringan … · 2018. 7. 5. · mengakses sebuah alamat dan port ini juga yang sering menjadi incaran setiap . peretas . untuk mengeksploitasi

8

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.

Page 17: Perancangan dan Implementasi Sistem Keamanan Jaringan … · 2018. 7. 5. · mengakses sebuah alamat dan port ini juga yang sering menjadi incaran setiap . peretas . untuk mengeksploitasi

9

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.

4. Hasil dan Pembahasan

Hasil implementasi sistem berdasarkan perancangan yang telah dilakukan,

dijelaskan dengan topologi seperti ditunjukkan pada Gambar 5.

Page 18: Perancangan dan Implementasi Sistem Keamanan Jaringan … · 2018. 7. 5. · mengakses sebuah alamat dan port ini juga yang sering menjadi incaran setiap . peretas . untuk mengeksploitasi

10

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.

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.

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

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

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

Page 19: Perancangan dan Implementasi Sistem Keamanan Jaringan … · 2018. 7. 5. · mengakses sebuah alamat dan port ini juga yang sering menjadi incaran setiap . peretas . untuk mengeksploitasi

11

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.

Gambar 9 Perintah Untuk Menutup Kembali Port 99 Yang Terbuka

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

Page 20: Perancangan dan Implementasi Sistem Keamanan Jaringan … · 2018. 7. 5. · mengakses sebuah alamat dan port ini juga yang sering menjadi incaran setiap . peretas . untuk mengeksploitasi

12

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

databasenya 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

Page 21: Perancangan dan Implementasi Sistem Keamanan Jaringan … · 2018. 7. 5. · mengakses sebuah alamat dan port ini juga yang sering menjadi incaran setiap . peretas . untuk mengeksploitasi

13

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

databasenya dengan cara scanning seperti pada Gambar 12.

Page 22: Perancangan dan Implementasi Sistem Keamanan Jaringan … · 2018. 7. 5. · mengakses sebuah alamat dan port ini juga yang sering menjadi incaran setiap . peretas . untuk mengeksploitasi

14

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.

Page 23: Perancangan dan Implementasi Sistem Keamanan Jaringan … · 2018. 7. 5. · mengakses sebuah alamat dan port ini juga yang sering menjadi incaran setiap . peretas . untuk mengeksploitasi

15

2. Sistem Keamanan menggunakan Metode Port Knocking pada

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

databasenya 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.

Page 24: Perancangan dan Implementasi Sistem Keamanan Jaringan … · 2018. 7. 5. · mengakses sebuah alamat dan port ini juga yang sering menjadi incaran setiap . peretas . untuk mengeksploitasi

16

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

Page 25: Perancangan dan Implementasi Sistem Keamanan Jaringan … · 2018. 7. 5. · mengakses sebuah alamat dan port ini juga yang sering menjadi incaran setiap . peretas . untuk mengeksploitasi

17

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

port tersebut dan peretas tidak bisa masuk ataupun melacak port 99

serta databasenya, seperti yang ditunjukkan pada Gambar 17.

Hanya admin yang dapat mengetahui format ketukan port dan

webserver akan mengabaikan ketukan yang salah.

6. Simpulan

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

Page 26: Perancangan dan Implementasi Sistem Keamanan Jaringan … · 2018. 7. 5. · mengakses sebuah alamat dan port ini juga yang sering menjadi incaran setiap . peretas . untuk mengeksploitasi

18

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.

6. Daftar Pustaka

[1]. Dwianto, Dedi., 2007, Membuka Akses Firewall Melalui Network,

Echozine, 5(7), http://www.echo.or.id. (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,

http://faculty.petra.ac.id/dwikris/docs/desgrafisweb/www/4-

apaitu_www.html, (Diakses tanggal 12 Oktober 2014).

Anastasia, Melan, M., 2013, Trik Menguasai PHP + JQuery Berbasis

Linux & Windows, Yogyakarta: Lokomedia.