Anda di halaman 1dari 189

ANALISA PENERAPAN INTRUSION PREVENTION SYSTEM

(IPS) UNTUK MENGAMANKAN CONTAINER DOCKER

SKRIPSI

Oleh:

YONI SUDARMAN
1610530151

PROGRAM STUDI ILMU KOMPUTER


FAKULTAS TEKNIK DAN DESAIN
UNIVERSITAS BUMIGORA
MATARAM
2020
ANALISA PENERAPAN INTRUSION PREVENTION SYSTEM
(IPS) UNTUK MENGAMANKAN CONTAINER DOCKER

SKRIPSI

Diajukan Sebagai Salah Satu Syarat untuk Memenuhi Kebulatan Studi


Jenjang Strata Satu (S1) Program Studi Ilmu Komputer
Pada Universitas Bumigora

Oleh:

YONI SUDARMAN
1610530151

PROGRAM STUDI ILMU KOMPUTER


FAKULTAS TEKNIK DAN DESAIN
UNIVERSITAS BUMIGORA
MATARAM
2020
KATA PENGANTAR

Alhamdulillah, puji syukur penulis panjatkan kehadirat Allah SWT, Tuhan


yang Maha Esa atas segala nikmat yang telah diberikan kepada penulis sehingga
skripsi ini bisa terselesaikan. Shalawat beserta salam selalu tercurah kepada
Rasulullah Muhammad SAW. Skripsi yang berjudul “Analisa Penerapan
Intrusion Prevention System (IPS) Untuk Mengamankan Container Docker”
dibuat sebagai salah satu syarat memperoleh gelar Sarjana Komputer (S.Kom)
Jurusan Ilmu Komputer pada Universitas Bumigora Mataram.
Dengan selesainya penulisan skripsi ini, penulis ingin mengucapkan
terimakasih kepada pihak-pihak yang telah banyak membantu dalam penyelesaian
skripsi ini. Dalam kesempatan ini penulis mengucapkan terima kasih kepada:
1. Bapak Dr. Ir. Anthony Anggrawan, M.T., Ph.D selaku Rektor Universitas
Bumigora.
2. Ibu Ni Gusti Ayu Dasriani, M.Kom, selaku Wakil Rektor I Universitas
Bumigora
3. Ibu Lilik Widyawati, M.Kom selaku Ketua Program Studi S1 Ilmu
Komputer.
4. Bapak I Putu Hariyadi, M.Kom selaku Dosen Pembimbing yang selalu
memberikan semangat dan motivasi serta yang sangat bermanfaat yang
tentunya akan selalu saya ingat.
5. Kedua orang tua saya tercinta, yang senantiasa selalu memberikan semangat
serta mendoakan saya sehingga mampu mencapai titik ini.
6. Sahabat-sahabat saya, teman-teman seperjuangan, yang telah memberikan
banyak bantuan dan dukungan kepada saya dalam menyelesaikan penulisan
skripsi ini.
Semoga skripsi ini dapat memberikan manfaat kepada kita semua. Sebagai
seorang manusia yang penuh dengan kekurangan dan keterbatasan, maka penulis
sangat menyadari bahwa dalam skripsi ini masih banyak kekurangan baik dalam
teknik penulisan, maupun pembahasan yang di sebabkan oleh keterbatasan ilmu
dan pemahaman yang penulis miliki. Untuk itu penulis terbuka untuk menerima

i
kritik dan saran yang membangun dari pembaca untuk kesempurnaan skripsi ini.
Akhirnya penulis berharap semoga tulisan ini bermanfaat bagi semua pihak.

Mataram, 06 Agustus 2020

Penulis,

ii
iii
IZIN PENGGUNAAN

Skripsi ini merupakan syarat kelulusan pada Program Studi S1 Ilmu Komputer
Universitas Bumigora, dengan ini penulis setuju jika skripsi ini digandakan
(diduplikasi) baik sebagian maupun seluruhnya, ataupun dikembangkan untuk
kepentingan akademis yang disetujui oleh pembimbing penulis, Ketua Program
Studi, Dekan Fakultas Teknik dan Desain.
Untuk dimaklumi, bahwa menduplikasi, mempublikasikan atau menggunakan
skripsi ini, maupun bagian-bagiannya dengan tujuan komersial / keuntungan
finansial, tidak diizinkan tanpa adanya izin tertulis dari Universitas Bumigora. Jika
hal ini dilanggar maka Universitas Bumigora akan memberikan sanksi sesuai
dengan hukum yang berlaku.
Penghargaan akademis terkait isi dari skripsi ini adalah pada penulis dan
Universitas Bumigora.
Permintaan izin untuk menduplikasi atau menggunakan materi dari skripsi ini baik
sebagian maupun seluruhnya harus ditujukan pada:

Dekan Fakultas Teknik dan Desain


Ketua Program Studi S1 Ilmu Komputer
Universitas Bumigora

iv
ABSTRAK

Survei yang dilakukan oleh Sdxcentral pada tahun 2015 menunjukan bahwa
94% responden yang berasal dari kalangan perusahaan telah mengadopsi teknologi
container. Docker merupakan sebuah aplikasi platform virtualisasi container yang
bersifat open source, adopsi pemakaian Docker yang semakin meningkat membuat
para pengguna mulai berfokus pada sisi keamanan sehingga ketersediaan layanan
tetap terjaga. Penelitian sebelumnya hanya berfokus pada analisa kerentanan
keamanan dan performansi container ketika menghadapi serangan. Namun belum
ada yang mengarah kepada tindakan preventif sebelum terjadinya serangan.
Salah satu metode yang bisa digunakan yaitu dengan menerapkan Intrusion
Prevention System (IPS). Penerapan IPS menggunakan Snort yang diintegrasikan
dengan IPTables dapat membantu mengatasi permasalahan keamanan pada
container Docker. Snort memiliki fitur untuk mendeteksi dan mencegah serangan
paket-paket berbahaya dalam jaringan serta memberikan laporan berupa log kepada
administrator tentang aktivitas dan kondisi jaringan secara real-time.
Metodologi yang digunakan pada penelitian ini adalah Network
Development Life Cycle (NDLC). Terdapat 3 (tiga) tahapan yang digunakan yaitu
Analysis, Design, dan Simulation Prototyping. Pada tahap analysis dilakukan
pengumpulan data dan analisa data. Pada tahap desain dilakukan rancangan
jaringan ujicoba, pengalamatan IP, perancangan alur kerja system dan kebutuhan
perangkat keras dan lunak. Pada tahap simulation prototyping memuat tentang
instalasi konfigurasi pada masing-masing perangkat pendukung, uji coba dan
analisa hasil. Terdapat 3 skenario uji coba serangan yang dilakukan meliputi Prot
Scanning, DDoS HTTP Flood Attack, dan Brute Force Login Form.
Adapun kesimpulan dari penelitian ini adalah penerapan IPS berbasis Snort
yang di integrasikan dengan IPTable mampu mendeteksi dan memblokir tiga
serangan yang di ujikan yang mengarah ke container Docker secara real-time dan
menyimpan informasi serangan ke dalam sebuah log.

Kata Kunci: Keamanan, IPS Snort, Virtualisasi, Container Docker.

v
DAFTAR ISI
Halaman
LEMBAR PENGESAHAN PENGUJI

KATA PENGANTAR ............................................................................................ i


IZIN PENGGUNAAN ......................................................................................... iv
ABSTRAK ............................................................................................................. v
DAFTAR ISI ......................................................................................................... vi
DAFTAR GAMBAR ............................................................................................ ix
DAFTAR TABEL............................................................................................... xiv
DAFTAR LAMPIRAN ....................................................................................... xv
BAB I PENDAHULUAN ...................................................................................... 1
1.1. Latar Belakang ............................................................................................... 1
1.2. Perumusan Masalah ....................................................................................... 2
1.3. Batasan Masalah ............................................................................................ 3
1.4. Tujuan dan Manfaat Penulisan ...................................................................... 3
1.4.1. Tujuan................................................................................................... 3
1.4.2. Manfaat................................................................................................. 3
1.5. Metodologi Penelitian.................................................................................... 4
1.6. Sistematika Penulisan .................................................................................... 6
BAB II LANDASAN TEORI ............................................................................... 7
2.1. Jaringan Komputer ......................................................................................... 7
2.1.1. Jenis-jenis Komputer ............................................................................ 7
2.2. Open System Interconnection (OSI) ............................................................ 12
2.3. Transmission Control Protocol / Internet Protocol (TCP/IP) ...................... 15
2.4. Virtualisasi ................................................................................................... 17
2.5. Container-Based Virtualization ................................................................... 18
2.6. Docker Conatiner ......................................................................................... 19
2.7. Arsitektur Docker ........................................................................................ 20
2.7.1.Docker Engine .................................................................................... 21
2.7.2.Docker File ......................................................................................... 22

vi
2.7.3.Docker Compose ................................................................................ 22
2.7.4.Dasar Jaringan Docker........................................................................ 23
2.8. Keamanan Jaringan...................................................................................... 25
2.9. Aspek Keamanan Jaringan .......................................................................... 25
2.10. Intrusion Prevention Sistem (IPS) ............................................................... 26
2.10.1. Jenis-jenis Intrusion Prevention System (IPS) ................................ 26
2.10.2. Sistem Kerja Intrusion Prevention System ...................................... 27
2.11. Snort............................................................................................................. 28
2.11.1. Metode Pengoprasian Snort ............................................................. 29
2.11.2. Komponen Snort .............................................................................. 30
2.11.3. Rule Snort ........................................................................................ 31
2.12. IPTables ....................................................................................................... 31
2.13. Jenis Serangan Yang Digunakan Dalam Penelitian .................................... 33
2.14. VirtualBox ................................................................................................... 35
2.15. Linux ............................................................................................................ 36
BAB III METODOLOGI ................................................................................... 37
3.1. Analysis ........................................................................................................ 37
3.1.1. Pengumpulan Data ............................................................................ 37
3.1.2. Analisa Data ...................................................................................... 39
3.1. Tahap Desain (Design) ................................................................................ 40
3.2.1. Rancangan Jaringan Uji Coba .......................................................... 41
3.2.2. Rancangan Pengalamatan IP............................................................. 44
3.2.3. Rancangan Alur Kerja Sistem .......................................................... 45
3.2.4. Kebutuhan Perangkat Keras Dan Perangkat Lunak.......................... 46
3.2. Tahap Simulation Prototyping ..................................................................... 48
3.3.1. Tahap Instalasi Dan Konfigurasi ...................................................... 48
3.4.2. Skenario Pengujian ........................................................................... 50
3.4.3. Analisa Uji Coba .............................................................................. 50
BAB IV HASIL DAN PEMBAHASAN............................................................. 51
4.1. Hasil Instalasi dan konfigurasi .................................................................... 51

vii
4.1.1. Hasil Instalasi dan Konfigurasi Host IPS Snort ................................. 51
4.1.2. Hasil Instalasi dan Konfigurasi Host Container Docker .................... 55
4.1.3. Hasil Instalasi dan Konfigurasi Komputer Client zombie ................. 60
4.1.4. Hasil Instalasi dan Konfigurasi Komputer Attacker (Kali Linux) ..... 64
4.1.5. Hasil Instalasi dan Konfigurasi Client Windows ............................... 66
4.2. Hasil Uji Coba ............................................................................................. 67
4.1.1. Hasil Verifikasi Konfigurasi .............................................................. 67
4.1.2. Skenario Uji Coba .............................................................................. 79
4.1.3. Hasil Analisa .................................................................................... 113
BAB V ................................................................................................................. 120
PENUTUP .......................................................................................................... 120
5.1. Kesimpulan ................................................................................................ 120
5.2. Saran .......................................................................................................... 120
DAFTAR REFERENSI
LAMPIRAN

viii
DAFTAR GAMBAR

Gambar 1. 1 Tahapan / Model NDLC ..................................................................... 5


Gambar 2. 1 Local Area Network ........................................................................... 8
Gambar 2. 2 Wide Area Network ............................................................................ 8
Gambar 2. 3 Jaringan Berkabel ............................................................................... 9
Gambar 2. 4 Jaringan Nirkabel ............................................................................. 10
Gambar 2. 5 Topologi Jaringan Bus ..................................................................... 11
Gambar 2. 6 Topologi Jaringan Ring .................................................................... 12
Gambar 2. 7 Topologi Start................................................................................... 12
Gambar 2. 8 Model OSI Layer.............................................................................. 13
Gambar 2. 9 Perbandingan Layer TCP/IP dan Layer OSI .................................... 16
Gambar 2. 10 Arsitektur sebelum dan setelah Virtualisasi ................................... 17
Gambar 2. 11 Arsitektur virtualisasi Container .................................................... 19
Gambar 2. 12 Arsitektur Docker ........................................................................... 20
Gambar 2. 13 Docker Engine ................................................................................ 22
Gambar 2. 14 Contoh Docker Compose ............................................................... 23
Gambar 2. 15 Docker Container Networking Model ........................................... 23
Gambar 2. 16 Alur kerja IPS ................................................................................. 27
Gambar 2. 17 Alur kerja Snort .............................................................................. 29
Gambar 2. 18 Diagram IPTables........................................................................... 32
Gambar 2. 19 Tampilan Graphical User Interface VirtualBox ............................. 36
Gambar 3. 1 Rancangan Topologi Uji Coba ......................................................... 42
Gambar 3. 2 Rancangan Alur Kerja Sistem .......................................................... 45
Gambar 4. 1 Hasil Instalasi Linux Debian 8 ......................................................... 51
Gambar 4. 2 Hasil Konfigurasi IP Pada IPS Snort................................................ 52
Gambar 4. 3 Hasil Konfigurasi IP Forwarding .................................................... 52
Gambar 4. 4 Hasil Instalasi DAQ ......................................................................... 53
Gambar 4. 5 Hasil Instalasi Paket Snort................................................................ 53
Gambar 4. 6 Hasil Verifikasi Dari Konfigurasi Pada Paket Snort ........................ 54
Gambar 4. 7 Hasil Pembuatan Script Snort-start.sh ............................................. 54
Gambar 4. 8 Hasil Pembuatan Script Snort-stop.sh .............................................. 55
Gambar 4. 9 Hasil Konfigurasi IP Pada Host Container Docker ......................... 56
Gambar 4. 10 Hasil Instalasi Docker Engine ........................................................ 57
Gambar 4. 11 Hasil Konfigurasi IP Pada Host Container Docker ....................... 58
Gambar 4. 12 Hasil Konfigurasi Docker-compose.yml ........................................ 58
Gambar 4. 13 Hasil Verifikasi Service Container Docker.................................... 59
Gambar 4. 14 Hasil Instalasi Portainer Pada Container Docker........................... 60
Gambar 4. 15 Hasil Konfigurasi IP Pada Komputer Zombie 1 ............................. 60

ix
Gambar 4. 16 Hasil Konfigurasi IP Pada Komputer Zombie 2 ............................. 61
Gambar 4. 17 Hasil Konfigurasi IP Pada Komputer Zombie 3 ............................. 61
Gambar 4. 18 Hasil Verifikasi SSH Pada Komputer Zombie 1 ............................ 62
Gambar 4. 19 Hasil Verifikasi SSH Pada Komputer Zombie 2 ............................ 62
Gambar 4. 20 Hasil Verifikasi SSH Pada Komputer Zombie 3 ............................ 62
Gambar 4. 21 Hasil Instalasi Tools Torhammer Pada Komputer Zombie 1 ......... 63
Gambar 4. 22 Hasil Instalasi Tools Torhammer Pada Komputer Zombie 2 ........ 63
Gambar 4. 23 Hasil Instalasi Tools Torhammer Pada Komputer Zombie 3 ......... 63
Gambar 4. 24 Perintah Serangan Pada Torshammer ............................................ 64
Gambar 4. 25 Hasil Konfigurasi IP Pada Komputer Attacker .............................. 64
Gambar 4. 26 Hasil Konfigurasi Koneksi SSH Pada Komputer Attacker ............ 65
Gambar 4. 27 Shall Script Serangan DDoS-Attack .............................................. 65
Gambar 4. 28 Shall Script Stop Serangan DDoS-Attack ...................................... 66
Gambar 4. 29 Hasil Konfigrasi IP Client Windows .............................................. 66
Gambar 4. 30 Hasil Konfigurasi IP Pada Host IPS ............................................... 67
Gambar 4. 31 Hasil Uji Koneksi Ke Host Container Docker ............................... 68
Gambar 4. 32 Hasil Uji Koneksi Ke Komputer Zombie 1 .................................... 68
Gambar 4. 33 Hasil Uji Koneksi Ke Komputer Zombie 2 .................................... 68
Gambar 4. 34 Hasil Uji Koneksi Ke Komputer Zombie 3 .................................... 68
Gambar 4. 35 Hasil Uji Koneksi Ke Komputer Client Windows ......................... 68
Gambar 4. 36 Verifikasi Instalasi Snort ................................................................ 69
Gambar 4. 37 Hasil Ujicoba Script Snort Dengan Aturan Iptables ...................... 69
Gambar 4. 38 Hasil Konfigurasi IP Pada Host Container Docker ....................... 70
Gambar 4. 39 Hasil Verifikasi Instalasi Container Docker .................................. 70
Gambar 4. 40 Hasil Verifikasi Instalasi Docker Engine ....................................... 71
Gambar 4. 41 Hasil Pembuatan Layanan Wordpress Pada Container Docker ..... 71
Gambar 4. 42 Hasil Pembuatan Layanan Wordpress Pada Container Docker ..... 72
Gambar 4. 43 Hasil Konfigurasi IP Pada Komputer Zombie 1 ............................. 73
Gambar 4. 44 Hasil Konfigurasi IP Pada Komputer Zombie 2 ............................. 73
Gambar 4. 45 Hasil Konfigurasi IP Pada Komputer Zombie 3 ............................. 73
Gambar 4. 46 Hasil Uji Coba Koneksi Pada Komputer Zombie 1........................ 74
Gambar 4. 47 Hasil Uji Coba Koneksi Pada Komputer Zombie 2........................ 74
Gambar 4. 48 Hasil Uji Coba Koneksi Pada Komputer Zombie 3........................ 74
Gambar 4. 49 Hasil Konfigurasi IP Pada Komputer Attacker .............................. 75
Gambar 4. 50 Hasil Uji Koneksi Komputer Attacker Ke Komputer Zombie 1 .... 75
Gambar 4. 51 Hasil Uji Koneksi Komputer Attacker Ke Komputer Zombie 2 .... 76
Gambar 4. 52 Hasil Uji Koneksi Komputer Attacker Ke Komputer Zombie 3 .... 76
Gambar 4. 53 Hasil Uji Koneksi Komputer Attacker Ke Host IPS ...................... 76
Gambar 4. 54 Hasil Uji Koneksi Komputer Attacker Ke Host Container Docker 76
Gambar 4. 55 Hasil Uji Coba SSH Ke Komputer Zombie 1................................ 76

x
Gambar 4. 56 Hasil Uji Coba SSH Ke Komputer Zombie 2................................ 77
Gambar 4. 57 Hasil Uji Coba SSH Ke Komputer Zombie 3................................ 77
Gambar 4. 58 Hasil Uji Verifikasi Pengalamatan IP Pada Komputer Client....... 77
Gambar 4. 59 Uji Koneksi Dari Komputer Client Ke Host IPS ........................... 78
Gambar 4. 60 Uji Koneksi Dari Komputer Client Ke Host Container Docker .... 78
Gambar 4. 61 Hasil Verifikasi Uji Koneksi Coba Akses Layanan Wordpress..... 78
Gambar 4. 62 Uji Coba 1 Dengan Serangan Port Scanning Tanpa Mengaktifkan
IPS ......................................................................................................................... 80
Gambar 4. 63 Hasil Uji Coba 2 Dengan Serangan Port Scanning Tanpa
Mengaktifkan IPS.................................................................................................. 80
Gambar 4. 64 Hasil Uji Coba 3 Dengan Serangan Port Scanning Tanpa
Mengaktifkan IPS.................................................................................................. 81
Gambar 4. 65 Hasil Uji Coba 4 Dengan Serangan Port Scanning Tanpa
Mengaktifkan IPS.................................................................................................. 81
Gambar 4. 66 Hasil Uji Coba 5 Dengan Serangan Port Scanning Tanpa
Mengaktifkan IPS.................................................................................................. 82
Gambar 4. 67 Hasil Sniffing Pola Serangan Port Scanning .................................. 83
Gambar 4. 68 Alert Snort Pada Uji Coba 1 Port Scanning................................... 84
Gambar 4. 69 Alert Snort Pada Uji Coba 2 Port Scanning................................... 84
Gambar 4. 70 Alert Snort Pada Uji Coba 3 Port Scanning................................... 84
Gambar 4. 71 Alert Snort Pada Uji Coba 4 Port Scanning................................... 84
Gambar 4. 72 Alert Snort Pada Uji Coba 5 Port Scanning................................... 84
Gambar 4. 73 Hasil Uji Coba 1 Serangan Port Scanning Setelah IPS Diaktifkan 85
Gambar 4. 74 Hasil Uji Coba 2 Serangan Port Scanning Setelah IPS Diaktifkan 86
Gambar 4. 75 Hasil Uji Coba 3 Serangan Port Scanning Setelah IPS Diaktifkan 86
Gambar 4. 76 Hasil Uji Coba 1 Serangan Port Scanning Setelah IPS Diaktifkan 87
Gambar 4. 77 Hasil Uji Coba 1 Serangan Port Scanning Setelah IPS Diaktifkan 87
Gambar 4. 78 Pembuatan Shall Script Serangan DDoS-Attack .......................... 88
Gambar 4. 79 Peningkatan Penggunaan Memory Pada Ujicoba Pertama ............ 89
Gambar 4. 80 Peningkatan Penggunaan CPU Pada Uji Coba Pertama ................ 90
Gambar 4. 81 Peningkatan Penggunaan CPU Pada Uji Coba Pertama ................ 91
Gambar 4. 82 Peningkatan Penggunaan Memory Pada Ujicoba Kedua ............... 91
Gambar 4. 83 Peningkatan Penggunaan CPU Pada Uji Coba Kedua ................... 92
Gambar 4. 84 Peningkatan Penggunaan CPU Pada Uji Coba Kedua ................... 92
Gambar 4. 85 Peningkatan Penggunaan Memory Pada Uji Coba Ketiga ............. 93
Gambar 4. 86 Peningkatan Penggunaan CPU Pada Uji Coba Ketiga ................... 94
Gambar 4. 87 Peningkatan Penggunaan CPU Pada Uji Coba Ketiga ................... 94
Gambar 4. 88 Peningkatan Penggunaan Memory Pada Ujicoba Keempat ........... 95
Gambar 4. 89 Peningkatan Penggunaan CPU Pada Uji Coba Keempat ............... 95
Gambar 4. 90 Peningkatan Penggunaan CPU Pada Uji Coba Keempat ............... 96

xi
Gambar 4. 91 Peningkatan Penggunaan Memory Pada Ujicoba Kelima .............. 97
Gambar 4. 92 Peningkatan Penggunaan CPU Pada Uji Coba Kelima .................. 97
Gambar 4. 93 Peningkatan Penggunaan CPU Pada Uji Coba Kelima .................. 98
Gambar 4. 94 Alert Snort pada uji coba 1 serangan DDoS HTTP Flood ............. 99
Gambar 4. 95 Alert Snort pada uji coba 2 serangan DDoS HTTP Flood ............. 99
Gambar 4. 96 Alert Snort pada uji coba 3 serangan DDoS HTTP Flood ............. 99
Gambar 4. 97 Alert Snort pada uji coba 4 serangan DDoS HTTP Flood ............. 99
Gambar 4. 98 Alert Snort pada uji coba 5 serangan DDoS HTTP Flood ............. 99
Gambar 4. 100 Pengguanaan Memory Container Docker Pada Pengujian Kedua
setelah IPS di aktifkan......................................................................................... 100
Gambar 4. 101 Pengguanaan Memory Container Docker Pada Pengujian Ketiga
setelah IPS di aktifkan......................................................................................... 100
Gambar 4. 102 Pengguanaan Memory Container Docker Pada Pengujian Keempat
setelah IPS di aktifkan......................................................................................... 101
Gambar 4. 103 Pengguanaan Memory Container Docker Pada Pengujian Kelima
setelah IPS di aktifkan......................................................................................... 101
Gambar 4. 104 Pengguanaan CPU Container Docker Pada Pengujian Pertama
setelah IPS di aktifkan......................................................................................... 102
Gambar 4. 105 Pengguanaan CPU Container Docker Pada Pengujian Pertama
setelah IPS di aktifkan......................................................................................... 102
Gambar 4. 106 Pengguanaan CPU Container Docker Pada Pengujian Pertama
setelah IPS di aktifkan......................................................................................... 102
Gambar 4. 107 Pengguanaan CPU Container Docker Pada Pengujian Pertama
setelah IPS di aktifkan......................................................................................... 103
Gambar 4. 108 Pengguanaan CPU Container Docker Pada Pengujian Pertama
setelah IPS Di Aktifkan....................................................................................... 103
Gambar 4. 109 Pengguanaan Network Container Docker Pada Pengujian Pertama
setelah IPS di aktifkan......................................................................................... 104
Gambar 4. 110 Pengguanaan Network Container Docker Pada Pengujian Kedua
setelah IPS di aktifkan......................................................................................... 104
Gambar 4. 111 Pengguanaan Network Container Docker Pada Pengujian Ketiga
setelah IPS di aktifkan......................................................................................... 104
Gambar 4. 112 Pengguanaan Network Container Docker Pada Pengujian Keempat
setelah IPS di aktifkan......................................................................................... 105
Gambar 4. 113 Pengguanaan Network Container Docker Pada Pengujian Kelima
setelah IPS di aktifkan......................................................................................... 105
Gambar 4. 114 Parameter Serangan Brute Force ................................................ 106
Gambar 4. 115 Wordlist Username Brute Force ................................................. 107
Gambar 4. 116 Wordlist Password Brute Force ................................................. 107

xii
Gambar 4. 117 Hasil Uji Coba 1 Dengan Serangan Brute Force Login Tanpa
Mengaktifkan IPS................................................................................................ 108
Gambar 4. 118 Uji Coba 2 Serangan Brute Force Tanpa Mengaktifkan IPS ..... 108
Gambar 4. 119 Uji Coba 3 Serangan Brute Force Tanpa Mengaktifkan IPS ..... 108
Gambar 4. 120 Uji Coba 4 Serangan Brute Force Tanpa Mengaktifkan IPS ..... 109
Gambar 4. 121 Uji Coba 5 Serangan Brute Force Tanpa Mengaktifkan IPS ..... 109
Gambar 4. 122 Username Dan Password Pada Database Wordpress ................. 109
Gambar 4. 123 Uji Coba Login Ke Halaman Dashboard Wordpress ................. 110
Gambar 4. 124 Alert Snort Dari Serangan Brute Force ...................................... 111
Gambar 4. 125 Hasil Uji Coba 1 Serangan Brute Force Setelah IPS Diaktifkan 112
Gambar 4. 126 Hasil Uji Coba 2 Serangan Brute Force Setelah IPS Diaktifkan 112
Gambar 4. 127 Hasil Uji Coba 3 Serangan Brute Force Setelah IPS Diaktifkan 112
Gambar 4. 128 Hasil Uji Coba 4 Serangan Brute Force Setelah IPS Diaktifkan 113
Gambar 4. 129 Hasil Uji Coba 5 Serangan Brute Force Setelah IPS Diaktifkan 113

xiii
DAFTAR TABEL

Tabel 3. 1 Tentang Pembahasan IPS dan Container Docker ................................ 37


Tabel 3. 2 Pengalamatan IP................................................................................... 44
Tabel 4. 1 Hasil Analisa Uji Coba Serangan Port Scanning ............................... 114
Tabel 4. 2 Hasil Analisa Uji Coba Serangan DDoS HTTP Flood ...................... 115
Tabel 4. 3 Hasil Analisa Uji Coba Serangan Brute Force Form Login .............. 117
Tabel 4. 4 Tabel Bukti Sebelum Dan Sesudah Penerapan Rules ........................ 118

xiv
DAFTAR LAMPIRAN

Halaman

LAMPIRAN A Jurnal ............................................................................................. A.1

xv
BAB I
PENDAHULUAN
1.1. Latar Belakang
Survei yang dilakukan oleh Sdxcentral pada tahun 2015 menunjukan
bahwa 94% responden yang berasal dari kalangan perusahaan telah
mengadopsi teknologi container. Container-Based Virtualization adalah
metode virtualisasi yang bekerja pada tingkat sistem operasi dengan berbagi
host kernel untuk membuat satu atau lebih wadah (instance) (Djomi et al.,
2018). Salah satu teknologi yang di bangun berdasarkan teknologi container
adalah Docker. Docker merupakan sebuah aplikasi platform virtualisasi
container yang bersifat open source, yang menyediakan platform terbuka
untuk developer maupun sysadmin untuk dapat membangun, mengemas, dan
menjalankan aplikasi dimanapun sebagai sebuah container yang ringan
(Fiddin et al., 2018).
Adopsi pemakaian Docker yang semakin meningkat membuat para
pengguna mulai berfokus pada sisi keamanan sehingga ketersediaan layanan
tetap terjaga. Hal ini terlihat dari berbagai penelitian yang di lakukan oleh
peneliti terkait keamanan pada Docker. Henriksson et.al (2017) menyatakan
bahwa hasil image yang didistribusikan melalui Docker Hub merupakan
sumber kerentanan keamanan pada Docker. Penyerang dapat
mengimplementasikan malware dalam image yang kemudian secara otomatis
dikirim ke repository. Ketika melakukan pull image dan diluncurkan sebagai
container sehingga dapat membahayakan mesin host (Henriksson & Falk,
2017). Bui (2015) menemukan masalah pada Docker terkait dengan model
jaringan standar dimana ethernet virtual bridge yang digunakan pada Docker
memiliki kerentanan terhadap serangan spoofing ARP dan MAC flooding. Hal
ini karena tidak tersedia filter apa pun pada lalu lintas jaringan yang lewat
melalui bridge (Bui, 2015). Selain itu pula telah dilakukan penelitian terhadap
performansi container Docker dalam menghadapi serangan oleh Chrisna
Fiddin et.al (2018). Hasil pengujian menunjukkan bahwa serangan Denial of
Service SYN flood memberikan dampak penurunan performansi dari sisi

1
2

overall performance dan layanan web server baik pada mesin native maupun
menggunakan virtualisasi container Docker (Fiddin et al., 2018).
Penelitian sebelumnya hanya berfokus pada analisa kerentanan,
keamanan dan performansi container ketika menghadapi serangan. Namun
belum ada yang mengarah kepada tindakan preventif sebelum terjadinya
serangan dimana salah satunya menerapkan Intrusion Prevention System
(IPS). Berdasarkan latar belakang tersebut maka mendorong penulis untuk
melakukan penelitian yang berfokus pada analisa penerapan IPS untuk
mengamankan container Docker.
Penerapan IPS menggunakan Snort dapat membantu mengatasi
permasalahan keamanan pada container Docker. Snort memiliki fitur untuk
mendeteksi dan mencegah serangan paket-paket berbahaya dalam jaringan
serta memberikan laporan berupa log kepada administrator tentang aktivitas
dan kondisi jaringan secara real-time. Pengujian IPS pada container Docker
dilakukan dengan melakukan serangan, baik sebelum dan sesudah penerapan
IPS pada container Docker. Terdapat tiga buah serangan yang digunakan
yaitu Port Scannig Attack, Distributed Denial Of Service (DDoS) HTTP
Flood Attack dan Brute Force Form Login. Sedangkan parameter yang
dianalisa terkait unjuk kerja seperti kemampuan memblokir serangan, CPU
Usage, Memory, dan Network Usage.
Dengan adanya penerapan IPS berbasis Snort diharapkan dapat
menjaga ketersediaan layanan yang terdapat pada container dan dapat
mengirimkan notifikasi ketika terjadi aktivitas yang tidak normal. Kemudian
secara reaktif melakukan pemfilteran ketika terjadi serangan pada container
Docker.
1.2. Perumusan Masalah
Rumusan masalah yg ditengahkan pada penelitian ini adalah
“Bagaiamana Menganalisa Intrusion Prevention System (IPS) Menggunakan
Snort Untuk Mengamankan Container Docker?”.
3

1.3. Batasan Masalah


Berdasarkan rumusan masalah yang sudah dikemukakan diatas, dan
untuk membatasi ruang lingkup pembahasan maka ditentukan batasan
masalah sebagai berikut:
1. Rancangan jaringan ujicoba akan disimulasikan menggunakan VirtualBox
yang menggunakan 7 (tujuh) virtual machine (VM), 1 (satu) difungsikan
sebagai host container Docker, 1 (satu) VM sebagai IPS Snort yang di
pungsikan juga sebagai router, 1 (satu) VM untuk client Windows dan 4
(empat) lagi di alokasikan sebagai attacker yang terdiri dari 1 (satu) VM
untuk distribusi serangan dan 3 (tiga) lainnya sebagai komputer zombie.
2. Operating system pada host container Docker menggunakan Linux Ubuntu
18.4.
3. IPS menggunakan Snort 2.9.
4. Operating system pada sisi attacker menggunakan Kali Linux 2019.
5. Operating system pada komputer zombie menggunakan Linux Debian 8.
6. Operating system pada client menggunakan Windows 10.
7. Web server yang digunakan adalah Apache 2.2.15.
8. Parameter yang dianalisa terkait unjuk kerja meliputi kemampuan
membloking serangan, nilai CPU usage, memory, dan network usage
sebelum dan sesudah serangan.
9. Seragan yang digunakan ketika pengujian meliputi:
a. Port Scanning Attack
b. Distributed Denial Of Service (DDoS) HTTP Flood Attack
c. Brute Force Form Login

1.4. Tujuan dan Manfaat Penulisan


1.4.1. Tujuan
Adapun tujuan dari penulisan skripsi ini adalah membangun IPS
berbasis Snort untuk mengamankan container Docker.
1.4.2. Manfaat
Adapun manfaat yang di peroleh dari penelitian ini adalah:
4

1. Bagi Penulis
a. Diharapkan dapat membantu dalam meningkatkan keamanan
jaringan pada container Docker dan layanan yang berjalan
diatasnya.
b. Dapat menambah wawasan, pengetahuan serta pemahaman
tentang kinerja dari Intrusion Prevention System (IPS).
c. Diharapkan dapat menjadi acuan dalam mengukur performansi
IPS dalam menangani serangan pada container Docker.
2. Bagi Masyarakat
Memberikan wawasan dan pengetahuan kepada
administrator jaringan dalam mengamankan layanan container.
3. Bagi ilmu pengetahuan
Hasil penelitian ini dapat memberi sumbangan yang
berharga pada perkembangan ilmu pendidikan, terutama bagi
mahasiswa yang mengambil konsentrasi Jaringan Komputer
sebagai model pembelajaran untuk meningkatkan hasil proses
pembelajaran.
1.5. Metodologi Penelitian
Metodologi penelitian yang penulis gunakan dalam penyusunan skripsi
ini adalah metodologi Network Development Life Cycle (NDLC). Menurut
Goldman dan Rawles (2004), NDLC merupakan model dibalik kunci
perancangan jaringan komputer. NDLC merupakan sebuah siklus proses
perancangan atau pengembangan suatu infrastruktur jaringan yang
memungkinkan terjadinya pemantauan jaringan untuk mengetahui statistik
dan kinerja jaringan. NDLC juga mempunyai elemen yang mendefinisikan
fase, tahapan, langkah atau mekanisme proses yang menggambarkan secara
keseluruhan proses dan tahapan pengembagan sistem jaringan yang
berkesinambungan. Adapun siklus dari tahapan metodologi NDLC yakni
analysis, design, simulation prototyping, implementation, monitoring dan
5

management. Ke-enam tahapan NDLC tersebut, dapat dilihat pada gambar


1.1.

Gambar 1. 1 Tahapan / Model NDLC


(Sumber: Goldman dan Rawles, 2004:470)

Dari enam tahapan yang ada pada metodologi NDLC penulis hanya
menggunakan tiga tahapan pertama yakni analysis, design dan simulation
prototyping sebagai berikut:
1. Analysis
Dalam tahapan analisis ini peneliti melakukan pengumpulan data dengan
cara studi literatur, baik dengan mengumpulkan jurnal, buku, skripsi dan
artikel ilmiah lainnya yang berkaitan dengan judul penelitian. Setelah
melakukan pengumpulan data maka data tersebut selanjutnya akan
dianalisa.
2. Design
Tahap ini membuat rancangan yang meliputi rancangan jaringan ujicoba,
rancangan pengalamatan IP, rancangan sistem dan kebutuhan perangkat
keras maupun perangkat lunak.
3. Simulation Prototyping
Pada tahapan ini akan membuat simulasi jaringan dengan bantuan tool
virtualisasi, melakukan instalasi dan konfigurasi pada virtual machine dan
melakukan ujicoba serangan pada layanan container.
6

1.6. Sistematika Penulisan


Adapun sistematika penulisan yang digunakan pada skripsi ini adalah
sebagai berikut:
BAB I PENDAHULUAN
Bab ini memuat tentang latar belakang, rumusan masalah, batasan masalah,
tujuan dan manfaat, metodologi penelitian serta sistematika penulisan.
BAB II LANDASAN TEORI
Bab ini memuat tentang teori-teori yang melandasi penelitian ini antara lain
jaringan komputer, OSI Layer, TCP/IP, virtualisasi, container, container
Docker, keamanan jaringan, intruition prevention system (IPS), Snort dan
jenis serangan.
BAB III METODOLOGI PENELITIAN
Bab ini memuat tentang tahapan-tahapan dari metodologi penelitian yang
digunakan yaitu tahap pengumpulan data, tahapan perancangan, tahap
konfigurasi, dan tahap ujicoba & analisa hasil konfigurasi.
BAB IV HASIL DAN PEMBAHASAN
Bab ini memuat tentang pembahasan hasil instalasi, konfigurasi dan ujicoba serta
analisa terhadap hasil ujicoba yang telah dilakukan.
BAB V KESIMPULAN DAN SARAN
Bab ini memuat tentang kesimpulan dan saran-saran untuk pengembangan
penelitian ini lebih lanjut.
BAB II
LANDASAN TEORI

2.1. Jaringan Komputer


Jaringan komputer adalah interkoneksi antar dua komputer atau lebih
yang saling terhubung dengan sebuah media transmisi yaitu menggunakan
kabel atau tanpa kabel yang biasa disebut wireless. Arti dari interkoneksi ialah
dua unit komputer yang saling berkoneksi, dikatakan berkoneksi jika
keduannya saling bertukar data atau informasi, berbagi resource yang
dimiliki, seperti file, printer, media penyimpanan. Dalam jaringan komputer,
komputer dapat memberikan layanan atau meminta layanan. Komputer yang
memberikan layanan/service dinamakan komputer server, sedangkan
komputer yang meminta layanan dinamakan komputer client (Ontoseno et al.,
2017).
2.1.1. Jenis-jenis Komputer
Secara umum jaringan komputer terbagi menjadi beberapa bagian
berdasarkan fungsinya yaitu (Sitanggang, 2019):
1. Jaringan Komputer Berdasarkan Jangkauan Geografis
Terdapat berbagai jaringan berdasarkan jangkauan geografis, seperti:
a. Local Area Network (LAN)
Local Area Network (LAN) adalah jaringan komputer yang
jaringannya hanya mencakup wilayah kecil seperti jaringan komputer
kampus, gedung, kantor, dalam rumah, sekolah atau yang lebih kecil.
Saat ini, kebayakan LAN berbasis pada teknologi IEEE 802.3 Ethernet
menggunakan perangkat switch, yang mempunyai kecepatan tranfer data
10,100, atau 100 Mbit/s.

7
8

Gambar 2. 1 Local Area Network


(Sumber: Sitanggang, 2019)

b. Wide Area Network (WAN)


WAN (Wide Area Network) adalah suatu jaringan yang digunakan
untuk membuat interkoneksi antara jaringan komputer Local yang secara
fisik tidak berdekatan satu sama lain, yang secara fisik bisa dipisahkan
dengan kota, provinsi atau bahkan melintasi batas geography lintas
negara dan banua.

Gambar 2. 2 Wide Area Network


(Sumber: Sitanggang, 2019)
9

1. Jaringan Komputer Berdasarkan Media Transmisi Data


Menurut Sitanggang (2019), jaringan komputer berdasarkan media
transmisi data dibagi menjadi 2, yaitu:
a. Jaringan Berkabel (Wired Network)
Media transmisi data yang digunakan dalam jaringan ini berupa
kabel. Kabel tersebut digunakan untuk menghubungkan satu komputer
dengan komputer lainnya agar bisa saling bertukar informasi/ data atau
terhubung dengan internet.

Gambar 2. 3 Jaringan Berkabel


(Sumber: Satuberuang, 2019)

b. Jaringan Nirkabel (Wireless Network)


Pada jaringan ini diperlukan gelombang elektromagnetik sebagai
media transmisi datanya. Berbeda dengan jaringan berkabel (Wired
Network), jaringan ini tidak menggunakan kabel pada saat bertukar
informasi/ data,dengan komputer lain melainkan menggunakan
gelombang elektro untuk mengirimkan sinyal informasi/data antar
komputer satu dengan komputer lainnya.
10

Gambar 2. 4 Jaringan Nirkabel


(Sumber: Satuberuang, 2019)

2. Jaringan Komputer Berdasarkan Peran dan Hubungan Komputer


dalam Memproses Data
Menurut Sitanggang, (2019) jaringan komputer berdasarkan peran dan
hubungan komputer dalam memproses data dibagi menjadi 2, yaitu:
a. Jaringan Client-Server
Pada Jaringan ini terdiri dari satu atau lebih komputer server dan
komputer client. Pada umumnya terdiri dari satu komputer server dan
beberapa komputer client. Komputer server bertugas menyediakan
sumber daya data, sedangkan komputer client hanya dapat menggunakan
sumber daya data tersebut.
b. Jaringan Peer To Peer
Dalam jaringan ini, masing-masing komputer, baik itu komputer server
maupun komputer client mempunyai kedudukan yang sama. Jadi,
komputer server dapat menjadi komputer client, dan sebaliknya
komputer client juga dapat menjadi komputer server.
3. Jaringan Komputer Berdasarkan Topologi Jaringan yang
Digunakan
Menurut Ontoseno dkk, (2017) topologi jaringan adalah suatu cara atau
konsep untuk menghubungkan beberapa atau banyak komputer sekaligus
11

menjadi suatu jaringan yang saling terkoneksi. Dan setiap macam topologi
jaringan komputer akan berbeda dari segi kecepatan pengiriman data, biaya
pembuatan, serta kemudahan dalam proses maintenancenya. Beberapa
macam topologi jaringan diantaranya yaitu:
a. Topologi Bus
Topologi Bus adalah topologi pertama kali digunakan untuk
menghubungkan komputer. Dalam topologi ini masing-masing komputer
akan terhubung ke satu kabel panjang dengan beberapa terminal, dan
pada akhir dari kabel harus diakhiri dengan satu terminator. Topologi ini
sudah sangat jarang digunakan didalam membangun jaringan komputer
karena memiliki beberapa kekurangan diantaranya kemungkinan
terjadinya tabrakan aliran data, jika salah satu perangkat putus atau
terjadi kerusakan pada satu bagian komputer maka jaringan langsung
tidak akan berfungsi sebelum kerusakan tersebut di atasi.

Gambar 2. 5 Topologi Jaringan Bus


(Sumber: Ontoseno, Haqqi, and Hatta (2017))

b. Topologi Ring
Topologi Ring merupakan topologi yang menghubungkan beberapa
komputer dengan membentuk sebuah lingkaran. Komputer yang
terhubung dalam sebuah jaringan lan terkoneksi pada 2 komputer lain.
12

Gambar 2. 6 Topologi Jaringan Ring


(Sumber: Ontoseno, Haqqi, and Hatta (2017))

c. Topologi Start
Topologi Star/Bintang merupakan bentuk topologi jaringan yang berupa
konvergensi dari node tengah ke setiap node atau pengguna. Topologi
jaringan star/bintang termasuk topologi jaringan dengan biaya
menengah.

Gambar 2. 7 Topologi Start


(Sumber: Ontoseno, Haqqi, and Hatta (2017))

2.2. Open System Interconnection (OSI)


Menurut Try Wahyudinata (2013), model referensi jaringan terbuka
OSI atau OSI Reference Model for open networking adalah sebuah model
arsitektural jaringan yang dikembangkan oleh badan International
13

Organization for Standardization (ISO) di Eropa pada tahun 1997. OSI


sendiri merupakan singkatan dari Open System Interconnection. Model ini
disebut juga dengan model “Model tujuh lapis OSI” (OSI seven layer model).
Tujuan utama penggunaan model OSI adalah untuk membantu designer
jaringan memahami fungsi dari tiap layer yang berhubungan dengan aliran
komunikasi data. Termasuk jenis-jenis protokol jaringan dan metode
transmisi. Model dibagi menjadi 7 Layer, dengan karakteristik dan fungsintya
masing-masing. Tiap layer harus dapat berkomunikasi dengan layer di
atasnya maupun dibawahnya secara langsung melalui sederetan protokol dan
standar.

Gambar 2. 8 Model OSI Layer


(Sumber: Try Wahyudinata, 2013)

Menurut Try Wahyudinata (2013) masing-masing dari tiap layer OSI


memepunyai fungsi sebagai berikut:
1. Application
Application layer menyediakan jasa untuk aplikasi pengguna, layer ini
Bertanggung jawab atas pertukaran informasi antara program komputer,
seperti program e-mail dan servis lain yang berjalan di jaringan seperti
server printer atau aplikasi komputer lainnya. Berfungsi sebagai
antarmuka dengan aplikasi dengan fungsionalitas jaringan. Mengatur
bagaimana aplikasi dapat mengakses jaringan, dan kemudian membuat
14

pesan-pesan kesalahan. Protokol yang berada dalam lapisan ini adalah


HTTP, FTP, MTP, dan NFS.
2. Presentation
Presentation layer bertanggungjawab bagaimana data dikonversi dan di
format untuk transfer data. Contoh konversi format text ASCII untuk
dokumen, .GIF dan .JPG untuk gambar layer ini membentuk kode
konversi, trnslasi data, enkripsi dan konversi. Berfungsi untuk
mentranslasikan data yang hendak ditransmisikan oleh aplikasi kedalam
format yang dapat ditransmisikan melalui jaringan. Protokol 5 yang
berada dalam level ini adalah perangkat lunak director (redictor
Software). Seperti layanan worksatation (dalam Windows NT) dan juga
Network Shell semacam Virtual Network Computing (VNC) atau Remote
Dekstop Protocol (RDP).
3. Session
Session layer menentukan bagaimna dua terminal menjaga, memelihara
dan mengatur koneksi. Bagaimna mereka saling berhubungan satu sama
lain. Koneksi di layer di sebut “Session”. Berfungsi untuk
mendefinisikan bagaimana koneksi dapat dibuat, dipelihara atau di
hancurkan. Selain itu, di level ini juga dilakukan resolusi nama.
4. Transport
Transport layer bertanggung jawab membagi data menjadi segmen,
menjaga koneksi logika “end-to-end” antar terminal, dan menyediakan
penanganan error (error handling). Berfungsi untuk memecahkan data
kedalam paket-paket tersebut sehingga dapat disusun kembali pada sisi
tujuan yang telah diterima. Selain itu, pada level ini juga membuat tanda
bahwa paket diterima dengan sukses (acknowledgement) dan
mentransmisikan ulang terhadap paket-paket yang hilang di tengah jalan.
5. Network
Network layer bertanggung jawab menentukan alamat jaringan,
menentukan rute yang harus diambil selama perjalanan, menjaga antrian
tafik di jaringan. Data pada layer ini berbentuk “Paket”. Berfungsi untuk
15

mendefinisikan alamat-alamat IP, membuat Header untuk paket-paket


dan kemudian melakukan routing melalui internet-working dengan
menggunakan router dan switch layer 3.
6. Data Link
Data link layer menyediakan link untuk data. Memaketkannya menjadi
frame yang berhubungan dengan hardwere kemudian diangkut melalui
media komunikasinya dengan kartu jaringan, mengatur komunikasi layer
Physical antara sistem koneksi dengan penaganan error. Berfungsi untuk
menentukan bagaimana bit-bit data dikelompokan menjadi format yang
disebut sebagai frame. Selain itu, pada level ini terjadi koreksi kesalahan,
flow control, pengalamatan perangkat keras seperti halnya di Media
Access Control Address (MAC Address), dan menetukan bagaimna
perangkat perangkat jaringan seperti hub, bridge, repeater dan switch
layer 2 beroperasi. Spesifikasi IEEE 802, membagi level ini menjadi dua
level anak, yaitu lapisan Logical Link Control (LLC) dan lapisan Media
Access Control (MAC).
7. Physical
Physical layer bertanggung jawab atas proses data menjadi bit dan
mentransfernya melalui media (seperti kabel) dan menjaga koneksi fisik
antar system. Berfungsi untuk mendefinisikan media transmisi jaringan,
metode pensinyalan, sinkronisasi bit, arsitektur jaringan (seperti halnya
Ethernet atau token Ring), topologi jaringan dan pengkabelan. Selain itu,
level ini juga mendefinisikan bagaimana Networl Interface Card (NIC)
dapat berinteraksi dengan media kabel atau radio.
2.3. Transmission Control Protocol / Internet Protocol (TCP/IP)
Transmission Control Protocol/Internet Protocol (TCP/IP) adalah
sekelompok protocol yang merupakan standar komunikasi data dalam proses
tukar menukar data dari satu komputer ke komputer lain di dalam suatu
jaringan (Wardoyo dkk, 2014). Sedangkan menurut Sinsuw dkk, (2014) nama
TCP/IP diambil dari dua protokol yaitu TCP dan IP yang masih memiliki
protokol utama lainnya seperti UDP dan ICMP. Protokol TCP/IP memberikan
16

framework networking yang digunakan oleh banyak protokol aplikasi


berbeda, di mana masing-masing protokol digunakan untuk tujuan berbeda.

Gambar 2. 9 Perbandingan Layer TCP/IP dan Layer OSI


(Sumber: Wardoyo, Ryadi, dan Fahrizal (2014)

Berikut fungsi dari masing-masing layer pada protokol TCP/IP (Riadi, 2011):
1. Network Access Layer
Layer network access merupakan gabungan antara dua layer yaitu
network interface layer dan physical layer, network interface layer
berfungsi untuk mengirim data ke physical layer melalui device jaringan
kemudian dilanjutkan oleh physical layer yang merupakan sistem kabel
yang digunakan untuk proses mengirim dan menerima data.
2. Internet Layer
Pada lapisan internet terjadi proses pengambilan paket dari lapisan
transport dan menambahkan informasi alamat sebelum mengirimkannya
ke lapisan network interface.
3. Transport Layer
Pada lapisan transport terdapat protokol seperti TCP dan UDP yang
berfungsi menambahkan data transport ke paket dan melewatkannya ke
lapisan Internet.
4. Application Layer
Pada lapisan application terdapat protokol seperti FTP, Telnet, SMTP,
dan NFS dilaksanakan.
17

2.4. Virtualisasi
Virtualisasi adalah teknik membuat versi abstrak atau virtual dari suatu
sumber daya, sehingga pada satu sumber daya fisik dapat dijalankan atau
disimpan beberapa sumber daya virtual sekaligus (Fiddin et al., 2018). Secara
teknik, virtualisasi dapat di aplikasikan ke beberapa infrastruktur yaitu
perangkat keras (hardware), jaringan (network), media penyimpanan
(storage), aplikasi dan sistem operasi (Djomi et al., 2018a). Berikut gambaran
sebelum dan setelah virtualisasi diterapkan :

Gambar 2. 10 Arsitektur sebelum dan setelah Virtualisasi


(Sumber: Toni and Putra (2019))

Sebelum virtualisasi diterapkan, arsitektur IT setiap mesin mampu


untuk melakukan eksekusi terhadap satu sistem operasi. Setelah virtualisasi
diterapkan satu mesin memiliki kapabilitas untuk menjalankan beberapa
sistem operasi yang telah dilakukan enkapsulasi menggunakan mesin virtual.
Virtualisasi dapat dideskripsikan pula sebagai metode untuk membagi
sumber daya (resources) dari sebuah komputer ke beberapa environments
yang dapat dieksekusi secara bersama. Terdapat tiga kategori virtualisasi
yaitu full virtualization, paravirtualization, dan OS resource virtualization
(Djomi et al., 2018a). Berikut penjelasan ketiga kategori tersebut :
1. Full Virtualization - adalah virtualisasi yang tidak mewajibkan pengguna
untuk mengganti sistem operasi maupun aplikasi. Virtualisasi dapat
berjalan secara transparan pada level perangkat keras sistem. Kategori ini
18

merupakan metode yang paling lambat diantara ketiga kategori


virtualisasi. Hypervisor merupakan metode virtualisasi yang termasuk
dalam kategori ini.
2. Paravirtualization - merupakan virtualisasi yang lebih cepat dibanding
full virtualization, namun pengguna disyaratkan untuk menyesuaikan
system operasi atau aplikasi dengan platform yang akan dijalankan.
Linux Container (LXC) merupakan metode virtualisasi yang termasuk
dalam kategori ini.
3. OS Resource Virtualization - yaitu virtualisasi yang tidak mewajibkan
pengguna untuk melakukan penyesuaian aplikasi apabila virtualisasi
berada di level OS API. Sistem operasi melakukan manajemen jumlah
resources, dengan ini beberapa aplikasi dapat berjalan diatas satu sistem
operasi. Merupakan virtualisasi yang paling cepat diantara ketiga
kategori virtualisasi. Docker Container merupakan metode virtualisasi
yang termasuk dalam kategori jenis ini.

2.5. Container-Based Virtualization


Container-Based Virtualization adalah salah satu dari tiga jenis
virtualisasi yang ada selain hardware virtualization dan paravirtualization.
Berbeda dengan virtualisasi berbasis hypervisor yang melakukan virtualisasi
hardware dan driver, container melakukan virtualisasi pada tingkat sistem
operasi (Morabito, 2017). Konsep dasar dari container adalah sebuah sistem
yang memungkinkan untuk membuat layanan dan sumber daya yang berbeda
dengan cara berbagi di dalam sebuah sistem operasi dan berjalan
menggunakan libraries, drivers dan binaries yang berbeda. Konsep ini
mengurangi jumlah sumber daya yang terbuang selama komputasi
dikarenakan container hanya menjalankan dan menyediakan kebutuhan
binary atau library yang sesuai dengan aplikasi atau layanan yang dijalankan
(Fiddin et al., 2018).
19

Gambar 2. 11 Arsitektur virtualisasi Container


(Sumber: Morabito, 2017)

2.6. Docker Conatiner


Docker adalah salah satu platform aplikasi yang dibangun berdasarkan
teknologi container. Docker merupakan sebuah aplikasi platform virtualisasi
container yang bersifat open source, yang menyediakan platform terbuka
untuk developer maupun sysadmin untuk dapat membangun, mengemas, dan
menjalankan aplikasi dimanapun sebagai sebuah container yang ringan
(Fiddin et al., 2018).
Docker pertama kali dikembangkan oleh Solomon Hykes sebagai
project internal di dotCloud Bersama dengan beberapa koleganya yaitu
Andrea Luzzardi dan Francois-Xavier Bourlet. Platform Docker ini pertama
kali rilis secara open source pada tahun 2013 (Docker, 2019). Sistem kerja
dari Docker berbeda dengan sistem kerja virtualisasi Hardware Virtual
Machine (HVM) dan Paravirtualized Virtual Machine (PVM), yang mana
pada virtualisasi tersebut aplikasi yang dibuat akan berjalan di atas hypervisor
dan guest OS, sedangkan dengan menggunakan Docker dapat menjalankan
aplikasi langsung tanpa kedua hal tadi. Selain itu, berkat fitur sandbox,
pengembang leluarsa untuk berkreasi tanpa takut merusak programnya
(Fiddin et al., 2018).
20

2.7. Arsitektur Docker


Docker menggunakan arsitektur client-server. Docker client
mengirimkan request ke Docker daemon untuk untuk membangun,
mendistribusikan, dan menjalankan container Docker. Docker client dan
daemon dapat berjalan pada sistem yang sama. Antara Docker client dan
Docker daemon berkomunikasi via socket menggunakan RESTful API
melalui soket UNIX atau antarmuka jaringan (Docker, 2019).

Gambar 2. 12 Arsitektur Docker


(Sumber: Docker, 2019)
Docker terdiri dari beberapa element yaitu Docker client, Docker
daemon, Docker container, Docker images dan Docker registry (Docker,
2019). Berikut penjelasan mengenai komponen yang ada didalam aristektur
Docker:
1. Docker Daemon
Berfungsi untuk membangun, mendistribusikan dan menjalankan
container Docker. User tidak dapat langsung menggunakan Docker
daemon, akan tetapi untuk menggunakan Docker daemon maka user
menggunakan Docker client sebagai perantara atau CLI.
2. Docker Client
Adalah langkah utama bagi pengguna Docker untuk melakukan interaksi
dengan Docker. Docker client memungkinkan untuk berkomunikasi
lebih dari satu daemon.
21

3. Docker Registries
Merupakan komponen yang menyimpan images dari Docker. Image
Docker dapat disimpan pada repository seperti Docker Hub dan Docker
Cloud yang bersifat public sehingga dapat digunakan siapa saja.
4. Docker Images
Merupakan template dengan konsep read-only yang disertai dengan
instruksi untuk membuat sebuah Docker container.
5. Containers
Adalah sebuah komponen yang dapat dijalankan dari sebuah image.
Memungkinkan untuk membuat, menjalankan, memberhentikan,
menghapus atau memindahkan container menggunakan Docker API
maupun CLI.

2.7.1. Docker Engine


Docker engine merupakan sebuah aplikasi client-server yang
memiliki 3 komponen utama sebagai berikut :
1. Sebuah server dengan jenis program long-running disebut proses
daemon.
2. Sebuah REST API yang menentukan interface yang dapat digunakan
program untuk berbicara dengan daemon dan menginstruksikan apa
yang harus dilakukan.
3. Sebuah client yang memberikan perintah melalui Command Line
Interface (CLI).
22

Gambar 2. 13 Docker Engine


(Sumber: Docker, 2019)

Client menggunakan Docker CLI berbasis Docker REST API untuk


mengontrol atau berinteraksi dengan Daemon Docker melalui scripting atau
perintah CLI langsung.

2.7.2. Docker File


menurut Docker (2019) Docker File merupakan sebuah skrip
otomasi (builder) yang membangun sebuah image. Sebuah Dockerfile
merupakan dokumen teks atau skrip yang berisi semua perintah yang
biasanya kita lakukan manual untuk membangun sebuah image. Dengan
menggunakan perintah Docker build dari terminal, kita akan melihat Docker
membangun image step by step mengeksekusi perintah berurutan.

2.7.3. Docker Compose


Docker compose adalah alat untuk mengkonfigurasi bagaimana
Docker image dijalankan, dengan alat ini kita bisa mengkonfigurasi port apa
yang akan kita buka dan mengatur environment aplikasi (Kusuma et al.,
2017). Dengan Docker compose kita bisa menjalankan kontainer satu
dengan yang lainya dengan satu perintah . Docker compose juga
menggunakan yaml file untuk menyimpan konfigurasi dari service yang
dibuat.
23

Gambar 2. 14 Contoh Docker Compose


(Sumber: Kusuma, Munadi, and Sanjoyo, 2017)

2.7.4. Dasar Jaringan Docker


Container menggunakan kemampuan partisi Linux yang disebut
Cgroups dan namespaces. Proses container diatur oleh Docker engine
sehingga proses didalam container dapat dipetakan ke dalam jaringan,
sistem penyimpanan dan namespaces lainnya. Di sisi jaringan, namespace
memiliki hubungan jaringan sendiri dengan interface jaringan host, tabel
routing, soket dan aturan IPTABLE. Arsitektur jaringan Docker dibangun
di atas satu set antarmuka yang disebut Container Networking Model
(CNM). Filosofi CNM adalah menyediakan dukungan portabilitas aplikasi
di berbagai infrastruktur (Fiddin et al., 2018).

Gambar 2. 15 Docker Container Networking Model


(Sumber: Docker, 2019)
24

Pada saat menginstal Docker didalamnya sudah terdapat Driver


native, driver tersebut merupakan bagian dari Docker Engine sehingga tidak
memerlukan modul tambahan. Driver tersebut dapat digunakan melalui
perintah standar jaringan Docker. Berikut adalah beberapa pilihan driver
native untuk membuat konfigurasi jaringan pada Docker:
a. Host
Host Dengan driver host, container menggunakan hubungan jaringan
host. Tidak ada pemisahan namespace, dan semua interface pada host
bisa langsung digunakan oleh container.
b. Bridge
Driver bridge membuat jembatan antara jaringan host dengan kontainer
yang dikelola oleh Docker. Secara default kontainer Docker yang
dijalankan akan menggunakan mode jaringan ini, dan dengan mode ini
kontainer bisa berkomunikasi dengan kontainer satu sama lain. Dan
untuk akses dari jaringan eksternal ke jaringan kontainer juga dapat
dikonfigurasi melalui driver bridge.
c. Overlay
Driver ini menciptakan jaringan overlay yang mendukung jaringan
multi-host di jaringan eksternal. Driver ini menggunakan kombinasi
bridge Linux lokal dan VXLAN untuk menyediakan jaringan overlay
komunikasi container-to-container melalui infrastruktur jaringan fisik.
d. Macvlan
Dengan menggunakan mode Macvlan, container dapat membangun
hubungan antara interface container dan interface jaringan host atau sub
antarmuka. Hal ini mendukung dalam pemberian alamat IP ke kontainer
yang dapat dirouting pada jaringan fisik. Selain itu, VLANs dapat
dihubungkan ke driver Macvlan untuk menerapkan segmentasi pada
layer 2.
e. None
Driver ini memberikan konfigurasi networking dan namespace jaringan
yang tersendiri namun interface jaringan tidak dikonfigurasi di dalam
25

container. Tanpa adanya konfigurasi tambahan, container tersebut


benar-benar terisolasi dari hubungan jaringan host.

2.8. Keamanan Jaringan


Secara umum keamanan jaringan didefinisikan sebagai suatu upaya
pengamanan jaringan dan data-data yang dapat diakses oleh pengelola
jaringan terhadap pihak-pihak yang tidak berkepentingan (Shafitri, 2013).
Keamanan jaringan sangatlah penting dilakukan dalam memberikan rasa
aman serta mencegah terjadinya serangan dari hacker. Keamanan jaringan
komputer sebagai bagian dari sebuah sistem sangat penting untuk menjaga
validasi dan integritas data serta menjamin ketersediaan layanan bagi
penggunanya.
2.9. Aspek Keamanan Jaringan
Keamanan jaringan komputer sangatlah penting dilakukan untuk
memonitor akses jaringan dan mencegah penyalahgunaan sumber daya
jaringan yang tidak sah atau illegal. Terdapat lima aspek yang menjadikan
keamanan jaringan sangatlah penting, di antaranya sebagai berikut (Shafitri,
2013):
1. Confidentiality
Confidentiality (Kerahasiaan) yaitu informasi atau data hanya bisa
diakses oleh pihak yang memiliki hak akses.
2. Integrity
Integrity (Integritas) yaitu informasi atau data hanya bisa diubah oleh
pihak yang memiliki hak akses.
3. Authentication
Authentication (Otentikasi) yaitu pengiriman suatu informasi dapat
diidentifikasi dengan benar dan tidak palsu.
4. Availability
Availability (Ketersediaan) yaitu tersedianya pihak yang memiliki hak
akses ketika dibutuhkan.
26

2.10. Intrusion Prevention Sistem (IPS)


IPS adalah pendekatan yang sering digunakan untuk membangun
sistem keamanan komputer, IPS mengkombinasikan IPtables dan metode
Intrusion Detection System (IDS) dengan sangat baik. Teknologi ini dapat
digunakan untuk mencegah serangan yang akan masuk ke jaringan lokal
dengan memeriksa dan mencatat semua paket data serta mengenali paket
dengan sensor, Ketika serangan telah teridentifikasi, IPS akan menolak akses
(block) dan mencatat (log) semua paket data yang teridentifikasi tersebut. Jadi
IPS bertindak seperti Firewall yang akan melakukan allow dan block yang
dikombinasikan seperti IDS yang dapat mendeteksi paket secara detail. IPS
menggunakan signatures untuk mendeteksi di aktivitas traffic di jaringan dan
terminal, dimana pendeteksian paket yang masuk dan keluar (inbound-
outbound) dapat mencengah, sebelum merusak atau mendapatkan akses ke
dalam jaringan lokal. Jadi early detection dan prevention menjadi penekanan
pada IPS (Pakpahan et al., 2017).
2.10.1. Jenis-jenis Intrusion Prevention System (IPS)
Dalam pengaplikasiannya, teknologi IDS secara umum dibagi
menjadi 2 (Aldila et al., 2013).
1. Host-based Intrusion Prevention System (HIPS)
HIPS diinstal secara langsung di sistem yang diproteksi untuk
dimonitor aktifitas sistem internalnya. HIPS disatukan dengan kernel
sistem operasi, sehingga HIPS bisa memantau dan menghadang
system call yang dicurigai dalam rangka mencegah terjadinya intrusi
terhadap host. HIPS juga bisa memantau aliran data dan aktivitas pada
aplikasi tertentu. Contohnya HIPS untuk mencegah intrusion pada
web server. Dari sisi security mungkin solusi HIPS bisa mencegah
datangnya ancaman terhadap host, tetapi dari sisi performance, harus
diperhatikan apakah HIPS memberikan dampak negatif terhadap
unjuk kerja host. Karena menginstall dan binding HIPS pada sistem
operasi mengakibatkan penggunaan resource komputer host menjadi
semakin besar.
27

2. Network-based Intrusion Prevention System (NIPS)


Network-based Intrusion Prevention System (NIPS) tidak melakukan
pantauan secara khusus di satu host saja, tetapi melakukan pantauan
dan proteksi dalam satu jaringan secara global. NIPS menggabungkan
fitur IPS dengan firewall dan kadang disebut sebagai InLine IDS atau
Gateway Intrusion Detection System (GIDS).

Gambar 2. 16 Alur kerja IPS


(sumber: Unaki, 2018)

2.10.2. Sistem Kerja Intrusion Prevention System


Menurut Aldila dkk, (2013) terdapat 3 jenis metode yang digunakan
IPS untuk mendeteksi serangan, yaitu :
1. Signature-based Detection
Sistematika IPS yang berbasis signature adalah dengan cara
mencocokkan lalu lintas jaringan dengan signature database milik
IPS yang berisi attacking rule atau cara-cara serangan dan penyusupan
yang sering dilakukan oleh penyerang. Sama halnya dengan antivirus,
IPS berbasis signature membutuhkan update terhadap signature
database untuk metode-metode penyerangan terbaru. IPS berbasis
signature juga melakukan pencegahan terhadap ancaman intrusi
sesuai dengan signature database yang bersangkutan.
2. Statistical Anomaly-based Detection
Sistematika IPS yang berbasis anomali adalah dengan cara
melibatkan pola-pola lalu lintas jaringan yang pernah terjadi.
Umumnya dilakukan dengan menggunakan teknik statistik. Statistik
28

tersebut mencakup perbandingan antara lalu lintas jaringan yang


sedang di monitor dengan lalu lintas jaringan yang biasa terjadi
(normal state). Metode ini dapat dikatakan lebih kaya dibandingkan
signature-based IPS, karena anomaly-based IPS dapat mendeteksi
gangguan terhadap jaringan yang terbaru yang belum terdapat di
database IPS. Tetapi kelemahannya adalah potensi timbulnya false
positive, yaitu pesan/log yang belum semestinya dilaporkan. Sehingga
tugas Network Administrator menjadi lebih rumit, dengan harus
memilah-milah mana yang merupakan serangan yang sebenarnya dari
banyaknya laporan false positive yang muncul.
3. Stateful Protocol Analys Detection
Teknik lain yang digunakan adalah dengan cara melakukan
monitoring berkas-berkas sistem operasi pada host. IPS akan melihat
apakah ada percobaan untuk mengubah beberapa berkas sistem
operasi, terutama berkas log. Teknik ini diimplementasikan dalam IPS
jenis Hostbased Intrusion Prevention System (HIPS).
2.11. Snort
Menurut Shafitri (2013) Snort adalah sebuah software yang berfungsi
untuk mengawasi aktivitas dalam suatu jaringan komputer. Snort
menggunakan sistem peraturan-peraturan (rules system) untuk melakukan
deteksi dan pencatatan (logging) terhadap berbagai macam serangan terhadap
jaringan komputer. Dengan membuat berbagai rules untuk mendeteksi ciri-
ciri khas (signature) dari berbagai macam serangan, maka Snort dapat
mendeteksi dan melakukan logging terhadap serangan-serangan tersebut.
Snort merupakan software opensource berdasarkan GNU General Public
License [GNU89], sehingga boleh digunakan dengan bebas secara gratis, dan
kode sumber (source code) untuk Snort juga bisa didapatkan dan dimodifikasi
sendiri. Snort pada awalnya dibuat untuk sistem operasi berdasarkan Unix,
tetapi versi Windows juga sudah dibuat sehingga sekarang ini Snort bersifat
cross-platform”.
29

Gambar 2. 17 Alur kerja Snort


(sumber: Shafitri, 2013)

2.11.1. Metode Pengoprasian Snort


Menurut Fathoni dkk, (2016) Snort dapat dioperasikan dalam 3 mode,
yaitu:
1. Sniffer mode
Dalam mode ini, Snort bertindak sebagai software sniffer yang dapat
melihat semua paket yang lewat dalam jaringan komputer, dimana Snort
diletakkan. Dalam mode ini, berbagai paket hanya ditampilkan di layar
monitor secara real time. b. Packet logger mode Dalam mode ini, selain
melihat semua paket yang lewat dalam jaringan komputer, Snort juga
dapat mencatat atau melakukan logging terhadap berbagai paket
tersebut ke disk. Dengan kata lain, Snort membuat copy dari paket-paket
yang lewat dan menyimpan copy tersebut di disk sehingga pengguna
Snort dapat melakukan analisis terhadap traffic jaringan atau untuk
keperluan lain.
2. Packet Logger Mode
Dalam mode ini, selain melihat semua paket yang lewat dalam jaringan
komputer, Snort juga dapat mencatat atau logging terhadap semua paket
data yang tertangkap dalam jaringan komputer ke dalam disk. Snort
secara otomatis log tersebut akan berada pada directory /var/log/snort.
3. Intrusion detection mode
Dalam mode yang paling rumit dan fleksibel ini, Snort bertindak sebagai
Network Intrusion Detection System yang dapat mendeteksi dan
melakukan logging terhadap berbagai macam serangan terhadap
30

jaringan komputer berdasarkan rules system yang telah ditetapkan oleh


pengguna Snort. Rules system di Snort akan mendeteksi serangan-
serangan tersebut berdasarkan ciri-ciri khas (signature) dari serangan
tersebut.
2.11.2. Komponen Snort
Snort memiliki beberapa komponen-komponen yang bekerja sama
dalam mendeteksi sebuah aktivitas mencurigakan dan mengeluarkan sebuah
peringatan sesuai dengan konfigurasi yang ada, beberapa komponen Snort
adalah (Suryadinata et al., 2017).
1. Libpcap
Berfungsi memisahkan paket data yang melalui Ethernet card untuk
selanjutnya digunakan oleh Snort.
2. Packet Decoder
Berfungsi mengambil data pada layer 2 yang dikirim dari paket capture
library.
3. Preprocessor
Preprocessors adalah komponen atau sebuah plug-in yang digunakan
oleh Snort untuk mengatur atau merubah paket data sebelum Detection
Engine melakukan tugasnya untuk mencari sebuah aktivitas yang
mencurigakan. Preprocessor sangat penting dalam IDS untuk
menyiapkan paket data untuk dianalisis sesuai dengan rule - rule yang
digunakan detection engine.
4. Detection Engine
Paket yang datang dari packet decoder akan dibandingkan dengan rules
yang telah ditetapkan sebelumnya. Rules berisi
tanda-tanda yang termasuk serangan.
5. Output
Output yang dihasilkan berupa report dan alert. Ada banyak variasi
output yang dihasilkan Snort, seperti teks (ASCII), XML, syslog,
tcpdump, binary format, atau database.
31

2.11.3. Rule Snort


Rule adalah bagian penting dari Snort. Rule berupa script yang dapat
mengenali adanya tindakan penyusupan yang sedang terjadi pada jaringan
komputer kita berdasarkan signature. fungsi dari rule inilah yang membuat
Snort sangat baik dalam pendeteksian penyusupan, setiap rule memiliki dua
logical bagian yaitu rule header dan rule option. Rule header mengandung
informasi tentang aksi yang akan diambil. Rule header juga mengandung
kriteria untuk pencocokan sebuah rule terhadap paket data. Sedangakn rule
option biasanya mengandung peringatan dan informasi tentang bagian mana
dari paket yang harus digunakan untuk menghasilkan pesan peringatan.
Bagian rule option berisi kriteria tambahan untuk pencocokan rule terhadap
paket data, bagian rule option inilah yang lebih menentukan kemampuan
Snort dalam mendeteksi adanya tindakan ancaman (Fathoni et al., 2016).
Struktur dari rule hader terdiri dari :
1. Action : menjelaskan tipe aksi yang akan diambil oleh sebuah rule.
2. Protocol : protokol menjelaskan tentang protokol yang akan dilihat oleh
rule.
3. Address : address yang pertama menejelaskan asal IP paket data dan
address kedua menjelaskan tujuan IP paket data.
4. Port : port yang pertama menjelaskan asal port paket data dan port yang
kedua menjelaskan tujuan port paket data.
5. Direction : menejelaskan tujuan paket data.

2.12. IPTables
Menurut Kuswanto, 2014 IPTables adalah suatu firewall dalam sistem
operasi linux yang berfungsi sebagai alat untuk melakukan filter
(penyaringan) terhadap (trafic) lalu lintas data. IPTables memiliki tiga fungsi
utama untuk menentukan arah putaran paket data, ketiga fungsi tersebut yaitu
packet Filtering, NAT, Packet Mangling. Paket filtering digunakan untuk
memilah dan memberikan ijin ACCEPT/DROP pada suatu paket data,
sedangkan NAT digunakan untuk mengubah alamat IP sumber atau tujuan
dari suatu paket dalam jaringan, dan untuk Paket Mangling digunakan untuk
32

memodifikasi paket QoS (Quality of Service). IPTables juga memiliki tiga


macam daftar aturan bawaan dalam table penyaringan, daftar tersebut
dinamakan rantai firewall (firewall chain) atau sering disebut chain saja. Pada
saat sebuah paket sampai pada sebuah lingkaran, maka disitulah terjadi proses
penyaringan.

Gambar 2. 18 Diagram IPTables


(sumber: Shafitri, 2013)

IPtables merupakan firewall yang cukup dominan digunakan karena


memiliki berbagai macam kemampuan untuk melakukan pengaturan
terhadap keluar masuknya paket data. Pada dasarnya terdapat 2 aturan utama
atau biasa disebut dengan CHAINS yaitu CHAIN INPUT dan CHAIN
FORWARD.
1. INPUT
Aturan yang digunakan oleh firewall untuk mengatur paket – paket data
yang menuju Firewall.
2. FORWARD
Aturan yang digunakan oleh firewall untuk mengatur paket – paket yang
meninggalkan menuju ke jaringan yang lain. Paket – paket data yang ada
akan diperiksa untuk kemudian diberikan keputusan, ada beberapa
keputusan yang diterapkan antara lain :
33

a. ACCEPT
Apabila ditemukan paket yang sesuai dengan aturan untuk di
ACCEPT, maka firewall akan langsung menerima untuk kemudian
meneruskan paket tersebut.
b. DROP
Apabila ditemukan paket yang sesuai dengan aturan untuk di-DROP,
maka firewall akan langsung membuang paket tersebut tanpa
mengirimkan pesan ERROR apapun ke pengirim.
c. REJECT
Apabila ditemukan paket yang sesuai dengan aturan untuk di-
REJECT, maka firewall akan langsung membuang paket tersebut
namun disertai dengan mengirimkan pesan ERROR ICMP “ port
unreachable
2.13. Jenis Serangan Yang Digunakan Dalam Penelitian
1. Distributed Denial of Service (DOS)
Distributed Denial of Service (DDOS) adalah metode serangan yang
dilakukan dengan mengirim banyak paket ke target atau melakukan
overloading resources menggunakan beberapa komputer bot/zombie,
sehingga sistem tidak dapat digunakan dan diakses oleh orang lain
(Perdana et al., 2019) . DDOS mempunyai beberapa tipe serangan. Berikut
adalah tipe-tipe serangan DoS :
1. UDP Flood Attack
UDP Flood Attack adalah serangan yang membanjiri port secara acak
dari host jarak jauh dengan paket UDP dalam jumlah yang besar. Ini
menyebabkan host berulang kali memeriksa aplikasi yang terhubung
ke port dan membalas dengan ICMP Destination Unreachable packet
ketika tidak ada aplikasi yang ditemukan. Akibatnya, host
menghabiskan cukup banyak sumber daya dan tidak sanggup
merespon.
2. Internet Control Message Protocol Flood atau ICMP Flood
34

Serangan ini adalah masuk dalam kategori Smurf Attack. Dalam


serangan ini, penyerang mengirimkan banyak paket ICMP yang
memalsukan alamat sumber korban. Akibatnya, semua komputer
dalam jaringan mengirimkan banyak balasan ke komputer korban.
Akibatnya, komputer korban mengkonsumsi semua banwidth
jaringannya dalam mengirim balasan dan sumber dayanya menjadi
tidak tersedia untuk beroperasi.
3. Ping Flood
Dalam serangan ini, penyerang mengirim sejumlah besar Permintaan
Echo ICMP atau paket ping ke alamat IP korban yang ditargetkan
dalam jumlah besar, sehingga terjadi banjir ping. Akibatnya, korban
mulai merespon setiap paket ICMP dengan mengirimkan paket
balasan Echo ICMP dan menghabiskan semua bandwidth
jaringannya, sehingga menghasilkan serangan DoS.
4. Ping of Death
Paket ping yang dikirim dengan benar biasanya berukuran 56 byte.
Tetapi setiap paket IPv4 mungkin bisa sampai 65.535 byte. Jika
penyerang mengirimkan paket ping yang sangat besar ke alamat IP
korban, paket IP akan mencapai target korban yang dibagi menjadi
beberapa fragmen. Ketika komputer korban akan mengumpulkan
kembali fragmen IP, itu akan menghasilkan paket IP yang lebih besar
dari 65.535 byte. Akibatnya, komputer korban tidak bisa menangani
ping tersebut dan menyebabkan terjadi buffer overflow. Hal ini dapat
menyebabkan sistem mengalami crash dan memungkinkan untuk
diinjeksi kode berbahaya. Jenis serangan ini disebut Ping of Death.
5. SYN Flood
Dalam sebuah serangan SYN Flood, penyerang mengirimkan
permintaan koneksi ke server korban dalam jumlah besar, dan
memalsukan alamat IPnya. Akibatnya, server korban akhirnya
memunculkan banyak koneksi setengah terbuka dan mengirim
kembali paket TCP/SYN-ACK, lalu menunggu respon. Tetapi karena
35

penyerang telah memalsukan alamat IPnya, paket yang dikirim


akhirnya menuju ke alamat IP yang salah dan server
tidak akan pernah mendapat balasan. Tapi koneksi setengah terbuka
ini bisa melewati jumlah maksimum koneksi terbuka yang dapat
dimiliki server dan server tidak bisa lagi menanggapi permintaan yang
sah, yang akhirnya menghasilkan serangan DoS.
6. HTTP Flood
HTTP Flood Attack adalah serangan di mana penyerang mengirim
banyak permintaan HTTP GET atau HTTP HTTP yang berbahaya ke
server web. Permintaan ini mengkonsumsi sejumlah besar source
server. Akibatnya, Web server akan sibuk dan mengonsu.
2. Port Scanning
Port Scanning adalah salah satu serangan yang cukup berbahaya, teknik
ini dapat memetakan karakteristik, mendeteksi port yang terbuka bahkan
mendapatkan informasi penting pada suatu jaringan atau host untuk
kemudian diteruskan ke serangan lebih lanjut.
3. Brute Force Form Login
Teknik hacking Brute Force adalah salah satu teknik hacking untuk
meretas password sebuah server, jaringan, atau host, dengan cara
mencoba semua kemungkinan kombinasi password yang ada pada
wordlist atau kamus password (Risyad et al., 2018). Metode ini dijamin
akan berhasil menemukan password yang ingin diretas. Brute Force
attack menggunakan Metasploit adalah sebuah metode untuk menebak
suatu kunci dari sebuah enkripsi atau sebuah otentikasi dengan cara
mencobanya berkali-kali dengan berbagai macam kombinasi huruf dan
angka.

2.14. VirtualBox
VirtualBox adalah perangkat lunak virtualisasi, yang dapat digunakan
untuk mengeksekusi sistem operasi tambahan di dalam sistem operasi
utama(Romadona et al., 2019). Sebagai contoh, jika seseorang mempunyai
sistem operasi MS Windows yang terpasang di komputernya, maka seseorang
36

tersebut dapat pula menjalankan sistem operasi lain yang diinginkan di dalam
sistem operasi Microsoft Windows.
Saat ini, VirtualBox dapat berjalan di Windows, Linux, Macintosh,
Solaris hosts serta mendukung sejumlah besar sistem operasi tamu namun
tidak terbatas pada Windows (NT 4.0, 2000, XP, Server 2003, Vista,
Windows 7), DOS/Windows 3.x, Linux (2.4 and 2.6), Solaris dan
OpenSolaris, OS/2, dan juga OpenBSD. Sampai saat ini VirtualBox telah
mencapai versi 6.0.

Gambar 2. 19 Tampilan Graphical User Interface VirtualBox

2.15. Linux
Menurut Shafitri, 2013 Linux adalah nama dari suatu sistem operasi
komputer bertipe Unix yang bersifat open source. Karena bersifat open
source,kode sumber Linux dapat dimodifikasi, digunakan, dan didistribusikan
kembali secara bebas oleh siapapun. Sistem operasi Unix dikembangkan dan
diimplementasikan pada tahun 1960-1n dan pertama kali dirilis pada tahun
1970. Kernel Linux yang bersifat Unix ini dibuat oleh Linus Torvalds, dibuat
sebagai versi non-komersial pengganti sistem operasi MINIX pada saat itu.
Linux melakukan konfigurasi sendiri terhadap sistemnya, sehingga tingkat
sekuritinya cenderung lebih tinggi daripada sistem operasi lainnya. Biaya
yang diperlukan untuk Linux juga lebih rendah
BAB III
METODOLOGI

Metodologi yang digunakan oleh penulis dalam penulisan skripsi ini adalah
Network Development Life Cycle (NDLC). Dari keenam tahapan pada NDLC
tersebut, penulis hanya menggunakan tiga tahapan, metode ini digunakan agar
penulis dapat memiliki urutan kerja yang efisien. Adapun tahap-tahap yang akan
dilakukan adalah sebagai berikut:
1. Analysis
2. Design
3. Simulation Prototyping

3.1. Analysis

3.1.1. Pengumpulan Data


Pada tahap pengumpulan data ini penulis menggunakan metode studi
literatur yaitu dengan mempelajari beberapa artikel ilmiah yang membahas
tentang Intrusion prevention system (IPS) dan analisa keamanan pada
container Docker. Selain itu penulis juga menggunakan data dan informasi
dari berbagai sumber antara lain internet, buku, paper, e-book, dan artikel
ilmiah. Berdasarkan penelusuran yang diperoleh terdapat beberapa artikel
yang berkaitan dengan Intrusion prevention system (IPS) dan analisa
keamanan pada container Docker. Seperti terlihat pada tabel 3.1.
Tabel 3. 1 Tentang Pembahasan IPS dan Container Docker
No Penulis Tahun Judul Pembahasan

1. I Gusti 2017 Implementasi mengamankan


Ngurah Pandu Keamanan jaringan cloud
Wibisana, Jaringan Berbasis computing dari
Nina Cloud Computing aspek
Hendrarini, & Menggunakan confidentiality,
Devie Ryana Intrusion integrity dan
Suchendra Prevention System availability dengan
(IPS) Dan menggunakan

37
38

Autentikasi Intrusion Prevention


Kerberos. System (IPS) dan
metode autentifikasi
Kerberos.

2. Rifqi Fauzan 2017 Perancangan dan Membangun sistem


Pratama Implementasi keamanan pada
Adaptive Intrusion arsitektur Software-
Prevention System Defined Network
(IPS) untuk (SDN) dengan
Pencegahan menghubungkan
Penyerangan pada Adaptive Intrusion
arsitektur Prevention System
Software-Defined (IPS), controller, dan
Network (SDN). sistem fuzzy.

3. Ririn Agustin, 2018 Implementasi Mengimplementasik


Iskandar Fitri, Metode Intrusion an Intrusion
& Novi Dian Detection Systems Prevention System
Nathasia (IDS) dan (IPS) menggunakan
Intrusion Snort pada jaringan
Prevention System LAN untuk
(IPS) Berbasis mengetahui akurasi
Snort Server Untuk Snort server dalam
Keamanan memberikan alert
Jaringan LAN. dan memblokir
serangan.

4. Chrisna 2018 Analisis Menganalisa kinerja


Fiddin, Dr. Performansi performansi
Rendy Virtualisasi container Docker
Munadi, Container dari sisi overall
Ir.,M.T., & Menggunakan performance,
Ratna Docker Dibawah jaringan dan layanan
Mayasari, S.T, Serangan web server dibawah
M.T. Networked Denial serangan serangan
of Service (DoS). DoS SYN flood.

5. Romadona, 2019 Performansi Menganalisa dan


Riki Tanzila Computer membandingkan
Perdana, Doan Clustering Pada performansi dalam
39

Mayasari, Virtual Machine pengukuran CPU


Ratna Dan Docker usage dari beberapa
Container Dengan jenis teknik
Metode DDoS virtualisasi yaitu
Attack Docker, dan virtual
machine.

3.1.2. Analisa Data


Berdasarkan hasil dari pengumpulan data maka dapat diperoleh hasil
analisa sebagai berikut:
1. Jurnal ilmiah pertama melakukan penelitian terkait pengamanan pada
server cloud computing di lihat dari aspek confidentiality, integrity dan
availability dengan menggabungkan Intrusion Prevention System (IPS)
berbasis Snort dan metode autentifikasi Kerberos. Kerberos dan IPS
bekerja dengan baik dan dapat mengatasi masalah confidentiality,
integrity dan keamanan pada server cloud computing.
2. Jurnal ilmiah kedua membahas tentang implementasi sistem keamanan
pada arsitektur Software-Defined Network (SDN) dengan
menghubungkan Adaptive Intrusion Prevention System (IPS),
controller, dan sistem fuzzy. Sistem yang terdiri dari komponen utama
yaitu Ryu, Snort, dan fuzzy dapat saling terhubung dan dapat
mendeteksi serangan dan memblokir penyerang dengan durasi yang
sesuai dengan frekuensi serta jenis serangan yang telah dilakukan.
3. Jurnal ilmiah keempat membahas tentang implementasikan Intrusion
Prevention System (IPS) menggunakan Snort pada jaringan LAN untuk
mengetahui akurasi Snort server dalam memberikan alert dan
memblokir serangan. Sistem IPS mampu melakukan blocking IP
serangan dan deteksi serangan dengan hasil rata-rata nilai akurasi
99.98% dan menghasilkan rata-rata nilai response time yang baik yaitu
kurang dari 1 second.
4. Jurnal ilmiah ketiga membahas tentang Analisa performansi container
Docker dari sisi overall performance, jaringan dan layanan web server
40

pada saat kondisi normal dan mendapatkan serangan DoS SYN flood.
Secara umum dampak dari setiap serangan yang dilancarkan terhadap
overall performance tidak cukup besar, ini dikarenakan kapasitas
jaringan dalam hal ini lebar bandwidth yang terbatas, serta kecepatan
pemrosesan baik pada node server maupun client yang cukup cepat.
5. Jurnal ilmiah kelima membahas tenatang analisa dan perbandingan
performansi dalam pengukuran CPU usage dari beberapa jenis teknik
virtualisasi yaitu Docker, dan virtual machine (Virtualbox dan KVM)
dengan membebankan server dengan menggunakan serangan DDOS
sebagai pembangkit trafik. Selanjutnya hasil performansi antara Docker
dan virtual machine tersebut akan dilihat apakah ada perbedaan
performansi dalam kinerja CPU, yang selanjutnya akan dilakukan
perbandingan untuk pemilihan jenis virtualisasi yang lebih baik.
Berdasarkan hasil penelusuran artikel jurnal ilmiah yang terkait, maka
dapat diketahui bahwa belum terdapat penelitian yang membahas tentang
Analisa Penerapan Intrusion Prevention System (IPS) Menggunakan Snort
Untuk Mengamankan Container Docker. Penelitian sebelumnya hanya
berfokus pada analisa kerentanan, keamanan dan performansi container
ketika menghadapi serangan. Namun belum ada yang mengarah kepada
tindakan preventif sebelum terjadinya serangan pada container Docker. Dari
artikel tersebut juga, diperoleh penerapan IPS merupakan metode yang
sangat efektif untuk mengamankan jaringan komputer seperti
server,jaringan LAN, arsitektur SDN dan layanan Cloud Computing dari
serangan-serangan yang dapat merusak sistem jaringan. Oleh karena itu
pada penelitian ini, penulis akan berfokus pada analisa penerapan IPS untuk
mengamankan container Docker.
3.1. Tahap Desain (Design)
Pada tahapan perancangan ini meliputi rancangan topologi alur kerja
sistem yang akan digunakan dalam melakukan percobaan serangan dan
pendeteksian adanya intrusi pada container Docker, pengalamatan IP
Address pada host dan node container Docker, IPS Snort, client Windows,
41

Attacker dan komputer zombie, serta identifikasi kebutuhan perangkat keras


dan perangkat lunak sebagai pendukung ujicoba.
3.2.1. Rancangan Jaringan Uji Coba Pada VirtualBox
Dalam rancangan uji coba akan disimulasikan secara virtualisasi
menggunakan VirtualBox yang dijalankan pada 1 (satu) komputer dengan
system operasi Windows 10 sebagai host machine (VM) dan client untuk
mengakses layanan yang ada pada container Docker. Di dalam VirtualBox
terdapat 6 (enam) VM, 1 (satu) difungsikan sebagai host container Docker,
1 (satu) VM sebagai IPS Snort yang di pungsikan juga sebagai router, 1
(satu) dann 4 (empat) lagi di alokasikan sebagai attacker yang terdiri dari 1
(satu) VM untuk distribusi serangan dan 3 (tiga) lainnya sebagai komputer
zombie.
Adapun rancangan jaringan uji coba pada VirtualBox terlihat seperti
yang ditujukan pada gambar 3.1.

Gambar 3. 1 Rancangan Topologi Uji Coba pada VirtualBox


42

3.2.2. Rancangan Topologi Uji Coba Serangan


Terdapat 3 (tiga) serangan yang akan di uji cobakan yaitu serangan
Port Scanning, serangan DDoS HTTP Flood dan serangan Brute Force Form
Login. Hasil rancangan topologi ketiga serangan uji coba yang di buat
sebagai berikut:
1. Rancangan Topologi Uji Coba Serangan Port Scannig

Gambar 3. 2 Rancangan Topologi Uji Coba Serangan Port Scanning

Berdasarkan gambar 3.2 diatas dapat dijelaskan bahwa setiap ada


permintaan (request) dari komputer attacker untuk mengakses host
container Docker, akan di verifikasi oleh IPS Snort terlebih dahulu, apabila
request yang masuk memiliki kecocokan dengan aturan pada rule yang
sudah dibuat maka request tersebut akan langsung di drop dan di simpan
dalam direktori log. Sebaliknya apabila di rule Snort aturannya diizinkan,
maka paket akan diteruskan ke container Docker.
43

2. Rancangan Topologi Uji Coba Serangan DDoS HTTP Flood

Gambar 3. 3 Rancangan Topologi Uji Coba Serangan DDoS HTTP Flood

Berdasarkan gambar 3.3 diatas dapat dijelaskan bahwa setiap ada request
dari ketiga VM zombie menuju container Docker, akan di verifikasi oleh
IPS Snort terlebih dahulu, apakah request tersebut termasuk dalam kategori
serangan DDoS HTTP Flood akan dilakukan pengecekan terhadap rule
Snort yang sudah di buat, apabila request yang masuk memiliki kecocokan
dengan aturan pada rule yang sudah dibuat maka request tersebut akan
langsung di drop dan di simpan dalam direktori log.
3. Rancangan Topologi Uji Coba Serangan Brute Force Form Login

Gambar 3. 4 Rancangan Topologi Uji Coba Brute Force Login

Berdasarkan gambar 3.4 diatas dapat dijelaskan bahwa setiap ada


permintaan (request) dari VM Attacker untuk mengakses layanan container
Wordpress, akan di verifikasi oleh IPS Snort terlebih dahulu, apakah request
44

tersebut termasuk dalam kategori serangan Brute Force Login atau,


selanjutnya semua paket yang masuk akan dilakukan pengecekan terhadap
rule Snort yang sudah di buat, apabila request yang masuk memiliki
kecocokan dengan aturan pada rule yang sudah dibuat maka request tersebut
akan langsung di drop dan di simpan dalam direktori log.
3.2.2. Rancangan Pengalamatan IP
Rancangan pengalamatan IP dari jaringan ujicoba ini menggunakan
network class C dengan 2 (dua) alamat network yaitu 192.168.10.0/24 dan
192.168.20.0/24. Alamat network 192.168.10.0/24 dialokasikan untuk
zone-inside dan alamat network 192.168.20.0/24 dialokasikan untuk zone-
outside. Untuk keterangan pengalamatan yang digunakan pada jaringan
ujicoba ini dapat dilihat pada tabel 3.2.
Tabel 3. 2 Pengalamatan IP
No Perangkat interfaces IP Address Netmask Keterangan

Enp0s17 192.168.10.1 255.255.255.0 Zone-Inside


Host Docker
1. Docker0 172.18.0.1 255.255.0.0 Bridge
Container

2. Container Docker0 172.18.0.3 255.255.0.0 Bridge


Docker

3. Attacker Eth0 192.168.20.253 255.255.255.0 Zone-Outside

4. Com-zombie 1 Eth1 192.168.20.1 255.255.255.0 Zone-Outside

5. Com-zombie2 Eth1 192.168.20.2 255.255.255.0 Zone-Outside

6. Com-zombie3 Eth1 192.168.20.3 255.255.255.0 Zone-Outside

7 Client-windows Vmnet1 192.168.20.4 255.255.255.0 Zone-Outside

Eth0 192.168.10.254 255.255.255.0 Zone-Inside

8. IPS Snort Eth1 192.168.20.254 255.255.255.0 Zone-Outside


45

3.2.3. Rancangan Alur Kerja Sistem


Alur Kerja Sistem
Attacker IPS Snort Container Docker

Sensor mencocokkan
Mulai Paket diterima
paket dengan rule

Mengirim Paket Serangan/ Tidak Selesai


intrusi?

YA

notifikasi serangan

Blokir serangan
menggunakan
IPTables

Menyimpan
log file

Selesai

Gambar 3. 2 Rancangan Alur Kerja Sistem

Diagram alir pada gambar 3.2 diatas merupakan, alur proses kerja
Snort yang akan dibuat. Setiap request yang dikirim oleh attacker akan
disaring oleh Snort sebelum diteruskan ke container Docker. Apabila rule
Snort tidak mendeksi adanya serangan maka Snort mengizinkan paket
tersebut untuk lewat dan diteruskan ke container Docker, tetapi apabila pada
paket yang di kirim cocok dengan rule Snort dan terdeteksi adanya
serangan, maka Snort akan mengirimkan notifikasi dan IPTables akan
langsung membelokir serangan yang masuk, selanjutnya Snort akan
menyimpan history dari aktivitas serangan tersebut ke dalam direktori log.
Adapun beberapa proses kerja dalam sistem ini adalah sebagai
berikut:
1. Administrator akan memasukkan parameter apa saja yang ingin
digunakan sesuai dengan rule yang ingin dibuat dan serangan jenis apa
yang akan di blokir.
46

2. Snort akan membaca rule yang diterapkan sebagai acuan untuk


mengambil keputusan dalam memproses paket yang lewat atau masuk.
3. Mengintegrasikan Snort dengan aturan IPTables agar dapat memblokir
serangan yang masuk secara otomatis.
4. Kemudian proses selesai.

3.2.4. Kebutuhan Perangkat Keras Dan Perangkat Lunak


Untuk mendukung rancangan ujicoba yang telah dibuat maka
dibutuhkan perangkat keras dan perangkat lunak yang dapat mendukung
implementasi dari rancangan yang dibuat.
1. Kebutuhan Perangkat Keras
Kebutuhan perangkat keras pada rancangan uji coba ini terdiri dari 1
(satu) buah host container Docker, 1 (satu) buah host IPS Snort, 1 (satu)
buah client windows, 1 (satu) buah komputer Attacker dan 3 (tiga) buah
komputer zombie.
1. Kebutuhan Perangkat Keras pada IPS Snort
• Laptop Intel Core i5
• Random Access Memory 2 GB
• Processor Intel Core i5-8250U speed 1.8 GHz
• Keyboard
• Network Adapter
• Hard Disk 20 GB
2. Kebutuhan Perangkat Keras Pada Host Container Docker
• Laptop Intel Core i5
• Random Access Memory 2 GB
• Processor Intel Core i5-8250U speed 1.8 GHz
• Keyboard
• Network Adapter
• Hard Disk 20 GB
3. Kebutuhan Perangkat Keras Pada Attacker
• Laptop Intel Core i5
47

• Random Access Memory 1 GB


• Processor Intel Core i5-8250U speed 1.8 GHz
• Keyboard
• Network Adapter
• Hard Disk 20 GB
4. Kebutuhan Perangkat Keras Pada Komputer Zombie
• Laptop Intel Core i5
• Random Access Memory 500 MB
• Processor Intel Core i5-8250U speed 1.8 GHz
• Keyboard
• Network Adapter
• Hard Disk 20 GB
5. Perangkat Keras Client yang digunakan adalah:
• Laptop Intel Core i5
• Random Access Memory 1 GB
• Processor Intel Core i5-8250U speed 1.8 GHz
• Keyboard
• Network Adapter
• Hard Disk 10 GB

2. Kebutuhan Perangkat Lunak


Adapun perangkat lunak yang dibutuhkan dalam pembangunan sistem
ini adalah sebagai berikut:
a. VirtualBox Garaphical User Interface Version 6.0.22 untuk
membangun virtualisasi sistem uji coba.
b. Sistem Operasi Ubuntu 18.2 LTS digunakan sebagai sistem operasi
pada host container Docker.
c. Sistem Operasi Kali Linux 2018 digunakan sebagai sistem operasi pada
sisi Attacker.
d. Sistem operasi Debian 8.7.1 digunakan sebagai sistem operasi dasar
pada IPS Snort dan sistem operasi pada komputer zombie.
48

e. Sistem Operasi Windows 10 yang digunakan sebagai sistem operasi


pada client.
f. Docker untuk membangun virtualisasi container pada server.
g. Apache 2 untuk menjalankan layanan web pada container Docker.
h. Wordpress sebagai layanan yang dijalankan diatas container Docker.
i. Portainer untuk mengelola service container Docker.
j. Mysql 5.7 sebagai database management system pada layanan
Wordpress.
k. Paket aplikasi Snort 2.9.16 yang digunakan untuk mengamankan
container Docker.
l. Bahasa pemrograman Python yang digunakan untuk pembuatan script
distribusi serangan ke komputer zombie.
m. Chrome web browser untuk mengakses layanan Wordpress dan
portainer.
n. Wireshark di gunakan untuk menangkap paket-paket jaringan dan
menampilkan semua informasi paket.
o. Torshammer sebagai aplikasi penyerangan DDoS HTTP Flood.
p. Metasploit untuk melakukan serangan BruteForce username dan
password login Wordpress.
q. NMAP yang digunakan sebagai Tool untuk melakukan percobaan
penetrasi port scanning pada container Docker.
3.2. Tahap Simulation Prototyping
Tahap ini terdiri dari 3 bagian yaitu instalasi dan konfigurasi pada
masing-masing perangkat pendukung, uji coba dan analisa hasil. Uji coba
terdiri dari dua bagian yaitu uji coba verifikasi konfigurasi dan pengujian
serangan dan pengamanan.
3.3.1. Tahap Instalasi Dan Konfigurasi
Pada tahap installasi dan konfigurasi dibagi menjadi 5 tahap yaitu
installasi dan konfigurasi pada host dan container Docker, komputer
attacker, komputer zombie, komputer client windows dan host IPS Snort
yang di fungsikan juga sebagai router.
49

1. Konfigurasi Container Docker


Konfigurasi pada container Docker meliputi pengaturan IP Address
pada interface host container Docker, instalasi paket-paket yang di
butuhkan untuk menjalankan container Docker, mengatur network pada
conatiner Docker agar dapat terhubung dengan jaringan pengujian dan
melakukan instalasi layanan Wordpress di dalam container Docker.
2. Konfigurasi komputer Attacker
Konfigurasi pada komputer Attacker meliputi pengaturan IP Address
dan gateway pada interface agar dapat terhubung dengan container Docker,
pengaturan secure shall (SSH) key authentication antara komputer attacker
dengan komputer zombie dan melakukan instalasi aplikasi serangan. Untuk
dapat melakukan serangan secara terdistribusi akan di buat script yang dapat
mengontrol semua komputer zombie yang telah dibuat.
3. Konfigurasi Komputer Zombie
Konfigurasi pada komputer zombie meliputi pengaturan IP Address
dan gateway pada interface, secure shall (SSH) dan instalasi aplikasi
Torshammer untuk melakukan serangan.
4. Konfigurasi Komputer Client Windows
Konfigurasi pada komputer client Windows meliputi pengaturan IP
Address dan gateway pada interface agar dapat terubung dan dapat
mengakses layanan Wordpress yang ada pada container Docker.
5. Konfigurasi IPS Snort
Konfigurasi pada host IPS Snort yang di fungsikan juga sebagai router
meliputi, pengaturan IP Address pada masing-masing interface, mengatur
IP forwarding sehingga mesin dapat berfungsi sebagai router yang dapat
meneruskan paket yg masuk dari zone-outside ke zone-inside.
Selanjutnya konfigusrasi pada IPS Snort meliputi instalasi paket-paket
pendukung Snort, instalasi Snort, instalasi Data Acquisition Library (DAQ)
yang berfungsi untuk menghubungkan Snort dengan IPTables,
menambahkan IP address network yang akan di amankan, mengaktifkan
Snort inline mode supaya Snort dapat berkomunikasi dengan dengan
50

IPTables untuk memblokir serangan yang masuk dan menambahkan rule


Snort yg sesuai dengan serangan yang di ujikan.
3.4.2. Skenario Pengujian
Pada bagian ini terdapat dua skenario pengujian yaitu pengujian
serangan ke container Docker dengan tidak mengaktifkan IPS dan
pengujian serangan ke container Docker dengan mengaktifkan IPS.
Pengujian yang akan dilakukan terdiri dari beberapa model serangan yang
akan digunakan oleh Attacker. Adapun serangan yang akan dilakukan
adalah sebagai berikut:
1. Serangan pertama adalah Port Scanning, yaitu melakukan scanning
pada host container Docker untuk melihat port-port yang terbuka dan
terhubung dengan container Docker.
2. Serangan kedua adalah DDoS HTTP Flood, serangan ini di lakukan
dengan cara mengirimkan paket data secara terus menerus, agar layanan
Wordpress yang ada pada container Docker tidak dapat bekerja dengan
maksimal.
3. Serangan ketiga yaitu dengan Brute Force form login, yaitu dengan
mencoba mendapatkan username dan password untuk mengakses
layanan Wordpress pada container Docker.
3.4.3. Analisa Uji Coba
Pada tahap ini akan dilakukan analisa hasil uji coba dari semua teknik
serangan yang dilakukan. Analisa yang dilakukan mencakup performa
container Docker sebelum dan sesudah penerapan intrusion prevention
system (IPS), sehingga dari hasil analisa akan dapat diperoleh hasil dan
kesimpulan apakah IPS dapat mengamankan container Docker dari
berbagai serangan yang telah diuji coba. bagaimana respon IPS Snort
terhadap serangan yang dilakukan dan bagaimana aksi loging aktivatas yang
dilakukan oleh IPS dalam jaringan.
BAB IV
HASIL DAN PEMBAHASAN

Bab ini memuat tentang pembahasan dari hasil instalasi dan konfigurasi
pada setiap perangkat, uji coba dan analisa terhadap hasil uji coba yang telah
dilakukan.
4.1. Hasil Instalasi dan konfigurasi
Hasil instalasi dan konfigurasi terdiri dari lima bagian yaitu hasil
instalasi konfigurasi pada host IPS Snort, host container Docker, komputer
attacker, komputer zombie dan komputer client.
4.1.1. Hasil Instalasi dan Konfigurasi Host IPS Snort
Terdapat 5 (lima) tahapan instalasi dan konfigurasi yang di lakukan
pada host IPS yaitu instalasi Linux Debian 8 sebagai sistem operasi,
konfigurasi pengalamatan IP dan routing jaringan, instalasi dan konfigurasi
paket Data Acquisition Library (DAQ), paket Snort dan pembuatan shall
script untuk menjalankan dan mematikan Snort.
Hasil instalasi sistem operasi Linux Debian 8 pada VM yang
difungsikan sebagai host IPS, seperti terlihat pada gambar 4.1.

Gambar 4. 1 Hasil Instalasi Linux Debian 8

Terlihat bahwa Linux Debian 8 telah berhasil diinstalasi. Sedangkan hasil


dari konfigurasi pengalamatan IP pada setiap interface dari host IPS, seperti
terlihat pada gambar 4.2.

51
52

Gambar 4. 2 Hasil Konfigurasi IP Pada IPS Snort

Terlihat interface eth0 dan eth1 telah berhasil di konfigurasi secara static
mengguanakn alamat IP 192.168.10.254 dengan subnet mask 255.255.255.0
pada interface eth0 dan alamat IP 192.168.10.254 dengan subnet mask
255.255.255.0 pada interface eth1.
Untuk menghubungkan semua VM di jaringan pengujian dan
meneruskan paket data dari zone-outside ke zone-inside, maka perlu di
lakukan routing dengan cara mengaktifkan IP forwarding pada host IPS
Snort, untuk mengaktifkan IP forwarding yaitu dengan mengubah
konfigurasi IP forwarding yang awalnya bernilai 0 menjadi bernilai 1 seperti
terlihat pada gambar 4.3 berikut:

Gambar 4. 3 Hasil Konfigurasi IP Forwarding


53

Terlihat “net.ipv4.ip_forward” telah bernili 1 (satu) yang menandakan


bahwa IP forwarding sudah aktif.
Untuk bisa menjalankan Snort pada mode inline supaya bersifat aktif
dalam melakukan pencegahan pemblokiran serangan, maka Snort
membutuhkan paket DAQ agar bisa terhubung dan bekerja sama dengan
modul IPTables, DAQ akan menghubungkan IPTables dan Snort dengan
menggunakan metode NFQUEUE, hasil instalasi dari paket DAQ terlihat
pada gambar 4.4.

Gambar 4. 4 Hasil Instalasi DAQ

Terlihat paket DAQ sudah berhasil terinstal, setalah paket DAQ berhasil
terinstal, maka tahap selanjutnya adalah instalsi paket Snort, hasil dari
instalasi paket Snort bisa dilihat pada gambar 4.5.

Gambar 4. 5 Hasil Instalasi Paket Snort


54

Terlihat paket Snort sudah berhasil terinstal, pada paket Snort akan di
lakukan konfigurasi terkait jaringan yang akan di amankan, pembuatan
local rule sebagai acuan untuk deteksi serangan dan mengaktifkan Snort
mode inline, sehingga Snort dapat perkomunikasi dengan IPTables untuk
memblokir serangan. Hasil verifikasi dari konfigurasi pada paket Snort
terlihat pada gambar 4.6.

Gambar 4. 6 Hasil Verifikasi Dari Konfigurasi Pada Paket Snort

Terlihat bahwa konfigurasi Snort yang telah berhasil di verifikasi dan dapat
berjalan dengan baik.
Berikutnya yaitu pebuatan script shall snort-start.sh yang akan
difungsikan untuk menjalankan Snort pada mode inline NFQ dan dapat
berkomunikasi dan bekerja sama dengan IPTables untuk memblokir
serangan, seperti yang terlihat pada gambar 4.7.

Gambar 4. 7 Hasil Pembuatan Script Snort-start.sh

Penjelasan dari shall script snort-start.sh diatas adalah sebagai berikut:


55

Baris ke 2 (dua) samapi dengan baris ke 6 (enam) adalah aturan IPTables


yang berfungsi untuk melakukan filter paket yang masuk dan paket yang
akan di teruskan ke jaringan yang lain, mode NFQUEUE pada IPTables
digunakan sebagai penghubung, supaya Snort dan IPTables bisa
berkomunikasi apabila ada paket yang lewat. Sedangkan baris ke 8
(delapan) merupakan perintah untuk menjalankan Snort dalam mode inline
NFQ. Untuk menghentikan Snort pada mode inline maka di buat shall script
snort-stop seperti yang terlihat pada gambar 4.8.

Gambar 4. 8 Hasil Pembuatan Script Snort-stop.sh

Penjelasan dari shall script snort-stop.sh diatas adalah sebagai berikut:


Baris ke 1 (satu) adalah perintah untuk mematikan program Snort yang
sedang berjalan pada inline mode, sedangkan baris ke 2 (dua) berfungsi
untuk menghapus seluruh aturan IPTables yang sudah di buat dan di
jalankan oleh script snort-start.sh.
4.1.2. Hasil Instalasi dan Konfigurasi Host Container Docker
Pada host container Docker terdapat 4 (empat) tahapan instalasi dan
konfigurasi yang di lakukan yaitu instalasi dan kofigurasi dasar Linux
Ubuntu 18 LTS sebagai sistem operasi, konfigurasi pengalamatan IP,
instalasi dan konfigurasi Docker Engine dan Docker Compose agar bisa
menjalankan service layanan container, serta konfigurasi Portainer yang
digunakan untuk mempermudah manajemen Docker.
Hasil dari konfigurasi pengalamatan IP pada host container Docker
seperti terlihat pada gambar 4.9.
56

Gambar 4. 9 Hasil Konfigurasi IP Pada Host Container Docker

Terlihat interface enp0s17 telah mengguanakn alamat 192.168.10.1 dengan


subnet mask 255.255.255.0 dan gateway 192.168.10.254, sehingga host
container Docker sudah bisa terhubung dengan jaringan pengujian.
Berikutnya yaitu melakukan instalasi Docker Engine. Docker Engine
berfungsi sebagai Mesin Docker untuk membangun Docker Images dan
membuat Docker Container. Hasil instalasi Docker Engine dapat di lihat
seperti terlihat pada gambar 4.10 berikut.
57

Gambar 4. 10 Hasil Instalasi Docker Engine

Terlihat Docker sudah berhasil terinstal dengan perintah “apt-get install


docker-ce socker-ce-cli”. Setelah Docker Engine berhasil diinstal, maka
Docker container sudah dapat menjalankan semua jenis images yang berada
dalam Dockerhub,
Selanjutnya adalah instalasi Docker Compose, Docker Compose
adalah salah satu fitur pada Docker yang berfungsi untuk menjalankan
banyak Container/multi Container hanya dengan menjalankan satu
perintah. Docker Compose menggunakan file ( .yaml ) untuk mengatur atau
mengkonfigurasi service pada aplikasi yang ingin di buat dan di jalankan.
Hasil instalasi Docker Compose dapat di lihat sepert pada gambar 4.11.
58

Gambar 4. 11 Hasil Konfigurasi IP Pada Host Container Docker

Terlihat bahwa Docker Compose sudah berhasil terinstal dan dapat di


gunakan untuk menjalankan service layanan container Docker.
Pada penelitian ini akan di jalankan layanan aplikasi Wordpress
dengan menggunakna Docker Compose. Langakah pertama yaitu dengan
membuat Dockerfile dengan nama Docker-compose.yml, kemudian di isi
dengan konfigurasi untuk mengatur service aplikasi yang ingin di buat dan
di jalankan seperti terlihat pada gambar 4.12

Gambar 4. 12 Hasil Konfigurasi Docker-compose.yml


59

Adapun penjelasan dari baris konfigurasi Dockerfile diatas adalah sebagai


berikut:
- Version : Menyatakan versi Docker Compose yang di gunakan.
- Services : Daftar service yang saya jalankan di Docker Compose.
- Image : Image Container yang akan dijalankan di Docker Compose.
- Ports : Menyatakan port yang diexpose oleh service tersebut didalam
satu jaringan Docker Compose
- Depends_on : Menyatakan suatu service bergantung pada service lain,
sehingga service tersebut akan dijalankan setelah service yang
bergantung kepadanya sudah aktif.
- Volumes : Menyatakan file yang di inject atau di sisipkan kedalam
container yang akan dijalankan didalam service Docker Compose.
- Networks : digunakan untuk membuat network dan mendefinisikan
network dari kontainer , apabila networks yang di definisikan belum ada
maka otomatis akan dibuat
Untuk verifikasi service layanan container yang sudah di buat
menggunakan Docker Compose dapat menggunakna perintah Docker-
compose ps seperti terlihat pada gambar 4.13.

Gambar 4. 13 Hasil Verifikasi Service Container Docker

Terlihat bahwa layanan aplikasi Wordpress sudah berhasil di buat dan


berjalan diatas kontainer dengan port 80.
Berikutnya yaitu instalasi Portainer pada container Docker, Portainer
adalah aplikasi open source UI yang digunakan untuk manajemen Docker
seperti mengelola kontainer, Docker image, jaringan dan volume masing
masing kontainer melalui web dashboard. Hasil akhir instalasi portainer
terlihat seperti gambar 4.14.
60

Gambar 4. 14 Hasil Instalasi Portainer Pada Container Docker

Terlihat bahwa Portainer sudah berhasil terinstal dan dan dapat di akses
melalui browser dengan alamat 192.168.10.1 dan port 9000.

4.1.3. Hasil Instalasi dan Konfigurasi Komputer Client zombie


Instalasi dan konfigurasi akan di lakukan di 3 (tiga) buah komputer
zombie dimana di masing-masing komputer zombie akan di lakukan
konfigurasi pengalamatan IP, instalasi ssh server dan tools serangan DDoS.
Hasil dari konfigurasi pengalamatan IP pada interface eth0 di masing-
masing komputer zombie terlihat pada gambar berikut:

Gambar 4. 15 Hasil Konfigurasi IP Pada Komputer Zombie 1


61

Gambar 4. 16 Hasil Konfigurasi IP Pada Komputer Zombie 2

Gambar 4. 17 Hasil Konfigurasi IP Pada Komputer Zombie 3

Terlihat interface eth0 pada komputer zombie 1 telah menggunakan


alamat 192.168.20.1 dengan subnet mask 255.255.255.0 dan gateway
192.168.10.254, interface th0 pada komputer zombie 2 menggunakan
alamat 192.168.20.1 dengan subnet mask 255.255.255.0 dan gateway
192.168.10.254 dan interface eth0 pada komputer zombie 3 menggunakan
alamat 192.168.20.3 dengan subnet mask 255.255.255.0 dan gateway
192.168.10.254 sehingga semua komputer zombie sudah bisa terhubung
dengan jaringan pengujian.
Untuk distribusi serangan dari attacker ke kompueter zombie
dilakakan via SSH, untuk itu pada komputer zombie perlu diinstal SSH
server. Berikut hasil instalasi SSH server pada masing-masing komputer
zombie.
62

Gambar 4. 18 Hasil Verifikasi SSH Pada Komputer Zombie 1

Gambar 4. 19 Hasil Verifikasi SSH Pada Komputer Zombie 2

Gambar 4. 20 Hasil Verifikasi SSH Pada Komputer Zombie 3

Terlihat semua service SSH server pada komputer zombie sudah aktif dan
berjalan dengan baik. Berikutnya yaitu melakukan instalasai Tools DDoS
yg di gunakan oleh ketiga komputer host zombie/slaves untuk melakukan
penyerangan, tools DDoS yang digunakan saat ini adalah Torhammer.
Berikut adalah hasil instalasi tools Torhammer pada masing-masing
komputer zombie.
63

Gambar 4. 21 Hasil Instalasi Tools Torhammer Pada Komputer Zombie 1

Gambar 4. 22 Hasil Instalasi Tools Torhammer Pada Komputer Zombie 2

Gambar 4. 23 Hasil Instalasi Tools Torhammer Pada Komputer Zombie 3

Terlihat tool Torshammer sudah berhasil terinstal di semua komputer


zombie. Untuk melakukan serangan dari komputer zombe dapat dengan
menggunakan perintah “./torshammer.py -t 192.168.10.1 -p 80” seperti
pada gambar 4.24.
64

Gambar 4. 24 Perintah Serangan Pada Torshammer

4.1.4. Hasil Instalasi dan Konfigurasi Komputer Attacker (Kali Linux)


Pada komputer attacker akan dilakukan instalasi pengalamatan IP dan
konfigurasi distribusi serangan DDoS ke komputer zombie. Hasil dari
konfigurasi pengalamatan IP pada komputer attacker terlihat seperti pada
gambar 4.25.

Gambar 4. 25 Hasil Konfigurasi IP Pada Komputer Attacker

Terlihat interface eth0 telah di konfigurasi secara static mengguanakan


alamat IP 192.168.20.253 dengan subnet mask 255.255.255.0 dan gateway
192.168.20.254, sehingga komputer attacker sudah bisa terhubung dengan
jaringan pengujian dan dapat mendistribusikan serangan ke semua
komputer zombie.
Untuk melakukan penyerangan DoS secara terdistribusi, diperlukan
script yang dapat mengontrol VM komputer zombie yang sudah di buat,
script untuk melakukan distribusi tersebut dapat dibuat dengan
menggunakan shell script, shell script adalah script atau kode yang
65

digunakan untuk mengatur kinerja shell pada komputer, baik dalam


komputer itu sendiri maupun luar komputer atau komputer lain. Berikut
adalah langkah-langkah untuk membuat penyerangan DoS secara
terdistribusi. Pertama yaitu dengan membuat koneksi ssh antara komputer
attacker dengan komputer zombie, seperti terlihat pada gambar 4.26.

Gambar 4. 26 Hasil Konfigurasi Koneksi SSH Pada Komputer Attacker

Hasil dari pemembuat shall script DDoS-attack yang akan difungsikan


untuk mendistribusikan serangan dari komputer zombie ke container
Docker dapat dilihat seperti pada gambar 4.27.

Gambar 4. 27 Shall Script Serangan DDoS-Attack


66

untuk menghentikan serangan DDoS maka di buat shall script DDoS-


stop.py seperti yang terlihat pada gambar 4.28.

Gambar 4. 28 Shall Script Stop Serangan DDoS-Attack

4.1.5. Hasil Instalasi dan Konfigurasi Client Windows


Konfigurasi yang dilakukan pada client windows adalah pengaturan
alamat IP agar dapat terhubung dan mengakses layanan Wordpress pada
container Docker. Terlihat alamat IP yang digunakan adalah 192.168.20.4
dengan subnet mask 255.255.255.0 dan gateway 192.168.20.254. Hasil
konfigurasi IP seperti terlihat pada gambar 4.29.

Gambar 4. 29 Hasil Konfigrasi IP Client Windows


67

4.2. Hasil Uji Coba


Hasil uji coba terdiri dari dua bagian yaitu verifikasi konfigurasi
dan skenario uji coba.
4.1.1. Hasil Verifikasi Konfigurasi
Verifikasi konfigurasi dari 5 (lima) bagian yaitu hasil verifikasi
konfigurasi pada host IPS Snort, host container Docker, komputer attacker,
komputer zombie dan komputer client.
1. Hasil Verifikasi Konfigurasi Host IPS Snort
Terdapat 7 (tujuh) tahapan verifikasi konfigurasi yang dilakukan pada
host IPS meliputi verifikasi pengalamatan IP, koneksi dari host IPS Snort
ke host container Docker, koneksi dari Host IPS ke komputer Zombie,
koneksi dari host IPS ke komputer Attacker, koneksi dari host IPS ke
komputer client Windows, hasil verifikasi instalasi paket Snort, ujicoba
script untuk menjalankan dan mematikan Snort.
Hasil verifikasi pengalamatan IP Address yang digunakan oleh host
IPS Snort, terlihat seperti pada gambar 4.30.

Gambar 4. 30 Hasil Konfigurasi IP Pada Host IPS

Terlihat bahwa interface eth0 pada host IPS telah di konfigurasi


menggunakan alamat IP 192.168.10.254/24 dan untuk interface eth1
menggunakan alamat IP 192.168.20.254/24.
68

Hasil verifikasi koneksi yang dilakukan oleh host IPS pada tiga
komputer zombie, terlihat seperti pada gambar berikut.

Gambar 4. 31 Hasil Uji Koneksi Ke Host Container Docker

Gambar 4. 32 Hasil Uji Koneksi Ke Komputer Zombie 1

Gambar 4. 33 Hasil Uji Koneksi Ke Komputer Zombie 2

Gambar 4. 34 Hasil Uji Koneksi Ke Komputer Zombie 3

Gambar 4. 35 Hasil Uji Koneksi Ke Komputer Client Windows

Terlihat bahwa uji koneksi dari host IPS Snort ke IP tiga komputer zombie
sudah berhasil tersambung. Selanjutnya hasil verifikasi instalasi Snort pada
host IPS dapat dilihat pada gambar 4.36.
69

Gambar 4. 36 Verifikasi Instalasi Snort

Terlihat bahwa Snort dengan versi 2.9.16 beserta paket pendukungnya


sudah behasil dipasang pada host IPS Snort. Hasil verifikasi shall script
untuk menjalankan Snort dapat dilihat pada gambar 4.37.

Gambar 4. 37 Hasil Ujicoba Script Snort Dengan Aturan Iptables

Terlihat bahwa script Snort dengan mode inline NFQ sudah berhasil di
jalankan dan dapat berkomunikasi dengan aturan IPTables untuk memblokir
serangan yang masuk ke container Docker.
2. Hasil Verifikasi Konfigurasi Host Container Docker
Terdapat tiga verifikasi konfigurasi yang dilakukan pada host
container Docker meliputi pengalamatan IP, hasil verifikasi instalasi
container Docker, hasil verifikasi pembuatan dan uji coba menjalankan
layanan Wordpress pada container Docker serta verifikasi hasil instalasi
Portainer.
70

Hasil verifikasi pengalamatan IP yang digunakan oleh host container


Docker, terlihat seperti pada gambar 4.38.

Gambar 4. 38 Hasil Konfigurasi IP Pada Host Container Docker

Terlihat bahwa IP Address pada host container Docker sudah berhasil di


konfigurasi dengan IP Address 192.168.10.1 dan Netmask 255.255.255.0,
untuk hasil konfigurasi network bridge Docker sudah berhasil terbuat
dengan gateway 192.168.0.1 sebagai penghubung antar container Docker
dan host.
Hasil verifikasi instalasi container Docker pada host dapat dilihat
pada gambar 4.39.

Gambar 4. 39 Hasil Verifikasi Instalasi Container Docker

Terlihat bahwa Docker dengan versi 19.03.5 sudah berhasil terinstal. untuk
ujicoba menjalankan Docker Engine dapat dengan menggunakan images
hello-world yang berada dalam Dockerhub, images tersebut dapat diunduh
dan di jalankan seperti terlihat pada gambar 4.40.
71

Gambar 4. 40 Hasil Verifikasi Instalasi Docker Engine

Terlihat bahwa Docker Engine sudah berhasil menjalankan image hello-


world dan berjalan dengan baik.
Hasil verifikasi pembuatan layanan Wordpress pada container Docker
dapat dilihat pada gambar 4.41.

Gambar 4. 41 Hasil Pembuatan Layanan Wordpress Pada Container Docker


72

Terlihat bahwa layanan aplikasi Wordpress behasil terbuat dengan port


80:80 dan semua library pendukung untuk menjalankan aplikasi sudah
dikemas di dalam container Docker. Untuk ujicoba menjalankan layanan
Wordpress pada container Docker dapat di lihat pada gambar 4.42.

Gambar 4. 42 Hasil Pembuatan Layanan Wordpress Pada Container Docker

Terlihat bahwa layanan aplikasi Wordpress sudah behasil dijalankan dan di


akses melalui browser dengan melakukan login ke alamat IP
http://192.168.10.1/wp-admin dengan port 80.
73

3. Hasil Verifikasi Konfigurasi Komputer Zombie


Terdapat empat verifikasi konfigurasi yang dilakukan pada ketiga
komputer zombie meliputi pengalamatan IP, uji coba koneksi ke host IPS
Snort, komputer attacker dan host container Docker.
Hasil verifikasi pengalamatan IP pada ketiga komputer zombie dapat
dilihat pada gambar di bawah ini:

Gambar 4. 43 Hasil Konfigurasi IP Pada Komputer Zombie 1

Gambar 4. 44 Hasil Konfigurasi IP Pada Komputer Zombie 2

Gambar 4. 45 Hasil Konfigurasi IP Pada Komputer Zombie 3

Terlihat bahwa IP Address pada setiap interface eth0 di ketiga komputer


zombie sudah berhasil di masukkan.
Hasil verifikasi uji koneksi dari komputer ketiga komputer zombie ke
alamat IP host IPS Snort, komputer attacker dan host container Docker
terlihat pada gambar di bawah ini:
74

Gambar 4. 46 Hasil Uji Coba Koneksi Pada Komputer Zombie 1

Gambar 4. 47 Hasil Uji Coba Koneksi Pada Komputer Zombie 2

Gambar 4. 48 Hasil Uji Coba Koneksi Pada Komputer Zombie 3


75

Terlihat bahwa uji koneksi dari ketiga komputer zombie ke ke alamat IP host
IPS Snort, komputer attacker dan host container Docker sudah berhasil
tersambung.
4. Hasil Verifikasi Konfigurasi Komputer Attacker
Terdapat empat verifikasi konfigurasi yang dilakukan pada ketiga
komputer zombie meliputi pengalamatan IP, uji coba koneksi dan SSH ke
semua komputer zombie, uji coba koneksi ke host IPS Snort dan host
container Docker.
Hasil verifikasi pengalamatan IP pada komputer Attacker dapat dilihat
pada gambar 4.49.

Gambar 4. 49 Hasil Konfigurasi IP Pada Komputer Attacker

Terlihat bahwa IP Address pada komputer attacker sudah berhasil di


masukkan dengan IP 192.168.20.254, 255.255.255.0 sebagai Netmask, dan
192.168.20.255 sebagai IP broadcast.
Hasil verifikasi uji koneksi dari komputer attacker ke IP tiga komputer
zombie dapat dilihat pada gambar berikut.

Gambar 4. 50 Hasil Uji Koneksi Komputer Attacker Ke Komputer Zombie 1


76

Gambar 4. 51 Hasil Uji Koneksi Komputer Attacker Ke Komputer Zombie 2

Gambar 4. 52 Hasil Uji Koneksi Komputer Attacker Ke Komputer Zombie 3

Gambar 4. 53 Hasil Uji Koneksi Komputer Attacker Ke Host IPS

Gambar 4. 54 Hasil Uji Koneksi Komputer Attacker Ke Host Container Docker

Terlihat bahwa uji koneksi IP address pada komputer attacker ke semua


komputer zombie, host IPS Snort, host container Docker sudah berhasil
tersambung.

Gambar 4. 55 Hasil Uji Coba SSH Dari Komputer Attacker Ke Komputer Zombie 1
77

Gambar 4. 56 Hasil Uji Coba SSH Dari Komputer Attacker Ke Komputer Zombie 2

Gambar 4. 57 Hasil Uji Coba SSH Dari Komputer Attacker Ke Komputer Zombie 3

5. Hasil Verifikasi Konfigurasi Komputer Client Windows


Terdapat empat verifikasi konfigurasi yang dilakukan pada komputer
client meliputi pengalamatan IP, uji coba koneksi ke IPS Snort, host
container Docker dan uji coba akses layanan Wordpress container Docker
melalui browser.
Hasil verifikasi pengalamatan IP pada komputer client dapat dilihat
pada gambar 4.58.

Gambar 4. 58 Hasil Uji Verifikasi Pengalamatan IP Pada Komputer Client Windows


78

Hasil verifikasi uji koneksi dari komputer client ke host IPS Snort
dapat dilihat pada gambar 4.59.

Gambar 4. 59 Hasil Verifikasi Uji Koneksi Dari Komputer Client Ke Host IPS Snort

Terlihat bahwa uji koneksi pada komputer client Windows ke IP host IPS
Snort yaitu 192.168.20.254 sudah berhasil tersambung.
Hasil verifikasi uji koneksi dari komputer client ke IP host container
Docker dapat dilihat pada gambar 4.60.

Gambar 4. 60 Hasil Verifikasi Uji Koneksi Dari Komputer Client Ke Host Container
Docker

Terlihat bahwa uji koneksi pada komputer client Windows ke IP host


container Docker yaitu 192.168.20. sudah berhasil tersambung.
Hasil verifikasi uji koneksi coba akses layanan Wordpress container
Docker melalui browser dapat dilihat pada gambar 4.61.

Gambar 4. 61 Hasil Verifikasi Uji Koneksi Coba Akses Layanan Wordpress


79

Terlihat bahwa layanan aplikasi Wordpress dapat di akses melauli browser


pada komputer client dengan alamat http://192.168.10.1:80.

4.1.2. Skenario Uji Coba


Pada tahap skenario hasil ujicoba ini, akan di lakukan serangan ke host
dan container Docker. Skenario uji coba dilakukan terkait sebelum dan
sesudah IPS di terapkan. Terdapat 3 (tiga) jenis serangan yang di gunakan
pada skenario uji coba meliputi Port Scanning Attack, DDoS HTTP
Flooding Attack dan Brute Force Form Login Attack, setiap serangan akan
diujikan sebanyak 5 kali.
1. Port Scanning Attack
Untuk mengetahui informasi pada container Docker dan mencari
celah keamanan yang bisa di gunakan untuk melancarkan serangan lain
maka uji coba serangan pertama yang di lakukan yaitu Port Scanning Attack
menggunakan tools Nmap (network mapper). Nmap adalah sebuah program
open source yang berguna untuk mengeksplorasi jaringan, Nmap didesain
untuk dapat melakukan scan pada jaringan yang besar, juga dapat digunakan
untuk melakukan scan host tunggal. Nmap menggunakan paket IP untuk
menentukan host-host yang aktif dalam suatu jaringan, port-port yang
terbuka, sistem operasi yang digunakan, tipe firewall yang dipakai. Ada
beberapa parameter yang bisa digunakan dalam menjalankan Nmap, berikut
penjelasan parameter yang digunakan dalam melakukan eksploitasi
menggunakan tools Nmap. Nmap -v -A diikuti dengan alamat IP Address
yang ingin dilihat, -A akan menampilkan informasi dari sistem operasi yang
digunakan, sedangkan -v adalah untuk menampilkan service yang akan di
scan.
a. Port Scanning Pada Host Container Docker Sebelum Diaktifkan
IPS
Dari 5 (lima) kali uji coba serangan port scanning menggunakan tools
Nmap ke host container Docker tanpa mengaktifkan IPS, didapatkan hasil
seperti sebagai pada gambar 4.62, 4.63, .4.64 .4.65 dan 4.66.
80

Gambar 4. 62 Hasil Uji Coba 1 Dengan Serangan Port Scanning Tanpa


Mengaktifkan IPS

Gambar 4. 63 Hasil Uji Coba 2 Dengan Serangan Port Scanning Tanpa


Mengaktifkan IPS
81

Gambar 4. 64 Hasil Uji Coba 3 Dengan Serangan Port Scanning Tanpa


Mengaktifkan IPS

Gambar 4. 65 Hasil Uji Coba 4 Dengan Serangan Port Scanning Tanpa


Mengaktifkan IPS
82

Gambar 4. 66 Hasil Uji Coba 5 Dengan Serangan Port Scanning Tanpa


Mengaktifkan IPS

Dari kelima uji coba serangan Port Scanner yang di lakukan ke host
container Docker pada jam 00:18, 00:32, 00:37, 00:40 dan 00:44, secara
berturut-turut di dapatkan hasil yang sama berupa informasi port-port yang
masih terbukan pada port 21, 22, 80, 8080 dan 9000. Dari hasil scan juga di
dapatkan informasi terkait service dan layanan aplikasi Wordpress yang di
jalankan pada container Docker, dengan memanfaatkan informasi tersebut
maka attacker dapat melakukan serangan jenis lain yang mengarah
langsung ke container Docker.
b. Port Scanning pada Host Container Docker Sesudah Diaktifkan
IPS
Untuk mendapatkan informasi dan pola serangan dari port scanning,
maka dilakukan sniffing menggunakan tools wireshark seperti terlihat pada
gambar 4.67.
83

Gambar 4. 67 Hasil Sniffing Pola Serangan Port Scanning

Berdasarkan pola serangan port scanning yang di dapat dari


Wireshark, maka diperoleh pola pembuatan rule Snort, yang akan
ditambahkan ke dalam file rule. Berikut ini adalah rule yang akan
ditambahkan pada Snort yang akan digunakan untuk menangkap paket dan
mengidentifikasinya sebagai sebuah serangan ketika ada aktifitas port
scanning ke host container Docker.

drop tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"Port


Scanning Attack Terdeteksi"; sid:10000001; rev:35;
classtype:misc-attack; priority:1;)

Penejelasan dari rule Snort di atas adalah:


Drop yaitu tindakan atau opsi belokir akses masuk yang berasal dari
attacker atau jaringan luar berdasarkan kriteria aturan yang sudah di buat.
Tcp yaitu jenis protocol yang di gunakna oleh serangan.
$EXTERNAL_NET any yaitu alamat sumber atau alamat luar jaringan.
$HOME_NET any yaitu alamat jaringan dalam atau alamat jaringan yang
di amankan oleh IPS Snort.
msg:"Port Scanning Attack Terdeteksi" yaitu notifikasi atau pesan jenis
serangan terdeteksi.
sid:10000001; rev:35; yaitu Sid/Rev adalah ID Snort atau pengenal unik
84

untuk setiap aturan.


classtype:misc-attack; yaitu klasifikasi dari jenis serangan.
priority:1; prioritas rule yang dibuat.
Setelah rule ditambahkan dan IPS Snort diaktifkan menggunakan
menggunakan shall script start-snort.sh maka IPS Snort akan menampilkan
informasi alert dan memblokir serangan port scanning yang dilakukan oleh
attacker.
Hasil alert Snort dari kelima ujicoba serangan port scanning terlihat
pada gambar 4.68, 4.69, 4.70, 4.71 dan 4.72.

Gambar 4. 68 Alert Snort Pada Uji Coba 1 Port Scanning

Gambar 4. 69 Alert Snort Pada Uji Coba 2 Port Scanning

Gambar 4. 70 Alert Snort Pada Uji Coba 3 Port Scanning

Gambar 4. 71 Alert Snort Pada Uji Coba 4 Port Scanning

Gambar 4. 72 Alert Snort Pada Uji Coba 5 Port Scanning

Adapaun informasi yang di dapat dari notifikasi atau Alert Snort pada
gambar uji coba satu sampai uji coba lima adalah:
08/08-01:02:59.612542 yaitu waktu terjadinya serangan
[Drop] yaitu tindakan yang di lakukan Snort dengan membelokir atau
membuang paket yang berasal dari attacker.
[1:10000001:35] yaitu ID Snort atau pengenal unik untuk aturan serangan
port scanning.
Port Scanning Attack Terdeteksi yaitu jenis serangan yang terdeteksi.
classtype:misc-attack yaitu klasifikasi jenis serangan port scanning.
85

priority:1 yaitu rule Snort yang di buat berada di prioritas pertama.


{TCP} jenis protocol yang di gunakan oleh serangan port scanning.
192.168.20.253:9151 yaitu alamat IP dan Port dari attacker.
192.168.10.1:8080 yaitu alamat IP dan port dari komputer target.
Berdasarkan gambar hasil alert Snort terlihat bahwa IPS Snort
berhasil mendeteksi dan membelokir serangan uji coba 1 pada jam 00:47:29,
uji coba 2 pada jam 00:53:50, uji coba 3 pada jam 00:57:24, uji coba 4 pada
jam 01:01:09 dan serangan uji coba 5 pada jam 01:02:59. Berikut adalah
hasil kelima uji coba serangan port scanner setelah rule Snort berhasil
mendeteksi dan memblokir serangan yang masuk, seperti terlihat pada
gambar 4.73, 4.74, 4.75, 4.76 dan 4.77.

Gambar 4. 73 Hasil Uji Coba 1 Dengan Serangan Port Scanning Setelah IPS
Diaktifkan
86

Gambar 4. 74 Hasil Uji Coba 2 Dengan Serangan Port Scanning Setelah IPS
Diaktifkan

Gambar 4. 75 Hasil Uji Coba 3 Dengan Serangan Port Scanning Setelah IPS
Diaktifkan
87

Gambar 4. 76 Hasil Uji Coba 1 Dengan Serangan Port Scanning Setelah IPS
Diaktifkan

Gambar 4. 77 Hasil Uji Coba 1 Dengan Serangan Port Scanning Setelah IPS
Diaktifkan

Terlihat hasil dari serangan brute force pada uji coba pertama sampai
dengan ujicoba kelima pada jam 00:47, 18:53, 00:57, 01:00 dan 01:02 secara
88

berturut-turut di dapatkan hasil yang sama, yaitu serangan port scanner


tidak dapat menemukan port-port yang terbukan atau service layanan-
layanan yang tersedia pada host container Docker karena IPS Snort telah
memblokir serangan yang sudah terdeteksi dan menolak semua akses dari
komputer attacker.
2. Distributed Denial of Service (DDOS) HTTP Flood Attack
Serangan Distributed Denial of Service (DDOS) adalah serangan DoS
yang memanfaatkan beberapa sumber daya serangan yang terdistribusi.
Penyerang menggunakan sejumlah besar bots atau komputer zombie yang
dikendalikan untuk melancarkankan sejumlah besar serangan terhadap
target tunggal atau beberapa target.
Jenis Serangan DDoS yang di gunakan untuk yaitu HTTP flood
menggunakan tools Torshammer yang sudah terinstal pada tiga komputer
zombie. komputer attacker akan mendistribusi serangan DDoS
menggunakan shall script yang dapat mengontrol komputer zombie dan
menjalanka tools Torshammer secara otomatis. Hasil dari pemembuat shall
script DDoS-attack yang akan difungsikan untuk mendistribusikan serangan
DDoS dapat di lihat seperti pada gambar 4.78.

Gambar 4. 78 Pembuatan Shall Script Serangan DDoS-Attack

Penjelasan dari shall script DDoS-attack.py diatas adalah sebagai berikut:


- ssh -f pada baris ke 2 (dua) sampai dengan baris ke 4 (enam) adalah
perintah utuk melakukan koneksi SSH ke seluruh komputer zombie, di
ikuti dengan nama username dan hostname dari komputer zombie
tersebut.
- /root/torshammer/torshammer.py adalah tempat directory instalasi
dari aplikasi torshammer yang akan di jalankan.
- -t 192.168.10.1 adalah target IP dari komputer yang akan di serang.
89

- -p 80 adalah port yang akan di gunakan untuk masuk dan mengirim


serangan ke komputer target.
- DDoS.txt adalah file tempat menyimpan semua log serangan yang
sudah di lakukan.
a. DDoS HTTP Flood Attack Sebelum Diaktifkan IPS
Setelah dilakukan 5 (lima) kali uji coba serangan DDoS HTTP Flood
Attack tanpa mengaktifkan IPS, didapatkan hasil yaitu terjadinya
peningkatan jumlah penggunaan Memory, CPU dan Network pada
container Docker. Setiap uji coba serangan dijalankan selama tiga menit,
berikut hasil dari kelima pengujian serangan DDoS HTTP Flood Attack ke
container Docker tanpa mengaktifkan IPS.
Hasil pengujian pertama serangan DDoS HTTP Flood Attack ke
container Docker tanpa mengaktifkan IPS di dapatkan hasil penigkatan
penggunaan memory, CPU dan network pada container Docker.
4. Hasil penggunaan memory pada uji coba serangan pertama terlihat pada
gambar 4.79.

Gambar 4. 79 Peningkatan Penggunaan Memory Pada Ujicoba Pertama

Terlihat pada menit 18:37:24 penggunaan memory dan cache


mengalami peningkatan yang signifikan sebanyak 528,8 MB untuk
90

memory dan 27.9 MB cache dari total jumlah alokasi memory sebesar
1.946 MB.
5. Hasil Penggunaan CPU container Docker pada uji coba serangan
pertama terlihat pada gambar 4.80.

Gambar 4. 80 Peningkatan Penggunaan CPU Pada Uji Coba Pertama

Terlihat hasil penggunaan CPU pada uji coba pertama serangan DDoS,
terlihat pada menit 18:37:24 sampai dengan menit 18:41:00 terjadi
peningkatan penggunaan CPU pada container Docker mencapai 76%
dari kondisi sebelum terjadinya serangan.
91

6. Hasil Penggunaan network container Docker pada uji coba serangan


pertama terlihat pada gambar 4.81.

Gambar 4. 81 Peningkatan Penggunaan CPU Pada Uji Coba Pertama

Terlihat setelah di lakukannya serangan DDoS pada menit 18:37:30


sampai dengan menit 18:40:49 terjadi peningkatan RX (data masuk)
sebesar 84.9 MB dan TX (data keluar) sebesar 115.4 MB pada traffic
network container Docker.
Hasil uji coba Kedua dengan serangan DDoS HTTP Flood Attack
ke container Docker tanpa mengaktifkan IPS di dapatkan hasil sebagai
berikut:
1. Hasil penggunaan memory pada uji coba serangan kedua terlihat
pada gambar 4.82.

Gambar 4. 82 Peningkatan Penggunaan Memory Pada Ujicoba Kedua


92

Terlihat pada menit 19:34:49 penggunaan memory dan cache


mengalami peningkatan yang signifikan sebanyak 529.7 MB untuk
memory dan 24.9 MB cache dari total jumlah alokasi memory sebesar
1.946 MB.
2. Hasil Penggunaan CPU container Docker pada uji coba serangan kedua
terlihat pada gambar 4.83.

Gambar 4. 83 Peningkatan Penggunaan CPU Pada Uji Coba Kedua

Terlihat setelah di lakukannya serangan DDoS pada rentang menit


19:34:34 sampai dengan menit 19:37:54, terjadi peningkatan
penggunaan CPU pada container Docker mencapai 67% dari kondisi
sebelum terjadinya serangan.
3. hasil peningkatan Penggunaan traffic network container pada uji
coba serangan kedua terlihat pada gambar 4.84.

Gambar 4. 84 Peningkatan Penggunaan CPU Pada Uji Coba Kedua


93

Terlihat setelah di lakukannya serangan DDoS pada menit


19:35:04 sampai dengan menit 19:38:04 terjadi peningkatan RX (data
masuk) sebesar 78.5 MB dan TX (data keluar) sebesar 106 MB pada
traffic network container Docker.
Hasil uji coba Ketiga dengan serangan DDoS HTTP Flood Attack
ke container Docker tanpa mengaktifkan IPS di dapatkan hasil sebagai
berikut:
1. Hasil penggunaan memory pada uji coba serangan ketiga terlihat
pada gambar 4.85.

Gambar 4. 85 Peningkatan Penggunaan Memory Pada Uji Coba Ketiga

Terlihat pada menit 19:46:27 penggunaan memory dan cache


mengalami peningkatan yang signifikan sebanyak 28.26% dari kondisi
normal yaitu 16 MB dan setelah terjadinya serangan menjadi sebesar
550 MB dari total jumlah alokasi memory sebesar 1.946 MB.
2. Hasil Penggunaan CPU container Docker pada uji coba serangan
ketiga terlihat pada gambar 4.86.
94

Gambar 4. 86 Peningkatan Penggunaan CPU Pada Uji Coba Ketiga

Terlihat setelah di lakukannya serangan DDoS pada menit 19:55:00


sampai dengan menit 19:57:55, terjadi peningkatan penggunaan CPU
pada container Docker mencapai 68% dari kondisi normal.
3. hasil peningkatan Penggunaan traffic network container pada uji
coba serangan ketiga terlihat pada gambar 4.87.

Gambar 4. 87 Peningkatan Penggunaan CPU Pada Uji Coba Ketiga

Terlihat setelah di lakukannya serangan DDoS pada menit 19:55:10


sampai dengan menit 19:57:30, terjadi peningkatan RX (data masuk)
sebesar 75.4 MB dan TX (data keluar) sebesar 101.8 MB pada traffic
network container Docker.
Hasil uji coba Keempat dengan serangan DDoS HTTP Flood
95

Attack ke container Docker tanpa mengaktifkan IPS di dapatkan hasil


sebagai berikut:
1. Hasil penggunaan memory pada uji coba serangan keempat terlihat pada
gambar 4.88.

Gambar 4. 88 Peningkatan Penggunaan Memory Pada Ujicoba Keempat

Terlihat pada menit 20:10:24 penggunaan memory dan cache


mengalami peningkatan yang signifikan sebanyak 525.8 dan cache 30.6
dari kondisi sebelum terjadinya serangan dari total jumlah alokasi
memory sebesar 1.946 MB.
2. Hasil Penggunaan CPU container Docker pada uji coba serangan
keempat terlihat pada gambar 4.89.

Gambar 4. 89 Peningkatan Penggunaan CPU Pada Uji Coba Keempat


96

Terlihat setelah di lakukannya serangan DDoS pada menit 20:10:13


sampai dengan menit 20:13:08, terjadi peningkatan penggunaan CPU
pada container Docker mencapai 55% dari kondisi sebelum terjadinya
serangan.
3. hasil peningkatan Penggunaan traffic network container pada uji coba
serangan keempat terlihat pada gambar 4.90.

Gambar 4. 90 Peningkatan Penggunaan CPU Pada Uji Coba Keempat

Terlihat setelah di lakukannya serangan DDoS pada menit


20:25:14 sampai dengan menit 20:27:44 terjadi peningkatan RX (data
masuk) sebesar 74.9 MB dan TX (data keluar) sebesar 101 MB pada
traffic network container Docker.
Hasil uji coba Kelima dengan serangan DDoS HTTP Flood Attack
ke container Docker tanpa mengaktifkan IPS di dapatkan hasil sebagai
berikut:
1. Hasil penggunaan memory pada uji coba serangan kelima terlihat
pada gambar 4.91.
97

Gambar 4. 91 Peningkatan Penggunaan Memory Pada Ujicoba Kelima

Terlihat pada menit 20:25:08 penggunaan memory dan cache


mengalami peningkatan yang signifikan sebanyak 518.3 MB dan 24.4
MB cache dari total jumlah alokasi memory sebesar 1.946 MB.
2. Hasil Penggunaan CPU container Docker pada uji coba serangan
kelima terlihat pada gambar 4.92.

Gambar 4. 92 Peningkatan Penggunaan CPU Pada Uji Coba Kelima


98

Terlihat setelah di lakukannya serangan DDoS pada menit 20:24:49


sampai dengan menit 20:24:49, terjadi peningkatan penggunaan CPU
pada container Docker mencapai 65% dari kondisi normal.
3. hasil peningkatan Penggunaan traffic network container pada uji
coba serangan kelima terlihat pada gambar 4.93.

Gambar 4. 93 Peningkatan Penggunaan CPU Pada Uji Coba Kelima

Terlihat setelah di lakukannya serangan DDoS pada menit


20:25:14 sampai dengan menit 20:27:44, terjadi peningkatan RX (data
masuk) sebesar 74 MB dan TX (data keluar) sebesar 101 MB pada
traffic network container Docker.
b. DDoS HTTP Flood Attack Sesudah Diaktifkan IPS
Untuk mendapatkan informasi dan pola serangan dari DDoS HTTP
Flood yang di gunakan oleh attacker maka dilakukan sniffing menggunakan
tools wireshark
Berdasarkan pola serangan DDoS HTTP Flood yang di dapat dari
sniffing wireshark, maka diperoleh pola pembuatan rule Snort, yang akan
ditambahkan ke dalam file rule untuk menangkap paket dan
mengidentifikasinya sebagai sebuah serangan.
99

drop tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"DDoS HTTP


Flood attack detected"; GID:2; sid:10000002; rev:002;)

Setelah rule ditambahkan dan IPS Snort diaktifkan menggunakan


menggunakan shall script start-snort.sh maka IPS Snort akan menampilkan
informasi alert dan memblokir serangan DDoS HTTP Flood yang
distribusikan dari komputer attacker. Hasil alert Snort dari kelima uji coba
serangan DDoS HTTP Flood terlihat pada gambar 4.94 sampai dengan
gambar 4.98.

Gambar 4. 94 Alert Snort pada uji coba 1 serangan DDoS HTTP Flood

Gambar 4. 95 Alert Snort pada uji coba 2 serangan DDoS HTTP Flood

Gambar 4. 96 Alert Snort pada uji coba 3 serangan DDoS HTTP Flood

Gambar 4. 97 Alert Snort pada uji coba 4 serangan DDoS HTTP Flood

Gambar 4. 98 Alert Snort pada uji coba 5 serangan DDoS HTTP Flood

Terlihat pada gambar 4.94 sampai dengan gambar 4.98 IPS Snort
berhasil mendeteksi dan membelokir serangan DDoS HTTP Flood uji coba
1 pada jam 18:40:49, uji coba 2 pada jam 19:38:01, uji coba 3 pada jam
19:57:50, uji coba 4 paa jam 20:13:04 dan serangan uji coba 5 pada jam
20:27:39. Berikut adalah hasil Pengguanaan memory,CPU dan Network
pada kelima uji coba serangan DDoS HTTP Flood setelah rule Snort
berhasil mendeteksi serangan yang masuk.
Hasil Pengguanaan memory container Docker setelah IPS di aktifkan
dengan lima kali pengujian serangan terlihat seperti pada gambar 4.99
sampai dengan gambar 4.103
100

Gambar 4. 99 Pengguanaan Memory Container Docker Pada Pengujian


Pertama Setelah IPS di aktifkan

Gambar 4. 100 Pengguanaan Memory Container Docker Pada Pengujian Kedua


setelah IPS di aktifkan

Gambar 4. 991 Pengguanaan Memory Container Docker Pada Pengujian Ketiga


setelah IPS di aktifkan
101

Gambar 4. 1002 Pengguanaan Memory Container Docker Pada Pengujian Keempat


setelah IPS di aktifkan

Gambar 4. 1013 Pengguanaan Memory Container Docker Pada Pengujian Kelima


setelah IPS di aktifkan

Dari lima kali uji coba serangan DDoS ke container Docker setelah
IPS di aktifkan di dapatkan hasil berturut-turut yaitu penurunan jumlah
penggunaan memory dan cache ke kondisi normal, seperti sebelum
terjadinya serangan.
Hasil Pengguanaan CPU container Docker setelah IPS di aktifkan
pada kelima uji coba serangan terlihat seperti pada gambar 4.104 sampai
dengan gambar 4.108.
102

Gambar 4. 1024 Pengguanaan CPU Container Docker Pada Pengujian Pertama


setelah IPS di aktifkan

Gambar 4. 1035 Pengguanaan CPU Container Docker Pada Pengujian Pertama


setelah IPS di aktifkan

Gambar 4. 1046 Pengguanaan CPU Container Docker Pada Pengujian Pertama


setelah IPS di aktifkan
103

Gambar 4. 1057 Pengguanaan CPU Container Docker Pada Pengujian Pertama


setelah IPS di aktifkan

Gambar 4. 1068 Pengguanaan CPU Container Docker Pada Pengujian Pertama


setelah IPS Di Aktifkan

Terlihat dari lima kali uji coba serangan DDoS ke container Docker setelah
IPS di aktifkan di dapatkan hasil berturut-turut yaitu penurunan jumlah
penggunaan CPU ke kondisi normal, seperti sebelum terjadinya serangan.
Hasil Traffic Network container Docker setelah IPS di aktifkan pada
kelima uji coba serangan terlihat seperti pada gambar 4.109 sampai dengan
gambar 4. 113.
104

Gambar 4. 1079 Pengguanaan Network Container Docker Pada Pengujian Pertama


setelah IPS di aktifkan

Gambar 4. 1080 Pengguanaan Network Container Docker Pada Pengujian Kedua


setelah IPS di aktifkan

Gambar 4. 1091 Pengguanaan Network Container Docker Pada Pengujian Ketiga


setelah IPS di aktifkan
105

Gambar 4. 1102 Pengguanaan Network Container Docker Pada Pengujian Keempat


setelah IPS di aktifkan

Gambar 4. 11113 Pengguanaan Network Container Docker Pada Pengujian Kelima


setelah IPS di aktifkan

Terlihat hasil traffic network setelah di lakukan lima kali uji coba serangan
DDoS ke container Docker setelah IPS di aktifkan dan di dapatkan hasil
traffic network kembali normal dan tidak terjadi peningktan jumlah RX
(data masuk) dan TX (data keluar) network secara tidak normal, seperti
ketika terjadi serangan.
3. Brute Force Wordpress Login
Brute force adalah teknik login paksa menggunakan list password
yang telah di buat dengan kombinasi huruf, angka, karakter khusus, huruf
kecil dan kapital dengan cara otomatis untuk mendapatkan akses ke
komputer target. Jenis serangan ini memiliki probabilitas keberhasilan yang
tinggi, tetapi membutuhkan banyak waktu untuk memproses semua
kombinasi.
106

Pada uji coba ini akan di lakukan serangan brute force untuk
mendapatkan ases login kedalam layanan container Wordpress dengan
menggunakan tools Metasploit. Metasploit merupakan software security
yang sering digunakan untuk menguji coba ketahanan suatu sistem dengan
cara mengeksploitasi kelemahan software suatu sistem. Berikut adalah
penjelasan dari parameter yang digunakan dalam uji coba serangan brute
force mengguankan Metasploit.

Gambar 4. 1124 Parameter Serangan Brute Force

Pada gambar 4.114 terlihat parameter-parameter yang digunakan


untuk melakukan serangan brute force menggunakan msfconsole.
- auxiliary/scanner/http/wordpress_login_enum yaitu metode yang
akan digunakan untuk melakukan serangan ke aplikasi Wordpress.
- RHOSTS 192.168.10.1 yaitu IP Address dari aplikasi Wordpress yang
akan dieksploitasi.
- RPORT 80 yaitu Port yang terhubung dengan aplikasi Wordpress yang
akan dieksploitasi.
- TARGETURI yaitu lokasi atau sumber untuk masuk ke aplikasi
Wordpress.
- PASS_FILE /root/password.txt yaitu lokasi file wordlist password
yang akan digunakan pada serangan brute force.
- USER_FILE /root/username.txt yaitu lokasi file wordlist username
107

yang akan digunakan pada serangan brute force.


- Exploit yaitu untuk memulai proses eksploitasi ke komputer target.
a. Brute Force Pada Wordpress Sebelum Diaktifkan IPS
Untuk mendapatkan akses login kedalam layanan container
Wordpress maka di butuhkan username dan password yang sesuai dengan
data yang ada pada database Wordpress, untuk itu langkah pertama yang di
lakukan adalah membuat file wordlist username dan password, berikut hasil
pembuatan file wordlist username dan password seperti terlihat pada
gambar 4.115 dan gambar 4.116.

Gambar 4. 11315 Wordlist Username Brute Force

Gambar 4. 1146 Wordlist Password Brute Force

Pada gambar 4.115 dan gambar 4.116 terlihat wordlist file username
dan file password yang telah disiapkan dan akan digunakan untuk
melakukan serangan brute force pada form login Wordpress. Uji Coba
serangan brute force dilakukan sebanyak 5 kali tanpa mengaktifkan IPS
108

Snort. Hasil dari uji coba pertama sampai dengan uji coba kelima coba
serangan brute force form login pada aplikasi Wordpress terlihat pada
gambar 4 sampai dengan gambar 4.

Gambar 4. 1157 Hasil Uji Coba 1 Dengan Serangan Brute Force Login Tanpa
Mengaktifkan IPS

Gambar 4. 1168 Hasil Uji Coba 2 Dengan Serangan Brute Force Login Tanpa
Mengaktifkan IPS

Gambar 4. 1179 Hasil Uji Coba 3 Dengan Serangan Brute Force Form Tanpa
Mengaktifkan IPS
109

Gambar 4. 120 Hasil Uji Coba 4 Dengan Serangan Brute Force Tanpa
Mengaktifkan IPS

Gambar 4. 1181 Hasil Uji Coba 5 Dengan Serangan Brute Force Tanpa
Mengaktifkan IPS

Hasil dari uji coba serangan pertama sampai dengan uji coba kelima pada
jam 17:47:32, 17:50:39, 17:52:37, 17:54:13 dan jam 17:55:46 secara
berturut-turut di dapatkan hasil yang sama yaitu serangan brute force
berhasil login menggunakan username “admin” dan password “toor” sesuai
dengan yang tersimpan di database Wordpress seperti pada gambar 4.122.

Gambar 4. 1192 Username Dan Password Pada Database Wordpress

Berikutnya yaitu melakukan verifikasi username dan password yang sudah


di dapat dengan mencoba login ke halaman dashboard Wordpress pada
alamat http://192.168.10.1:80 seperti terlihat pada gambar 4.123.
110

Gambar 4. 1203 Uji Coba Login Ke Halaman Dashboard Wordpress

Terlihat username dan password yang digunakan berhasil login dan masuk
ke dashboard aplikasi Wordpress.
b. Brute Force Pada Wordpress Setelah Diaktifkan IPS
Berdasarkan hasil serangan brute force yang di lakukan oleh komputer
attacker, maka diperoleh pola pembuatan rule Snort yang akan ditambahkan
ke dalam file rule. Berikut ini adalah rule yang akan ditambahkan pada Snort
yang akan digunakan untuk menangkap paket dan mengidentifikasinya
sebagai sebuah serangan ketika ada aktifitas brute force ke halaman login
aplikasi Wordpress.

drop tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"Bruteforce


attack detected"; GID:4; sid:10000004; rev:004;)

Setelah rule Snort di tambahkan dan IPS Snort diaktifkan menggunakan


menggunakan shall script start-snort.sh maka IPS Snort akan menampilkan
informasi alert dan memblokir serangan brute force halaman login
Wordpress yang dilakukan oleh attacker. Hasil dari kelima uji coba
serangan brute force ke halaman login Wordpress setelah IPS di aktifkan
terlihat seperti pada gambar 4.124.
111

Gambar 4. 1214 Alert Snort Dari Serangan Brute Force

Pada gambar 4.124 rules yang dibuat berhasil mendeteksi serangan


brute force dari attacker. Terlihat dari gambar diatas IPS Snort mendeteksi
dan membelokir serangan uji coba 1 pada jam 18:04:23, uji coba 2 pada jam
18:06:40, uji coba 3 pada jam 18:08:04, uji coba 4 pada jam 18:10:49 dan
serangan uji coba 5 pada jam 18:12:38. Berikut adalah hasil kelima uji coba
serangan brute force setelah rule Snort berhasil mendeteksi serangan yang
masuk, terlihat pada gambar 4.125 sampai dengan gambar 4.129.
112

Gambar 4. 1225 Hasil Uji Coba 1 Dengan Serangan Brute Force Setelah IPS
Diaktifkan

Gambar 4. 1236 Hasil Uji Coba 2 Dengan Serangan Brute Force Setelah IPS
Diaktifkan

Gambar 4. 1247 Hasil Uji Coba 3 Dengan Serangan Brute Force Setelah IPS
Diaktifkan
113

Gambar 4. 1258 Hasil Uji Coba 4 Dengan Serangan Brute Force Setelah IPS
Diaktifkan

Gambar 4. 1269 Hasil Uji Coba 5 Dengan Serangan Brute Force Setelah IPS
Diaktifkan

Terlihat hasil serangan brute force pada uji coba pertama sampai
dengan ujicoba kelima pada jam 18:04:24, 18:06:40, 18:08:5, 18:10:49 dan
18:12:38 secara berturut-turut di dapatkan hasil yang sama, yaitu serangan
brute force tidak dapat menemukan username dan password yang cocok
untuk login kedalam dashboard Wordpress karena IPS Snort telah
memblokir serangan dan menolak semua akses dari komputer attacker.
4.1.3. Hasil Analisa
Berdasarkan uji coba yang telah dilakukan maka dapat diperoleh hasil
analisa sebagai berikut:
1. Serangan menggunakan teknik Port Scanning yang dilakukan pada host
container Docker sebelum mengaktifkan IPS menunjukkan bahwa
114

serangan berhasil dilakukan, termasuk informasi terkait port-port yang


sedang terbuka dan layanan-layanan yang terhubung dengan container
Docker. Setelah IPS diaktifkan maka aktifitas serangan Port Scanning
yang masuk ke host container Docker akan di gagalkan, termasuk
mampu menutup informasi port-port dan layanan-layanan yang
tersedia berdasarkan 5 kali percobaan seperti yang terlihat pada tabel
4.1.
Tabel 4. 1 Hasil Analisa Uji Coba Serangan Port Scanning
Ujicoba
No Jenis Pengujian Ke Status Port

1. Scanning Port 1
sebelum 2 Port 21,22,80, 8080,9000
mengaktifkan 3
Open
IPS 4
5
2. Scanning Port 1
sesudah 2 All Port Closed
mengaktifkan 3
IPS 4
5

Terlihat pada tabel 4.1 setelah dilakukan serangan Port Scanning dari 5
kali percobaan, didapatkan hasil bahwa host container Docker sebelum
mengaktifkan IPS dapat menyebabkan serangan Port Scanning berhasil
dilakukan dan ditemukan informasi terkait port-port yang sedang
terbuka serta layanan-layanan yang sedang digunakan seperti port
21=FTP, 22=SSH, 80=http, 8080=http-proxy 9000=portainer.
Sedangkan host container yang telah diaktifkan IPS dapat
menyebabkan serangan Port Scanning gagal dilakukan dan mampu
menutup informasi port-port serta servis dan layanan container Docker
yang terhubung dengan host.
2. Berdasarkan hasil skenario pengujian serangan DDoS HTTP Flood ke
container Docker sebelum diaktifkan IPS, di dapatkan hasil
115

peningkatan penggunaan memory, CPU dan traffic network pada


container Docker dan ketika IPS sudah di aktifkan di dapatkan hasil
yaitu penggunaan memory, CPU dan traffic network pada container
mulai menurun dan kembali ke keadaan normal. ujicoba serangan di
ujikan sebanyak 5 kali dengan rentang waktu 3 menit setiap serangan.
Hasil analisa hasil dari serangan DDoS pada container Docker terlihat
pada table 4.2.
Tabel 4. 2 Hasil Analisa Uji Coba Serangan DDoS HTTP Flood
Container Docker
Percobaan Jenis Network
Waktu Memory CPU
ke Pengujian
(MB) (%) RX TX
(MB) (MB)
HTTP attack
sebelum
3 menit 528.8 76 84,9 115.4
mengaktifkan
IPS
1
HTTP attack
setelah
3 menit 43 9 115.4 115.4
mengaktifkan
IPS

HTTP attack
sebelum
3 menit 529.7 67 78.5 106.6
mengaktifkan
IPS
2
HTTP attack
setelah
3 menit 42.9 0.9 78.5 106.6
mengaktifkan
IPS
HTTP attack
sebelum
3 menit 525,5 68 75.4 101.8
mengaktifkan
IPS
3
HTTP attack
setelah
3 menit 42.8 1 74.4 101.8
mengaktifkan
IPS
116

HTTP attack
sebelum
3 menit 525.8 73 79.9 101.2
mengaktifkan
IPS
4
HTTP attack
setelah
3 menit 42.8 1 75 101.7
mengaktifkan
IPS
HTTP attack
sebelum
3 menit 518.3 65 74.9 101.2
mengaktifkan
IPS
5
HTTP attack
setelah
3 menit 42.9 0.8 74.9 101.2
mengaktifkan
IPS

Terlihat pada tabel 4.2 setelah dilakukan serangan DDoS HTTP Flood
dari 5 kali percobaan dengan durasi serangan 3 menit pada setiap
percobaan, dimana didapatkan hasil bahwa sebelum diaktifkannya IPS
serangan DDoS menyebabkan peningkatan penggunaan memory, CPU
dan network, peningkatan penggunaan memory rata-rata sebesar 525,65
MB, peningkatan penggunaan CPU rata-rata sebesar 69.8% dan
peningkatan traffic network untuk RX (data masuk) rata-rata sebesar
78.72 MB dan TX (data keluar) dengan rata-rata peningkatan sebesar
105.24 MB. Sedangkan setelah IPS di aktifkan di dapatkan hasil rata-
rata penggunaan Memory sebesar 42.88 MB, CPU sebesar 0.92 %,
network RX sebesar 77.54 dan network TX sebesar 105.34, terlihat
bahwa dengan di aktifkannya IPS dapat membelokir serangan DDoS
yang masuk sehingga container Docker terhindar overloading
resources.
3. Serangan menggunakan teknik Bruteforce Form Login Wordpress yang
dilakukan pada container Docker sebelum mengaktifkan IPS
menunjukkan bahwa serangan berhasil dilakukan, termasuk username
dan password yang cocok untuk mengakses dan login kedalam
dashboard Wordpress. Sebaliknya setelah IPS diaktifkan maka aktifitas
117

serangan Bruteforce Form Login Wordpress yang masuk ke container


Docker gagal dilakukan, termasuk username dan password yang cocok
untuk dapat mengakses ke Form Login tidak dapat diketahui
berdasarkan 5 kali percobaan seperti yang terlihat pada tabel 4.3.
Tabel 4. 3 Hasil Analisa Uji Coba Serangan Brute Force Form Login Wordpress

Percobaan Jenis Waktu Status Akun Otentikasi


Ke Pengujian Username Password
Brute Force Serangan admin toor
Form Login 17:47:32 berhasil di
sebelum WITA lakukan.
1 diaktifkan IPS
Brute Force Serangan Username Password
Form Login 18:04:24 gagal Filed Filed
sesudah WITA di
diaktifkan IPS lakukan.
Brute Force Serangan admin toor
Form Login 17:50:39 berhasil di
sebelum WITA lakukan.
2 diaktifkan IPS
Brute Force Serangan Username Password
Form Login 18:06:40 gagal Filed Filed
sesudah WITA di
diaktifkan IPS lakukan.
Brute Force Serangan admin toor
Form Login 17:52:37 berhasil di
3 sebelum WITA lakukan.
diaktifkan IPS
Brute Force Serangan Username Password
Form Login 18:10:49 gagal Filed Filed
sesudah WITA di
diaktifkan IPS lakukan.
Brute Force Serangan admin toor
Form Login 17:54:13 berhasil di
4 sebelum WITA lakukan.
diaktifkan IPS
Brute Force Serangan Username Password
Form Login 18:10:49 gagal Filed Filed
WITA
118

sesudah di
diaktifkan IPS lakukan.
Brute Force Serangan admin toor
Form Login 17:55:46 berhasil di
sebelum WITA lakukan.
5 diaktifkan IPS
Bruteforce Serangan Username Password
Form Login 18:12:38 gagal Filed Filed
sesudah WITA di
diaktifkan IPS lakukan.
Terlihat pada tabel 4.3 setelah dilakukan serangan Bruteforce Form
Login Wordpress dari 5 kali percobaan, didapatkan hasil bahwa
sebelum mengaktifkan IPS serangan Brute Force berhasil dilakukan
dan ditemukan kecocokan username dan password dari wordlist file
username dan password yang sudah dibuat untuk mengakses Form
Login Wordpress dengan menggunakan username: admin dan
password: toor. Sedangkan setelah diaktifkan IPS dapat serangan Brute
Force gagal dilakukan dan tidak satupun username dan password dari
wordlist yang ditemukan untuk mengakses dan masuk ke dashboard
form login Wordpress.
4. Sebelum rules diterapkan sistem tidak dapat mendeteksi serangan yang
masuk, sebaliknya serangan dapat terdeteksi setelah rules diterapkan
seperti terlihat pada tabel 4.4.
Tabel 4. 4 Tabel Bukti Sebelum Dan Sesudah Penerapan Rules
NO Jenis Status Serangan Bukti Penerapan
Seranagn Sebelum Sesudah
1 Port Serangan Serangan drop tcp
Scanning tidak dapat dapat $EXTERNAL_NET any
terdeteksi terdeteksi -> $HOME_NET any
oleh Snort. dan diblokir (msg:"Port Scanning
oleh Snort. Attack Terdeteksi";
sid:10000001; rev:35;
classtype:misc-attack;
priority:1;)
119

2 DDoS Serangan Serangan drop tcp


HTTP tidak dapat dapat $EXTERNAL_NET any
Flood terdeteksi terdeteksi -> $HOME_NET any
Attack oleh Snort. dan diblokir (msg:"DDoS HTTP
oleh Snort. Flood attack detected";
GID:2; sid:10000002;
rev:002;)
3 Brute Serangan Serangan drop tcp
Force tidak dapat dapat $EXTERNAL_NET any
Form terdeteksi terdeteksi -> $HOME_NET any
Login oleh Snort. dan diblokir (msg:"Bruteforce attack
oleh Snort. detected"; GID:4;
sid:10000004; rev:004;)

Terlihat pada tabel 4.3 setelah rules diterapkan pada Snort. Snort dapat
mendeteksi dan membedakan semua jenis serangan dengan melihat
nilai dari pola serangan yang sudah dilakukan oleh attacker, nilai dari
pola serangan dilihat dari protokol yang dituju oleh attacker, sumber IP
dari attacker, sumber port yang digunakan attacker, tujuan IP dari
attacker, dan tujuan port yang digunakan attacker. Rules pada Snort
diterapkan sebagai acuan IPTables untuk mengambil keputusan dalam
memproses paket yang lewat atau masuk.
BAB V
PENUTUP

5.1. Kesimpulan
Adapun kesimpulan yang dapat diambil berdasarkan hasil uji coba yang
telah dilakukan adalah sebagai berikut:
1. Sistem IPS berbasis Snort diintegrasikan dengan IPTables berhasil
mengamankan container Docker dari ketiga jenis serangan yang diujikan
yaitu Port Scanning, DDoS HTTP Flood Attack dan Brute Force Form
Login.
2. Ketiga rules yang di buat berhasil mendeteksi dan memblokir serangan
Port Scanning, DDoS HTTP Flood Attack dan Bruteforce Form Login.
3. Administrator sistem dapat mengetahui serangan yang terjadi pada host
IPS, host container Docker yang memuat informasi jenis serangan dan
kapan terjadinya serangan melalui log Snort.

5.2. Saran
Adapun saran-saran untuk pengembangan skripsi ini lebih lanjut adalah
sebagai berikut:
1. Menguji coba penerapan IPS pada container Docker yang sudah di
cluster.
2. Menguji coba serangan lain pada sistem IPS Snort.
3. Mengembangkan sistem agar dapat membuat atau memperbaharui rules
Snort secara otomatis.
4. Menganalisa penerapan dan performansi container Snort.

120
DAFTAR REFERENSI
Aldila, M. A., Mulyana, A., & Munadi, R. (2013). Desain Dan Implementasi
Captive Portal Dan Intrusion Prevention System Pada Jaringan Redundan
Load Balancing. 1–10.
Djomi, M. I., Munadi, I. R., & Negara, R. M. (2018a). Analisis Performansi
Network Function Virtualization Pada Containers Mengunakan Docker
Performance Analysis Of Network Function Virtualization On Containers
Using Docker. E-Proceeding Of Engineering, 5(2), 1974–1981.
Djomi, M. I., Munadi, I. R., & Negara, R. M. (2018b). Analisis Performansi
Network Function Virtualization Pada Containers Mengunakan Docker
Performance Analysis Of Network Function Virtualization On Containers
Using Docker Universitas Telkom | 2. 5(2), 1974–1981.
Fathoni, W., Fitriyani, & Nurkahfi, G. N. (2016). Deteksi Penyusupan Pada
Jaringan Komputer Menggunakan Ids Snort. E-Proceeding Of Engineering,
3(1), 1169–1172.
Https://Openlibrary.Telkomuniversity.Ac.Id/Pustaka/Files/114823/Persemba
han/Deteksi-Penyusupan-Pada-Jaringan-Komputer-Menggunana-Ids-
Snort.Pdf
Fiddin, C., Mayasari, R., & Munadi, R. (2018). Analisis Performansi Virtualisasi
Container Menggunakan Docker Dibawah Serangan Networked Denial Of
Service. E-Proceeding Of Engineering, 5(1), 281–290.
Kusuma, T. P., Munadi, R., & Sanjoyo, D. D. (2017). Implementasi Dan Analisis
Computer Clustering System Dengan Menggunakan Virtualisasi Docker. E-
Proceeding Of Engineering, 4(3), 1–6.
Https://Libraryeproceeding.Telkomuniversity.Ac.Id/Index.Php/Engineering/
Article/Download/4963/4930
Kuswanto, D. (2014). Unjuk Kerja Intrusion Prevention Sistem ( Ips ) Berbasis
Suricata Pada Jaringan Lokal Area Network. Jurnal Ilmiah Nero, 1(2), 73–81.
Ontoseno, R. D. H., Haqqi, M. N., & Hatta, M. (2017). Limitasi Pengguna Akses
Internet Berdasarkan Kuota Waktu Dan Data Menggunakan Pc Router Os
Mikrotik. Teknika : Engineering And Sains Journal, 1(2), 125–130.
Https://Doi.Org/10.5281/Zenodo.1116499
Pakpahan, S., Juli Irzal, S., & Gunawan, T. (2017). Implementasi Firewall Dan
Intrusion Prevention System (Ips) Dengan Sistem Operasi Ipfire. 1–3.
Http://Www.Duniakomputers.Com/2016/04/5-Open-Source-Firewall-
Perdana, F. B., Munadi, I. R., & Irawan, A. I. (2019). Implementasi Sistem
Keamanan Jaringan Menggunakan Suricata Dan Ntopng Implementation Of
Network Security System Using Suricata And Ntopng. 6(2), 4076–4083.
Riadi, I. (2011). Optimalisasi Keamanan Jaringan Menggunakan Pemfilteran
Aplikasi Berbasis Mikrotik Pendahuluan Landasan Teori. Jusi, Universitas
Ahmad Dahlan Yogyakarta, 1(1), 71–80.
Risyad, E., Data, M., & Pramukantoro, E. S. (2018). Perbandingan Performa
Intrusion Detection System ( Ids ) Snort Dan Suricata Dalam Mendeteksi
Serangan Tcp Syn Flood. Jurnal Pengembangan Teknologi Informasi Dan
Ilmu Komputer, 2(9), 2615–2624.
Romadona, R. T., Perdana, D., & Mayasari, R. (2019). Performansi Computer
Clustering Pada Virtual Machine Dan Docker Container Dengan Metode
Ddos Attack Performance Of Computer Clustering On Virtual Machine And
Docker Container With Ddos Attack Method. 1–8.
Shafitri, I. V. (2013). Analisis Dan Implementasi Intrusion Detection System (Ids)
Untuk Pemberitahuan Serangan Pada Keamanan Sistem Jaringan Komputer
Melalui Email. E-Proceeding Of Engineering.
Sinsuw, A. E. (2014). Analisa Performansi Algoritma Routing Di Jaringan
Komputer Unsrat. E-Journal Teknik Elektro Dan Komputer, 3(4), 28–39.
Https://Doi.Org/10.35793/Jtek.3.4.2014.5910
Sitanggang, R. (2019). Sistem Informasi Laporan Penjualan Komputer Berbasis
Lan. Mahajana Informasi, 4(1).
Suryadinata, I. M. D., Nasution, S. M., & Paryasto, M. W. (2017). Analisis
Perbandingan Bro Dan Snort Pada Server Intrusion Prevention System (Ips)
Berdasarkan Security Metric.
Toni, & Putra, A. (2019). Rancang Bangun Pembelajaran Jaringan Server Dengan
Sistem Server Cloud Virtual ( Hypervisor ). 17(1), 1–9.
Wahyudinata, T. (2013). Jaringan Komputer Osi Layer Dan Tcp / Ip.
Wardoyo, S., Ryadi, T., & Fahrizal, R. (2014). Analisis Performa File Transport
Protocol Pada Perbandingan Metode Ipv4 Murni, Ipv6 Murni Dan Tunneling
6to4 Berbasis Router Mikrotik. Jurnal Nasional Teknik Elektro, 3(2), 106.
Https://Doi.Org/10.25077/Jnte.V3n2.74.2014
LAMPIRAN A
JURNAL

A
IMPLEMENTASI KEAMANAN JARINGAN BERBASIS CLOUD COMPUTING
MENGGUNAKAN INTRUSION PREVENTION SYSTEM (IPS) DAN AUTENTIKASI
KERBEROS
IMPLEMENTATION OF NETWORK SECURITY BASED ON CLOUD
COMPUTING USING INTRUSION PREVENTION SYSTEM (IPS) AND
KERBEROS AUTHENTICATION

I Gusti Ngurah Pandu Wibisana A1, Nina Hendrarini2, Devie Ryana Suchendra 3 1,2,3Prodi D3
Teknik Komputer, Fakultas Ilmu Terapan, Universitas Telkom
1
panduwantara@student.telkomuniversity.ac.id, 2ninahendrarini@tass.telkomuniversity.ac.id,
3
deviersuchendra@tass.telkomuniversity.ac.id

Abstrak
Cloud computing yang ada saat ini banyak membantu karena banyak terhubung satu dengan lainnya menbuat
pengguna dimudahkan dalam mengakses layanan yang terdapat di dalam cloud computing tanpa harus khawatir oleh
jarak dan waktu. Namun ketika sebuah layanan cloud computing terhubung satu dengan lainnya muncul masalah
terkait keamanan cloud computing yang meliputi aspek confidentiality, integrity dan availability (CIA). Ketika aspek
tersebut menjadi topik yang berpengaruh karena ketika sistem cloud computing mengalami kebocoran data atau
terganggunya kinerja server maka akan mengganggu client atau user ketika memakai layanan cloud computing.

Untuk mengatasi permalahan tersebut maka dibangunlah sebuah sistem keamanan yang mengatasi ketiga
permasalahan tersebut. Sistem keamanan yang pertama yaitu sebuah autentifikasi jaringan menggunakanan
Kerberos yang akan dihubungkan dengan server cloudcomputing. Client yang ingin mengakses layanan cloud
computing diharuskan menggunakan aplikasi Kerberos agar bisa masuk kedalam cloud computing nya. Sistem
selanjutnya yaitu sebuah Intrusion Prevention System (IPS). Sebuah sistem yang bekerja dengan cara membaca paket-
paket yang dikirimkan ke cloud untuk membaca serangan dari luar.

Pada hasil pengujian baik sistem Kerberos maupun IPS bekerja dengan baik. Setelah melakukan pengujian berupa
serangan paket Flooding menggunakan ICMP, kemudian IPS memblok hasil paket dan menampilkan hasil log dengan
baik. Sana dengan Kerberos yang dapat menolak atau memutus koneksi yang bukan dari client Kerberos Kata kunci:
smartwatch, sensor detak jantung, aplikasi android, kategori kesehatan pasien.

Kata kunci : Kerberos, IPS, keamanan jaringan, cloud computing.

Abstrack
Cloud computing that exists today helps a lot because it is connected between each other user will be facilitated in
accessing the services contained within the cloud computing without having to worry about by distance and time. But
when a cloud computing service connected one with the other security-related problems emerging cloud computing
which includes aspects of confidentiality, integrity and availability (CIA). When the aspect becomes an influential
topic because when the system is cloud computing experience a leak of data or disruption of the server performance
then it would interfere with client or user when wearing a cloud computing service. To overcome these problems then
woke a third security system cope with these problems. The first security system a network authentication credentials
using Kerberos will be linked with server cloud computing. Clients who want to access cloud computing services are
required to use Kerberos applications to get into cloud computing. The next system which is an Intrusion Prevention
System (IPS). A system that works by reading the packages sent to the cloud to read the attacks from the outside. On
the results of testing either the Kerberos or IPS system works well. After doing a test

A.1
in the form of an attack using ICMP DOS Flooding packets, then the IPS to block the results of the package and showing
the log properly. Similarly with Kerberos can refuse or disconnect connections that are not from the Kerberos client's.

Keywords : Kerberos, IPS, network security, cloud computing.

1. Pendahuluan

Semakin berkembangnya teknologi di masa ini khususnya di bidang informasi membuat semua aspek kehidupan
sehari-hari perlahan berubah menjadi era digital yang membantu manusia dalam beraktifitas. Penggunaan teknologi
informasi menuntut aksesbilitas yang praktis dan mudah agar bisa diakses dimana saja dan kapan saja melalui
perangkat yang berbeda-beda pula.

Namun semua sistem pasti memiliki kekurangan termaksud cloud computing. Masalah yang sering muncul
terkait dengan keamanan jaringan meliputi aspek confidentiality, integrity dan availability (CIA). Ketiga aspek tersebut
menjadi topik utama mengingat sistem cloud yang terintegrasi berbagai layanan sehingga apabila terjadi suatu
kebocoran data atau privasi dan bahkan terganggunya kinerja server yang ada maka akan sangat mengganggu layanan
yang diberikan.

Oleh sebab itu dibuatlah sistem keamanan menggunakan Intrusion Prevention System (IPS) yang mengatur
jalur antara pengguna dan server cloud computing. Fungsi utama memonitor seluruh jaringan untuk lalu lintas yang
mencurigakan dengan menganalisis aktivitas jalur.

Dasar Teori/Material dan Metodologi/Perancangan

1.1. Flooding
Salah satu jenis serangan Denial of Service (DoS) yang mempunyai kerja memenuhi jaringan dengan paket
layaknya sebuah banjir. Dalam serangan itu, penyerang akan mengirimkan paket IP yang berjumlah besar
ke jaringaan korban. Oleh Karena itu bandwidth akan habis karena menerima paket tersebut. [2]

Gambar 1 Ilustrasi CMD ketika mengirimkan paket data


Pada gambar 2.2.1 menunjukkan hasil dari tes ping sebuah alamat ip di dalam program cmd. Statistik ping
menunjukkan bahwa ketika mengirimkan paket yang berhasil dikirim adalah empat kali, diterima kealamat ip 4 kali dan
semuanya berhasil atau 0 lost.

1.2. Intrusion Prevention System (IPS)


Sebuah aplikasi yang bekerja untuk monitoring traffic jaringan, mendeteksi aktivitas yang mencurigakan,
dan melakukan pencegahan dini terhadap intrusi atau kejadian yang dapat membuat jaringan menjadiberjalan tidak
seperti sebagaimana mestinya. Bisa jadi karena adanya serangan dari luar, dan sebagainya. [5] IPS sendiri dapat
berupa perangkat keras (hardware) atau perangkat lunak (software). Secara
umum, ada dua jenis IPS, yaitu Host-based Intrusion Prevention System (HIPS) dan Network-based Intrusion Prevention
System (NIPS).
Cara kerja IPS hampir sama seperti kinerja IDS. Pertama IDS (Intrusion Detection System) melindungi sistem komputer
dengan mendeteksi serangan dan menghentikannya. Awalnya, IDS melakukan pencegahan intrusi. Untuk itu, IDS
mengidentifikasi penyebab intrusi dengan cara membandingkan antara event yang dicurigai sebagai intrusi dengan
tanda yang ada. Saat sebuah intrusi telah terdeteksi, maka IDS akan mengirim sejenis peringatan ke administrator. Disini
Firewall akan mem block serangan yang diduga merupakan suatu Intrusion.

Tabel 1 perbandingan IDS dengan IPS

1.3. Kerberos

Kerberos merupakan sebuah protokol autentikasi yang dikembangkan oleh Massachusetts Institute of
Technology (MIT). Kerberos menggunakan enkripsi kunci rahasia/kunci simetris dengan algoritma kunci yang kuat
sehingga klien dapat membuktikan identitas mereka kepada server dan juga menjamin privasi dan integritas
komunikasi mereka dengan server. Kerberos memiliki 3 subprotokol ketika proses dijalankan yaitu :

a. Authentication Service (AS) Exchange: yang digunakan oleh Key Distribution Center (KDC) untuk menyediakan Ticket-
Granting Ticket (TGT) kepada klien dan membuat kunci sesi logon.

b. Ticket-Granting Service (TGS) Exchange: yang digunakan oleh KDC untuk mendistribusikan kunci sesi layanan dan tiket
yang diasosiasikan dengannya.

c. Client/Server (CS) Exchange: yang digunakan oleh klien untuk mengirimkan sebuah tiket sebagai pendaftaran kepada
sebuah layanan. [6]

Gambar 2 Cara kerja kerberos

A.3
1.4. Topologi Sistem Usulan

Gambar 3 Topologi Sistem Usulan Keseluruhan

Semua PC User yang terhubung di jaringan dapat menggunakan cloud computing tersebut sesuai hak akses yang
diberikan oleh admin (NOC) melalui Kerberos server. Selanjutnya jika client ingin menggunakan cloud storage tersebut,
pengguna harus melakukan login terlebih dahulu. Kemudian Kerberos Server akan memberikan berupa aktivasi
berupa kode, setelah pengguna telah memasukkan kode aktivasi yang diberikan maka pengguna bisa memakai akun
cloud computing. Fasilitas yang pengguna bisa pakai adalah memasukkan data, menghapus data, mengedit data di dalam
cloud storage. Yang kemudian data tersebut akan disimpan di server cloud computing..

2. Pembahasan
2.1. Interface Sistem

Gambar 4 Tampilan tiket user

Gambar 4 merupakan tampilan ketika user mendapat tiket. Dengan mendapat tiket user bisa mengakses layanan cloud
computing.

2.2. Cara Kerja Sistem

Berikut ini adalah cara kerja sistem yang akan dibuat dalam proyek akhir ini:

1. Admin akan menambahkan principal user kedalam serer kerberos, yaitu sebuah nama user dan hak
aksesnya.

sudo kadmin.local
Authenticating as principal
root/admin@CLOUDCOMPUTING.COM with password.
kadmin.local: addprinc testuser/user
WARNING: no policy specified for
testuser/user@CLOUDCOMPUTING.COM; defaulting to no
policy
Enter password for principal
"testuser/user@CLOUDCOMPUTING.COM": Re-enter password
for principal "testuser/user@CLOUDCOMPUTING.COM":
Principal "testuser/user@CLOUDCOMPUTING.COM" created.
Gambar 5 konfigurasi principal untuk menambhakan user
kadmin.local: quit
2. Ketika user sudah didaftarkan kedalam kerberos selanjutnya user sudah bisa mendapat tiketnya.

Gambar 6 Tampilan ketika user mendpatkan tiket

3. Setelah itu jika ingin melihat batas waktu tiket yang telah didapat dengan cara mengetikkan perintah klist. Disana
terdapat valid starting yaitu ketika user mendapat sekitar waktu sekian sampai yang telah ditentukan.

4. Selanjutnya untuk solusi akan keamanan terhadap server menggunakan IPS


5. IPS yang menggunakan aplikasi snort dapat mencegah penyerangan flooding dengan menambahkan rules untuk
membaca paket data yang terbaca.
6. Contohnya ketika server dites ping oleh pc yang tidak dikenal maka ketika hasil ping yang dituju
mengandung paket yang normal maka selanjutnya akan diteruskan karena tidak terbaca sebagai
penyerangan oleh snort, namun ketika ping yang dituju mengandung paket yang besar maka snort akan langsung
memblocknya karena dianggap sebagai penyerangan sesuai dengan rulesnya.

Gambar 7 Gambar test ping dengan iptables memakai paket yang besar

3. Kesimpulan

Kesimpulan dari Proyek Akhir ini yaitu:

1. Kerberos mengatasi masalah confidentiality dan intergrity karena melakukan tiga kali proses
authentifikasi untuk menjalankan sebuah layanan cloud computing.

2. Sistem IPS yang menggunakan layanan snort mampu mengatasi serangan flooding yang bisa membuat
kinerja dari server cloudcomputing itu menjadi terganggu.

3. Semua sistem yang dibangun tidak sepenuhnya sempurna, terutama sistem Kerberos yang harus
sinkronisasi terhadap zona waktu yang akan mempengaruhi permintaan tiket

A.5
Daftar Pustaka

[1] M. Zaigham, “Cloud Computing”, Springer, 2010.

[2] D. Setiawan, Intrusion Prevention System (IPS) dan Tantangan dalam Pengembangannya,” Fakultas Ilmu Komputer
UNSRI, Palembang, 2009.

[3] Fattahi, Jaouhar dan Mejri, Mohamed, “Formal reasoning on authentication in security protocol” IEEE Conference
Publications, 09 February 2015.

[4] Cloud Indonesia. (2015) Apa yang Dimaksud Cloud Storage [Online]. Available:
http://cloudindonesia.com/apa-yang-di-maksud-cloud-storage/. [Accessed 4 Desember 2016]

[5] M. Erza Aminanto, “Menangani Serangan Intrusi Menggunakan IDS Dan IPS” Sekolah Teknik Elektro dan Informatika
ITB, Bandung, 2012.

[6] MIT, “Kerberos : The Internet Authentication Protocol“, 2012. [Online]. Available : http://web.mit.edu/kerberos/#what_Is.
[Accessed 4 February 2017]

A.6
7

Perancangan dan Implementasi Adaptive Intrusion


Prevention System (IPS) untuk Pencegahan
Penyerangan pada Arsitektur Software-Defined
Network (SDN)

R. F. Pratama, rifqitama16@gmail.com, Fakultas Informatika, Universitas Telkom

Abstract— Intrusion Prevention System (IPS) adalah sebuah tinggi [1].


tools untuk mengamankan jaringan terhadap paket berbahaya Di sisi lain, peningkatan kompleksitas lalu lintas yang
yang dikirim dari sebuah host. IPS dapat diinstalasi di jaringan terdapat pada jaringan komputer dan layaknya sebuah teknologi
SDN yang memiliki arsitektur logika terpusat, sehingga IPS tidak baru akan memicu isu keamanan. Semakin tinggi lalu lintas
perlu diinstalasi di banyak titik melainkan diinstalasi bersisian yang ada pada jaringan, semakin tinggi pula kemungkinan
dengan controller sebagai pusat logika jaringan. Akan tetapi
terjadinya ancaman keamanan yang dimanfaatkan oleh pelaku
terdapat sebuah kekurangan yang dimiliki IPS yaitu durasi blokir
akan selalu sama, tidak perduli seberapa sering suatu host untuk keuntungan pribadi, contohnya dengan menggunakan
melakukan serangan. Atas alasan tersebut, dibuat sebuah sistem teknik DoS. Beberapa upaya penyerangan ini menjadi musuh
yang tidak hanya mengintegrasikan IPS di SDN, namun juga bagi layanan jaringan, misalnya serangan ke DNS server seperti
merancang adaptive IPS dengan memanfaatkan logika fuzzy yang yang terjadi pada [2]. Terdapat beberapa cara untuk menangani
dapat memutuskan seberapa lama waktu blokir berdasarkan dari masalah ini, salah satunya menggunakan Intrusion Prevention
variabel frekuensi dan jenis serangan yang diberikan. Dari hasil
System (IPS) yang dapat menghentikan paket data yang
pengujian yang telah dilakukan, jaringan SDN yang telah
dilengkapi dengan adaptive IPS memiliki kemampuan untuk berbahaya lalu melakukan pemblokiran akses dari host sumber
mendeteksi serangan cyber dan juga dapat memblokir host paket penyerangan tersebut. Adapun perangkat lunak IPS yang
penyerang dengan durasi yang sesuai dengan frekuensi serta jenis dapat diaplikasikan pada jaringan SDN yaitu Snort [3] [4].
serangan yang telah dilakukan. Hasil akhir yang diperoleh yaitu Namun terdapat satu masalah yang kemudian muncul, yaitu
membuat jaringan SDN menjadi lebih aman dengan hanya Snort tidak dapat beradaptasi terhadap frekuensi serangan [5].
penambahan 0,228 milidetik sebagai execute time yang
Ini berarti durasi waktu pemblokiran akan tetap statis dengan
dibutuhkan algoritma fuzzy dalam sekali proses.
lama waktu yang telah ditentukan sebelumnya, meskipun host
Index Terms— fuzzy, IPS, Ryu, SDN, serangan cyber, Snort melakukan penyerangan dalam frekuensi yang tinggi.
Untuk mengatasi masalah di atas, diusulkan sebuah sistem
I. INTRODUCTION IPS yang tidak hanya dapat mencegah terjadinya penyerangan
di arsitektur SDN, namun juga dapat beradaptasi dalam durasi
Bertambahnya perangkat elektronik yang terhubung ke
waktu pemblokiran berdasarkan frekuensi serangan. Logika
dalam jaringan, baik intranet maupun internet, menyebabkan
fuzzy dapat dimanfaatkan untuk menciptakan adaptive IPS [6],
tingkat kompleksitas jaringan komputer semakin tinggi dengan
yaitu dengan prinsip mengambil data log yang dihasilkan dari
cepat. Hal ini tentu akan mempersulit administrator jaringan
Snort dan meneruskan data tersebut menjadi masukan bagi
dalam mengelola dan melakukan pemeliharaan jaringan.
sistem fuzzy yang telah dirancang sebelumnya.
Sebuah konsorsium non-profit, Open Networking Foundation,
II. INTRUSION PREVENTION SYSTEM
menjawab permasalahan ini dengan mengembangkan sebuah
pendekatan baru dalam arsitektur jaringan yang disebut dengan Intrusion Prevention System (IPS) adalah suatu sistem yang
Software-Defined Network (SDN). Berbeda dengan arsitektur dapat mendeteksi secara otomatis adanya aktivitas
tradisional yang menyatukan control plane dan data plane pada mencurigakan yang berpotensi merugikan dalam sebuah
perangkat jaringan (misalnya router dan switch), SDN jaringan. Pada awalnya, IPS dijalankan dengan cara mencari
memisahkan keduanya dan menempatkan control plane ke satu anomali paket data secara manual dan ditampung di berkas log
tempat terpusat. Dengan adanya sentralisasi control plane lalu memeriksa paket mana saja yang seharusnya dan yang tidak
(sebagai pusat logika jaringan), akan memberikan kemudahan seharusnya berada di jaringan [10]. Cara manual seperti ini
dalam pengelolaan jaringan secara keseluruhan karena sifat sangat tidak efisien dan memakan sumber daya yang besar
kontrolnya yang terpusat serta tingkat programibilitasnya yang sehingga dikembangkan sistem yang dapat membaca log secara

A.7
otomatis. Untuk mengetahui suatu paket merupakan paket yang III. RISET TERKAIT
berbahaya atau tidak, terdapat dua metode yang umum yaitu Pada [7] dilakukan penelitian bahwa SDN dapat menjadi
anomaly-based dan signature-based [11]. solusi dari meningkatnya kebutuhan jaringan yang menuntut
akses internet yang nyaman, bandwith lebih besar, dan
A. Signature-based
penyediaan layanan yang dinamis.
IPS yang menggunakan teknik ini bekerja dengan cara Sedangkan pada [8] dan [9] membahas penerapan sistem
menganalisis tiap paket yang keluar-masuk di jaringan dan keamanan Intrusion Detection and Prevention System pada
membandingkannya dengan basis data yang berisi signature jaringan. Paper [8] membahas penerapan solusi baru bernama
atau rules dari atribut paket yang berbahaya. IPS yang SDNIPS (Software-Defined Networking based Intrusion
menggunakan teknik ini memiliki tingkat adaptasi yang rendah, Prevention System) pada jaringan awan dengan menggunakan
yang berarti hanya bisa mendeteksi tipe-tipe serangan yang controller POX. SDNIPS yang dibuat berbasis Snort-IDS dan
telah diketahui (terdapat di basis data). OVS (Open vSwitch) di mana OVS tersebut adalah
B. Anomaly-based implementasi dari protokol OpenFlow. Implementasinya
dilakukan menggunakan sebuah server dengan OVS di
Jika pada signature-based IPS membandingkannya dengan
dalamnya dengan 4 buah CPU virtual. SDNIPS menggunakan
rules yang telah dimiliki, maka pada anomaly-based IPS akan
Snort sebagai aplikasi untuk pendeteksian. Pada [9] membahas
membandingkan tiap paket dengan base station yang berlaku.
tentang pengamanan data yang ada di jaringan dari penyerang
Base station akan mendefinisikan semua parameter yang
yang akan merusak sistem untuk mencuri data seperti dokumen
digunakan, mulai dari port, protokol, dan bandwidth. Jika
penting dan sandi pengguna. Setelah menyadari pentingnya
terdapat lalu lintas yang berbeda dari yang telah didefinisikan,
keamanan di dalam sistem, mereka menggabungkan antara IDS
maka IPS akan memberikan peringatan ke administrator.
dan IPS menjadi IDPS. Hasil paper [8] didapat bahwa SDNIPS
dikatakan layak dan lebih efisien karena merupakan
Salah satu contoh IPS yaitu Snort. Snort merupakan salah
pengembangan dari IPS tradisional. Sedangkan hasil dari [9]
satu perangkat lunak network-based IPS open-source yang
didapat bahwa dengan menerapkan IDPS di dalam keamanan
memiliki kemampuan untuk menganalisis lalu lintas data secara
jaringan dapat membantu mengamankan informasi yang ada di
real-time dengan menggunakan teknik signature-based [5].
dalamnya. IDPS dapat mendeteksi dan mencegah serangan dari
Snort dapat menangani berbagai jenis serangan, beberapa
banyak host. IDPS juga dapat mengurangi kerusakan yang
diantaranya yaitu denial of service, port scanning, ARP
diakibatkan oleh serangan dengan membuat jaringan tahan
spoofing, dan sebagainya. Karena Snort bekerja dengan teknik
terhadap serangan.
signature-based, terdapat rules user-defined yang digunakan
Terdapat sebuah gagasan seperti yang telah dilakukan pada
Snort untuk menentukan suatu paket berbahaya atau tidak.
[6] yaitu Snort yang diintegrasikan dengan logika fuzzy. Tujuan
Terdapat dua bagian di tiap rules, yaitu rules header dan rules
dari penelitian ini yaitu mengurangi jumlah dari false alarm
option. Adapun rules header terbagi lagi menjadi beberapa
yang dihasilkan oleh Snort dalam menangani serangan port
bagian yang lebih kecil. Ilustrasi di bawah ini menggambarkan
scanning. Penyerang biasanya mencoba menyambungkan ke
cara kerja Snort secara umum [5].
host lain dan mulai memindai port yang akan berlanjut ke jenis
serangan lain. Dengan menggunakan teknik ini, penyerang
mencoba untuk mengidentifikasikan keberadaan dari host
tersebut di jaringan dan menentukan jenis layanan apa yang
sedang digunakan. Pada implementasinya, paper tersebut
menggunakan tiga parameter yang merupakan keluaran dari
hasil analisis Snort yang kemudian menjadi masukan bagi
fuzzy. Masing-masing dari parameter ini memiliki tiga
tingkatan berbeda mengenai frekuensi serangan port scanning.
Keluaran akhir dari sistem fuzzy tersebut yaitu persentase
mengenail serangan port scanning.
Adapun tiga parameter (variabel linguistik) yang menjadi
masukan bagi logika fuzzy tersebut yaitu:
▪ ART (Average Time): Waktu rata-rata paket yang diterima
oleh host tujuan/korban.
▪ NSP (Number of Sent Packet): Jumlah paket yang terkirim oleh
host asal.
▪ NRP (Number of Received Packet): Jumlah paket yang
diterima oleh host tujuan/korban.
Ilustrasi Fig.2 menjelaskan arsitektur Snort menggunakan
algoritma fuzzy.

Fig. 1. Flowchart cara kerja Snort

A.8
9
Hanya dibutuhkan sebuah PC untuk membangun sistem
keamanan ini, termasuk seluruh komponen utama yang
diperlukan, mulai dari instalasi Snort, Ryu, hingga Mininet.
Simulator Mininet dibutuhkan untuk membuat jaringan SDN
dan menjalankan device virtual berupa tiga client dan satu
server.
A. Alur Kerja Sistem
Pada Fig.3 menggambarkan komponen-komponen yang
dirancang serta alur prosesnya. Dimulai dari berkas log.csv
yang merupakan keluaran dari Snort yang berisi timestamp,
alamat IP asal, alamat IP tujuan, protokol, dan pesan. Oleh
Fig. 2. Arsitektur Snort menggunakan algoritma fuzzy hostInspector.sh akan mengambil baris terakhir dari log dan
mencari selisih waktu antara serangan terakhir dan serangan
Berdasarkan deskripsi di atas, dapat disimpulkan bahwa sebelumnya dari sebuah host. Berkas fuzzy.py hanya akan
penggunaan IPS pada jaringan akan memiliki banyak dieksekusi jika selisih waktu (interval) penyerangan lebih kecil
keuntungan karena meningkatnya keamanan dari berbagai atau sama dengan dari 10 menit. Keluaran dari fuzzy.py adalah
serangan cyber. Jika diaplikasikan pada SDN, IPS akan menjadi durasi waktu blokir dalam satuan detik yang nantinya akan
lebih efisien karena proses instalasi hanya di satu tempat di berfungsi untuk menjeda proses. Berkas block.sh berfungsi
jaringan saja, yaitu di control plane. untuk mengirimkan flow entry pemblokiran ke Ryu via REST
API. Berkas unblock.sh akan dieksekusi setelah durasi telah
IV. IMPLEMENTASI mencapai 0 detik dan akan menghapus flow entry pemblokiran.
Secara garis besar, sistem yang akan dibangun adalah sebuah
sistem keamanan yang diimplementasikan pada arsitektur
jaringan SDN. Tools keamanan yang digunakan yaitu Snort,
sebuah network-based IPS dengan jenis signature-based yang
berfungsi untuk menganalisa dan menangani tiap paket jaringan
yang melewatinya. SDN adalah arsitektur jaringan dengan
logika terpusat, sehingga Snort tidak perlu diinstalasi di banyak
titik di jaringan yang dianggap penting, namun hanya perlu
diinstalasi di sisi yang berdekatan dengan pusat logika, yang
disebut sebagai controller. Controller yang digunakan yaitu
Ryu.
Dengan menggunakan SDN, tiap paket yang ada di seluruh
jaringan akan diproses terlebih dahulu oleh Ryu lalu oleh Snort
akan menganalisa dan menentukan apakah paket tersebut
berbahaya atau tidak berdasarkan rules yang telah dibuat. Jika
paket tersebut tidak terindikasi berbahaya, maka Snort akan
meneruskan paket tersebut ke Ryu untuk selanjutnya dikirim ke
tujuan. Namun jika berbahaya, maka serangkaian proses akan
dijalankan. Adapun prosesnya yaitu membangkitkan peringatan
serta memblokir setelah mengatur lamanya waktu pemblokiran.
Proses-proses ini akan mengakibatkan paket tersebut tidak akan
sampai ke host tujuan serta host pengirim akan diblokir selama
kurun waktu yang berbanding lurus dengan frekuensi serangan
yang diberikan. Fig. 3. Alur proses sistem
Sistem yang dibangun ini mengaplikasikan logika fuzzy
sebagai penentu durasi waktu blokir. Jika penyerang melakukan Pemberian nilai 10 menit terhadap durasi awal blokir
tindakan berbahaya untuk pertama kalinya (tidak dalam berdasarkan pada Fail2ban, salah satu tools keamanan populer
keadaan diblokir) dan paket yang dikirim cocok dengan rules di sistem operasi berbasis Linux yang dapat memblokir dengan
Snort yang telah dibuat, maka host tersebut akan diblokir cara meng-alter konfigurasi firewall iptables berdasarkan
selama kurun waktu 10 menit. Namun jika dalam 10 menit jumlah login yang gagal [13]. Pada berkas konfigurasinya, 10
berikutnya tetap melakukan serangan, maka akan ada menit merupakan nilai default untuk durasi blokir.
pemberian waktu blokir yang durasinya bergantung pada Sedangkan nilai 10 menit pada batas maksimal interval
frekuensi serangan dan jenis serangan yang diberikan. Jenis penyerangan yang dapat ditangani fuzzy berdasarkan pada
serangan yang digunakan adalah host discovery (scanning) dan alasan efisiensi. Pada paragraf sebelumnya dijelaskan bahwa
penyerangan Denial of Service (DoS). durasi awal 10 menit, yang berarti jika terdapat serangan

A.9
berikutnya yang lebih besar dari 10 menit, maka sudah tidak rancangan mana yang paling tepat untuk digunakan pada sistem
efisien bagi sitem untuk tetap mengeksekusi fuzzy. ini. Adapun rancangan yang digunakan dari 10 percobaan
tersebut adalah sebagai berikut.
B. Rancangan Topologi
Sistem ini menggunakan software emulator Mininet untuk
membangkitkan satu virtual switch yang telah mendukung
protokol OpenFlow versi 1.3 dan dari switch tersebut terhubung
ke empat host dengan rincian tiga client dan satu server.
Adapun rancangan arsitektur jaringan SDN yang dibangun
adalah sebagai berikut.

Fig. 5. Fungsi Keanggotaan Frekuensi

Fig. 6. Fungsi Keanggotaan Tingkat Serangan


Fig. 4. Fungsi Keanggotaan Tingkat
Dua gambar di atas merupakan rancangan untuk tahap
1. Controller dan IPS fuzzification. Keluaran dari tahap ini disebut sebagai fuzzy
Controller Ryu berfungsi sebagai pengatur terhadap semua input dan menjadi masukan bagi tahap selanjutnya, yaitu
lalu lintas paket yang melewati switch, sedangkan IPS Snort inference [12]. Pada tahap ini, dugnakan fuzzy rules yang akan
berfungsi untuk menganalisa dan menangani paket yang memproses fuzzy input menjadi fuzzy output (sebagai keluaran
diperoleh dari Ryu. dari tahap inference). Sistem ini menggunakan tiga tingkat
kemungkinan (singkat, sedang, lama) yang menyatakan
2. Switch seberapa lama waktu blokir akan diatur. Adapun detail dari
Merupakan switch virtual yang telah mendukung protokol rules yang digunakan pada sistem ini adalah sebagai berikut.
OpenFlow. Switch yang dihasilkan oleh Mininet ini
menggunakan perangkat lunak sumber-terbuka Open vSwitch.
3. Client
Terdapat tiga client yang terhubung ke switch. Digunakan
sebagai penyerang dan korban pada skenario penyerangan.
4. Server
Merupakan target dari beberapa skenario penyerangan.
Server ini melayani DNS.
C. Perancangan Fuzzy
Sistem yang dikembangkan menggunakan logika fuzzy Fig. 7. Rules logika fuzzy
untuk menentukan durasi waktu pemblokiran suatu host yang
melakukan penyerangan. Terdapat tiga pembagian utama, yaitu
fuzzification, inference, dan deffuzification. Sistem ini
menggunakan dua variabel linguistik yang merupakan hasil
keluaran dari Snort yang disimpan di berkas log, yaitu variabel
Frekuensi dan variabel Tingkat Ancaman.
Terdapat langakah validasi terhadap rancangan fuzzy yang
akan digunakan sebagai penentu untuk menentukan durasi
blokir. Validasi dilakukan dengan cara merancang fuzzy
sebanyak 10 kali percobaan, menganalisisnya, lalu menentukan

A.10
11
A. Skenario 1 (Host Discovery)
Pada skenario 1 ini dilakukan pengujian rules Snort terhadap
aktivitas host discovery dengan jenis ping scan terhadap seluruh
host yang terhubung di satu subnet yang sama dengan
penyerang. Pengujian menggunakan logika fuzzy dilakukan
sebanyak sepuluh kali. Dimulai dari interval penyerangan sama
dengan 0 menit hingga 10 menit. Berikut ini merupakan hasil
pengujian yang telah dilakukan.

Fig. 8. Fungsi Kelayakan menggunakan model Sugeno

Seperti yang dapat dilihat pada Fig 6, Serangan DoS berada


di tingkat tertinggi dan host discovery berada di tingkat
terendah. DoS memiliki banyak jenis teknik dengan cakupan
yang luas dan memiliki efek merusak yang tinggi seperti yang
terjadi pada serangan ke Dyn DNS [2]. Selain itu serangan ini
juga meningkat pesat sejak tahun 2016 hingga perempat
pertama tahun 2017 sebesar 380% [14]. Sedangkan host
discovery bukan sebuah serangan cyber namun aktivitas ini
sering kali menjadi langkah pertama untuk melakukan serangan Fig. 9. Durasi blokir untuk skenario host discovery
cyber.
Terdapat penurunan durasi yang secara umum berbanding
V. HASIL lurus dengan interval serangan. Jika selisih waktu antara
Terdapat dua skenario yang masing-masing terdapat dua sub- serangan terakhir dengan yang sebelumnya sama dengan 1,
bagian yaitu pengujian tanpa menggunakan fuzzy dan maka fuzzy akan memutuskan bahwa durasi blokir akan
pengujian menggunakan logika fuzzy. Kemudian, pada sub- berjalan selama 20 menit. Untuk interval yang paling besar,
bagian pengujian menggunakan logika fuzzy, dilakukan yaitu 10 menit, maka pemblokiran akan terjadi selama 10 menit.
sepuluh kali uji untuk tiap skenario. Hal ini dilakukan untuk Fig 10 menjelaskan perbandingan bandwidth dan delay rata-
memperlihatkan durasi blokir yang dinamis sesuai dengan rata sebelum dan sesudah menggunakan logika fuzzy untuk
frekuensi dan jenis serangan. skenario penyerangan 1.
Untuk mengetahui perbandingan peformansi antara
penggunaan IPS tanpa fuzzy dan dengan menggunakan fuzzy,
dilakukan perhitungan terhadap beberapa parameter yaitu QoS
(quality of service) menggunakan parameter bandwidth dan
delay, serta menghitung execute time terhadap algoritma fuzzy.
Dengan menggunakan iperf, didapatkan bahwa sistem yang
telah dijalankan tanpa menyertakan fuzzy memiliki rata-rata
bandwidth sebesar 9,698 Gbps. Percobaan ini dilakukan
sebanyak 5 kali di link yang digunakan di skenario uji (yaitu
dari host attacker ke server) dengan mengirim paket sebesar 1 Fig. 10. Delay dan bandwidth sebelum dan sesudah serangan skenario 1
GB tiap percobaannya. Sedangkan dengan menggunakan ping
sebanyak 20 kali di link yang sama didapatkan besar rata-rata B. Skenario 2 (DNS)
delay yaitu 0,141 ms. Pada skenario 2 ini dilakukan serangan DoS dari salah satu
Untuk parameter kedua, execute time algoritma fuzzy, host yang memiliki alamat IP 192.168.0.2 ke server DNS
digunakan command built-in Linux yaitu time. Dengan dengan alamat IP 192.168.0.1. Adapun teknik serangan yang
menyertakan command ini persis sebelum algoritma fuzzy digunakan adalah mengirim paket SYN flooding ke host target.
dieksekusi oleh sistem, didapatkan tiga parameter keluaran Sama halnya dengan skenario 1, pengujian menggunakan logika
yaitu actual, user, dan system. Parameter yang diambil yaitu fuzzy dilakukan sebanyak sepuluh kali. Dimulai dari interval
penjumlahan antara user dan system dengan alasan bahwa penyerangan sama dengan 0 menit hingga 10 menit. Berikut ini
parameter user menyatakan waktu proses yang dihabiskan oleh merupakan hasil pengujian yang telah dilakukan.
sistem di luar kernel, sedangkan system adalah waktu yang
dihabiskan oleh sistem hanya di dalam kernel [15]. Secara
berturut-turut nilai user dan system yaitu 0,172 dan 0,056 yang
berarti execute time fuzzy adalah 0,228 ms.

A.11
adaptive IPS memiliki kemampuan untuk mendeteksi
serangan cyber dan juga dapat memblokir host penyerang
dengan durasi yang sesuai dengan frekuensi serta jenis
serangan yang telah dilakukan. Hasil akhir yang diperoleh
membuat jaringan SDN menjadi lebih aman.

REFERENCES
[1] G. Garg dan R. Garg, “Review On Architecture & Security Issues of SDN,”
International Journal of Innovative Research in Computer and
Communication Engineering, vol. 2, pp. 6519-6524, 2014.USA: Abbrev.
of Publisher, year, ch. x, sec. x, pp. xxx–xxx.
[2] Dyn, “Dyn Statement on 10/21/2016 DDoS Attack,” [Online]. Available:
http://dyn.com/blog/dyn-statement-on-10212016-ddos-attack/. [Diakses 4
Fig. 11. Durasi blokir untuk skenario DoS November 2016].
[3] X. Tianyi, H. Dijiang dan X. Le, “SnortFlow: A OpenFlow-based
Pada Fig 11 dapat dilihat bahwa terdapat penurunan durasi Intrusion Prevention,” GENI Research and Educational Experiment
Workshop, pp. 89-92, 2013.
yang berbanding terbalik dengan interval penyerangan. Untuk [4] “Informit,” [Online]. Available:
interval sama dengan 0 hingga 7, terdapat penurunan yang http://www.informit.com/articles/article.aspx? p=21778&seqNum=6.
cukup drastis yang setelah itu penurunan waktu durasi blokir [Diakses 17 Oktober 2016].
[5] P. Maheshwari dan A. Garg, “Performance Analysis of Snort-based
akan lebih stagnan. Sedangkan Fig 12 menjelaskan Intrusion,” International Conference on Advanced Computing and
perbandingan bandwidth dan delay rata-rata sebelum dan Communication Systems, 2016.
sesudah menggunakan logika fuzzy untuk skenario [6] W. El-Hajj, F. Aloul dan Z. Trabelsi, “On Detecting Port Scanning using
Fuzzy Based Intrusion Detection System”.
penyerangan 2. Perbedaan dapat terlihat sangat kontras antara
[7] W. Xia, Y. Wen dan C. H. Foh, “A Survey on Software-Defined
sebelum dan sesudah dilakukannya serangan DoS, baik untuk Networking,” IEEE Communication Surveys & Tutorials, vol. 17, pp. 27-
parameter delay dan bandwidth. 51, 2015.
[8] D. Huang, T. Xing dan Z. Xiong, “SDNIPS: Enabling Software-Defined
Networking Based Intrusion Prevention System in Clouds,” CNSM and
Workshop, pp. 308-311, 2014.
[9] A. Sharifi, A. Noorollahi dan F. Farokhmanesh, “Intrusion Detection and
Prevention Systems (IDPS) and Security Issues,” International Journal of
Computer Science and Network Security, vol. 14, pp. 80-84, 2014.
[10] Vijayarani dan M. Sylviaa, “Intrusion Detection System - A Study,”
International Journal of Security, Privacy and Trus Management, vol. 4, pp.
31-44, 2015.
[11] S. Soniya dan M. C. Vigila, “Intrusion detection system - Classification and
techniques,” International Conference on Circuit, Power and Computing
Technologies, 2016.
Fig. 12. Delay dan bandwidth sebelum dan sesudah serangan skenario 2 [12] Suyanto, Slide Presentasi Kuliah Kecerdasan Buatan: Lesson 2 Reasoning
Semester VI 2016.
[13] DigitalOcean, “How To Protect SSH with Fail2Ban on Ubuntu 14.04,”
VI. CONCLUSION [Online]. Available:
https://www.digitalocean.com/community/tutorials/how-to-protect-ssh-
Berdasarkan analisa yang telah dilakukan terhadap lima with-fail2ban-on-ubuntu-14-04. [Diakses 27 Agustus 2017].
skenario pengujian keamanan sistem yang telah dibangun [14] NexusGuard,” [Online]. Available: https://news.nexusguard.com/2017q1-
dalam mencegah penyerangan maka dapat diambil beberapa ddos-threat-report-press-release. [Diakses 22 Agustus 2017].
kesimpulan sebagai berikut [15] “Linux User's Manual,” [Online]. Available: http://man7.org/linux/man-
pages/man1/time.1.html. [Diakses 29 Agustus 2017].

1. Dari skenario secara keseluruhan dapat ditarik kesimpulan


bahwa sistem yang terdiri dari komponen utama yaitu Ryu,
Snort, dan fuzzy dapat saling terhubung dan memungkinkan
sistem untuk mengirim flow entry via REST API ke Ryu untuk
memblokir serta menghapus rules dari suatu host.
2. Dari hasil pengujian terhadap seluruh skenario yang telah
dilakukan, jaringan SDN yang telah dilengkapi dengan

A.12
Ririn A,Iskandar F,Novi DN Jurnal Informatika, Vol.18, No. 1, juni
2018
IMPLEMENTASI METODE INTRUSION DETECTION
SYSTEMS (IDS) DAN INTRUSION PREVENTION SYSTEM
(IPS) BERBASIS SNORT SERVER UNTUK KEAMANAN
JARINGAN LAN
Ririn Agustin1, Iskandar Fitri2, Novi Dian Nathasia3

1, 2, 3
Informatika, Fakultas Teknologi Komunikasi dan Informatika, Universitas Nasional Jl.
Sawo Manila No 61, Pejaten Pasar Minggu, Jakarta Selatan 12520
Telp 021-7806700 – 7806462
e-mail: agustinririn22@gmail.com, iskandar.fitri@civitas.unas.ac.id, novidian@civitas.unas.ac.id

ABSTRACT

Currently in the world of network is being focused on computer network system, the dangerous and
dangerous things from within the network itself. It requires techniques to secure the resources
available in computer networks by using Intrusion Detection Systems (IDS) or intrusion detection
systems, using an intruder detection system that enables preventive network and information
systems (IPS) or backharming systems that will prevent intruder. In this research applied Intrusion
Detection System (IDS) and Intrusion Prevention Systems (IPS) as detection and prevention system
when intruders on computer network server, using Snort as rule based as alert to do security on
computer network. Intrusion Detection Systems (IDS) implemented on Linux operating systems and
Intrusion Prevention Systems (IPS) will be implemented with firewalls or iptables. From this
research, Intrusion Detection System (IDS) system testing and response time analysis with 3 models
of TCP flood attack, UDP Flood, and ICMP Flood. Results issued by the IDS system with 1 client
and 2 clients simultaneously perform an attack that produces the same alert accuracy value with
an average value of 99.98%. The average value of response time obtained from credit with 1 client
is 0.53 seconds and when using 2 clients get an average value of 0.32 seconds. So in conclusion
when an intruder detection system (IDS) is shared with 1 client or 2 client performs an attack, the
system is able to detect well and produce the same performance in detecting attacks from 1 or more
clients. And the results of the intruder deterrent testing system (IPS) is able to block Internet
Protocol (IP) by filtering the attacker IP well.

Keywords - Computer Network Security, Intrusion Detection Systems (IDS), Intrusion Prevention
Systems (IPS), Snort, IP Tables.

ABSTRAK
Saat ini dalam dunia jaringan sedang fokus pada sistem keamanan jaringan komputer, hal ini
disebabkan tingginya ancaman yang mencurigakan dan serangan dari dalam jaringan itu sendiri atau
serangan dari jaringan internet. Maka dibutuhkan teknik untuk mengamankan sumber daya yang
ada dalam jaringan komputer yaitu menggunakan metode Intrusion Detection Systems (IDS) atau
sistem deteksi penyusup, dengan adanya sistem deteksi penyusup maka aktivitas jaringan yang
mencurigakan dapat segera diketahui dan Intrusion Prevention Systems (IPS) atau sistem
pencengah penyusup yang akan mencegah adanya

Informatics and Business Institute Darmajaya 71

A.13
penyusup. Pada penelitian ini menerapkan Intrusion Detection Systems (IDS) dan Intrusion
Prevention Systems (IPS) sebagai sistem deteksi dan pencegah adanya penyusup pada server
jaringan komputer, dengan menggunakan Snort sebagai rule based sebagai alert untuk melakukan
pengamanan pada jaringan komputer. Intrusion Detection Systems (IDS) diimplementasikan pada
sistem operasi berbasis Linux dan Intrusion Prevention Systems (IPS) akan diimplementasikan
dengan firewall atau iptables. Dari penelitian ini dilakukan pengujian sistem Intrusion Detection
System (IDS) dan analisa response time dengan 3 model serangan TCP flood, UDP Flood, dan ICMP
Flood. Hasil pengujian sistem IDS dengan 1 client dan 2 client secara bersamaan melakukan
serangan menghasilkan nilai akurasi alert yang sama yaitu dengan nilai rata-rata 99.98%. Nilai rata-
rata response time yang diperoleh dari pengujian dengan 1 client yaitu 0.53 second dan saat
menggunakan 2 client mendapatkan nilai rata-rata 0.32 second. Jadi kesimpulannya saat sistem
deteksi penyusup (IDS) diuji dengan 1 client atau 2 client melakukan serangan , sistem mampu
mendeteksi serangan dengan baik dan menghasilkan akurasi kinerja yang sama dalam mendeteksi
serangan dari 1 client atau lebih. Dan hasil pengujian sistem pencegah penyusup (IPS) mampu
melakukan blocking Internet Protocol (IP) dengan mem- filtered IP penyerang dengan baik.
Kata kunci—Keamanan Jaringan Komputer, Intrusion Detection Systems (IDS), Intrusion
Prevention Systems (IPS), Snort, IP Tables.

Intrusion Detection Systems (IDS) ini ialah


I. PENDAHULUAN
sistem deteksi penyusup, dengan IDS
Seiring berkembangnya teknologi dan kemudahan
aktivitas jaringan yang mencurigakan dapat
pengguna dalam mengakses internet untuk segala
segera diketahui, sedangkan Intrusion
kepentingan. Dengan kemudahan ini tentu
Prevention Systems (IPS) ialah sistem
menimbulkan bahaya besar akan rentan ancaman
pencegah penyusup, IPS bekerja sebagai
dalam menggunakan jaringan internet. Banyak
pencegah penyusup yang akan melakukan
ancaman dan serangan yang terjadi berasal dari
serangan dengan Snort [5]. Snort merupakan
jaringan itu sendiri bahkan dari jaringan internet.
tools yang digunakan pada Intrusion
Hal ini terjadi karena adanya sumber daya,
Prevention Systems (IPS) yang berfungsi
layanan dan lainnya yang bersifat publik sehingga
sebagai alert untuk mengamankan jaringan
dibutuhkan sistem khusus untuk menjaga sumber
komputer.
daya serta layanan yang ada pada jaringan
komputer. Salah satu metode untuk keamanan Pada sistem jaringan komputer sering

sumber daya serta layanan yang ada pada jaringan terjadi masalah meningkatnya aktivitas dan
trafik jaringan yang sangat cepat tanpa
komputer ialah Intrusion Detection dan
Prevention Systems (IDPS). diketahui dan terdeteksi dengan jelas apa
penyebabnya. Maka dibutuhkan sistem yang
dapat melindungi dan memberi

Informatics and Business Institute Darmajaya 72

A.14
keamanan pada setiap trafik data yang ada pada keamanan sumber daya jaringan komputer

jaringan komputer. Ada beberapa tools yang dapat yang ada pada KPDE Provinsi Jambi dengan

digunakan untuk sistem monitoring jaringan yang hasil kinerja sistem melakukan pencegahan

berdampak serangan pada komputer salah satunya mencapai 96% [6]. Snort menghasilkan alert

ialah Snort berbasis IDS. Akan tetapi yang dapat mendeteksi adanya serangan

pengkonfigurasikan dan perancangan jurnal seperti Ping Of Death dan Port Scan dengan

sebelumnya Snort IDS hanya digunakan untuk penggunaan Pfsense sebagai penindak lanjut

memantau dan mendeteksi serangan atau dari alert yang akan melakukan blocking

penyusup yang ada pada jaringan, dengan network adanya penyalahgunaan jaringan[7]. Pada

forensic sebagai metode untuk memberikan report jaringan LAN dilakukan penerapan IDS

adanya serangan [1]. Pada penelitian ini sebagai pendekteksi sesuai dengan rule,

menggunakan metode IDS Snort dan IDS Suricata kemudian IPS dengan firewall yang akan

untuk mengetahui hasil perbandingan dari melakukan blocking terhadap serangan yang

pengukuran akurasi, kecepatan deteksi dan ada namun tidak dilakukan analisa kinerja

konsumsi sumber daya dengan hasil Snort IDS mencapai berapa persenkah sistem dalam

lebih unggul dalam kecepatan efektivitas dan melakukan pencegahan serangan[8].

akurasi deteksi sebesar 99% pada trafik normal Penerapan Snort IDS dengan dilakukan

[3]. Dilakukan impelementasi Snort IPS pada pengujian penyerang melakukan DoS dengan

sekolah SMK Kristen 1 Salatiga kemudian mengirim paket ICMP saja dan hasil blocking

dilakukan analisa kursioner atau responden belum terlihat hasil yang maksimal[9]. Dari

dengan hasil 48% yang berarti cukup setuju penelitian sebelumnya perlu dikembangkan

bahwa layanan yang dibangun dapat membantu sistem Intrusion Prevention Systems (IPS)

pengamatan trafik jaringan [4]. Penelitian kelima yang baik agar dapat memaksimalkan kinerja

penerapan metode IDPS dilakukan dengan hasil blocking terhadap serangan.

mampu menahan serangan terhadap 4 port (ICMP, Penulis membatasi permasalahan yang akan
FTP, SSH, dan TELNET)[5]. Implementasi dibahas dalam penelitian ini hanya pada
Intrusion Detection Systems (IDS) dan Intrusion konfigurasi metode IDS dengan Snort dan
Prevention Systems (IPS) dengan metode rule metode IPS dengan IPTables atau Firewall,
based untuk meningkatkan Snort server diimplementasikan pada sistem
operasi Linux Ubuntu dan BASE snort
sebagai web monitoring

Informatics and Business Institute Darmajaya 73

A.15
serangan. Pengujian dilakukan oleh komputer
Client 1 dan 2 dengan melakukan serangan
bervariasi seperti flooding dengan protokol TCP,
ICMP, dan UDP terhadap server. Kemudian
analisa response time hasil pengujian deteksi
serangan. pengujian block Internet Protocol (IP)
atau pencegahan penyusup secara manual
Gambar 1. Fungsi komponen dalam
menggunakan iptables. Snort
Tujuan yang ingin dicapai dari penelitian ini
Snort ialah perangkat lunak yang berfungsi
ialah terwujudnya jaringan komputer pada
mengamati aktivitas dalam suatu jaringan,
jaringan LAN yang baik dan memiliki sistem
yang bersifat opensoure dan gratis. Pada
keamanan jaringan yang dapat mendeteksi dan
gambar 1 menjelaskan Snort merupakan
melakukan pencegahan terhadap serangan atau
paket sniffing dengan memanfaatkan
penyusup yang ada. Kemudian mengetahui
tcpdump untuk mengambil gambar paket
akurasi snort server dalam memberikan alert
data, kemudian oleh libcap akan dipisahkan
serangan yang terdeteksi oleh sistem IDS berbasis
untuk diteruskan ke proses Packet Decoder,
Snort Rule dan sistem Intrusion Prevention
Paket Decoder akan memisahkan paket dari
System (IPS) dengan iptables sebagai firewall
protokol IP, jenis paket yang digunakan.
dapat melakukan blocking IP penyerang sehingga
Kemudian preprocessor akan menganalisa
client penyerang tidak dapat melakukan
atau seleksi paket apakah paket yang ada itu
penyerangan.
utuh atau tidak. Pada Detection Engine
II. METODELOGI PENELITIAN sebagai pusat deteksi paket akan disesuaikan

A. Sistem Deteksi Penyusup (IDS) Snort dengan rule signature jika sesuai maka akan
sampai pada Output Stage yang akan
Flowchart ini menjelaskan prinsip kerja dari Snort.
disimpan pada database MySql hasilnya
Snort sebagai Network Intrusion Detection
berupa report atau alert.
Systems (NIDS) yaitu jaringan sistem deteksi
penyusup yang berskala ringan. B. Prinsip Kerja IP Tables

IP Tables ialah sebuah firewall untuk


tools keamanan yang ada pada Linux.

Informatics and Business Institute Darmajaya 74

A.16
START
Paket
Forward Paket
Masuk Keputusan
Keluar
Filter
Mengambil Sistem Deteksi
Paket Data Snort Rules Based

Input Proses
Output
Server Apakah Ya
Filter
terdeteksi?

Gambar 2. Sistem kerja IP Tables


Memberi Peringatan
Sistem kerja IP Tables ialah melakukan filter Tidak

terhadap traffic lalulintas data dan tindakan


Menyimpan data
peringatan pada database
dengan aturan yang diterapkan apakah paket akan MySQL

di drop, log, accept atau reject. Pada IP Tables


End
akan dibuat aturan (rule) untuk arus lalulintas data
pada jaringan kedalam maupun keluar komputer.
Gambar 3. Prinsip kerja Intrusion
Pada gambar 2 menjelaskan konsep dari IP
Detection Ssytem (IDS)
Tables dalam menerima paket dimulai dari paket Pada gambar 3 menjelaskan alur kerja
masuk → diproses berdasarkan tujuan : jika dari Instrusion Detection Systems (IDS)
merupakan tujuan IP untuk firewall maka akan dalam mendeteksi adanya aktivitas yang

masuk proses input, jika bukan tujuan IP untuk mencurigakan atau adanya penyusup.

firewall akan diteruskan ke proses forward. Dengan mengambil paket data yang ada pada

Kemudian selanjutnya dicocokkan berdasarkan jaringan komputer kemudian akan dilakukan

tabel policy yang dipunyai firewall apakah di deteksi dengan Snort Rules Based, jika

terima atau ditolak. terdeteksi maka akan memberi peringatan


dan menyimpan data pada database MySQL.
C. Flowchart Intrusion Detection System (IDS)
Jika tidak terdeteksi adanya aktivitas
Intrusion Detection System (IDS) ialah mencurigakan maka proses selesai.
perangkat yang dapat mendeteksi aktivitas yang
D. Prinsip kerja Intrusion Prevention
mencurigakan pada sebuah jaringan komputer
Ssytem (IPS)
secara realtime.
Intrusion Prevention System (IPS) ialah
perangkat pengamanan yang baik yang

Informatics and Business Institute Darmajaya 75

A.17
dapat mendeteksi adanya aktivitas yang E. Topologi perancangan sistem keamanan

mencurigakan dan mencegah aktivitas tersebut. jaringan dengan IDPS berbasis Snort Server.

STA
RT
Topologi ini dibuat sebagai gambaran dari
perancangan sistem keamanan IDS dengan
Sistem
Deteksi Snort
Rules Based Snort dan IPS dengan IP Tables yang
Paket

dibangun pada Virtual Machine VirtualBox.


Apaka Y
h a

Membuat
Peringatan
Menyimpan data
peringatan di Web
Tida Snort Server (IDS)
k (snort.event) dan

IP Tables (IPS)
Block Paket Jaringan di
Iptable

Simpan Detail Paket


Data pada Web
Database
Client 1 Attacker
En
d

Gambar 5. Topologi perancangan


sistem keamanan dengan Snort IPS dan
Gambar 4. Alur metode Intrusion IDS IPTables pada Server.
Prevention System (IPS)
Topologi pada gambar 5 menjelaskan
Pada gambar 4 menjelaskan kerja dari Instrusion rancangan sistem keamanan jaringan yang
Prevention Systems (IPS) dalam mendeteksi akan dibangun dengan implementasi Snort
aktivitas yang mencurigakan dan mencegah dan IPTables dengan IDPS pada PC server
aktivitas tersebut. Dengan mengambil paket data pada jaringan Local Area Network (LAN).
yang ada pada jaringan komputer kemudian akan Kemudian Client 1 sebagai penyerang yang
dilakukan deteksi dengan Snort Rules Based, jika akan melakukan serangan bervariasi seperti
terdeteksi maka akan membuat peringatan dan flooding yaitu dengan membanjiri IP dengan
menyimpan data pada web aplikasi. IPS akan berbagai protokol seperti TCP, ICMP, dan
melakukan blocking paket yang lewat dengan cara UDP. Dan untuk Client 2, bertindak sebagai
memberikan rule pada IP Tables atau firewall. client biasa.

G. Hardware dan Software yang digunakan

Informatics and Business Institute Darmajaya 76

A.18
Pada implementasi ini penulis melakukan fungsional sistem pendeteksi penyusup sudah

pengujian dengan perangkat keras dan perangkat mampu mendeteksi serangan dengan

lunak dengan spesifikasi hardware : Laptop memberikan alert dengan total 72 alert.

ASUS X441U, Processor : Intel ® Core i3, CPU : A. Pengujian Sistem Deteksi Serangan
6006U @2.0GHz, RAM : 8.00 GB, VGA : Intel (IDS) pada Snort Server dengan 1 Client.
®
Pengujian dilakukan oleh client 1 saja yang
HD Graphics 520, software : Oracle VM
bertindak sebagai penyerang. Client 1
VirtualBox 5.2.8, Linux Ubuntu Dekstop
melakukan serangan terhadap server dengan
16.04 LTS untuk OS Server Snort, Linux Ubuntu
variasi serangan yaitu flooding atau
14.04 32bit untuk OS Client1 dan Client 2,
membanjiri IP atau Port dengan
Windows 10 sistem operasi pada laptop, dan
menggunakan 3 Port/Protokol.yaitu 22/TCP
Whireshark v2.4.4 sebagai network analyzer
flood, 68/UDP flood dan ICMP flood.
untuk analisa kinerja jaringan yang dibangun.
Tabel 1 menjelaskan rancangan pengujian
III. HASIL DAN PEMBAHASAN sistem IDS. Pada pengujian ini dilakukan

Pengujian dilakukan dengan menguji fungsi dari pada tanggal 22/05/2018 mulai pukul

sistem deteksi serangan (IDS) yang telah 08:47:27 WIB sampai dengan pukul 12:28:07

dibangun. WIB.

Tabel 1. Tabel pengujian Sistem


Intrusion Detection System (IDS) Snort.
Jmlh Jmlh
Model Paket Jumla Hasil
Client Seran
Seran dikiri h Akur
Penye gan/p
gan m Alert asi
rang aket
TCP
1000 1 1000 100%
flood
UDP 99,94
flood 1 2500 2 4997 %
Gambar 6. Tampilan web BASE Snort ICMP
5000 2 10000 100%
flood

Pada web BASE Snort ini akan digunakan untuk


Dengan melakukan serangan flooding atau
menganalisa adanya alert serangan dari client
membanjiri port TCP/22 dengan
terhadap server. Pada gambar 6 terlihat adanya
mengirimkan paket data sebesar 1000 paket
total awal 72 alert, 72 alert yang terdapat dalam
dan 1 paket data berisi 1 serangan, hasil alert
web BASE Snort disebabkan sudah dilakukan
yang terdeteksi pada web BASE snort sebesar
percobaan testing serangan atau penyusup oleh
1000, maka pengujian ini mencapai hasil
client penyerang untuk mengetahui bahwa secara
100%.

Informatics and Business Institute Darmajaya 77

A.19
Pada model serangan port 68/UDP dilakukan B. Analisa Response Time Pengujian

flooding port dengan memberikan paket data dengan 1 Client penyerang

sebesar 2500 paket dan 1 paket data dari port UDP Analisa response time ini ialah analisa waktu
terdapat 2 serangan, hasil alert yang terdeteksi respon server oleh rules snort terhadap
pada web BASE snort untuk port UDP sebesar adanya paket serangan yang dilakukan oleh 1
4997 alert, maka pengujian pada model UDP client penyerang secara bersamaan dengan 3
mencapai hasil 99,94%. model serangan yaitu TCP Flood, UDP
Dan model serangan Ping/ICMP dilakukan Flood, dan ICP Flood seperti pada tabel 2.
flooding IP dengan memberikan paket data Tabel 2. Response Time Rules Snort
sebesar 5000 paket dan 1 paket ICMP terdapat 2 Model Time Total Paket Response
Attack Span Diterma Time
serangan, hasil alert yang terdeteksi pada web TCP
1040.335 s 1270 0.82 s/paket
flood
UDP
BASE snort sebesar 10000, maka pengujian pada flood
2561.886 s 5778 0.44 s/paket
ICMP
model UDP flood mencapai hasil 100%. flood
5395.634 s 15869 0.34 s/paket

Tabel diatas ialah hasil analisa response


time server oleh rules snort dalam
mendeteksi ketika ada paket serangan yang
diberikan oleh 1 client penyerang. Untuk
model serangan TCP flood menghasilkan
time span 1040.335 s / total paket 1270 =
0.82 s/paket, UDP flood menghasilkan time
Grafik 1. Diagram hasil pengujian span 2561.886 s / total paket 5778= 0.44
akurasi alert. s/paket, dan ICMP Flood menghasilkan time
Pada Grafik 1 dapat diambil kesimpulan saat span 5395.634 s / total paket 15869 =
dilakukan model serangan UDP Flood sistem IDS 0.34 s/paket.
tidak mampu mendeketsi paket serangan dengan
Response Time (s)
maksimal, terjadi error sebesar 0.06% dan hanya
1 0.82 s
mencapai hasil
0.44s Keterangan :
99.94 %. Dan untuk model serangan TCP Flood 0.5 0.43s
Pengujian
dan ICMP Flood mampu mencapai hasil 100%. dengan 1 client

TCP UDP ICMP Model Attack

Flood Flood Flood


Gambar 7. Response Time Rules Snort

Informatics and Business Institute Darmajaya 78

A.20
Pada gambar 7 dapat dilihat response time dengan ICMP
5000 2 20000 100%
flood
hasil terbesar pada model serangan TCP flood
Dengan mengirimkan paket data sebesar
dengan hasil 0.82 s / paket. Hal ini disebabkan
1000 paket dan 1 paket data berisi 1 serangan,
karena paket data yang dikirim lebih kecil.
hasil alert yang terdeteksi pada web BASE
Sehingga dapat disimpulkan response time server snort sebesar 2000 alert, maka pengujian ini
dalam mendeteksi adanya serangan memiliki rata- mencapai hasil 100%.
rata kurang dari 1 second / paket yaitu 0.53 Pada model serangan port 68/UDP
s/paket. dilakukan 2 client secara bersamaan

C. Pengujian Sistem Deteksi Serangan (IDS) melakukan serangan flooding port dengan

dengan 2 Client. memberikan paket data sebesar 2500 paket


dan 1 paket data dari port UDP terdapat 2
Pengujian dilakukan oleh 2 client 1 yang
serangan, hasil alert yang terdeteksi pada web
bertindak sebagai penyerang. Client 1 dan Client
BASE snort untuk port UDP sebesar 9997
2 melakukan serangan secara bersamaan terhadap
alert, maka pengujian pada model UDP
server dengan variasi serangan yaitu flooding atau
mencapai hasil 99,94%.
membanjiri IP atau Port dengan menggunakan 3
Dan model serangan Ping/ICMP dilakukan
Port/Protokol.yaitu 22/TCP flood, 68/UDP flood
2 client secara bersamaan melakukan
dan ICMP flood.
flooding IP dengan memberikan paket data
Tabel 3 menjelaskan racangan pengujian sistem
sebesar 5000 paket dan 1 paket ICMP
IDS. Pada pengujian ini dilakukan Pada tanggal
terdapat 2 serangan, hasil alert yang
23/05/2018 mulai pukul 04:20:32 WIB sampai
terdeteksi pada web BASE snort sebesar
dengan pukul 07:08:32 WIB dengan 2 client
20000 alert, maka pengujian pada model
melakukan serangan flooding atau membanjiri
UDP flood mencapai hasil 100%.
port TCP/22 secara bersamaan.
Tabel 3. Tabel pengujian Sistem
Intrusion Detection System (IDS) Snort.

Jumla Jumla
Model h Paket h Jumla Hasil
Seranga Client dikiri seran h Akur
n Penye m gan/p Alert asi
rang aket
TCP Grafik 2. Diagram hasil pengujian
1000 1 2000 100%
flood
2
akurasi alert
UDP 99,94
flood 2500 2 9997 %

Informatics and Business Institute Darmajaya 79

A.21
Pada Grafik 2 dapat diambil kesimpulan dari span 2961.172 s / total paket 11128 = 0.26

pengujian dilakukan oleh 2 client secara s/paket, dan ICMP Flood menghasilkan time

bersamaan memiliki hasil akurasi yang sama span 7291.117 s / total paket 28522 =

dengan pengujian menggunakan 0.25 s/paket.

1 client yaitu saat dilakukan model serangan UDP Response Time (s)
Flood sistem IDS mengalami error sebesar 0.06%
0.6 0.45 s Keterangan :
dan hanya mencapai hasil 99.94 %. Dan untuk
0.4 0.26 s 0.25 Pengujian
model serangan TCP Flood dan ICMP Flood dengan 2 client
0.2 penyerang
mampu mencapai hasil 100%. Model Attack
TCP UDP ICMP
Flood Flood Flood

D. Analisa Response Time pengujian oleh 2 Gambar 8. Response Time Rules Snort
client penyerang. oleh 2 Client Penyerang
Analisa response time ini ialah analisa waktu
Pada gambar 8 dapat dilihat response time
respon server oleh rules snort terhadap adanya
dengan hasil terbesar pada model serangan
paket serangan yang dilakukan oleh 2 client
TCP flood dengan hasil 0.45 s / paket. Dari
penyerang secara bersamaan dengan 3 model
diagram diatas rata-rata response time yang
serangan yaitu TCP Flood, UDP Flood, dan
dihasilkan mencapai kurang dari 1
ICMP flood seperti pada tabel 4.
detik/paket yaitu 0.32 s/paket.

Tabel 4. Response Time Rules Snort Sehingga dapat disimpulkan perbedaan rules
Model Time Total Paket
Attack Span Diterima Response Time snort dan model serangan yang berbeda akan
TCP
1104.295 s 2439 0.45 s/paket mempengaruhi kecepatan pendeteksian
Flood
UDP
2961.172 s 11128 0.26 s/paket
Flood serangan. Jadi ketika paket data yang
ICMP
7291.117 s 28522 0.25 s/paket
Flood dimasukkan itu semakin besar maka

Pada tabel 4 menggambarkan tabel hasil analisa kecepatan pendeteksian akan semakin

response time server oleh rules snort dalam meningkat dan lebih cepat.

mendeteksi ketika ada paket serangan yang E. Pengujian Sistem Pencegah Serangan
diberikan oleh 2 client penyerang secara (IPS) pada iptables.

bersamaan. Untuk model serangan TCP flood


menghasilkan time span 1104.295 s / total paket
Gambar 9. Tampilan Firewall IP
2439 = 0.45 s/paket, UDP flood menghasilkan Tables melakukan block IP Client 1
time secara manual
Pada gambar 9 dilakukan setting blocking IP
penyerang yaitu protokol TCP, UDP,

Informatics and Business Institute Darmajaya 80

A.22
dan ICMP dengan IP Address
192.168.43.96 seperti pada gambar 9.

Gambar 10. Tampilan Firewall IPTables


melakukan block IP Client 2
secara manual
Gambar 12. Tampilan pada Client 2
Pada gambar 10 dilakukan setting blocking IP telah terblok

penyerang yaitu protokol TCP, UDP, dan ICMP Gambar 12 menunjukkan client 2 tidak
dengan IP Address client 2 yaitu 192.168.43.25. dapat melakukan serangan karena sudah
dilakukan blocking / filtered oleh sistem IPS
iptables. Hasil blocking IP ialah keterangan
state “filtered”. State filtered ini
menunjukkan bahwa Internet Protocol (IP)
penyerang telah berhasil di blok oleh sistem
Intrusion Prevention System (IPS).
Sehingga dapat ditarik kesimpulan bahwa
Gambar 11. Tampilan pada Client 1 saat sistem Intrusion Prevention System (IPS)
di Block atau sistem pencegah penyusup secara
Gambar 11 menunjukkan client 1 tidak dapat fungsional dapat melakukan blocking IP
melakukan serangan karena sudah dilakukan dengan baik sehingga client penyerang tidak
blocking / filtered oleh sistem IPS iptables. Hasil dapat lagi melakukan serangan terhadap
blocking IP ialah keterangan state “filtered”. server.
State filtered ini menunjukkan bahwa Internet IV. KESIMPULAN
Protocol (IP) penyerang telah berhasil di blok Implementasi sistem keamanan jaringan
oleh sistem Intrusion Prevention System (IPS) pada LAN nantinya mampu terintegrasi
dengan baik dan dapat dilakukan pengujian
dengan baik.

1. Tercipta sistem keamanan IDPS Snort


pada jaringan komputer LAN dan
berfungsi dengan baik.

Informatics and Business Institute Darmajaya 81

A.23
2. Sistem IDS dengan Snort yang DAFTAR ACUAN

diimplementasikan dapat melakukan deteksi [1] Ervin Kusuma Dewi, Patmi Kasih, 2017,

serangan dengan hasil rata-rata nilai akurasi “Analisis Log Snort Menggunakan
Network Forensic”, Jurnal Ilmiah
yang sama yaitu 99.98% pada pengujian
dengan 1 client dan 2 client dan menghasilkan Penelitian dan Pembelajaran Informatika
(JIPI), Vol.02, No.02, pp : 72-79,
rata-rata nilai response time server oleh rules
snort yang baik yaitu kurang dari 1 second Desember.
[2] Dwi Kuswanto, 2017, “Studi Analisis
membaca paket data yang ada, pada saat
pengujian dengan 1 client yaitu 0.53 second dan Host Based Intrusion Detection System
Berbasis Snort”, Seminar Nasional
dengan 2 client yaitu 0.32 second.
Teknologi Informasi dan Komunikasi
3. Sistem IDS mampu mendeteksi serangan
(SEMANTIKOM), Fakultas Teknik
dengan baik dan memiliki kemampuan kinerja
Universitas Trunojoyo, Bangakalan,.
yang sama dalam melakukan deteksi serangan
[3] Emir Risyad, Mahendra Data, Eko Sakti
dengan jumlah 1 client atau lebih banyak client.
Pramukantoro, 2017,
4. Sistem IPS dengan IP Tables mampu “Perbandingan Performa Intrusion
melakukan blocking IP serangan atau penyusup Detection System (IDS) Dan Suricata
dengan baik. Dalam Mendeteksi Serangan TCP SYN

V. SARAN Flood”, Jurnal Pengembangan


Penulis menyadari bahwa pada implementasi Teknologi Informasi dan Ilmu Komputer,
sistem Intrusion Detection System (IDS) dan e-ISSN:2548-964X, Vol.2, No.9,
Intrusion Prevention System (IPS) ini masih hlm.2615-2624, September.
memiliki hasil yang belum maksimal, sehingga [4] Bryan Zico Octavian, Wiwin Sulistyo,
perlu untuk dikembangkan sistem Intrusion 2017, “Rancang Bangun Snort Base IPS
Detection System (IDS) yang lebih baik lagi agar (Intrusion Prevention Systems) Pada
dapat mendeteksi model serangan yang lebih Local Area Network”, Artikel Ilmiah,
banyak dan sistem Intrusion Prevention System Teknik Informatika, Fakultas Teknologi
(IPS) yang dapat memblokir IP serangan secara Informasi, Universitas Kristen Satya
otomatis. Wacana, Salatiga, Mei.
[5] Fadlin Arsin, Muh. Yamin, La Surimi ,
2017, “Implementasi Security System
Menggunakan Metode IDPS (Intrusion
Detection and Prevention System)

Informatics and Business Institute Darmajaya 82

A.24
Dengan Layanan Realtime [10] C.Seelammal, K. Vimala Devi, 2016,

Notification”, semanTIK, ISSN : 2502- 8928, “Computational Intelligence in Intrusion

Vol. 3, No.2, pp.39-48, Juli – Detection System for Snort log using

Desember. Hadoop”, Journal Conference on

[6] Abdul Rahim, 2016, “Rancang Model Sistem Control, Intrumentation,

Keamanan Menggunakan Intrusion Prvention Communication and Computional

System Dengan Metode Rule Bases : Studi Technologies, IEEE, India,.

Kasus KPDE Provinsi Jambi”, Jurnal Ilmiah [11] L. J. G. Villalba, A. L. S. Orozco, J. M.

Media SISFO, Vol.10, No.2, p-ISSN : 1978- Vidal, 2015, “Anomaly-Based Network

8126, e-ISSN : 2527-7340, Oktober. Intrusion Detection System”, IEEE Latin

[7] Sutarti, Adi Putranto Pnacaro, Fembi Isnanto American Transactions, Vol.13, No.3,

Saputra, 2018, “Implementasi IDS (Intrusion IEEE, March.

Detection System) pada Sistem Keamanan [12] Salamn Niksefat, Babak Sadeghiyan,

Jaringan SMAN 1 CIKEUSAL”, Jurnal Payman Mohassel, Saeed Sadeghian,

PROSISKO, Vol.5, No.1, e-ISSN : 2597-9922, 2016, “ZIDS: A Privacy-Preserving

Maret. Intrusion Detection System Using Secure

[8] Didit Suhartono, Andi Dwi Riyanto, Yogi Two-Party Computation Protocols”,

Widy Astomo, 2015, “Intrusion Detection Journal Conference on Control,

Prevention System (IDPS) pada Local Area Intrumentation, Communication and

Network (LAN) ”, Jurnal Telematika , Vol.8, Computional Technologies, IEEE, India.

No.1 , e- ISSN : 2442-4528, Februari. [13] Alessio Merlo, Elena Spadacini, Mauro

[9] Budi Sudradjat, 2017, “Sistem Pendeteksian Migliardi, 2016, “IPS-based reduction of

Dan Pencegahan Penyusup Pada JARINGAN network energy consumption”, IEEE

Komputer Menggunakan Snort dan Firewall”, Latin American Transactions, Vol.24,

Journal of Information System, Applied, No.6, IEEE, August.

Management, Accouting and Research [14] Eva Charismanty “Tutorial Snort untuk

(JISAMAR), ISSN : 2598-8700, Vol.01, No.01, IDS”, Available :

November. http://andiwre.itmaranatha.org/tipsntrik/
linux/SNORT%20untuk%20IDS%20-
%20EvaCharismanty.pdf.
[15] Hengky Bintara “Mengenal Snort
sebagai Network Intrusion Detection

A.25
ANALISIS PERFORMANSI VIRTUALISASI CONTAINER MENGGUNAKAN DOCKER
DIBAWAH SERANGAN NETWORKED DENIAL OF SERVICE

PERFORMANCE ANALYSIS OF CONTAINER VIRTUALIZATION USING DOCKER


UNDER NETWORKED DENIAL OF SERVICE ATTACKS

Chrisna Fiddin1, Dr. Rendy Munadi, Ir.,M.T. 2, Ratna Mayasari, S.T, M.T.3
1,2,3
Prodi S1 Teknik Telekomunikasi, Fakultas Teknik Elektro, Universitas Telkom chrisnafc@gmail.com1 ,
rendymunadi@telkomuniversity.ac.id2 , ratnamayasari@telkomuniversity.ac.id3

Abstrak
Penggunaan teknologi virtualisasi dalam menyediakan infrastruktur komputasi meningkat cukup
tinggi seiring berkembangnya dunia industri IT. Penerapan teknologi virtualisasi dan container merupakan bagian
yang sangat penting dalam penerapan cloud computing, karena sangat berpengaruh pada efisiensi pengelolaan
sumber daya infrastruktur cloud computing. Pada konsep virtualisasi, dibutuhkan sebuah sistem yang dapat
menyediakan teknik virtualisasi yang mampu menyediakan sebuah sistem dengan peformansi mendekati atau sama
dengan native. salah satu faktor yang memperngaruhi performansi sebuah teknik virtualisasi yaitu dari sisi
keamanannya. Terdapat banyak jenis serangan terhadap sistem computer, yaitu salah satunya Denial of service,
jenis serangan ini senantiasa berkembang dalam berbagai bentuk.
Pada tugas akhir ini akan dilakukan penelitian mengenai performansi container menggunakan platform
Docker pada saat mengalami serangan DoS TCP SYN. Penelitian ini bertujuan untuk menganalisa kinerja mesin
dari sisi overall performance, dan layanan web server, yang dijalankan di atas container pada saat keadaan normal
dan mendapatkan serangan. Hasil pengujian akan dianalisa performansinya dengan membandingkan mesin native.
Dari hasil pengujian didapat bahwa serangan Denial of service memberikan dampak penurunan
performansi dari sisi overall performance dan layanan web server, baik mesin native maupun menggunakan teknik
virtualisasi container Docker. Pada serangan yang relatif ringan didapatkan hasil bahwa pada parameter request
per second menyebabkan penurunan performansi sebesar 40,22% pada native dan 37,65% pada Docker,
sedangkan pada parameter response time web server, serangan DoS menyebabkan peningkatan response time pada
server native sebesar 40,80%, sedangkan pada Docker sebesar 38,38.

Kata kunci : Keamanan Jaringan, Virtualisasi, Container.

Abstract
The application of virtualization technology in providing computing infrastructure has increased considerablyin line with the
development of the IT industry. Implementation of virtualization and container technology is very influential on the
efficiency of cloud computing infrastructure resource management. On the concept of virtualization, a system that can
provide a virtualization technique that is capable of providing a system with performance close to or equal to the native is
required. One of the factors that affect the performance of a virtualization technique is security. There are many types of
attacks on computer systems, one of them is Denial of service, this type of attack is constantly evolving in various forms.
In this final project, a research will be conducted on container performance using Docker platform under DoS
SYN flood attack. This study aims to analyze the performance of machines in terms of overall performance, and web
services performance, which run on top of the container during normal state and under attack. The test results will be
analyzed by comparing the performance native machine.
From the test results discovered that Denial of service attacks have the impact of performance degradation on
overall performance and web services, both native machines and using Docker container virtualization techniques. In
the relatively light attack, the results show that the request per second parameter resulted in a decrease in performance
of 40,22% in native and 37,65% in the Docker, whereas in the response time parameter of the web server, DoS attacks
resulted in increased response time on the native server by 40,80%, while at the Docker by 38,38%.

Keywords: Network security, Virtualization, Container

A.26
ISSN : 2355- e-Proceeding of Engineering : Vol.5, No.1 Maret 2018 |
9365 Page 27

1. Pendahuluan
Teknologi virtualisasi pada komputasi sekarang menjadi topik yang cukup ramai dalam pembahasan riset teknologi
cloud. Virtualisasi dan container merupakan bagian yang sangat penting dalam penerapan cloud computing, karena sangat
berpengaruh pada efisiensi pengelolaan sumber daya infrastruktur cloud computing. Hasil survey dari sdxcentral yang
dilakukan pada tahun 2015 menunjukan bahwa 94% responden yang berasal dari kalangan perusahaan telah mengadopsi
teknologi container sejak 12 bulan terakhir[1]. Dalam implementasinya saat ini, beberapa teknologi virtualisasi masih
memerlukan penelitian maupun percobaan lebih lanjut karena beberapa teknologinya masih tergolong baru. Salah satu
aspek penelitian yang banyak dikaji adalah mengenai jalannya aplikasi di atas teknologi virtualisasi serta aspek keamanan
jaringan. Di antara berbagai serangan DDOS, seranga flood TCP SYN adalah yang paling umum dan dikenal sebagai salah
satu metode DoS yang paling kuat. Jenis serangan ini masih mendominasi serangan DDOS berdasarkan laporan Kaspersky
tahun 2016 [2].
Sebelumnya telah dilakukan penelitian oleh Ryan Shea, Jiangchuan Liu dan dipublikasi pada IEEE SYSTEMS
JOURNAL dengan judul “Performance of Virtual Machines Under Networked Denial of Service Attacks: Experiments and
Analysis” , hasil dari parameter connection time diketahui bahwa performa hypervisor ketika mendapatkan serangan DoS
terjadi penurunan yang cukup besar, persentase perbandingannya yaitu diatas 400%, sedangkan pada container Open Vz
terdapat penurunan performa hanya sebesar 12%. Dari hasil penelitian tersebut disimpulkan bahwa, ada kemungkinan
dengan menggunakan teknologi container serangan DoS tidak membuat performa mesin menurun secara signifikan. Karena
pada konsep virtualisasi dibutuhkan sebuah sistem yang dapat menyediakan teknik virtualisasi dengan performa mendekati
atau sama dengan native [7].
Pada penelitian yang lainnya mengenai analisis performansi antara virtual machine dan container pada penelitian
yang telah dilakukan oleh Rabindra K. Barik, Rakesh K. Lenka, K. Rahul Rao, Devam Ghose dalam paper yang berjudul
“Performance Analysis of Virtual Machines and Containers in Cloud Computing” [5] mendapatkan kesimpulan bahwa
performansi virtualisasi container menggunakan Docker sedikit lebih unggul jika dibandingkan dengan teknik virtualisasi
lainnya.
Berdasar latar belakang yang sudah dijabarkan dan kesimpulan yang didapat dari penelitian terkait sebelumnya, maka
akan dilakukan penelitian pada performansi teknik virtualisasi container, dengan tujuan untuk menganalisa dan mengetahui
dampak yang ditimbulkan oleh serangan Denial of Service (DoS) SYN attack terhadap overall performance dan layanan
web yang dijalankan menggunakan teknik virtualisasi container dengan menggunakan platform Docker.

2. DASAR TEORI

2.1 VIRTUALISASI CONTAINER


Virtualisasi adalah teknik membuat versi abstrak atau virtual dari suatu sumber daya, sehingga pada satu sumber daya
fisik dapat dijalankan atau disimpan beberapa sumber daya virtual sekaligus. Pada saaat ini semua jenis virtualisasi dapat
digolongkan menjadi 3 buah kategori yaitu paravirtulization virtual machine, hardware virtual machine dan container
virtualization. Konsep dasar dari container adalah sebuah sistem yang memungkinkan untuk membuat layanan dan sumber
daya yang berbeda dengan cara berbagi di dalam sebuah operating sistem dan berjalan menggunakan libraries, drivers dan
binaries yang berbeda Konsep ini mengurangi jumlah sumber daya yang terbuang selama komputasi dikarenakan container
hanya menjalankan dan menyediakan kebutuhan binary atau library yang sesuai dengan aplikasi atau layanan yang
dijalankan [18].
2.2 CONTAINER DOCKER
Docker adalah salah satu platform aplikasi yang dibangun berdasarkan teknologi container. Docker merupakan sebuah
aplikasi platform virtualisasi container yang bersifat open source, yang menyediakan platform terbuka untuk developer
maupun sysadmin untuk dapat membangun, mengemas, dan menjalankan aplikasi dimanapun sebagai sebuah container
yang ringan. Docker pertama kali dikembangkan oleh Solomon Hykes sebagai project internal di dotCloud bersama dengan
beberapa koleganya yaitu Andrea Luzzardi dan Francois- Xavier Bourlet[14]. Platform Docker ini pertama kali rilis secara
open source pada tahun 2013 silam [13].

2.3 DOCKER ENGINE


Docker engine merupakan sebuah aplikasi client-server yang memiliki 3 komponen utama sebagai berikut :
• Sebuah server dengan jenis program long-running disebut proses daemon.
• Sebuah REST API yang menentukan interface yang dapat digunakan program untuk berbicara dengan daemon
dan menginstruksikan apa yang harus dilakukan.
• Sebuah client antarmuka baris perintah Command Line Interface.

A.27
2.4 DASAR JARINGAN DOCKER
Container menggunakan kemampuan partisi Linux yang disebut Cgroups dan namespaces. Proses Container diatur
oleh Docker engine sehingga proses didalam container dapat dipetakan ke dalam jaringan, sistem penyimpanan dan
namespaces lainnya. Di sisi jaringan, namespace memiliki hubungan jaringan sendiri dengan interface jaringan host, tabel
routing, soket dan aturan IPTABLE. Arsitektur jaringan Docker dibangun di atas satu set antarmuka yang disebut Container
Networking Model (CNM).

2.5 DENIAL OF SERVICE TCP SYN FLOOD


Denial Of Service (DoS) Attack adalah jenis serangan terhadap sebuah komputer atau server di dalam jaringan internet
yang sistem kerjanya yaitu dengan cara menghabiskan sumber daya (resource) yang dimiliki oleh sebuah komputer sampai
komputer tersebut tidak dapat menjalankan fungsinya dengan benar, sehingga secara tidak langsung mencegah pengguna
lain untuk memperoleh akses layanan dari komputer yang diserang tersebut. Serangan SYN flooding adalah jenis serangan
yang cukup membuat masalah didalam aplikasi yang menggunakan jaringan protocol TCP. Dalam kasus serangan SYN,
klien tidak membalas respons paket SYN- ACK ke server untuk membuka koneksi antara klien dan server. Karena itu
server dipenuhi dengan koneksi dalam keadaan setengah terbuka yang tersimpan di memori, dan sampai time out server
mencoba mengirim paket SYN-ACK baru ke klien [16]. Salah satu jenis variasi serangan DoS TCP yaitu dengan
menggunakan Spoofing Attack, dengan serangan jenis ini serangan akan menjadi lebih compleks dan cukup susah untu
dideteksi karena alamat pengirimnya dibuat random dan bukan dari alamat pengirim asli, dan juga pengirim paket seranga
tidak perlu untuk membalas paket SYN-ACKs yang direspon oleh target. Ilustrasi serangan ini dapat dilihat di Gambar 2.8.
[3]

2.6 PERLINDUNGAN SERANGAN SYN FLOOD DENGAN SYN COOKIES


Dengan mengaktifkan fungsi Cookie SYN dalam kernel Linux maka sistem akan mengabaikan serangan SYN flood
yang masuk, dengan keamanan ini memungkinkan server untuk menghentikan koneksi menggantung (setengah terbuka)
yang masuk pada saat telah mencapai batas pada buffer. Sementara pada saat pembangunan koneksi dihentikan, server
akan mengirimkan paket SYN-ACK cookies ke klien, dan jika menerima respons ACK dari klien, server akan
merekonstruksi koneksi setengah terbuka yang sebelumnya telah diterima, dan memungkinkan komunikasi dengan klien.

3. DESAIN MODEL SISTEM


Gambar 3.1 merupakan model secara keseluruhan dari sistem yang akan digunakan untuk melakukan pengujian.

Gambar 3.1 Infrastruktur sistem

Fokus pengujian pada penelitian ini yaitu hanya pada bagian mesin yang menjalankan virtualisasi container, didalam
mesin tersebut nantinya akan dijalankan service ubuntu server native dan dengan Container, kemudian diuji performanya
dari sisi overall performance dan layanan web server ketika normal dan mendapatkan serangan dari mesin attack emulator.
Fungsi dari attacker dalam sistem ini yaitu untuk melakukan generate paket serangan SYN, diasumsikan trafik paket yang
dihasilkan sebesar 100Mb/s. Gateway berfungsi untuk melakukan drop paket serangan yang dihasilkan oleh mesin yang
diuji, serta sebagai gerbang akses ke internet untuk melakukan request installasi paket Docker image.

A.28
ISSN : 2355- e-Proceeding of Engineering : Vol.5, No.1 Maret 2018 |
9365 Page 29

4. HASIL DAN PEMBAHASAN


Pada bab ini dibahas analisis dari hasil pengujian dengan skenario dan parameter yang telah ditentukan, dengan
mengimplementasikan teknik virtualisasi container menggunakan platform Docker yang dijalankan diatas Ubuntu server
14.0. Penelitian ini melakukan simulasi serangan DoS guna melihat performansi mesin dan layanan yang dijalankan
diatasnya. Sebagai pembanding akan digunakan data dari hasil pengujian performansi native, dari server yang
menggunakan sistem operasi Ubuntu server 14 tanpa menggunakan virtualisasi.
.
4.1. Pengujian Overall Performance
Pada pengujian ini ditampilkan hasil dari pengujian CPU, RAM, IOzone write, dan IOzone read. Skor overall
performance native diasumsikan dengan nilai maksimal. Selanjutnya semua nilai hasil pengukuran akan dinormalisasi
menggunakan perhitungan nilai normalisasi min-max. Normalisasi min-max adalah teknik sederhana yang mana teknik
ini secara khusus membuat rentang data baru dengan batas yang telah ditentukan sebelumnya [11], sehingga dengan
adanya normalisasi data dapat mempermudah dalam melakukan perbandingan pada parameter ini. Pada perhitungan ini
rentang batas didefinisikan dari 0-1, maka digunakan rumus perhitungan normalisasi min-max pada persamaan (4.1).

A – Nilai Minimum A
𝐴′ = * (D-C)+C (4.1)
Nilai Maksimum A − Nilai minimum A

Dimana, A’ berisi data Normalisasi Min-Max dengan rentang batas yang ditentukan adalah [C, D].

• CPU
Hasil pengukuran performansi CPU menggunakan 7-Zip berupa satuan MIPS, pengukuran ini bertujuan untuk
mendapatkan hasil berapa besar kemampuan CPU dalam menjalankan instruksi dalam satu detiknya.

HASIL PENGUJIAN 7-ZIP


7000,000
Performansi CPU

6000,000 5746,000 5755,400


5000,000 4171,700 4193,300

4000,000 3761,900 3816,100


(MIPS)

3000,000
2000,000
1000,000
0,000

Base Attack Attack SYN Cookies


Enabled

Native Docker

Gambar 4.1 Grafik Performansi


Hasil pengujian 7-Zip dapat dilihat di Tabel 4.1, jika nilai MIPS semakin tinggi maka semakin bagus
performansinya. Terlihat selisih penurunan performansi pada skenario SYN cookies diaktifkan maupun di matikan
antara Docker dan Native tidak lebih dari 5%. Penurunan performa terbesar terjadi pada skenario attack, karena
pada skenario ini keamanan SYN cookies tidak diaktifkan, sehingga menyebabkan server berusaha memproses
semua paket SYN dan dari proses tersebut berdampak pada penggunaan CPU. Sedangkan pada skenario SYN
cookies diaktifkan nilai MIPS juga terdapat penurunan sebesar 27,40% untuk native dan 27,14% untuk Docker
jika dibandingkan nilai base, penurunan ini disebabkan karena CPU bekerja dalam proses pembuatan paket SYN-
ACK cookies dengan menggunakan algoritma SYN cookies, tetapi dengan aktifnya SYN cookies sistem akan
mengabaikan serangan SYN flood yang masuk ketika telah mencapai batas buffer, sehingga penurunan
performansi pada saat keamanan SYN cookies diaktifkan tidak sebesar ketika tidak diaktifkan.
• MEMORY
Hasil pengujian memori ditunjukkan pada Tabel V . Dibawah serangan TCP DoS, semua setup menunjukan
penurunan kinerja sekitar 2% baik SYN cookies diaktifkan dan dimatikan.

A.29
HASIL PENGUJIAN THROUGHPUT MEMORY

MEMORY TROUGHPUT
8000

7431 7432,3
7242,4 7221,1 7274,4 7276,6

(MB/s)
7500
7000
6500
6000
5500
5000

Base Attack Attack SYN Cookies


Enabled

Native Docker

Gambar 4.2 Grafik Performansi RAM

Dari hasil pengujian tersebut jika semakin besar nilainya maka semakin bagus performansinya. Terlihat
terdapat penurunan performansi di sistem Native dan Docker, pada skenario serangan tanpa keamanan SYN
cookies, besar persentase penurunannya yaitu 2.54% pada Native dan 1.95% pada Docker, penurunan ini
diakibatkan oleh serangan SYN yang dianggap oleh server ingin mencoba membangun koneksi, kemudian server
membalas dengan mengirim SYN-ACK, serta mengalokasikan resource memory untuk menunggu datangnya
balasan ACK dari client yang melakukan request. Pada saat skenario serangan dengan SYN cookies diaktifkan juga
terlihat terdapat penurunan performansi, tetapi penurunan performansi pada skenario ini tidak sebesar ketika tidak
menggunakan keamanan SYN cookies, ini diakibatkan oleh aktifnya fungsi algoritma SYN cookies dalam kernel
Linux sehingga sistem akan mengabaikan serangan SYN flood yang masuk, dengan keamanan ini memungkinkan
server untuk menghentikan koneksi menggantung saat telah mencapai batas pada buffer, oleh sebab itu alokasi
memory untuk koneksi tidak sebanyak pada saat skenario tidak menggunakan keamanan SYN cookies
• Iozone Read dan Iozone Write
Hasil pengujian terakhir untuk parameter overall performance adalah untuk uji Iozone read dan write,
diberikan pada Gambar 4.3 dan Gambar 4.4.
IOZONE READ

55,506 55,283 55,379 55,126 55,499 55,138


(MB/s)

Native

Gambar 4.3 Grafik Performansi Write Iozone


IOZONE READ
(MB/s)

Vanila

Gambar 4.4 Grafik Performansi Iozone Read

A.30
ISSN : 2355- e-Proceeding of Engineering : Vol.5, No.1 Maret 2018 |
9365 Page 31

Untuk pengujian Iozone read dan write , semakin besar hasilnya maka semakin bagus performansinya.
Hasil pengujian pada parameter ini tidak terlalu terdampak performansinya oleh serangan DoS, ini dikarenakan
serangan DoS yang digunakan menggunakan paket berukuran sangat kecil, hanya terdapat header paket dan
payload tidak disi data sama sekali, sehingga pada sisi read dan write data tidak terdapat penurunan yang besar
pada semua skenario dibawah serangan DoS, adanya penurunan yang relatif kecil diakibatkan pada saat sistem
mendapatkan serangan, sistem IO bekerja dalam melayani packet serangan yang masuk dan juga melakukan
pembuatan paket ACK balasan yang juga melibatkan IO read dan write.
Pada saat SYN cookies diaktifkan penurunan performansi didapat lebih kecil jika dibandingkan tidak
diaktifkan, ini karena pada saat SYN cookies diaktifkan server membatasi untuk membangun koneksi yang
menggantung (SYN_RECV) sehingga dalam pembacaan paket yang masuk akan dibatasi, sehingga didapat
performa sedikit lebih tinggi jika dibandingkan dengan SYN cookeis dimatikan. Selisih performansi antara docker
pada saat diserang maupun kondisi normal tidak terdapat perbedaan yang jauh, terlihat di semua skenario selisih
performansi tidak ada yang melebihi 1%. Hasil dari parameter pengujian ini didapat standar deviasi yang cukup
kecil, pada semua skenario nilainya tidak ada yang melebihi 1%, ini menandakan bahwa performa write file sistem
cukup stabil, tidak ada penurunan ataupun peningkatan yang signifikan pada setiap pengujian.

Overall Performance Base Overall Performance Attack

1.0000 1.0029 1.0000 1.002


1 1

Skor
Skor

Nilai
0,5
Nilai

0,5

0 0
NATIVE BASE DOCKER BASE
NATIVE ATTACK DOCKER ATTACK

CPU RAM CPU RAM


IOZONE READ IOZONE WRITE IOZONE READ IOZONE WRITE

Gambar 4.5 Grafik Overall Gambar 4.6 Grafik Overall


Performance Base Performance Attack

Overall Performance Attack SYN Cookies


Enabled
1.0000 1.0020
1
0,8
0,6
Skor
Nilai

0,4
0,2
0
NATIVE SYN COOKIES DOCKER SYN
ENABLED COOKIES ENABLED

CPU RAM IOZONE READ IOZONE WRITE

Gambar 4.7 Grafik Overall Performance Attack Cookies

Dari seluruh skenario untuk metrik overall performance tidak ada perbedan nilai performansi yang signifikan diantara
Docker dan Native, semua skor performansi Docker hasilnya mendekati satu (pendekatan dua angka di belakang koma)
maka dari hasil tersebut membuktikan bahwa dengan menggunakan teknik virtualisasi container menggunakan Docker
perfomansinya yang sangat mendekati mesin native, baik pada saat keadaan normal maupun mendapatkan serangan TCP
SYN flood. Pada container Docker didapat performansi sedikit lebih unggul, ini sebab virtualisasi container mengurangi
jumlah sumber daya yang terbuang selama komputasi dengan hanya menjalankan dan menyediakan kebutuhan binary
atau library yang sesuai dengan aplikasi atau

A.31
layanan yang dijalankan.mendekati mesin native, baik pada saat keadaan normal maupun mendapatkan serangan TCP SYN
flood.
4.2. PENGUJIAN NETWORK
Hasil Pengujian Iperf dapat dilihat di Table 4.8. Pengukuran Iperf bertujuan untuk mengukur seberapa besar kecepatan
transfer maksimum diantara dua host.

PERBANDINGAN HASIL PENGUJIAN THROUGHPUT


NETWORK

15,000 11,300 11,297


Throughput

10,000 7,070 7,360 6,800 6,970


5,000
(MB/s)

0,000
Base Attack Attack SYN Cookies
Enabled

Native Docker

Gambar 4.8 Grafik Performansi Network

Pada pengukuran performansi base hampir tidak ada perbedaan performa, selisih diantara Native dan Docker hanya
sebesar 0,003MB/s, semakin besar nilai throughput maka akan semakin bagus. Overhead pada sisi jaringan docker didapat
sangat kecil sekali, diduga ini disebabkan oleh penggunaan driver Macvlan sebagai mode jaringan container, dengan driver
Macvlan container dapat langsung terhubung dengan mesin client yang bertindak sebagai user pada layer 2, tanpa harus
melalui jaringan mesin Ubuntu host, dan implementasi driver Macvlan sangatlah ringan di linux, driver tersebut hanya
menerapkan pemisahan antara jaringan container dan koneksi fisik jaringan host [10].
Pengujian skenario serangan tanpa keamanan SYN cookies terdapat penurunan performa pada sistem Native sebesar
37,38% dan Docker 36,83%, pada sistem Docker penurunan performansi sedikit lebih kecil nilainya jika dibandingkan
dengan Native, diduga dengan penggunaan driver Macvlan pada jaringan Docker,
Pada skenario SYN cookies diaktifkan terlihat pada kedua sistem terdapat penurunan performansi pada Docker sebesar
38.22 dan Native 39.79, selisih penurunan performa kedua sistem sangatlah kecil yaitu hanya sebesar 1,57%, pada skenario
ini tetap ada penurunan performansi walaupun keamanan SYN cookies diaktifkan, dikarenakan pada saat pengujian jalur
pengiriman paket data untuk pengujian terbagi oleh paket yang dibuat oleh algoritma SYN cookies , yaitu dengan paket
balasan SYN-ACK cookies untuk meresponse setiap paket SYN yang dihasilkan oleh serangan DoS [20], oleh sebab itu
bandwidth akan terbagi oleh paket cookies SYN-ACK yang dikirim oleh server dan paket serangan yang dikirim oleh
attacker, sehingga pada saat SYN cookies diaktifkan terjadi penurunan throughput sedikit lebih besar jika dibandingkan
dengan serangan tanpa SYN cookies.

4.3. PENGUJIAN APLIKASI WEB


Dari beberapa hasil pengujian sebelumnya sudah jelas bahwa performa container dan Docker performanya kurang
lebih sama, baik pada kondisi normal maupun mendapatkan serangan. Selanjutnya untuk akan dilakukan pengujian
dengan skenario yang lebih kompleks, untuk mengukur seberapa besar pengaruh serangan terhadap sistem layanan web
server. Pengujian dan simulasi pada sisi client digunakan aplikasi ab-apache.
Pada pengujian layanan aplikasi web, skenario yang dapat dijalankan hanya skenario serangan pada saat SYN
cookies diaktifkan, karena sebelumnya telah dilakukan pengujian tanpa menggunakan keamanan SYN cookies, semua
sistem yang diuji mendapatkan penurunan throughput menjadi nol pada pengujian layanan web server. Hal ini dapat
terjadi karena tanpa keamanan SYN cookies, antrian koneksi TCP dengan cepat diisi oleh paket SYN serangan DoS,
sehingga tidak ada ruang untuk membangun request koneksi yang telah dikirimkan oleh client. Ruang buffer koneksi
yang disediakan oleh server dapat mengalami penumpukan, dan server pun menjadi tidak dapat membaca permintaan
koneksi baru yang datang, hingga paket SYN yang sebelumnya mengalami gagal eksekusi atau sering dikenal dengan
istilah Time Out.

A.32
ISSN : 2355- e-Proceeding of Engineering : Vol.5, No.1 Maret 2018 |
9365 Page 33

a. Request Per Second


Pengujian pertama dimulai dengan evaluasi throughput maksimum masing-masing sistem. Jumlah throughput
layanan web server diekspreksikan dengan jumlah maksimum request yang dapat dilayani oleh web server dalam
tiap detik.

PERBANDINGAN HASIL PENGUJIAN REQUEST PER


SECOND APLIKASI WEB

(REQUEST/s)
REQUEST PER 1500,000
SECOND 1144,606 1150,275
1000,000 717,235
684,214

500,000

0,000
Base Attack SYN Cookies Enabled

Native Docker

Gambar 4.9 Grafik Request Per Second

Pada pengukuran parameter ini semakin besar nilai request maka akan semakin bagus. Dapat dilihat pada Gambar
4.9, performansi Native dan Docker tidak memiliki perbedaan yang signifikan, pada saat mendapatkan serangan
performansi Native dan Docker hanya memiliki selisih penurunan sebesar 2,57%. Performa sistem Docker pada saat
skenario serangan DoS sedikit lebih unggul, ini karena berbanding lurus dengan hasil pengujian throughput jaringan
sebelumnya. Penurunan performansi pada saat mendapatkan serangan DoS diakibatkan oleh trafik data yang terbagi
oleh paket serangan SYN yang masuk kedalam server, dan juga adanya SYN-ACK cookies yang dikirimkan oleh
server membuat jalur pengiriman data dan kapasitas jaringan menurun karena trafik data terbagi, sehingga
mengakibatkan jumlah request per second mengalami penurunan sebesar 40,22% pada Native dan 37,65% pada
Docker.

b. Response Time
Selanjutnya, akan diuji rata-rata waktu yang dibutuhkan untuk membangun koneksi HTTP ke server web.
Pengukuran menggunakan aplikasi ab-apache, dari pengujian akan diukur waktu yang dibutuhkan dalam menjalankan
tiap request ke server, dan akan dihitung nilai rata-rata dari semua request yang telah berhasil dijalankan.

20,000
Response Time

8,741 8,709
(ms)

Native

Gambar 4.10 Grafik Response Time


Pada pengujian ini semakin kecil nilai response time maka akan semakin bagus. Hasil pengujian response time
dapat dilihat pada Gambar 4.10. Pengujian performansi base kedua sistem terlihat hampir tidak ada perbedaan
performansi, selisih performansi dari kedua sistem hanya sebesar 0,04ms. Pada saat mendapat serangan terdapat
kenaikan response time yang cukup tinggi yaitu pada Native sebesar 40,80% dan pada Docker sebesar 38,38%,
kenaikan response time ini disebabkan karena banyaknya paket serangan

A.33
SYN yang masuk dan harus diproses oleh server, kemudian komputer server juga harus menangani proses request
layanan dari client bersamaan dengan proses penanganan paket SYN yang dikirim oleh penyerang, sehingga
terjadilah kenaikan waktu response time. Tetapi dari perbandingan kedua sistem tidak terdapat perbedaan yang
cukup jauh, selisih response time dari kedua sistem pada saat mendapatkan serangan hanya sebesar 0,62ms, dan
hasil pengujian ini berbanding terbalik terhadap pengujian performansi CPU, semakin besar nilai CPU maka nilai
response time akan semakin kecil.

5. Kesimpulan dan Saran


A. Kesimpulan
Dari hasil pengujian dan analisis performansi sistem native dan Docker dibawah serangan DoS SYN flood
didapatkan bahwa serangan mengakibatkan penurunan performansi disemua sistem tersebut, dengan perbedaan
performansi berdasarkan metrik overall performance, network dan layanan web server, yang mana didapatkan
kesimpulan sebagai berikut :
1. Ditinjau dari perbandingan pengukuran overall performance Ubuntu menggunakan container Docker
performansinya tidak berbeda jauh dengan ubuntu native (pendekatan dua angka di belakang koma).
Docker sedikit lebih unggul dikarenakan container mengurangi jumlah sumber daya yang terbuang
selama komputasi dengan hanya menjalankan dan menyediakan kebutuhan binary atau library yang
sesuai dengan aplikasi atau layanan yang dijalankan, oleh karena itu proses didalam container hampir
tidak ada overhead.
2. Secara umum dampak dari setiap serangan yang dilancarkan terhadap overall performance tidak cukup
besar. Dikarenakan kapasitas jaringan dalam hal ini lebar bandwidth yang terbatas serta kecepatan
pemrosesan baik pada node server maupun klien yang cukup cepat.
3. Berdasarkan hasil pengukuran pada parameter network menunjukkan bahwa throughput pada Docker
sedikit lebih unggul performansinya pada skenario serangan SYN cookies, ini diduga karena penggunaan
driver Macvlan pada container Ubuntu membuat performa jaringan container sedikit lebih bagus, sehingga
akan memberikan throughput yang lebih besar.
4. Serangan DoS SYN flood berpengaruh terhadap jalannya layanan web server, karena pada saat keamanan
SYN cookies tidak diaktifkan layanan web tidak dapat diakses sama sekali akibat adanya serangan yang
masuk.
5. Virtualisasi berbasis container dapat menjadi solusi yang lebih baik untuk sistem yang terpapar
serangan DoS.
B. Saran
Penelitian selanjutnya disarankan untuk menguji jenis serangan yang berbeda dan juga menggunakan metode
keamanan yang berbeda. Penggunaan firewall dapat menjadi solusi terbaik, karena perangkat tersebut dapat memfilter
paket yang akan masuk kedalam server, sehingga server tidak akan mengalami penurunan performansi dalam
melakukan penanganan serangan. Hal tersebut bertujuan untuk mengetahui dan mendapatkan kinerja sistem yang
lebih baik sehingga didapatkan kualitas layanan yang lebih baik pula.

Daftar Pustaka
[1] [Online]. Available : https://www.sdxcentral.com/articles/news/survey-container-adoption-is-
skyrocketing/2015/06/.[Accessed 5 April 2017]
[2] [Online]. Available : https://securelist.com/analysis/quarterly-malware-reports/74550/kaspersky-
ddos-intelligence-report-for-q1-2016/.[Accessed 10 Januari 2018]

[3] Wesley M. Eddy.Defenses Against TCP SYN Flooding Attacks - The Internet Protocol Journal -
Volume 9, Number 4
[4] Deshane, T., Shepherd, Z., Matthews, J., Ben-Yehuda, M., Shah, A. and Rao, B., 2008.
Quantitative comparison of Xen and KVM. Xen Summit, Boston, MA, USA, pp.1-2.
[5] Rabindra K. Barik, Rakesh K. Lenka, K. Rahul Rao, and Devam Ghose, “Performance Analysis of
Virtual Machines and Containers in Cloud Computing”, in International Conference on
Computing, Communication and Automation (ICCCA2016)
[6] Casalicchio, Emiliano & Perciballi, Vanessa. (2017). Measuring Docker Performance: What a
Mess!!!. . 10.1145/3053600.3053605.Conference: ACM ICPE ’17 Companion

A.34
ISSN : 2355- e-Proceeding of Engineering : Vol.5, No.1 Maret 2018 |
9365 Page 35

[7] Ryan Shea, “Performance of Virtual Machines Under Networked Denial of Service Attacks:
Experiments and Analysis”,in 2013 IEEE SYESTEM JOUNAL, VOL 7. NO. 2
[8] TCP SYN Flooding and IP Spoofing Attacks, 1996 Advisory, Software Engineering Institute,
Carnegie-Mellon University
[9] W. Richard Stevens. TCP/IP Illustrated, Volume 1: The Protocols.
[10] Fabrizio Soppelsa, Chanwit Kaewkasi, “Native Docker Clustering with Swarm”.
[11] PATRO, S GOPAL & Kumar Sahu, Kishore. (2015). Normalization: A Preprocessing Stage.
IARJSET.10.17148/IARJSET.2015.2305.
[12] Stallings (2005). Operating Systems, Internals and Design Principles. Pearson: Prentice Hall. p. 6.
[13] [Online]. Available : Avram, Abel (2013-03-27). "Docker: Automated and Consistent Software
Deployments". InfoQ.[Accessed 5 April 2017]
[14] [Online]. Available : "One home for all your apps". dotcloud.com. Archived from the original on
2014-05-17.[Accessed 5 April 2017]
[15] [Online]. Available : https://docs.Docker.com/engine/Docker-overview/.[Accessed 5 April 2017]
[16] Bogdanoski, Mitko & Shuminoski, Tomislav & Risteski, Aleksandar. (2013). Analysis of the SYN
flood DoS attack. International Journal of Computer Network and Information Security. 5. 1-11.
10.5815/ijcnis.2013.08.01.
[17] [Online]. Available : https://success.docker.com/article/Docker_Reference_Architecture-
_Designing_Scalable,_Portable_Docker_Container_Networks/.[Accessed 5 April 2017]
[18] Rajdeep Dua, A Reddy Raja, and Dharmesh Kakadia, “Virtualization vs Containerization to
support PaaS”, in 2014 IEEE International Conference on Cloud Engineering
[19] Hung, Ling-Hong & Kristiyanto, Daniel & Bong Lee, Sung & Yeung, Ka Yee. (2016). GUIdock:
Using Docker Containers with a Common Graphics User Interface to Address the Reproducibility
of Research. PloS one. 11. e0152686. 10.1371/journal.pone.0152686.
[20] Wesley M. Eddy, “Defenses Against TCP SYN Flooding Attacks” , in 2006 The Internet Protocol
Journal - Volume 9, Number 4 ,
[21] STREAM: Sustainable Memory Bandwidth in High Performance Computers
John D. McCalpin, Ph.D.john@mccalpin.com"Dr. Bandwidth"

A.35
PERFORMANSI COMPUTER CLUSTERING PADA VIRTUAL MACHINE DAN
DOCKER CONTAINER DENGAN METODE DDOS ATTACK
PERFORMANCE OF COMPUTER CLUSTERING ON VIRTUAL MACHINE AND DOCKER
CONTAINER WITH DDOS ATTACK METHOD
Riki Tanzila Romadona1, Doan Perdana2, Ratna Mayasari3
1,2,3
Prodi S1 Teknik Telekomunikasi, Fakultas Teknik Elektro, Universitas Telkom
rikitanzila.student.telkomuniversity.ac.id1, doanperdana@telkomuniversity.ac.id2,
ratnamayasari@telkomuniversity.ac.id3

ABSTRAK
Docker Container dan virtual machine merupakan jenis teknik virtualisasi yang ada pada saat ini, kedua
jenis teknik virtualisasi tersebut pada saat ini sudah banyak diterapkan pada layanan cloud. Teknik virtualisasi juga
dapat dilakukan computer clustering untuk menambahkan performansi agar dapat melayani jumlah permintaan
user yang lebih tinggi terhadap suatu server. Namun meskipun computer clustering telah diimplementasikan
kedalam jenis teknik virtualisasi tersebut terkadang kinerja sistem secara tiba - tiba menjadi sangat lambat karena
kelebihan beban (overload) atau bahkan hingga webserver tidak bisa diakses karena adanya user yang sengaja
melakukan serangan DDoS terhadap server. Permasalahan tersebut kerap terjadi dan dapat membuat rugi pada
pihak yang membuat server tersebut karena server tidak dapat diakses oleh user.
Untuk melihat performansi dari teknik virtualisasi yang dilakukan computer clustering, maka pada
penelitian kali ini dilakukan implementasi clustering pada teknik virtualisasi Docker Container dan virtual machine
(Virtualbox dan KVM), yang selanjutnya dilakukan penyerangan DDoS yang berfungsi untuk membebani server.
Tujuan perbandingan ini dilakukan untuk melihat performansi dari masing masing jenis virtualisasi.
Pada Docker Container didapatkan hasil performansi cpu sebesar 36,8% - 77,2% dan 20,4% - 46,2%
dengan menggunakan cluster, pada Virtualbox didapatkan hasil performansi cpu sebesar 39,2% - 82,6% dan 5,5%
- 27,5% dengan menggunakan cluster, pada KVM didapatkan hasil performansi cpu sebesar 14,8% - 38% dan 8,4%
- 28% dengan menggunakan cluster. Dari semua hasil performansi dapat disimpulkan penggunaan cpu terendah
didapatkan dengan menggunakan KVM, namun dalam menangani serangan DDoS Slow Post-HTTP Request Docker
Container lebih unggul dan dapat menangani serangan DDoS dengan besar paket 400 pada Host dan dapat
mengangani semua serangan DDoS pada cluster.
Kata Kunci : Performance, Docker Container, Virtual Machine, Computer clustering, DDoS.

ABSTRACT
Docker Containers and virtual machines are the type of virtualization techniques currently present, both of
these types of virtualization techniques are already widely applied to cloud services. Virtualization techniques can also
be done by computer clustering to add performance in order to serve a higher number of user requests to a server. But
even though computer clustering has been implemented into these types of virtualization techniques sometimes system
performance suddenly becomes very slow due to overload or even until the webserver cannot be accessed because A user
who accidentally performs a DDoS attack against the server. These problems often occur and can make a loss on the
party that makes the server because the server is not accessible by the user.
In order to see the performance of the virtualization technique done by computer clustering, this research is
implemented clustering implementation of the virtualization technique of Docker Container and virtual machine
(Virtualbox and KVM), hereinafter A DDoS attack that serves to overload the server. The purpose of this comparison
is to see the performance of each type of virtualization.
Based on In Docker Container obtained results of CPU performance of 36.8% - 77.2% and 20.4% - 46.2% by
using clusters, in Virtualbox obtained the result of CPU performance of 39.2% - 82.6% and 5.5% - 27.5% using clusters,
in KVM obtained CPU performance of 14.8%-38% and 8.4% - 28% by using clusters. Of all performance results can be
deduced the lowest CPU usage obtained using KVM, but in handling the Slow Post-HTTP Request DDoS attack a
Docker Container is superior and can handle DDoS attacks with a large 400 package on Host and can have all DDoS
attacks on the cluster.

1. Pendahuluan
Teknik virtualisasi adalah pembuatan versi maya (virtual) dari suatu sumber daya (resource), sehingga dengan
menggunakan satu sumber daya fisik dapat diciptakan beberapa versi maya yang fungsinya sama dari sumber daya fisik
tersebut. Hingga saat ini terdapat banyak sumber daya yang dapat divirtualisasikan baik pada perangkat keras (hardware)
dan perangkat lunak (software). Teknik virtualisasi itu sendiri dapat diterapka

A.36
Dalam realisasinya kedua jenis teknik virtualisasi ini diterapkan pada layanan cloud sebagai server yang menangani
banyaknya permintaan request terhadap suatu service dalam satu waktu. Agar server dapat mengoptimalkan kinerja sistem
dalam mengatur pembagian beban kerja maka dibutuhkan penerapan computer cluster, dengan jenis cluster yaitu load
balancing. Load balancing ini dilakukan untuk menangani kelebihan beban pada aplikasi dengan membagi-bagi beban
kepada komputer lain. Load balancing diterapkan baik pada Docker maupun virtual machine (Virtualbox dan KVM).
Namun meskipun load balancing telah diimplementasikan kedalam jenis teknik virtualisasi tersebut terkadang
kinerja sistem secara tiba - tiba menjadi sangat lambat karena kelebihan beban (overload) atau bahkan hingga webserver
tidak bisa diakses karena adanya user yang sengaja melakukan serangan DDoS terhadap server. Pada tugas akhir ini
dilakukan analisa dan membandingkan performansi dalam pengukuran CPU usage dari beberapa jenis teknik virtualisasi
yaitu Docker, dan virtual machine (Virtualbox dan KVM) dengan membebankan server dengan menggunakan serangan
DDOS sebagai pembangkit trafik. Selanjutnya hasil performansi antara Docker dan virtual machine tersebut akan dilihat
apakah ada perbedaan performansi dalam kinerja CPU yang
selanjutnya akan dilakukan perbandingan untuk pemilihan jenis virtualisasi yang lebih baik.
2. Dasar Teori
2.1. Docker Container
Docker adalah suatu daemon yang menyediakan kemampuan untuk mengelola Container Linux sebagai image
tersendiri. Docker memanfaatkan LXC untuk implementasi Container dan menambahkan kemampuan manajemen image
dan Union File System ke dalamnya. Docker menggunakan arsitektur berbasis client-server. Dalam hal ini, Docker client
mengirimkan permintaan berupa sebuah perintah kepada Docker daemon untuk membangun, mendistribusikan, dan
menjalankan Container Docker. [1]
2.2. Virtual Machine
Virtual Machine (VM) adalah sebuah mesin yang mempunyai dasar logika yang menggunakan pendekatan lapisan-
lapisan (layers) dari sistem komputer. Sehingga sistem komputer dengan tersendiri dibangun atas lapisan- lapisan tersebut.
Kernel yang berada pada lapisan kedua ini, menggunakan instruksi perangkat keras untuk menciptakan seperangkat system
call yang dapat digunakan oleh komponen-komponen pada level sistem program. Sistem program kemudian dapat
menggunakan system call dan perangkat keras lainnya seolah-olah pada level yang sama. [2]
2.3. Virtualbox
Virtualbox adalah perangkat lunak virtualisasi, yang dapat digunakan untuk mengeksekusi sistem operasi “tambahan”
di dalam sistem operasi “utama”. Sebagai contoh, jika seseorang mempunyai sistem operasi MS Windows yang terpasang
di komputernya, maka seseorang tersebut dapat pula menjalankan sistem operasi lain yang diinginkan di dalam sistem
operasi MS Windows. [3]
2.4. Kernel Virtual Machine (KVM)
Kernel-Based Virtual Machine (KVM) adalah salah satu teknologi virtualisasi (hypervisor) yang dikembangkan oleh
Linux. KVM merupakan sebuah solusi untuk melakukan virtualisasi pada Linux dengan perangkat keras type x86 (64-bit).
[4]
2.5. Load Balancing
Load balance adalah gabungan dari beberapa server untuk menyelesaikan permasalahan keseimbangan beban dari
suatu proses komputing. Load balance menggunakan sejumlah node-node yang akan dibagi secara merata. Di dalam
penerapan load balance tersebut diperlukan beberapa hardware dan software sebagai pendukung. [5]
2.6. Distributed Denial of Service (DDoS)
Serangan DDoS adalah serangan DoS yang memanfaatkan beberapa sumber daya serangan yang terdistribusi. Biasanya,
para penyerang menggunakan sejumlah besar bots yang dikendalikan (komputer inang/daemon, juga disebut sebagai
zombie) dan terdistribusi di beberapa lokasi yang berbeda untuk melancarkankan sejumlah besar serangan DoS terhadap
target tunggal atau beberapa target. Seiring dengan perkembangan pesat dari botnet (jaringan bot) dalam beberapa tahun
terakhir, skala lalu lintas serangan yang disebabkan oleh serangan DDoS telah meningkat, dengan targetnya tidak hanya
server untuk keperluan bisnis, tetapi juga infrastruktur internet seperti firewall, router dan sistem DNS serta bandwidth
jaringan.[6]

A.37
Pada Bab ini menjelaskan mengenai tahapan penelitian yang dilakukan meliputi pemodelan diagram alir atau flow chart,
topologi jaringan, perangkat yang digunakan, instalasi dan konfigurasi pada masing masing sistem.
3.1 Metode Penelitian
Berikut merupakan diagram alir metode penelitian

Gambar 1 Diagram Alir Pada Sisi Server.

Berikut adalah penjelasan pada Gambar 1 Diagram Alir Pada Sisi Server:
1. Tahapan pertama dalam diagram alir adalah Penentuan Software dilakukan agar tidak salah memilih software
yang digunakan untuk melakukan instalasi jenis teknik virtulaisasi dan pembuatan computer clustering dari jenis
teknik virtualisasi tersebut, dan dan hardware dilakukan agar memiliki hardware yang support dengan software
yang akan di install.
2. Selanjutnya pada Penentuan Topologi Jaringan, pada topologi jaringan dibuat dengan menyesuaikan banyaknya
Host dari masing masing teknik virtualisasi yang dibuat.
3. Pada Instalasi Ketiga Jenis Teknik Virtualisasi yaitu Docker, Virtualbox, dan KVM dalam proses ini akan
dilakukan instalasi hingga proses instalasi itu berhasil dan dapat digunakan.
4. Selanjutnya masuk ke tahapan Pembuatan Host Pada Docker dan Virtual Machine, pada tahapan ini pembuatan
Host akan disesuaikan dengan topologi yang akan dibuat. Host yang dibuat merupakan Host operating system
yang berjalan diatas masing masing teknik virtualisasi, operating system yang diinstall pada masing masing Host
merupakan ubuntu server versi 16.04.
5. Pada Instalasi dan Konfigurasi Load Balancing dibagi menjadi 3 bagian, yaitu instalasi dan konfigurasi load
balancing pada Docker, instalasi dan konfigurasi load balancing pada Virtualbox, instalasi dan konfigurasi load
balancing pada KVM.
6. Tahapan terakhir pada diagram alir selanjutnya adalah Instalasi Webserver Pada Docker dan Virtual Machine,
instalasi webserver akan dilakukan kepada masing masing Host yang telah dibuat pada tahapan sebelumnya.

A.38
Gambar 2 Diagram Alir Pada Sisi Attacker

Berikut merupakan penjelasan pada Gambar 2 Diagram Alir Pada Sisi Attacker :
1. Tahapan pertama dalam diagram alir adalah Instalasi Virtualbox.
2. Selanjutnya masuk ke tahapan Pembuatan Host, sama dengan pembuatan Host pada sisi server pada tahapan
pembuatan Host ini akan disesuaikan dengan topologi yang akan dibuat.
3. Pada tahapan selanjutnya yaitu Instalasi Torshammer Pada Host Virtualbox Attacker.
4. Selanjutnya merupakan Penyerangan Skenario DDoS, dan dilakukan analisa terhadap hasil.
3.2 Penentuan Software dan Hardware.
Pada blok sistem yang telah dijelaskan pada point sebelumnya pada tugas akhir ini menggunakan dua jenis perangkat, yaitu
perangkat keras dan perangkat lunak.
3.2.1. Perangkat Keras (Hardware)
Berikut adalah perangkat keras (Hardware) yang akan digunakan untuk menyusun Tugas Akhir ini:
1. 1 buah laptop untuk membangun cluster pada Docker dan virtual machine
Tabel 3.1 Spesifikasi Laptop Pada Sisi Server
Operating System Ubuntu Dekstop 16.04
Processor intel i5 4200HQ 4 Core
Ram 8 Gb ddr3
Vga Nvidia Gt 720m + Intel
Lan Slot 100Mbps / Fast Ethernet

2. 1 buah laptop untuk melakukan penyerangan DDoS.


Tabel 3.2 Spesifikasi Laptop Pada Sisi Attacker
Operating System Windows 10 Education
Processor intel i7 7700HQ 4 Core
Ram 16 Gb ddr4
Vga Nvidia Gtx 1050m + Intel
Lan Slot 100Mbps / Fast Ethernet
3. 2 buah kabel LAN cat 5e

A.39
3.2.2. Perangkat Lunak (Software)
Berikut adalah perangkat lunak (softwre) yang akan digunakan untuk menyusun Tugas Akhir ini:
1. Ubuntu Dekstop 16.04 sebagai sistem operasi pada sisi server.
2. Docker untuk membangun virtualisasi server Container.
3. Docker Machine untuk membangun virtualisasi Docker pada server.
4. Docker Swarm untuk membangun swarm pada Docker.
5. Virtualbox untuk membangun virtualisasi server.
6. KVM untuk membangun virtualisasi server.
7. Bridge utils untuk membangun port bridge virtual untuk membangun koneksi bridge pada KVM.
8. NGINX sebagai webserver pada masing masing virtualisasi server.
9. Haproxy sebagai load balancer pada masing masing virtualisasi server.
10. Open ssh server untuk membangun koneksi ssh.
11. Windows 10 Education untuk sistem operasi pada sisi attacker.
12. Virtualbox pada sisi attacker untuk membangun jenis serangan DDoS.
13. Apache JMeter sebagai aplikasi penyerangan DDoS digunakan dengan menggunakan sistem operasi windows.
14. Torshammer sebagai aplikasi penyerangan DDoS digunakan dengan menggunakan sistem operasi linux.
15. htop untuk pengecekan performance pada masing masing virtualisasi server.
16. Web Browser Chrome dan Mozilla untuk mengakses webserver.
17. Wireshark untuk melakukan pengecekan throughput pada jaringan.
3.3 Topologi Jaringan
Topologi jaringan pada tugas akhir ini dapat digambarkan sebagai berikut.

Gambar 3 Topologi Jaringan Berikut


adalah penejelasan dari topologi jaringan pada gambar 3 :
Pada komputer server di berikan sistem operasi ubuntu desktop 16.04, dan dilakukan instalasi aplikasi untuk
membangun virtualisasi server, yaitu Docker Container, Virtualbox, dan KVM. Selanjutnya masing-masing virtualisasi
server tersebut akan dibuat menjadi cluster dari setiap aplikasi virtualisasi server tersebut.
Target penyerangan DDoS merupakan load balancer dari masing masing virtualisasi server yaitu load balancer pada
Docker cluster, load balancer pada Virtualbox cluster, dan load balancer pada KVM cluster. Tujuan melakukan penyerangan
DDoS terhadap load balancer untuk membebani masing-masing webserver yang ada secara merata. Selain itu, penyerangan
DDoS dilakukan secara langsung menyerang terhadap webserver, hal ini dilakukan sebagai pembanding performansi
webserver dengan menggunakan cluster load balancer dan tanpa cluster load balancer.

A.40
paket yang kecil, dan terus meningkat hingga pengiriman paket yang besar.
4. Hasil dan Analisis
4.1. Docker Cluster Virtualization
4.1.1. Pengukuran Performansi Cpu Usage dan Memory
Pengukuran ini bertujuan untuk mengetahui performance cluster Docker virtualization yang telah dibangun pada kali
ini akan dilakukan uji coba pengukuran dengan skenario membebankan service webserver menggunakan penyerangan
DDoS dengan interval waktu tertentu dan besar paket yang bervariasi.
4.1.1.1. Sistematika Pengukuran Performance
Pada pengukuran performance kali ini akan dilakukan penyerangan DDoS terhadap Host yang terinstall virtualisasi
Docker Container, dimana akan dilakukan dua jenis penyerangan DDoS yaitu DDoS slow rate HTTP- POST dan DDoS
traffic flooding attacks.
4.1.2. Hasil dan Analisa Performansi Pada Docker Container
Untuk pengujian pertama dilakukan penyerangan DDoS traffic flooding attacks terhadap load balancer pada suatu
cluster, untuk penyerangan DDoS akan dilakukan dengan menggunakan aplikasi Apache JMeter.

Gambar 4 Performansi Cluster Docker Container Dengan Serangan DDoS Traffic Flooding Attacks.
Untuk pengujian kedua dilakukan penyerangan DDoS slow rate HTTP-POST terhadap load balancer pada suatu
cluster, untuk penyerangan DDoS akan dilakukan dengan menggunakan aplikasi Torshammer.

Gambar 5 Performansi Cluster Docker Container Dengan Serangan DDoS Slow Rate HTTP Post.

4.2. Virtualbox Cluster Virtualization


4.2.1 Pengukuran Performansi Cpu Usage dan Memory
Pengukuran ini bertujuan untuk mengetahui performance cluster Virtualbox yang telah dibangun, pada kali ini akan
dilakukan uji coba pengukuran dengan skenario membebankan service webserver menggunakan penyerangan DDoS
dengan interval waktu tertentu dan besar paket yang bervariasi.
4.2.2.1 Sistematika Pengukuran Performansi
Pada pengukuran performance kali ini akan dilakukan penyerangan DDoS terhadap masing masing Host Virtualbox,
dimana akan dilakukan dua jenis penyerangan DDoS yaitu DDoS slow rate HTTP-POST dan DDoS traffic flooding attacks.
4.2.2. Hasil dan Analisa Performansi Pada Virtualbox
Untuk pengujian pertama dilakukan penyerangan DDoS traffic flooding attacks terhadap load balancer pada suatu
clus
ter, untuk penyerangan DDoS akan dilakukan dengan menggunakan aplikasi Apache JMeter.

A.41
Gambar 6 Performansi Cluster Virtualbox Dengan Serangan DDoS Traffic Flooding Attacks.
Untuk pengujian kedua dilakukan penyerangan DDoS slow rate HTTP-POST terhadap load balancer pada suatu
cluster, untuk penyerangan DDoS akan dilakukan dengan menggunakan aplikasi Torshammer.

Gambar 7 Performansi Cluster Docker Container Dengan Serangan DDoS Slow Rate HTTP Post.
4.3. KVM Cluster Virtualization
4.3.1. Pengukuran Performansi Cpu Usage dan Memory
Pengukuran ini bertujuan untuk mengetahui performance cluster kernel virtual machine yang telah dibangun, pada kali
ini akan dilakukan uji coba pengukuran dengan skenario membebankan service webserver menggunakan penyerangan
DDoS dengan interval waktu tertentu dan besar paket yang bervariasi.
4.3.1.1. Sistematika Pengukuran Performance
Pada pengukuran performance kali ini akan dilakukan penyerangan DDoS terhadap masing masing Host KVM,
dimana akan dilakukan dua jenis penyerangan DDoS yaitu DDoS slow rate HTTP-POST dan DDoS traffic flooding attacks.
4.3.2. Hasil dan Analisa Performansi Pada KVM
Untuk pengujian pertama dilakukan penyerangan DDoS traffic flooding attacks terhadap load balancer pada suatu
cluster, untuk penyerangan DDoS akan dilakukan dengan menggunakan aplikasi Apache JMeter.

Gambar 8 Performansi Cluster KVM Dengan Serangan DDoS Traffic Flooding Attacks.
Untuk pengujian pertama dilakukan penyerangan DDoS traffic flooding attacks terhadap load balancer pada suatu
cluster, untuk penyerangan DDoS akan dilakukan dengan menggunakan aplikasi Apache JMeter.

A.42
Gambar 9 Performansi Cluster KVM Dengan Serangan DDoS Slow Rate HTTP Post.
4.4. Performansi Masing-Masing Cluster Dengan Menggunakan Firewall
Dengan menggunakan firewall pada masing masing virtualisasi yang telah dibuat tidak adanya terjadi perubahan
perfomansi baik dengan menggunakan serangan DoS ataupun DDoS dikarenakan alamat ip yang mengirim paket yang telah
melewati limit yang ditentukan akan diblokir dan tidak dapat mengakses webserver dari cluster yang telah dibuat.
5. Kesimpulan dan Saran
Kesimpulan pada Tugas Akhir ini adalah:
1. Pengukuran performansi dari ketiga jenis virtualisasi dapat dijalankan sesuai dengan yang direncanakan.
2. Dengan menggunakan teknik virtualisasi Docker Container performansi cpu dan memory yang didapatkan lebih
besar, namun lebih unggul dalam menangani serangan DoS / DDoS Slow rate HTTP- POST yang datang baik
dengan menggunakan cluster atau tidak menggunakan cluster.
3. Dengan menggunakan teknik virtualisasi Virtualbox didapatkan performansi cpu dan memory yang lebih rendah
jika dibandingkan dengan teknik virtualisasi Docker Container namun teknik virtualisasi ini tidak mampu
menangani serangan DoS / DDoS Slow rate HTTP-POST yang datang, dalam hal ini Host Virtualbox hanya mampu
bertahan dari serangan DoS dengan besar paket 400, dan cluster Virtualbox hanya mampu bertahan hingga
serangan DDoS dengan besar paket 400 tiap masing masing DoS.
4. Dengan menggunakan teknik virtualisasi kernel virtual machine didapatkan hasil performansi cpu terendah
didapatkan dengan menggunakan teknik virtualisasi kernel virtual machine jika dibandingkan dengan kedua
teknik virtualisasi yang dibangun (Docker Container dan Virtualbox). Namun seperti halnya Virtualbox teknik
virtualisasi ini tidak mampu mampu menangani serangan DoS / DDoS Slow rate HTTP-POST yang datang, dalam
hal ini Host Virtualbox hanya mampu bertahan dari serangan DoS dengan besar paket 400, dan cluster Virtualbox
hanya mampu bertahan hingga serangan DDoS dengan besar paket 600 tiap masing masing DoS.
Saran untuk penelitian berikutnya adalah sebagai berikut:
1. Melakukan penambahan jenis virtualisasi untuk perbandingan pengukuran performansi.
2. Melakukan penambahan spesifikasi pada setiap Host virtualisasi.
3. Melakukan perubahan topologi pada clustering atau penggunaan jenis clustering yang lain sebagai pembanding
performansi dari masing masing teknik virtualisasi.

Daftar Pustaka
[1] Adiputra, Firmansyah. 2015. CONTAINER DAN DOCKER: TEKNIK VIRTUALISASI DALAM
PENGELOLAAN BANYAK APLIKASI WEB. Bangkalan: Vol. 4. No.3. (Juli 2015).
[2] Wibowo, Chorul Aldi. 2016. Virtual Machine. Unversitas Gunadarma (November 2016).
[3] Haerani, Arnis. 2014. Pengertian Dan Fungsi Virtual Box. Tangerang. (2014).
[4] Rahma, Fayruz. Juli 2012. Apa sih Kernel-based Virtual Machine (KVM).
https://fayruzrahma.wordpress.com/2012/07/25/apa-sih-kernel-based-virtual-machine-KVM/. Diakses pada 22
Februari 2018.
[5] Arta, Yudhi. 2016. IMPLEMENTASI COMPUTER CLUSTER BERBASIS OPEN SOURCE UNTUK
PENYEIMBANG BEBAN SISTEM DAN JARINGAN KOMPUTER. Riau: Jurnal Teknik Informatika dan
Sistem Informasi, Vol.2, No.1. (1 April 2016).
[6] Koopman, P. et al. Comparing Operating Systems Using Robustness Benchmarks. Proceedings of
SRDS”97: 16th IEEE Symposium on Reliable Distributed Systems (1997): n. pag.

A.43

Anda mungkin juga menyukai