analisis kinerja intrusion prevention system pada ubuntu

70
ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU SERVER UNTUK MENANGANI SERANGAN BRUTE FORCE MENGGUNAKAN BASH SCRIPT DISERTAI NOTIFIKASI TELEGRAM LAPORAN SKRIPSI MOHAN MAULANA SAPUTRA 4616030028 PROGRAM STUDI TEKNIK MULTIMEDIA DAN JARINGAN JURUSAN TEKNIK INFORMATIKA DAN KOMPUTER POLITEKNIK NEGERI JAKARTA 2020

Upload: others

Post on 16-Oct-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

ANALISIS KINERJA INTRUSION PREVENTION

SYSTEM PADA UBUNTU SERVER UNTUK

MENANGANI SERANGAN BRUTE FORCE

MENGGUNAKAN BASH SCRIPT DISERTAI

NOTIFIKASI TELEGRAM

LAPORAN SKRIPSI

MOHAN MAULANA SAPUTRA 4616030028

PROGRAM STUDI TEKNIK MULTIMEDIA DAN JARINGAN

JURUSAN TEKNIK INFORMATIKA DAN KOMPUTER

POLITEKNIK NEGERI JAKARTA

2020

Page 2: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

ANALISIS KINERJA INTRUSION PREVENTION

SYSTEM PADA UBUNTU SERVER UNTUK

MENANGANI SERANGAN BRUTE FORCE

MENGGUNAKAN BASH SCRIPT DISERTAI

NOTIFIKASI TELEGRAM

LAPORAN SKRIPSI

Dibuat untuk Melengkapi Syarat-Syarat yang diperlukan untuk

Memporoleh Sarjana Terapan Politeknik

MOHAN MAULANA SAPUTRA

4616030028

PROGRAM STUDI TEKNIK MULTIMEDIA DAN JARINGAN

JURUSAN TEKNIK INFORMATIKA DAN KOMPUTER

POLITEKNIK NEGERI JAKARTA

2020

Page 3: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

ii

HALAMAN PERNYATAAN ORISINALITAS

Page 4: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

iii

LEMBAR PENGESAHAN

Page 5: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

iv

KATA PENGANTAR

Puji syukur saya panjatkan kepada Tuhan Yang Maha Esa, karena atas berkat dan

rahmat-Nya, penulis dapat menyelesaikan Skipsi ini. Penulisan Skripsi ini

dilakukan dalam rangka memenuhi salah satu syarat untuk mencapai gelar Diploma

Empat Politeknik.

Skripsi ini berisi tentang Analisis Kinerja Intrusion Prevention System pada Ubuntu

Server untuk Menangani Serangan Brute force Menggunakan Bash Script disertai

Notifikasi Telegram. Penulis menyadari bahwa, tanpa bantuan dan bimbingan dari

berbagai pihak, dari masa perkuliahan sampai pada penyusunan skripsi ini,

sangatlah sulit bagi penulis untuk menyelesaikan skripsi ini. Oleh karena itu,

penulis mengucapkan terima kasih kepada:

1. Mauldy Laya, S.Kom, M.Kom, selaku Ketua Jurusan Teknik Informatika

dan Komputer Politeknik Negeri Jakarta;

2. Defiana Arnaldy, S.Tp., M.Si. selaku Kepala Program Studi Teknik

Multimedia dan Jaringan Jurusan Teknik Informatika dan Komputer

Politeknik Negeri Jakarta dan juga selaku dosen pembimbing yang telah

menyediakan waktu, tenaga, dan pikiran untuk mengarahkan penulis dalam

penyusunan skripsi ini;

3. Orang tua dan keluarga penulis yang telah memberikan bantuan dukungan

material dan moral; dan

4. Sahabat yang telah banyak membantu penulis dalam menyelesaikan skripsi

ini.

Akhir kata, penulis berharap Tuhan Yang Maha Esa berkenan membalas segala

kebaikan semua pihak yang telah membantu. Semoga skripsi ini membawa manfaat

bagi pengembangan ilmu.

Depok, Juli 2020

Penulis

Page 6: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

v

HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI

UNTUK KEPENTINGAN AKADEMIS

Page 7: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

vi

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Analisis Kinerja Intrusion Prevention System pada Ubuntu Server untuk

Menangani Serangan Brute force Menggunakan Bash Script disertai

Notifikasi Telegram

Abstrak

Informasi merupakan sebuah aset yang memiliki nilai seperti aset lain. Sebagai sebuah

aset, informasi perlu diamankan dari sebuah serangan. Salah satu jenis serangan cyber

adalah serangan Brute force. Ketika seorang penyerang berhasil melakukan otentikasi

pada suatu sistem dengan menggunakan serangan Brute force, maka penyerang tersebut

dapat melakukan tindakan yang mengancam sistem tersebut. Penelitian ini

mengembangkan Instrusion Prevention System untuk mendeteksi dan menangani serangan

Brute Force menggunakan bahasa Bash. Sistem dibangun pada sistem operasi linux

Ubuntu Server versi 19.10. Sistem juga dirancang untuk dapat mengirim notifikasi melalui

telegram bila serangan Brute Force terdeteksi. Hasil penelitian penelitian menunjukan

bahwa sistem dapat menangani serangan Brute Force dan membedakan antara

serangan Brute Force dengan kegagalan login yang dianggap wajar dengan tingkat

keakuratan sebesar 100%. Sistem juga dapat mengirim notifikasi melalui telegram

ketika serangan Brute Force terdeteksi dan tidak mengirim notifikasi ketika terjadi

kegagalan login yang dianggap wajar dengan tingkat keberhasilan sebesar 100%. Rata-rata waktu yang diperlukan oleh sistem dalam merespon serangan Brute Force

adalah 15,035 detik dan rata-rata waktu yang diperukan untuk mengirim notifikasi

telegram adalah 2,82 detik. Sistem juga mampu menangani sejumlah serangan Brute Force

dalam waktu yang bersamaaan, dengan variasi jumlah serangan antara 2 sampai 6

serangan.

Kata kunci : Bash, Brute force, Intrusion Prevention System, Telegram, Ubuntu.

Page 8: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

vii

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

DAFTAR ISI

1

HALAMAN PERNYATAAN ORISINALITAS .................................................... ii

LEMBAR PENGESAHAN ................................................................................... iii

KATA PENGANTAR ........................................................................................... iii

HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI UNTUK

KEPENTINGAN AKADEMIS .............................................................................. v

ABSTRAK ............................................................................................................. vi

DAFTAR ISI ......................................................................................................... vii

DAFTAR TABEL ................................................................................................... x

DAFTAR GAMBAR ............................................................................................. xi

DAFTAR LAMPIRAN ......................................................................................... xii

BAB I.......................................................................................................................1

PENDAHULUAN .................................................................................................. 1

1.1 Latar Belakang ............................................................................................. 1

1.2 Perumusan Masalah ..................................................................................... 4

1.3 Batasan Masalah........................................................................................... 4

1.4 Tujuan dan Manfaat ..................................................................................... 4

1.5 Metode Penyelesaian Masalah ..................................................................... 4

1.5.1 Pengumpulan Data ....................................................................................... 5

1.5.2 Analisis Kebutuhan ...................................................................................... 5

1.5.3 Perancangan ................................................................................................. 5

1.5.4 Implementasi ................................................................................................ 5

1.5.5 Pengujian ...................................................................................................... 5

1.5.6 Analisis Hasil Pengujian .............................................................................. 5

BAB II.....................................................................................................................6

TINJAUAN PUSTAKA ........................................................................................ 6

2.1 Keamanan Jaringan ...................................................................................... 6

2.2 Brute force .................................................................................................... 7

2.3 SSH (Secure Shell) ....................................................................................... 8

2.4 SSH Brute force ........................................................................................... 8

Page 9: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

viii

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

2.5 Linux ............................................................................................................ 9

2.6 Ubuntu ........................................................................................................ 10

2.7 Kali Linux .................................................................................................. 10

2.8 Medusa ....................................................................................................... 10

2.9 Intrustion Prevention System (IPS) ............................................................ 11

2.10 Firewall ...................................................................................................... 12

2.11 Bash ............................................................................................................ 13

2.12 Telegram .................................................................................................... 14

2.13 Bot Telegram .............................................................................................. 14

2.14 Flowchart ................................................................................................... 15

2.15 Penelitian Sejenis ....................................................................................... 16

BAB III................................................................................................................. 18

PERENCANAAN DAN REALISASI ................................................................ 18

3.1 Perancangan Sistem ................................................................................... 18

3.1.1 Deskripsi Sistem ........................................................................................ 18

3.1.2 Cara kerja Sistem ....................................................................................... 18

3.1.3 Rancangan Sistem Pengujian ..................................................................... 20

3.1.4 Spesifikasi perangkat dan software/tools ................................................... 20

3.2 Realisasi Sistem ......................................................................................... 21

3.2.1 Konfigurasi Jaringan .................................................................................. 21

3.2.2 Pembuatan Bash Script .............................................................................. 25

3.2.3 Pembuatan Service ..................................................................................... 28

3.2.4 Pembuatan Log File ................................................................................... 29

3.2.5 Pembuatan Bot Telegram ........................................................................... 30

BAB IV ................................................................................................................ 36

PEMBAHASAN .................................................................................................. 36

4.1 Pengujian .................................................................................................... 36

4.2 Deskripsi Pengujian ................................................................................... 36

4.3 Prosedur Pengujian .................................................................................... 36

4.4 Data Hasil Pengujian .................................................................................. 38

4.4.1. Data Pengujian Parameter Fungsional ....................................................... 38

Page 10: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

ix

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

4.4.2. Data Pengujian Parameter Response Time ................................................. 41

4.4.3. Data Hasil Pengujian Parameter Kapasitas ................................................ 44

4.5 Analisis Data .............................................................................................. 46

4.5.1. Analisis Data Pengujian Parameter Fungsional ......................................... 46

4.5.2. Analisis Data Pengujian Paramater Response Time ................................... 49

4.5.3. Analisis Data Pengujian Parameter Kapasitas ........................................... 49

BAB V .................................................................................................................. 51

PENUTUP ............................................................................................................ 51

5.1. Kesimpulan ................................................................................................ 51

5.2. Saran ........................................................................................................... 51

DAFTAR PUSTAKA ........................................................................................... 52

Page 11: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

x

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

DAFTAR TABEL

Tabel 1. Konfigurasi jaringan untuk kali linux 2019 ............................................ 22

Tabel 2. Konfigurasi jaringan untuk ubuntu 19.10 ............................................... 24

Tabel 3. Potongan skrip untuk memeriksa login log............................................. 25

Tabel 4. Potongan skrip yang berisi fungsi deteksi() ............................................ 26

Tabel 5. Potongan skrip yang berisi fungsi notifToTelegram() ............................ 28

Tabel 6. Isi file dari service yang dibuat untuk menjalankan bash script ............. 29

Tabel 7 Perencanaan Pengujian Parameter Fungsional ........................................ 37

Tabel 8 Perencanaan Pengujian Parameter Response Time ................................. 37

Tabel 9 Perencanaan Pengujian Parameter Kapasitas ........................................... 38

Tabel 10 Data pengujian serangan Brute Force .................................................... 39

Tabel 11. Data pengujian kegagalan login yang dianggap wajar.......................... 41

Tabel 12. Data waktu penanganan serangan ......................................................... 43

Tabel 13. Data waktu pengiriman notifikasi melalui telegram ............................. 44

Tabel 14. Data pengujian ketika sejumlah serangan Brute Force dilakukan dalam

waktu yang bersamaan .......................................................................................... 46

Tabel 15. Tabel confusion matrix untuk mengukur keakuratan sistem ................ 47

Tabel 16. Hasil pencocokan antara data pengujian serangan dengan tabel

confusion matrix.................................................................................................... 47

Tabel 17. Hasil pencocokan antara data kegagalan login yang dianggap wajar

dengan tabel confusion matrix .............................................................................. 47

Tabel 18. Penggabungan data antara tabel 16 dan tabel 17 .................................. 48

Page 12: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

xi

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

DAFTAR GAMBAR

Gambar 1. 1 Grafik Global Hostile Activity menurut Global Threat Intelligence

Report tahun 2019 ................................................................................................... 2

Gambar 1. 2 Persentase penggunaan sistem operasi linux oleh website ................. 3

Gambar 2. 1 Ilustrasi Firewall .............................................................................. 13

Gambar 2. 2 Simbol-simbol Flowchart ................................................................ 16

Gambar 3. 1 Flowchart cara kerja sistem yang dibangun ..................................... 19

Gambar 3. 2 Rancangan sistem yang digunakan .................................................. 20

Gambar 3. 3 Tampilan awal ketika membuka BotFather pada aplikasi Telegram 30

Gambar 3. 4 Tampilan informasi yang muncul setelah memulai BotFather ........ 31

Gambar 3. 5 Tampilan dialog proses pemberian nama dan username pada

BotFather ............................................................................................................... 32

Gambar 3. 6 Tampilan dialog chat dari Bot Telegram yang telah dibuat ............. 32

Gambar 3. 7 Data JSON yang didapat setelah mengirim request getUpdates

menggunakan token bot yang telah dibuat sebelumnya ke API Telegram ........... 33

Gambar 3. 8 Pengiriman request sendMessage pada bot ke API Telegram ......... 34

Gambar 3. 9 Pesan dengan teks “hello” yang diterima oleh user dari bot ............ 35

Gambar 4. 1 Log ketika sistem mendeteksi sebuah serangan Brute Force ........... 39

Gambar 4. 2 Notifikasi telegram ketika sistem mendeteksi sebuah serangan Brute

Force ..................................................................................................................... 39

Gambar 4. 3 Log ketika terjadi kegagalan login yang dianggap wajar ................. 40

Gambar 4. 4 Tidak ada notifikasi yang dikirimkan pada saat terjadi kegagalan

login yang dianggap wajar .................................................................................... 40

Gambar 4. 5 Waktu ketika serangan datang dan waktu ketika alamat IP penyerang

diblokir .................................................................................................................. 41

Gambar 4. 6 Tangkapan Packet dari notifikasi yang dikirim dari telegram ......... 42

Gambar 4. 7 Rincian Tangkapan Packet dari notifikasi yang dikirim dari telegram

............................................................................................................................... 43

Gambar 4. 8 Log ketika sistem mendeteksi serangan Brute Force sebanyak 2 kali

dalam waktu yang bersamaan ............................................................................... 44

Gambar 4. 9 Notifikasi melalui telegram ketika 2 serangan Brute Force terdeteksi

dalam waktu yang bersamaan ............................................................................... 45

Page 13: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

xii

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

DAFTAR LAMPIRAN

Daftar Riwayat Hidup Penulis...............................................................................L1

Skrip Bash Untuk Medeteksi dan Mengangani Serangan Brute Force.................L2

Page 14: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Saat ini sudah memasuki sebuah jaman yang disebut information age. Informasi

merupakan sebuah aset yang memiliki nilai seperti aset lain. Sebagai sebuah aset,

informasi perlu diamankan dari sebuah serangan. Untuk menjadi aman, informasi

harus menjadi tersembunyi dari unauthorized access, terlindungi dari unauthorized

change, dan tersedia untuk entitas yang memiliki izin ketika informasi itu

dibutuhkan. (Forouzan, 2010)

Salah satu jenis serangan cyber adalah serangan Brute force. Serangan Brute force

merupakan sebuah serangan cyber yang mencoba melakukan otentikasi terhadap

suatu sistem dengan mencoba menebak password menggunakan berbagai

kemungkinan. Kemungkinan-kemungkinan itu dapat berupa kombinasi huruf,

angka, ataupun simbol yang ditentukan secara manual ataupun menggunakan

sebuah file teks yang berisi sekumpulan password. File teks ini sering disebut

sebagai word list.

Ketika seorang penyerang berhasil melakukan otentikasi pada suatu sistem dengan

menggunakan serangan Brute force, maka penyerang tersebut dapat melakukan

tindakan yang mengancam sistem tersebut seperti mencuri data, melumpuhkan

sistem, atau melakukan jenis serangan lain.

Menurut Global Threat Intelligence Report tahun 2019 yang dikeluarkan oleh

NTTSecurity (NTTSecurity, 2019), serangan Brute force menempati posisi

keempat pada hostile traffic secara global. Laporan ini menunjukan bahwa serangan

Brute force masih menjadi ancaman yang cukup serius bagi suatu sistem atau

jaringan.

Page 15: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

2

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Gambar 1. 1 Grafik Global Hostile Activity menurut Global Threat Intelligence Report tahun 2019

(Sumber: Global Threat Intelligence Report tahun 2019 oleh NTTSecurity)

Gambar 1.1 menunjukan persentase serangan Brute Force pada hostile traffic

secara global sebesar 12%.

Oleh karena itu, diperlukan suatu keamanan yang menjadi satu kesatuan dari sistem

untuk mendeteksi dan menangani serangan Brute force sebagai upaya pencegahan

sebelum serangan Brute force berhasil melakukan otentikasi pada suatu sistem.

Intrusion Prevention System (IPS) merupakan pendekatan yang sering digunakan

untuk membangun sistem keamanan komputer, IPS mengombinasikan teknik

firewall dan metode Intrusion Detection System (IDS). (Pradipta & Asmunin,

2017). Oleh karenanya, IPS dapat menjadi solusi untuk permasalahan tersebut

dikarenakan tidak hanya memiliki peran sebagai pendeteksi serangan terhadap

suatu sistem namun juga mampu melakukan pencegahan terhadap serangan yang

datang. Dalam penelitian ini, implementasi IPS dilakukan pada sistem operasi

berbasis linux.

Menurut hasil survei yang dilakukan oleh w3techs (w3techs, 2020), menyatakan

bahwa sistem operasi ubuntu merupakan sistem operasi berbasis linux yang paling

banyak digunakan oleh website. Persenstase penggunaan sistem operasi ubuntu

oleh website dibandingkan dengan sistem operasi berbasis linux lainnya yaitu

sebesar 44.2%.

Page 16: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

3

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Gambar 1. 2 Persentase penggunaan sistem operasi linux oleh website

(Sumber: https://w3techs.com/technologies/details/os-linux)

Gambar 1.2 menunjukan keseluruhan hasil survei yang dilakukan oleh w3techs

mengenai penggunaan sistem operasi berbasis linux yang digunakan oleh website.

Berdasarkan data tersebut, implementasi IPS dilakukan pada sistem operasi linux

ubuntu. Sistem operasi linux ubuntu yang digunakan yaitu ubuntu versi 19.10.

Implementasi IPS dilakukan menggunakan bahasa scripting bash. Bahasa scripting

bash merupakan bahasa shell scripting yang secara default digunakan oleh sistem

operasi linux ubuntu. Sistem yang dibuat juga dirancang agar mampu memberikan

notifikasi melalui telegram bila mendeteksi adanya serangan Brute Force.

Penelitian ini bertujuan untuk menganalisa kinerja IPS dalam mendeteksi dan

menangani serangan Brute Force pada sistem operasi linux menggunakan bash

script.

Page 17: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

4

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

1.2 Perumusan Masalah

Perumusan masalah yang ditentukan untuk penelitian ini adalah:

• Bagaimana mengimplementasikan IPS untuk menangani serangan Brute Force

pada sistem operasi linux menggunakan bash script.

• Bagaimana kinerja dari IPS pada sistem operasi linux yang dibangun

menggunakan bash script.

1.3 Batasan Masalah

Batasan masalah yang ditentukan dalam penelitian ini adalah sebagai berikut:

a. Penelitian yang dilakukan bersifat eksperimental dimana sistem dijalankan pada

lingkungan virtual menggunakan aplikasi Oracle VM Virtualbox versi 6.0.1

sesuai dengan skenario yang telah dibuat.

b. Sistem IPS dibangun hanya untuk mendeteksi dan mencegah serangan Brute

force.

c. Pengukuran kinerja sistem dilakukan dengan pengujian Parameter Fungsional,

Response Time, dan Kapasitas.

d. Menggunakan sistem operasi linux Ubuntu server 19.10.

1.4 Tujuan dan Manfaat

Tujuan dari penelitian ini adalah sebagai berikut:

a. Mengimplementasikan IPS untuk menangani serangan Brute Force pada sistem

operasi linux menggunakan bash script.

b. Menganalisa kinerja dari IPS pada sistem operasi linux yang dibangun

menggunakan bash script.

Manfaat dari penelitian ini yaitu sebagai berikut:

a. Mengetahui apakah IPS yang dibangun dengan bash script untuk menangani

serangan bruteforce memiliki kinerja yang handal.

b. Dapat menjadi opsi bagi sistem administrator untuk mencegah sistem dari

serangan Brute Force.

1.5 Metode Penyelesaian Masalah

Penelitian ini dilakukan dengan metode sebagai berikut:

Page 18: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

5

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

1.5.1 Pengumpulan Data

Pengumpulan data dilakukan dengan cara mencari data atau informasi terkait

masalah yang dijadikan topik penelitian melalui tinjauan pustaka yang berasal dari

buku-buku atau jurnal-jurnal penelitian.

1.5.2 Analisis Kebutuhan

Setelah tahap pengumpulan data atau informasi telah selesai, tahapan selanjutnya

yaitu menganalisis hardware dan software yang dibutuhkan oleh penelitian ini.

1.5.3 Perancangan

Melakukan penyusunan atau perancangan skenario berdasarkan pada data atau

informasi yang telah didapat pada tahapan sebelumnya.

1.5.4 Implementasi

Melakukan implementasi berdasarkan hasil perancangan atau skenario yang telah

dibuat pada tahapan sebelumnya.

1.5.5 Pengujian

Melakukan pengujian terhadap sistem IPS yang telah dibangun. Pengujian yang

dilakukan pada sistem IPS yang telah dibangun berupa pengujian Fungsional,

Response Time, dan Kapasitas.

1.5.6 Analisis Hasil Pengujian

Melakukan analisa dari hasil pengujian yang telah didapat. Hasil analisa dapat

dijadikan kesimpulan dari penelitian yang dilakukan.

Page 19: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

6

BAB II

TINJAUAN PUSTAKA

2.1 Keamanan Jaringan

Keamanan jaringan merupakan upaya perlindungan yang diberikan kepada sistem

informasi untuk mencapai tujuan dalam menjaga integritas, ketersediaan, dan

kerahasiaan sumber daya sistem informasi (termasuk perangkat keras, perangkat

lunak, firmware, informasi / data, dan telekomunikasi). (Stallin, 2015)

Oleh karenanya, perihal keamanan jaringan pada suatu sistem menjadi sesuatu yang

sangat penting. Upaya perlindungan yang diberikan kepada suatu sistem tidak

hanya sekedar memperbaiki segala sesuatu yang sudah dirusak oleh pihak lain,

tetapi juga harus memiliki kemampuan untuk mencegah ancaman yang datang

sebelum risiko-risiko keamanan itu terjadi.

Menurut Forouzan dalam bukunya yang berjudul tcp/ip protocol suite (Forouzan,

2010), membagi security goals menjadi seperti berikut:

a. Confidentiality

Confidentiality merupakan sebuah aspek yang paling umum dalam keamanan

informasi. Informasi yang bersifat confidential perlu dilindungi. Sebuah organisasi

perlu dilindungi dari tindakan jahat yang dapat membahayakan informasi

confidential yang dimiliki. confidentiality tidak hanya diterpakan pada informasi

yang tersimpan, tetapi juga diterapkan pada informasi yang sedang dikirim.

b. Integrity

Sebuah informasi perlu berubah sewaktu-watku. Integrity memiliki arti bahwa

sebuah perubahan yang diperlukan hanya dapat dilakukan oleh entitas yang

diijinkan dan melalui sebuah mekanisme yang diijinkan pula.

c. Availability

Sebuah informasi yang dibuat dan disimpan oleh sebuah organisasi harus tersedia

untuk entitas yang diijinkan. Informasi menjadi tidak bermanfaat bila tidak bisa

diakses atau tidak tersedia. Sebuah informasi perlu berubah sewaktu-waktu, yang

mana itu artinya informasi dapat diakses oleh entitas yang diijinkan.

Page 20: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

7

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Pembagian goals dalam keamanan jaringan dapat membuat penyedia sistem

informasi mengetahui hal apa saja yang harus menjadi fokus dalam meningkatkan

keamanan jaringan. Penelitian ini berfokus kepada upaya pencegahan terhadap

serangan yang mencoba memasuki suatu sistem atau dapat dikatakan berfokus pada

sisi Confidentiality.

Ada beberapa macam ancaman keamanan yang dapat menimpa penyedia sistem

informasi (Fahana, et al., 2017), diantaranya:

a. Interuption

Interuption merupakan sebuah ancaman yang dapat menyebabkan sistem menjadi

rusak atau tidak tersedia. Serangan dari ancaman ini mengarah pada ketersediaan

sumber daya yang ada pada sistem, sehingga informasi dan data yang ada di

dalamnya tidak dapat diakses sebagaimana mestinya.

b. Interception

Interception merupakan sebuah ancaman yang mengganggu kerahasiaan dari suatu

sistem. Serangan dari ancaman ini dapat menyebabkan pihak tidak berwenang dapat

mengakses aset dan informasi yang ada pada suatu sistem.

c. Modification

Modification merupakan sebuah ancaman yang menganggu integritas dari suatu

sistem. Serangan dari ancaman ini dapat menyebabkan pihak yang tidak berwenang

dapat melakukan perubahan terhadap data atau informasi dari suatu sistem.

d. Fabrication

Fabrication merupakan sebuah ancaman yang mengarah pada keaslian suatu data

atau informasi. Serangan dari ancaman ini dapat membuat suatu data atau informasi

palsu yang seolah-olah berasal dari penyedia sistem informasi.

Semua ancaman keamanan jaringan diatas dapat terjadi apabila suatu sistem dapat

dimasuki oleh pihak yang tidak sah. Maka dari itu, pencegehan terhadap upaya

percobaan serangan Brute Force harus dilakukan sedini mungkin.

2.2 Brute force

Brute force adalah algoritma yang memecahkan masalah dengan sangat sederhana,

langsung dan dengan cara yang jelas/lempang. Dalam password cracking,

Page 21: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

8

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

algoritma Brute Force bekerja dengan cara menempatkan dan mencari semua

kemungkinan kode dengan masukan karakter dan panjang kode tertentu. Algoritma

Brute Force adalah algoritma yang lempang atau apa adanya. Pengguna hanya

tinggal mendefinisikan karakter set yang diinginkan dan berapa ukuran dari

kodenya. Tiap kemungkinan kode akan di-generate oleh algoritma ini. (Gunawan,

2016)

Dapat dikatakan bahwa Brute Force dalam password cracking mencoba sejumlah

kemungkinan password yang berkisar ribuan, ratusan ribu, atau bahkan jutaan

untuk dicocokan dengan password telah diatur dalam sistem. Sehingga bukan tidak

mungkin password yang telah diatur sedemikian rumit dapat ditebak dengan

serangan Brute Force meskipun membutuhkan waktu yang tidak sebentar.

2.3 SSH (Secure Shell)

SSH merupakan sebuah protokol pertama yang menciptakan sebuah secured

channel pada protokol TCP. Ketika sebuah software mengimplementasikan

protokol ssh, client dan server pertama-tama menggunakan protokol TCP untuk

membangun sebuah koneksi yang belum aman. Kemudian keduanya bertukar

beberapa security parameter untuk membangun koneksi yang aman di atas protokol

TCP. (Forouzan, 2010)

Setelah sebuah secured channel telah dibangun di antara client dan kemudian server

memberikan otentikasi untuk client. Kemudian sebuah layanan multiplexing

diberikan. Setelah fase koneksi telah dibangun, ssh memungkinkan beberapa

program aplikasi untuk menggunakan koneksi ini. (Forouzan, 2010)

Dapat dikatakan SSH merupakan sebuah aplikasi remote login yang dapat

memungkinkan pengguna memasuki ke dalam sebuah sistem meskipun tidak

berdekatan dengan mesin dari suatu sistem tersebut. Dengan mengakses suatu

sistem menggunakan SSH secara fungsional sama seperti mengakses suatu sistem

secara langsung.

2.4 SSH Brute force

Serangan SSH Brute Force adalah jenis serangan umum di mana penyerang

mencoba untuk mendapatkan akses ke remote machine dengan melakukan upaya

otentikasi. Serangan-serangan ini dilakukan dengan secara sistematis mencoba

Page 22: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

9

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

semua kata sandi yang mungkin sampai yang benar ditemukan. Kata sandi pilihan

manusia secara inheren lemah. Orang-orang cenderung memilih kata sandi

sederhana karena lebih mudah diingat. Terkadang, mereka tidak mengubah kata

sandi default mesin atau mereka hanya menggunakan nama pengguna sebagai kata

sandi. (Najafabadi, et al., 2015)

Pada umumnya upaya memasuki suatu sistem telah dilindungi dengan otentikasi

yang mensyaratkan username dan password yang sesuai dengan yang telah diatur

dalam suatu sistem. Karenanya pembuatan password sebisa mungkin dibuat rumit

agar tidak mudah ditebak oleh pihak yang tidak sah. Kesadaran akan pentingnya

membuat password yang tidak mudah ditebak memunculkan serangan yang dapat

menebak password secara otomatis dengan metode Brute Force, karena akan

membutuhkan waktu yang lama dan melelahkan bila percobaan menebak password

dilakukan secara manual. Oleh karenanya, bila serangan SSH Brute Force berhasil

mencocokan password yang menjadi targetnya, atau dengan kata lain berhasil

memasuki suatu sistem yang menjadi targetnya, maka pihak yang tidak sah dapat

melakukan sesuatu terhadap sistem layaknya si pemilik sistem.

2.5 Linux

Linux adalah sistem operasi sumber terbuka (Open Source). Sistem operasi adalah

perangkat lunak yang secara langsung mengelola perangkat keras dan sumber daya

sistem, seperti CPU, memori, dan penyimpanan. OS berada di antara aplikasi dan

perangkat keras dan membuat koneksi antara semua perangkat lunak dan perangkat

keras yang melakukan pekerjaan. Linux dirancang agar mirip dengan UNIX, tetapi

telah berevolusi untuk berjalan pada berbagai perangkat keras dari ponsel ke

superkomputer. Setiap OS berbasis Linux melibatkan kernel Linux yang mengelola

sumber daya perangkat keras. Linux mencakup beberapa komponen inti umum,

seperti tools GNU dan lain-lain. Alat-alat ini memberikan cara untuk mengelola

sumber daya yang disediakan oleh kernel, menginstal perangkat lunak tambahan,

mengkonfigurasi pengaturan kinerja dan keamanan, dan banyak lagi. Semua alat

ini disatukan bersama membentuk sistem operasi fungsional. Karena Linux adalah

OS open source, kombinasi perangkat lunak dapat bervariasi di antara berbagai

distribusi Linux. (Redhat, 2020)

Page 23: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

10

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

2.6 Ubuntu

Ubuntu merupakan salah satu distribusi Linux yang berbasiskan Debian. Proyek

Ubuntu resmi disponsori oleh Canonical Ltd yang merupakan perusahaan milik

seorang kosmonot asal Afrika Selatan Mark Shuttleworth. Nama Ubuntu diambil

dari nama sebuah konsep ideologi di Afrika Selatan, “Ubuntu” berasal dari bahasa

kuno Afrika, yang berarti “rasa perikemanusian terhadap sesama manusia”. Tujuan

dari distribusi Linux Ubuntu adalah membawa semangat yang terkandung di dalam

Filosofi Ubuntu ke dalam dunia perangkat lunak. Ubuntu adalah sistem operasi

lengkap berbasis Linux, tersedia secara bebas dan mempunyai dukungan baik yang

berasal dari komunitas maupun tenaga ahli profesional. (Ngatmono, et al., 2015)

Ubuntu dikeluarkan dalam siklus rilis yang stabil dan teratur. Rilis baru akan

dikirimkan setiap enam bulan. Setiap dua tahun rilis dukungan jangka panjang

Ubuntu (Long Term Support) akan tersedia, yang didukung selama 5 tahun. Rilis

Ubuntu di antaranya (dikenal sebagai rilis pengembangan atau non- Long Term

Support) didukung masing-masing selama 9 bulan. (Ubuntu, 2020)

2.7 Kali Linux

Kali Linux adalah distribusi berlandasan distribusi Debian GNU/Linux untuk

tujuan forensik digital dan di gunakan untuk pengujian penetrasi, yang dipelihara

dan didanai oleh Offensive Security. Kali juga dikembangkan oleh Offensive

Security sebagai penerus BackTrack Linux. Kali menyediakan pengguna dengan

mudah akses terhadap koleksi yang besar dan komprehensif untuk alat yang

berhubungan dengan keamanan, termasuk port scanner untuk password cracker.

Pembangunan kembali BackTrack Linux secara sempurna, mengikuti sepenuhnya

kepada standar pengembangan Debian. Semua infrastruktur baru telah dimasukkan

ke dalam satu tempat, semua tools telah ditinjau dan dikemas, dan menggunakan

Git untuk VCS nya. (Rahmadani, et al., 2017)

2.8 Medusa

Medusa adalah aplikasi Brute Force login yang cepat, paralel, dan modular.

Tujuannya adalah untuk mendukung sebanyak mungkin layanan yang

memungkinkan otentikasi jarak jauh. Ada beberapa fitur utama dari aplikasi ini

(KaliTools, 2016), antara lain:

Page 24: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

11

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

a Pengujian paralel berbasis thread. Pengujian Brute force dapat dilakukan

terhadap beberapa host, pengguna atau kata sandi secara bersamaan.

b Input pengguna fleksibel. Informasi target (host / pengguna / kata sandi) dapat

ditentukan dalam berbagai cara. Misalnya, setiap item dapat berupa entri tunggal

atau file yang berisi banyak entri. Selain itu, format file kombinasi

memungkinkan pengguna untuk memperbaiki daftar target serangan.

c Desain modular. Setiap modul layanan ada sebagai file .mod yang independen.

Ini berarti bahwa tidak ada modifikasi yang diperlukan untuk aplikasi inti untuk

memperluas daftar layanan yang didukung untuk melakukan serangan Brute

Force.

d Mendukung banyak protokol. Banyak layanan yang didukung yang dapat

menjadi target bagi serangan Brute Force. Misalnya SMB, HTTP, POP3, MS-

SQL, dan SSHv2.

2.9 Intrustion Prevention System (IPS)

Intrusion Prevention System (IPS) merupakan jenis metode pengamanan jaringan

baik software atau hardware yang dapat memonitor aktivitas yang tidak diinginkan

atau intrusion dan dapat langsung bereaksi untuk untuk mencegah aktivitas

tersebut. IPS merupakan pengembangan dari dari IDS (Intrusion Detection System).

Sebagai pengembangann dari teknologi firewall, IPS melakukan kontrol dari suatu

sistem berdasarkan aplikasi konten atau pattern, tidak hanya berdasarkan port atau

IP address seperti firewall umumnya. IDS Selain dapat memantau dan monitoring,

IPS dapat juga mengambil kebijakan dengan memblokir paket yang lewat dengan

cara “melapor” ke firewall. (Kuswanto, 2014)

Dengan kata lain, IPS dapat dijadikan sebagai sistem yang memiliki kemampuan

untuk mendeteksi dan melakukan tindakan berdasarkan hasil pendeteksiannya.

Sistem IPS ini dapat dimanfaatkan oleh pengelola sistem untuk melakukan upaya

pencegahan serangan. Adanya sistem yang secara khusus melaksanakan tugas

melakukan pencegahan serangan tentu akan sangat membantu pengelola sistem jika

dibandingkan melakukan pencegahan terhadap serangan secara manual.

Page 25: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

12

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Ada dua pendekatan yang dapat digunakan oleh IPS untuk mendeteksi sebuah

ancaman yaitu pendekatan host-based dan pendekatan network-based (Ali, et al.,

2018).

Pendekatan host-based adalah sistem deteksi intrusi berbasis host yang diharapkan

dapat mengumpulkan informasi tentang aktivitas pada host yang spesifik. Agen

berbasis host ini yang kadang-kadang disebut sebagai sensor biasanya akan

dipasang pada mesin yang dianggap rentan terhadap kemungkinan serangan.

Pendekatan ini melakukan pemeriksaan aktivitas mencurigakan dari host atau

tingkat sistem operasi untuk melakukan pemantauan menggunakan komponen agen

sebelum host menemukan target serangannya. IPS berbasis host beroperasi dengan

mendeteksi serangan yang terjadi pada host dimana IPS dipasang. (Ali, et al., 2018)

Pendekatan network-based melibatkan penyebaran perangkat pemantauan atau

sensor di seluruh jaringan untuk menangkap dan menganalisis lalu lintas. Sensor

mendeteksi aktivitas berbahaya dan tidak sah secara realtime dan dapat bertindak

bila diperlukan. Sensor dipasang pada titik-titik jaringan yang ditunjuk yang

memungkinkan security manager untuk memantau aktivitas jaringan. Deteksi

berbasis jaringan menyediakan keamanan realtime ke dalam sebuah jaringan. (Ali,

et al., 2018)

Dalam penelitian ini mencoba membangun sebuah sistem pencegahan dengan

pendekatan yang berbasis pada host. Itu artinya sistem akan ditempatkan pada suatu

host yang spesifik.

2.10 Firewall

Firewall merupakan sebuah perangkat (berupa router atau komputer) yang

dipasang diantara jaringan sebuah organisasi dan jaringan luar atau jaringan

internet. Firewall dirancang untuk memfilter setiap packet yang lewat untuk

diteruskan ataupun tidak diteruskan. Firewall dapat digunakan untuk melarang

akses ke suatu host atau ke suatu service dalam sebuah jaringan. Firewall dapat

digunakan sebagai sebuah packet filter, yang artinya firewall dapat meneruskan

atau memblokir sebuah packet berdasarkan informasi header dari network layer

atau transport layer. (Forouzan, 2010)

Page 26: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

13

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Gambar 2. 1 Ilustrasi Firewall

Dalam penelitian ini firewall dapat dimanfaatkan sebagai alat untuk melakukan

tindakan-tindakan yang perlu dilakukan berdasarkan hasil dari pemeriksaan atau

pendeteksian terhadap serangan yang datang.

2.11 Bash

Bash merupakan shell yang paling banyak digunakan pada sistem operasi

GNU/Linux. Bash merupakan suatu bahasa perintah (command language) yang

dapat digunakan untuk mengontrol eksekusi program. Bash juga merupakan bahasa

pemrograman (programming language) yang dapat digunakan untuk membuat

program yang terstruktur. (Slameto & Lukman, 2014) Sebagai bahasa perintah

(command language) Bash memiliki karakteristik sebagai berikut (Slameto &

Lukman, 2014):

a. Eksekusi program, yang memungkinkan untuk menjalankan program secara

berurutan dan paralel.

b. Pembuatan File, dapat membuat filebaru dan menambah ke file yang ada

c. Argument Passing, yang memungkinkan melewatkan argumen ke program

melalui baris perintah maupun environmentvariabel.

d. Eksekusi program berkondisi, memungkinkan untuk menjalankan suatu

program berdasar pada keberhasilan atau kegagalan dari program lainnya.

e. Predefined procedures, dapat digunakan untuk menyusun suatu skrip

yang mendefinisikan suatu urutan program yang akan dieksekusi.

f. Parameterization, memungkinkan untuk menulis skrip menggunakan variabel

shell (shell variable) sehingga skrip dapat bersifat lebih general.

Bash sebagai bahasa pemrograman (programming language) memiliki beberapa

karakteristik sebagai berikut (Slameto & Lukman, 2014):

Page 27: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

14

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

a. Variables, dapat mendefinisikan variabel dan melakukan operasi terhadapnya.

b. Structured Language Constructs, menyediakan struktur sequence, selection dan

iterasi (perulangan).

c. Scope, dapat membatasi ruang lingkup tempat antara variabel dan program dapat

saling mengenal.

d. Macro Substitution, Bash menyediakan macro dan header file.

e. Subroutines, dapat ditulis dan memanggil suatu subrutin dan memungkinkan

untuk membuat suatu rekursi di dalamnya.

2.12 Telegram

Telegram merupakan aplikasi pesan singkat yang berbasis cloud. Telegram

menyediakan enkripsi end-to-end, self destruction Messages, dan infrastruktur

multi-data center. Sebagai aplikasi pesansingkat yang realtime, Telegram

memberikan kemudahan akses bagi pengguna karena tersedia pada platform

mobile maupun desktop. Pada platform mobile Telegram dapat digunakan di

platform iphone, android dan windows phone, sedangkan pada platform desktop

Telegram dapat digunakan di Windows, Linux, Mac OS dan juga Web-browser.

Telegram mengklaim sebagai aplikasi pesan massal tercepat dan teraman yang

berada di pasar. Selain itu Telegram juga menyediakan wadah bagi pengembang

yang ingin memanfaatkan Open API dan Protocol yang disediakan melalui

pengembangan Bot Telegram yang didokumentasikan pada web resminya.

(Soeroso, et al., 2017)

2.13 Bot Telegram

Bot Telegram adalah antarmuka atau akun yang memungkinkan pengguna untuk

mengintegrasikan fungsionalitas telegram (sistem pesan instan berbasis internet

populer) pada program atau aplikasi mereka. Pada dasarnya ini adalah akun terpisah

yang dapat dibuat pengguna telegram untuk digunakan untuk membuat aplikasi

yang mengotomatiskan tugas di mana pengguna dapat mengontrol akun (mengirim

file, pesan, menerima file, pesan, dll.) hanya dengan cara menggunakan telegram

API calls berdasarkan pada logika aplikasi mereka. Bot Telegram merupakan akun

khusus yang tidak memerlukan nomor telepon tambahan untuk mengaturnya.

(Solaiman, et al., 2017)

Page 28: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

15

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Dalam penelitian ini bot telegram dapat dimanfaatkan sebagai sebuah platform

yang menjembatani antara sistem dengan pengelola sistem. Pemanfaatan yang

dilakukan yaitu sistem dapat mengirim sebuah pemberitahuan kepada pengelola

sistem bila terdeteksi sebuah serangan. Pemanfaatan tersebut dilakukan dengan

asumsi bahwa pengelola sistem tidak selalu menjaga sistem pada waktu tertentu.

Diharapkan hal tersebut dapat menjadi upaya agar pemilik sistem mengetahui

keadaan sistem walaupun tidak sedang mengakses sistem. Sehingga pengelola

sistem dapat segera merencanakan tindakan-tindakan tertentu berdasarkan keadaan

sistem pada saat itu.

2.14 Flowchart

Flowchart dapat diartikan sebagai suatu alat atau sarana yang menunjukkan

langkah-langkah yang harus dilaksanakan dalam menyelesaikan suatu

permasalahan untuk komputasi dengan cara mengekspresikannya ke dalam

serangkaian simbol-simbol grafis khusus. (Nuraini, 2015) Berikut ini merupakan

simbol-simbol flowchart.

Page 29: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

16

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Gambar 2. 2 Simbol-simbol Flowchart

(Sumber: Medium.com)

2.15 Penelitian Sejenis

Penelitian sejenis pernah dilakukan sebelumnya dengan judul “Realtime

Pencegahan Serangan Brute Force dan DDOS Pada Ubuntu Server”

(Syaifuddin, et al., 2018). Penelitian ini membahas mengenai pembangunan sistem

pencegahan terhadap serangan Brute Force dan DDOS. Sistem pada penelitian

tersebut dibangun pada sistem operasi Ubuntu Server 14.04. Sistem pada penelitian

tersebut dibangun menggunakan fail2ban dan fail2sql. Dalam penelitian tersebut,

fail2ban memiliki peran untuk menangani serangan Brute Force dan DDOS.

Sedangkan fail2sql memiliki peran untuk menyimpan log hasil pendeteksian

Page 30: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

17

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

serangan ke dalam sebuah database. Dalam penelitian ini, pendeteksian serangan

Brute Force dilakukan dengan memeriksa jumlah kegagalan login yang terjadi.

Ambang batas dari kegagalan login yang ditentukan dalam penelitian ini yaitu

sebanyak 3. Bila terjadi kegagalan login lebih dari 3 kali dalam waktu yang

berdekatan, maka upaya tersebut akan dianggap sebagai serangan Brute Force.

Page 31: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

18

BAB III

PERENCANAAN DAN REALISASI

3.1 Perancangan Sistem

Bagian ini meliputi perancangan yang diperlukan untuk merealisasikan sistem yang

dibangun.

3.1.1 Deskripsi Sistem

Sistem yang dibangun merupakan sebuah sistem yang dapat mendeteksi serangan

Brute Force yang datang ke dalam sistem. Sistem IPS ini dibangun dengan

menggunakan pendekatan berbasis host. Artinya sistem dibangun di sisi host yang

akan dilindungi dari serangan. Serangan Brute Force yang dideteksi merupakan

serangan Brute Force yang mengarah pada port ssh. Sistem mendeteksi serangan

Brute Force dengan cara memonitoring log dari login ke dalam sistem. Setelah

mendeteksi serangan Brute Force sistem juga akan memberi notifikasi melalui bot

telegram. Kemudian sistem melakukan tindakan penanganan dengan cara

melakukan pemblokiran alamat IP dari serangan Brute Force yang datang.

Pemblokiran alamat ip dilakukan menggunakan firewall dengan cara memasukkan

alamat IP ke dalam iptables. Sistem ini dibangun pada sistem operasi Ubuntu Server

19.10 dengan menggunakan bahasa pemrograman Bash.

3.1.2 Cara kerja Sistem

Cara kerja dari sistem yang dibangun yaitu sebagai berikut:

Page 32: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

19

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Gambar 3. 1 Flowchart cara kerja sistem yang dibangun

a. Pertama sistem IPS akan melakukan monitoring log login yang ada di dalam

sistem.

b. Selanjutnya sistem IPS akan melakukan analisa dari setiap log login terbaru yang

tersimpan. Bila ditemukan log percobaan login yang gagal, maka sistem akan

memeriksa log login dalam 1 menit terakhir.

c. Menurut jurnal Realtime Pencegahan Serangan Brute Force dan DDOS Pada

Ubuntu Server (Syaifuddin, et al., 2018), ambang batas untuk kegagalan login

yang dianggap wajar adalah tidak lebih dari 3. Sistem menganalisis apakah

selama 1 menit terakhir apakah terdapat percobaan login yang gagal lebih dari 3

kali. Bila terdapat percobaan login yang gagal lebih dari 3 kali, maka sistem akan

menganggap ada upaya serangan Brute Force terhadap sistem. Kemudian akan

diperiksa apakah kegagalan login sebanyak lebih dari 3 kali ini berasal dari satu

sumber alamat IP.

Page 33: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

20

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

d. Bila hal itu berasal dari satu sumber alamat IP, maka selanjutnya sistem akan

melihat alamat IP penyerang dari log tersebut dan melakukan pemblokiran

alamat IP dari penyerang tersebut.

e. Setelah melakukan pemblokiran alamat IP, sistem akan memberikan notifikasi

bahwa ada serangan Brute Force ke akun telegram melalui bot telegram.

3.1.3 Rancangan Sistem Pengujian

Berdasarkan data-data yang telah didapat pada bagian sebelumnya, rancangan

sistem pengujian yang dibangun dapat dilihat pada gambar 3.2.

Gambar 3. 2 Rancangan sistem yang digunakan

3.1.4 Spesifikasi perangkat dan software/tools

Berikut adalah spesifikasi perangkat yang digunakan sesuai dengan rancangan

sistem:

a. Satu buah laptop Intel i3 RAM 4GB Sistem Operasi Windows 10.

b. Satu buah virtual machine RAM 2GB Sistem Operasi Ubuntu Server 19.10.

c. Satu buah virtual machine RAM 2GB Sistem Operasi Kali Linux 2019.

Berikut adalah software/tools yang digunakan:

Page 34: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

21

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

a. VirtualBox versi 6.0.10 sebagai aplikasi yang digunakan untuk menjalankan

virtual machine.

b. Medusa versi 2.2 sebagai tool yang digunakan untuk melakukan pengujian

serangan Brute Force.

c. Aplikasi Telegram versi 5.11.0 sebagai aplikasi yang digunakan untuk menerima

notifikasi dari sistem.

d. Wireshark versi 3.2.5 sebagai tool yang digunakan untuk menganalisis lalu lintas

jaringan.

e. Putty versi 0.73 sebagai tool yang digunakan untuk mengakses virtual machine

melalui port ssh.

3.2 Realisasi Sistem

Bagian ini meliputi proses pembangunan sistem yang diperlukan untuk pengujian

dan pengambilan data.

3.2.1 Konfigurasi Jaringan

Bagian ini menjelaskan proses konfigurasi jaringan sesuai dengan perancangan

sistem. Konfigurasi jaringan yang dilakukan yaitu membuat host yang berperan

sebagai penyerang berada satu jaringan dengan host yang berperan sebagai target

penyerangan. Konfigurasi jaringan yang dilakukan yaitu mengatur alamat ip

menjadi static pada kedua host. Konfigurasi jaringan dilakukan dengan cara

mengubah isi berkas konfigurasi jaringan yang ada pada setiap host menggunakan

aplikasi text editor. Berkasi konfigurasi jaringan dapat diubah menggunakan

aplikasi text editor bawaan yaitu nano.

Host yang berperan sebagai penyerang menggunakan sistem operasi kali linux

2019. Konfigurasi jaringan pada kali linux 2019 dapat dilakukan dengan mengubah

berkas konfigurasi yang terletak pada direktori /etc/network/interfaces. Perubahan

isi berkas file konfigurasi dapat dilakukan dengan sintaks berikut:

- nano /etc/network/interfaces

kemudian isi dari berkas konfigurasi tersebut diubah sesuai dengan yang ditujukan

oleh tabel 1.

Page 35: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

22

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Tabel 1. Konfigurasi jaringan untuk kali linux 2019

Source /etc/network/interfaces.d/*

auto lo

iface lo inet loopback

auto eth0

iface eth0 inet dhcp

auto eth1

iface eth1 inet static

address 192.168.33.150

netmask 255.255.255.0

auto eth2

iface eth2 inet static

address 192.168.19.150

netmask 255.255.255.0

auto eth3

iface eth3 inet static

address 192.168.71.150

netmask 255.255.255.0

auto eth4

iface eth4 inet static

address 192.168.72.150

netmask 255.255.255.0

auto eth5

Page 36: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

23

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

iface eth3 inet static

address 192.168.73.150

netmask 255.255.255.0

auto eth6

iface eth6 inet static

address 192.168.74.150

netmask 255.255.255.0

Tabel 1 menunjukan konfigurasi jaringan untuk host yang berperan sebagai

penyerang. Secara default, sistem operasi kali linux 2019 hanya memiliki 2

interface saja, port loopback dan port eth0. Isi konfigurasi pada tabel 1 berisi

konfigurasi penambahan interface dan mengisinya dengan alamat ip statis.

Host yang berperan sebagai target penyerangan menggunakan sistem operasi

ubuntu 19.10. konfigurasi jaringan pada sistem operasi ubuntu 19.10 dapat

dilakukan dengan mengubah berkas konfigurasi jaringan yang terletak pada

direktori /etc/netplan/50-cloud-init.yml. Perubahan berkas konfigurasi jaringan

tersebut dapat dilakukan dengan menggunakan sintaks berikut:

- nano /etc/netplan/50-cloud-init.yml

kemudian isi dari berkas konfigurasi tersebut diubah sesuai dengan yang ditujukan

oleh tabel 2.

Page 37: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

24

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Tabel 2. Konfigurasi jaringan untuk ubuntu 19.10

network:

ethernets:

enp0s3:

dhcp4: true

enp0s8:

dhcp4: no

addresses: [192.168.33.90/24]

enp0s9:

dhcp4: no

addresses: [192.168.19.90/24]

enp0s10:

dhcp4: no

addresses: [192.168.71.90/24]

enp0s16:

dhcp4: no

addresses: [192.168.72.90/24]

enp0s17:

dhcp4: no

addresses: [192.168.73.90/24]

enp0s118:

dhcp4: no

addresses: [192.168.74.90/24]

Page 38: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

25

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

version: 2

Tabel 2 menunjukan konfigurasi jaringan untuk host yang berperan sebagai target.

Secara default, sistem operasi ubuntu 19.10 juga hanya memiliki 2 interface saja,

port loopback dan port enp0s3. Isi konfigurasi pada tabel 2 berisi konfigurasi

penambahan interface dan mengisinya dengan alamat ip statis.

3.2.2 Pembuatan Bash Script

Bagian ini menjelaskan tentang skrip yang dibuat untuk mendeteksi dan menangani

serangan Brute Force. Skrip dibuat dengan menggunakan bahasa bash yang

merupakan bahasa shell scripting default dari linux ubuntu.

Tabel 3. Potongan skrip untuk memeriksa login log

while true

do

tail -1 /var/log/auth.log | \

while read LINE

do

if echo "$LINE" | grep "$string" 1>/dev/null 2>&1

then

deteksi

echo "give a new line" | sudo tee -a /var/log/auth.log

fi

done

done

Tabel 3 menunjukan potongan skrip yang berfungsi membaca berkas log login yang

tersimpan di dalam sistem. Berkas log login tersebut terletak pada direktori

/var/log/auth.log. skrip akan membaca log terbaru dari berkas log tersebut.

Setelahnya, skrip akan memeriksa apakah pada log terbaru merupakan log yang

melaporkan kesalahan password atau bukan. Bila log tersebut bukan melaporkan

kesalahan password maka skrip hanya akan terus membaca log terbaru pada berkas

Page 39: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

26

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

log auth.log. Namun bila log melaporkan kesalahan password maka skrip akan

melanjutkan ke proses deteksi untuk memastikan apakah hal itu merupakan sebuah

upaya serangan Brute Force atau bukan. Bila skrip melanjutkan ke proses deteksi

dengan memanggil fungsi deteksi().

Tabel 4. Potongan skrip yang berisi fungsi deteksi()

deteksi() {

a=$(awk -v d1="$(date --date="-1 min" "+%b %_d %H:%M")" -v

d2="$(date "+%b %_d %H:%M")" '$0 > d1 && $0 < d2 || $0 ~ d2'

/var/log/auth.log | grep -a "Failed password" | wc -l)

if [ $a -gt 3 ]

then

echo "$(date +"%Y-%m-%d %H:%M:%S.%3N") : Mencoba Mendeteksi

Upaya Serangan Brute Force" | sudo tee -a

/home/user/custom.log

fi

echo "$(date +"%Y-%m-%d %H:%M:%S.%3N") : Jumlah Kegagalan

Login dalam 1 menit terakhir = $a" | sudo tee -a /home/user/custom.log

if [ $a -gt 3 ]

then

b=$(awk -v d1="$(date --date="-1 min" "+%b %_d %H:%M")" -v

d2="$(date "+%b %_d %H:%M")" '$0 > d1 && $0 < d2 || $0 ~ d2'

/var/log/auth.log | grep "Failed password" | grep -Po "[0-9]+\.[0-9]+\.[0-

9]+\.[0-9]+" | sort -r | uniq -c | head -n 1 | awk '{ print $1 }')

if [ $b -gt 3 ]

then

loop=$(awk -v d1="$(date --date="-30 min" "+%b %_d %H:%M")" -v

d2="$(date "+%b %_d %H:%M")" '$0 > d1 && $0 < d2 || $0 ~ d2'

/var/log/auth.log | grep "Failed password" | grep -Po "[0-9]+\.[0-9]+\.[0-

9]+\.[0-9]+" | sort -r | uniq -c | wc -l)

for i in $( seq 1 $loop )

do

Page 40: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

27

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

c=$(awk -v d1="$(date --date="-1 min" "+%b %_d %H:%M")" -v

d2="$(date "+%b %_d %H:%M")" '$0 > d1 && $0 < d2 || $0 ~ d2'

/var/log/auth.log | grep "Failed password" | grep -Po "[0-9]+\.[0-9]+\.[0-

9]+\.[0-9]+" | sort -r | uniq -c | sed -n "$i"p | awk '{ print $1 }')

if [ $c -gt 3 ]

then

ipaddress=$(awk -v d1="$(date --date="-1 min" "+%b %_d %H:%M")" -v

d2="$(date "+%b %_d %H:%M")" '$0 > d1 && $0 < d2 || $0 ~ d2'

/var/log/auth.log | grep "Failed password" | grep -Po "[0-9]+\.[0-9]+\.[0-

9]+\.[0-9]+" | sort -r | uniq -c | sed -n "$i"p | awk '{ if ( $1 > 3 ) print $2 }')

pesan="Terdeteksi serangan brute force yang berasal dari alamat IP

$ipaddress"

echo "$(date +"%Y-%m-%d %H:%M:%S.%3N") : $pesan" | sudo tee -a

/home/user/custom.log

sudo iptables -A INPUT -s $ipaddress -j DROP

echo "$(date +"%Y-%m-%d %H:%M:%S.%3N") : Alamat IP $ipaddress

sudah diblokir" | sudo tee -a /home/user/custom.log

echo "$(date +"%Y-%m-%d %H:%M:%S.%3N") : Mengirim Notifikasi ke

Telegram" | sudo tee -a /home/user/custom.log

notifToTelegram $ipaddress

fi

done

fi

fi

}

Tabel 4 menunjukan potongan skrip yang berisi fungsi deteksi() yang berfungsi

untuk memeriksa apakah dalam satu menit terakhir dalam berkas log auth.log

terdapat lebih dari 3 kali kesalahan password. Bila kesalahan password yang terjadi

kurang dari 3 kali dalam satu menit terakhir, maka itu akan dianggap sebagai

kesalahan password dari pengguna yang lupa dengan password-nya. Bila terdapat

kesalahan password yang lebih dari 3 kali dan berasal dari satu alamat IP, maka itu

Page 41: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

28

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

akan dianggap sebagai upaya serangan Brute Force dan skrip akan melakukan

blocking terhadap alamat IP yang melakukan serangan Brute Force tersebut agar

penyerangan dari alamat IP tersebut dapat terhenti dan kemudian mengirimkan

notifikasi kepada pengelola sistem melalui aplikasi telegram dengan cara

memanggil fungsi notifToTelgram(). Pengiriman notifikasi kepada akun telegram

admin dilakukan melalui bot telegram yang telah dibuat sebelumnya. Pengiriman

notifikasi dilakukan dengan cara mengirim request kepada telegram API.

Sedangkan pemblokiran alamat IP penyerang dilakukan dengan cara memasukkan

alamat IP ke dalam rule pada iptables.

Tabel 5. Potongan skrip yang berisi fungsi notifToTelegram()

notifToTelegram() {

ip="$1"

pesan="Terdeteksi serangan brute force yang berasal dari alamat IP"+$ip

TOKEN=1119028446:AAGqXVbMiFaeNz5QijUHbPQhmFqZmpQ1HBE

CHAT_ID=820883629

URL="https://api.telegram.org/bot$TOKEN/sendMessage"

curl -s -X POST $URL -d chat_id=$CHAT_ID -d text="$pesan"

}

Tabel 5 menunjukan potongan skrip yang berisi fungsi notifToTelegram() yang

berfungsi untuk mengirim pesan kepada user melalui telegram bot untuk

memberitahu bahwa telah terdeteksi serangan brute force dengan menyertakan

alamat IP penyerang.

Untuk keseluruhan skrip pada bagian ini dapat dilihat pada lampiran 2.

3.2.3 Pembuatan Service

Bagian ini menjelaskan proses pembuatan service untuk menjalankan bash script

yang telah dibuat. Pembuatan service dilakukan agar bash script yang telah dibuat

dapat berjalan di latar belakang atau background pada sistem operasi linux. Service

yang dibuat ini akan menjalankan bash script yang telah dibuat ketika machine

dihidupkan atau kondisi startup. Tabel 6 menunjukan isi dari file service yang

dibuat.

Page 42: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

29

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Tabel 6. Isi file dari service yang dibuat untuk menjalankan bash script

[Unit]

Description= Preventing Brute force Attack by Detecting and Handling the

attack

[Service]

ExecStart=/home/user/skrip.sh

[Install]

WantedBy=multi-user.target

File service yang telah dibuat perlu disalin atau dipindahkan ke direktori

/etc/systemd/system/. Hal itu dilakukan agar file service yang telah dibuat

dijalankan oleh sistem operasi. Penyalinan file service tersebut dapat dilakukan

dengan menjalankan perintah seperti berikut:

- cp skrip.sh /etc/systemd/system/

Agar service tersebut dapat berjalan ketika sistem operasi dihidupkan maka perlu

dijalankan perintah seperti berikut:

- sudo enable preventing-bruteforce.service

3.2.4 Pembuatan Log File

Bagian ini menjelaskan proses pembuatan log file yang digunakan untuk

menyimpan log dari sistem yang dibuat. Pembuatan log file dilakukan agar segala

sesuatu yang dideteksi oleh sistem tercatat di dalam sebuah berkas. Sehingga

pengelola sistem dapat mengetahui apa dan kapan kejadian-kejadian yang terbaca

oleh sistem yang dibuat. Pembuatan log file dilakukan dengan menggunakan

perintah berikut ini:

Page 43: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

30

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

- nano custom.log

3.2.5 Pembuatan Bot Telegram

Pembuatan bot telegram dapat dilakukan melalui BotFather yang ada di dalam

aplikasi telegram. BotFather merupakan sebuah bot yang disediakan oleh telegram

untuk membuat bot telegram bagi user. Bot telegram yang dibuat akan

dimanfaatkan oleh sistem untuk mengirim notifikasi kepada adminstrator sistem.

Gambar 3. 3 Tampilan awal ketika membuka BotFather pada aplikasi Telegram

Proses pembuatan bot telegram dapat dimulai dengan mencari dan membuka

BotFather pada aplikasi telegram. Setelah membuka BotFather kemudian akan

muncul dialog chat seperti yang ditunjukan pada gambar 3.3. Kemudian pilih start

untuk memulai dialog dengan BotFather.

Page 44: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

31

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Gambar 3. 4 Tampilan informasi yang muncul setelah memulai BotFather

Setelah itu akan muncul balasan dari BotFather mengenai informasi yang berisi

instruksi dan daftar perintah yang dapat digunakan untuk berdialog dengan

BotFather seperti yang ditunjukan pada gambar 3.4. Untuk membuat bot baru dapat

dilakukan dengan mengetikan perintah “/newbot”. Kemudian akan muncul balasan

yang meminta user untuk memasukkan nama yang akan digunakan untuk nama bot

yang akan dibuat.

Setelah pemberian nama selesai, kemudian akan muncul balasan yang meminta

user untuk memasukkan username yang akan digunakan untuk bot yang dibuat.

Page 45: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

32

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Gambar 3. 5 Tampilan dialog proses pemberian nama dan username pada BotFather

Gambar 3.5 menunjukan proses pemberian nama dan username untuk bot yang

dibuat. Bot yang telah dibuat dapat dibuka dengan cara klik link

t.me/<BotUsername> yang ada pada balasan pesan dari BotFather setelah selesai

membuat bot seperti yang ditunjukan pada gambar 3.5. Link tersebut akan

mengarah ke bot yang sudah dibuat tersebut.

Gambar 3. 6 Tampilan dialog chat dari Bot Telegram yang telah dibuat

Page 46: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

33

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Gambar 3.6 memperlihatkan tampilan dialog chat dengan bot yang telah dibuat.

Komunikasi dengan bot ini dapat dimulai dengan cara klik tombol start yang ada

pada bagian bawah dialog chat.

Pengiriman pesan atau notifikasi kepada user melalui bot telegram ini dapat

dilakukan dengan cara mengirim request kepada API (Application Programming

Interface) Telegram. Pengiriman request kepada API Telegram dapat dilakukan

melalui protokol http. Berikut ini merupakan request kepada API Telegram agar

bot yang telah dibuat dapat dikendalikan untuk mengirim pesan atau notifikasi

kepada user.

https://api.telegram.org/bot<token>/sendMessage?chat_id=<chat_id>&text=<m

essage>

Token bot didapat ketika telah selesai membuat bot seperti yang ditunjukkan pada

gambar 3.5. Sedangkan chat id didapat dengan mengirim request ke API Telegram

setelah mengklik start pada dialog chat pada bot. Request yang digunakan untuk

mendapatkan chat id yaitu seperti berikut ini.

https://api.telegram.org/bot<token>/getUpdates

Gambar 3. 7 Data JSON yang didapat setelah mengirim request getUpdates menggunakan token

bot yang telah dibuat sebelumnya ke API Telegram

Page 47: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

34

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Gambar 3.7 memperlihatkan data dengan format JSON yang didapat setelah

melakukan request getUpdates menggunakan token bot yang telah dibuat ke API

Telegram. Kotak merah yang terdapat pada gambar 3.7 menunjukan chat id yang

digunakan antara user dengan bot yang telah dibuat. Setelah mendapatkan chat id,

pengiriman pesan kepada user melalui bot dapat dilakukan. Berikut ini merupakan

percobaan request untuk mengirim pesan “hello” ke user melalui bot yang telah

dibuat:

https://api.telegram.org/bot1119028446:AAGqXVbMiFaeNz5QijUHbPQhmFqZm

pQ1HBE/sendMessage?chat_id=820883629&text=hello

Gambar 3. 8 Pengiriman request sendMessage pada bot ke API Telegram

Request tersebut mengirim permintaan ke API Telegaram agar bot dengan token

yang dicantumkan mengirim pesan ke chat id yang dicantumkan dengan pesan

“hello”. Request tersebut dapat dikirimkan melalui browser. Gambar 3.8

menunjukan percobaan request tersebut melalui browser.

Page 48: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

35

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Gambar 3. 9 Pesan dengan teks “hello” yang diterima oleh user dari bot

Setelah request tersebut dikirim, maka akan ada pesan “hello” dari bot yang telah

dibuat kepada user. Gambar 3.9 menunjukkan pesan dengan teks “hello” yang

diterima oleh user dari bot yang telah dibuat.

Page 49: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

36

BAB IV

PEMBAHASAN

4.1 Pengujian

Pada bagian ini dilakukan pengujian sistem yang telah dibuat berdasarkan

perancangan pada bab sebelumnya. Pengujian dilakukan untuk mengetahui kinerja

sistem yang sudah dibangun.

4.2 Deskripsi Pengujian

Pengujian sistem dilakukan untuk mengukur 3 parameter, antara lain:

1. Parameter Fungsional

2. Parameter Response Time

3. Parameter Kapasitas

Parameter Fungsional merupakan sebuah parameter yang digunakan untuk

mengukur tingkat keberhasilan atau keakuratan sistem dalam mendeteksi serangan

Brute Force dan mengirim notifikasi melalui telegram.

Parameter Response Time merupakan sebuah parameter yang digunakan untuk

mengukur waktu yang diperlukan sistem dalam menangani serangan Brute Force

dan mengirim notifikasi melalui telegram.

Paremeter Kapasitas merupakan sebuah parameter yang digunakan untuk

mengukur kemampuan sistem dalam menangani serangan Brute Force yang

berjumlah lebih dari satu dalam waktu yang bersamaan.

4.3 Prosedur Pengujian

Berikut prosedur pengujian yang dilakukan untuk mengukur parameter fungsional,

response time, dan kapasitas.

1. Pengujian Parameter Fungsional

Pada pengujian ini dilakukan beberapa tahapan, yaitu:

Page 50: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

37

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Pengujian pertama dilakukan dengan melancarkan serangan Brute Force ssh dari

sistem operasi kali linux menuju sistem operasi ubuntu server. Pengujian dilakukan

menggunakan aplikasi medusa. Pengujian ini dilakukan untuk mengukur tingkat

keberhasilan sistem dalam medeteksi dan mengirim notifikasi telegram.

Pengujian kedua dilakukan dengan melakukan kegagalan login melalui ssh yang

dianggap wajar. Kegagalan login yang dilakukan yaitu sebanyak tidak lebih dari 3

kali. Pengujian dilakukan dengan menggunakan aplikasi Putty. Pengujian ini

dilakukan untuk mengetahui apakah sistem dapat membedekan antara serangan

Brute Force ssh dengan kegagalan login yang dianggap wajar dan tidak akan

mendeteksi dan mengirim notifikasi telegram bila terjadi kegagalan login yang

dianggap wajar.

Tabel 7 Perencanaan Pengujian Parameter Fungsional

No Tahapan Pengujian Parameter

1. Melancarkan serangan Brute Force ssh Mendeteksi dan mengirim

notifikasi telegram.

2. Melakukan kegagalan login yang dianggap

wajar

Mendeteksi dan mengirim

notifikasi telegram.

2. Pengujian Paremeter Response Time

Pengujian ini dilakukan dengan melancarkan serangan Brute Force ssh dari sistem

operasi kali linux menuju sistem operasi ubuntu server. Pengujian dilakukan

menggunakan aplikasi medusa. Pengujian yang dilakukan sama seperti pengujian

tahap pertama pada pengujian parameter fungsional, hanya saja data yang diambil

dalam pengujian ini merupakan waktu yang diperlukan sistem dalam menangani

serangan Brute Force ssh dan mengirim notifikasi melalui telegram.

Tabel 8 Perencanaan Pengujian Parameter Response Time

Tahapan Pengujian Parameter

Melancarkan serangan Brute Force ssh Waktu yang diperlukan untuk

menangani serangan dan waktu yang

Page 51: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

38

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

diperlukan untuk mengirim notifikasi

telegram

3. Pengujian Paremeter Kapasitas

Pengujian ini dilakukan dengan melancarkan serangan Brute Force ssh dari sistem

operasi linux ke sistem operasi ubuntu server dengan jumlah serangan lebih dari 1

kali dalam waktu yang bersamaan. Pengujian dilakukan dengan menjalankan

sebuah skrip bash yang akan menjalankan beberapa terminal untuk melakukan

serangan Brute Force ssh dalam waktu yang bersamaan. Pengujian ini dilakukan

untuk mengukur kemampuan sistem dalam menangani sejumlah serangan Brute

Force ssh dalam waktu yang bersamaan.

Tabel 9 Perencanaan Pengujian Parameter Kapasitas

Tahapan Pengujian Parameter

Melancarkan serangan Brute Force ssh

sebanyak lebih dari 1 kali dalam waktu

yang bersamaan

Keberhasilan sistem dalam mengani

serangan brute ssh yang berjumlah

lebih dari 1 kali dalam waktu yang

bersamaan

4.4 Data Hasil Pengujian

Bagian ini menyajikan data yang didapat dari hasil pengujian yang dilakukan. Data

hasil pengujian terhadap sistem terbagi sesuai dengan pengujian yang telah

dijelaskan pada sub-bab sebelumnya. Pengumpulan data dilakukan dengan

menggunakan teknik observasi dimana data-data didapat dari hasil pengamatan

kinerja sistem.

4.4.1. Data Pengujian Parameter Fungsional

Hasil pengujian paramater fungsional didapat dari dua pengujian, yaitu sebagai

berikut:

1. Data Hasil Pengujian dengan melancarkan serangan Brute Force ssh

Pengujian dilakukan dengan melancarkan serangan Brute Force ssh. Berikut adalah

data hasil pengujiannya.

Page 52: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

39

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Gambar 4. 1 Log ketika sistem mendeteksi sebuah serangan Brute Force

Gambar 4.1 menunjukan log ketika sebuah serangan Brute Force datang. Bila

jumlah kegagalan login dalam 1 menit terakhir sebanyak lebih dari 3 dan berasal

dari alamat IP yang sama, maka sistem akan menganggap itu sebagai serangan

Brute Force. Kemudian sistem melakukan pemblokiran alamat IP penyerang dan

mengirimkan notifikasi melalui telegram.

Gambar 4. 2 Notifikasi telegram ketika sistem mendeteksi sebuah serangan Brute Force

Gambar 4.2 memperlihatkan notifikasi telegram yang diterima ketika serangan

Brute Force terdeteksi oleh sistem. Notifikasi yang diterima berupa pesan yang

memberitahu bahwa telah terdeteksi sebuah serangan Brute Force dan

mencantumkan sumber alamat IP penyerang.

Selanjutnya, dilanjutkan dengan empat kali pengujian lagi pada tahap ini. Berikut

kesuluruhan data pengujian yang dilakukan.

Tabel 10 Data pengujian serangan Brute Force

No. Pengujian

Sistem menganggap

sebagai serangan

Sistem mengirim

notifikasi melalui

telegram

Ya Tidak Ya Tidak

1. Pengujian ke-1 ✓ ✓

2. Pengujian ke-2 ✓ ✓

Page 53: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

40

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

3. Pengujian ke-3 ✓ ✓

4. Pengujian ke-4 ✓ ✓

5. Pengujian ke-5 ✓ ✓

2. Data Hasil Pengujian dengan melakukan kegagalan login yang dianggap

wajar

Pengujian dilakukan dengan melakukan kegagalan login sebanyak tidak lebih dari

3 kali. Berikut adalah data hasil pengujiannya.

Gambar 4. 3 Log ketika terjadi kegagalan login yang dianggap wajar

Gambar 4.3 menunjukan log ketika terjadi kegagalan login yang dianggap wajar.

Bila terjadi kegagalan login yang tidak lebih dari 3 kali dalam 1 menit terakhir dan

berasal dari alamat IP yang sama, maka sistem tidak akan menganggap itu sebagai

serangan Brute Force dan tidak akan mengirim notifikasi melalui telegram.

Gambar 4. 4 Tidak ada notifikasi yang dikirimkan pada saat terjadi kegagalan login yang dianggap

wajar

Page 54: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

41

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Gambar 4.4 menunjukan tidak ada notifikasi baru ketika terjadi kegagalan login

yang dianggap wajar. Hal itu dapat dipastikan dengan membandingkan waktu

tangkapan layar pada gambar 4.4 dengan waktu dalam log pada gambar 4.3.

Selanjutnya, dilanjutkan dengan empat kali pengujian lagi pada tahap ini. Berikut

kesuluruhan data pengujian yang dilakukan.

Tabel 11. Data pengujian kegagalan login yang dianggap wajar

No. Pengujian

Sistem menganggap

sebagai serangan

Sistem mengirim

notifikasi melalui

telegram

Ya Tidak Ya Tidak

1. Pengujian ke-1 ✓ ✓

2. Pengujian ke-2 ✓ ✓

3. Pengujian ke-3 ✓ ✓

4. Pengujian ke-4 ✓ ✓

5. Pengujian ke-5 ✓ ✓

4.4.2. Data Pengujian Parameter Response Time

Pengujian yang dilakukan pada pengujian ini sama seperti pengujian tahap pertama

pada pengujian fungsional. Perbedaanya adalah bahwa data yang diambil dari

pengujian ini berupa waktu yang diperlukan untuk menangani serangan Brute

Force dan waktu yang diperlukan untuk mengirim notifikasi melalui telegram.

Berikut adalah data hasil pengujiannya.

Gambar 4. 5 Waktu ketika serangan datang dan waktu ketika alamat IP penyerang diblokir

Page 55: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

42

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Gambar 4.5 menunjukan pengambilan waktu ketika serangan Brute Force datang

dan waktu ketika alamat IP penyerang diblokir. Kotak merah pertama pada gambar

4.5 menunjukan waktu ketika sebuah serangan Brute Force datang dimana waktu

menunjukan pukul 20:17:45.700. Kotak merah kedua pada gambar 4.5 menunjukan

waktu ketika alamat IP penyerang telah diblokir dimana waktu menunjukan pukul

20:18:00.393. Sehingga, jumlah waktu yang diperlukan untuk menangani serangan

Brute Force pada pengujian pertama ini sebesar 14,693 detik.

Gambar 4. 6 Tangkapan Packet dari notifikasi yang dikirim dari telegram

Gambar 4.6 menunjukan tangkapan packet oleh aplikasi wireshark ketika notifikasi

diterima dari telegram. Kotak merah pada gambar 4.6 menunjukan pengiriman

Application Data Packet terakhir yang berasal dari alamat IP telegram.

Page 56: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

43

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Gambar 4. 7 Rincian Tangkapan Packet dari notifikasi yang dikirim dari telegram

Gambar 4.7 menunjukan rincian dari packet yang ditunjukan kotak merah pada

gambar 4.6. Kotak merah pada gambat 4.7 menunjukan waktu ketika packet telah

sampai dimana waktu menunjukan pukul 21:12:46.712. Kotak merah ketiga pada

gambar 4.5 menunjukan waktu ketika notifikasi dikirimkan oleh sistem dimana

waktu menunjukan pukul 21:12:44.634. Sehingga, jumlah waktu yang diperlukan

untuk mengirim notifikasi melalui telegram pada pengujian pertama ini sebesar

2,078 detik.

Selanjutnya, dilanjutkan dengan empat kali pengujian lagi pada tahap ini. Berikut

kesuluruhan data pengujian yang dilakukan.

Tabel 12. Data waktu penanganan serangan

No. Nama

Waktu

Kedatangan

Serangan

(time)

Waktu

Pemblokiran

Alamat IP

Penyerang

(time)

Interval antara

Waktu Kedatangan

serangan dan Waktu

Pemblokiran Alamat

IP Penyerangan

(second)

1. Pengujian ke-1 21:12:28.633 21:12:43.926 15.293

2. Pengujian ke-2 21:20:08.748 21:20:23.032 14.284

3. Pengujian ke-3 21:22:56.658 21:23:11.102 14.444

Page 57: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

44

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

4. Pengujian ke-4 21:25:34.719 21:25:50.089 15.370

5. Pengujian ke-5 21:27:56.788 21:28:12.371 15.788

Tabel 13. Data waktu pengiriman notifikasi melalui telegram

No. Nama

Waktu

Pengiriman

(time)

Waktu

Penerimaan

(time)

Interval antara

Waktu Penerimaan

dan Waktu

Pengiriman

(second)

1. Pengujian ke-1 21:12:44.634 21:12:46.712 2.078

2. Pengujian ke-2 21:20:23.141 21:20:25.719 2.578

3. Pengujian ke-3 21:23:11.413 21:23:13.411 1.998

4. Pengujian ke-4 21:25:50.504 21:25:52.697 2.193

5. Pengujian ke-5 21:28:12.883 21:28:15.448 2.565

4.4.3. Data Hasil Pengujian Parameter Kapasitas

Pengujian dilakukan dengan melakukan serangan Brute Force sebanyak lebih dari

1 kali dalam waktu yang bersamaan. Pengujian dilakukan dengan variasi jumlah

serangan antara 2 sampai 6 dalam waktu yang bersamaan. Berikut adalah data hasil

pengujiannya.

Gambar 4. 8 Log ketika sistem mendeteksi serangan Brute Force sebanyak 2 kali dalam waktu

yang bersamaan

Page 58: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

45

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Gambar 4.8 menunjukan log ketika sistem menerima serangan Brute Force

sebanyak 2 kali dalam waktu yang bersamaan. Pada gambar tersebut terlihat sistem

telah mendeteksi 2 alamat IP penyerang yang berbeda.

Gambar 4. 9 Notifikasi melalui telegram ketika 2 serangan Brute Force terdeteksi dalam waktu

yang bersamaan

Gambar 4.9 menunjukan notifikasi telegram yang diterima ketika terdeteksi

sejumlah serangan Brute Force dalam waktu yang bersamaan. Kotak merah pada

gambar 4.9 memperlihatkan 2 notifikasi dengan sumber alamat IP penyerang yang

berbeda.

Selanjutnya, dilanjutkan dengan empat kali pengujian lagi pada tahap ini dengan

variasi 3 sampai 6 serangan dalam waktu yang bersamaan. Berikut kesuluruhan data

pengujian yang dilakukan.

Page 59: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

46

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Tabel 14. Data pengujian ketika sejumlah serangan Brute Force dilakukan dalam waktu yang

bersamaan

No. Pengujian

Jumlah serangan

yang dilakukan

dalam waktu yang

bersamaan

Semua

serangan

berhasil

ditangani

Notifikasi

setiap

serangan

berhasil

dikirimkan

1. Pengujian ke-1 2 Ya Ya

2. Pengujian ke-2 3 Ya Ya

3. Pengujian ke-3 4 Ya Ya

4. Pengujian ke-4 5 Ya Ya

5. Pengujian ke-5 6 Ya Ya

4.5 Analisis Data

Bagian ini menjelaskan analasis data dari data yang sudah disajikan pada sub-bab

sebelumnya. Data-data tersebut dianalisis secara statistik dekriptif. Statistik

deskriptif adalah statistik yang digunakan menganalisis data dengan cara

mendeskripsikan atau menggambarkan data yang telah terkumpul sebagaimana

adanya tanpa bermaksud membuat kesimpulan yang berlaku untuk umum atau

generalisasi. (Sugiyono, 2015)

4.5.1. Analisis Data Pengujian Parameter Fungsional

Data pengujian parameter fungsional yang didapat diolah untuk mendapatkan

tingkat keberhasilan sistem dalam mendeteksi serangan Brute Force ssh dan

mengirim notifikasi telegram. Selain itu, data juga diolah untuk mendapatkan

tingkat kemampuan sistem dalam membedakan serangan Brute Force ssh dan

kegagalan login yang dianggap wajar. Setiap data yang didapat dicocokan dengan

tabel confusion matrix untuk menentukan hasil setiap pendeteksian dari pengujian.

Berikut ini merupakan tabel confusion matrix yang digunakan.

Page 60: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

47

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Tabel 15. Tabel confusion matrix untuk mengukur keakuratan sistem

Actual Value

Serangan Brute force

Kegagalan Login

yang wajar

Det

ecti

on V

alu

e Dianggap Sebagai

serangan True positive False positive

Tidak dianggap

sebagai serangan False negative True negative

Setelah semua data dicocokan dengan tabel confusion matrix, maka akan didapat

perbandingan jumlah true positive, false positive, false negative, dan true negative.

Berikut merupakan data keseluruhan setelah melakukan pencocokan dengan tabel

confusion matrix.

Tabel 16. Hasil pencocokan antara data pengujian serangan dengan tabel confusion matrix

Pengujian Parameter True

Positive

False

Negative

Melancarkan

serangan

Brute Force

ssh

Hasil Pendeteksian

Serangan 5 0

Pengiriman

Notifikasi 5

0

Tabel 17. Hasil pencocokan antara data kegagalan login yang dianggap wajar dengan tabel

confusion matrix

Pengujian Parameter True

Negative

False

Positive

Melakukan

Kegagalan

login yang

dianggap

wajar

Hasil Pendeteksian

serangan 5 0

Pengiriman

Notifikasi 5 0

Page 61: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

48

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Tabel 18. Penggabungan data antara tabel 16 dan tabel 17

No. Parameter True

Positive

False

Negative

True

Negative

False

Positive

1. Hasil Pendeteksian Serangan 5 0 5 0

2. Pengiriman Notifikasi 5 0 5 0

Data pada tabel 19 kemudian diolah untuk mendapatkan tingkat keakuratan sistem

dalam mendeteksi serangan Brute Force ssh dan mengirim notifikasi melalui

telegram. Rumus yang dapat digunakan untuk menghitung tingkat keakuratan

adalah sebagai berikut:

𝐴𝐶𝐶 = 𝑇𝑃 + 𝑇𝑁

𝑇𝑃 + 𝑇𝑁 + 𝐹𝑃 + 𝐹𝑁× 100%

Keterangan:

• ACC : Accuracy

• TP : True Positive

• TN : True Negative

• FP : False Positive

• FN : False Negatif

Berikut ini merupakan hasil perhitungan dari tingkat keakuratan sistem dalam

mendeteksi serangan Brute Force:

𝐴𝐶𝐶 = 5 + 5

5 + 5 + 0 + 0× 100%

𝐴𝐶𝐶 = 10

10× 100% = 100%

Hasil perhitungan menunjukan bahwa tingkat keakuratan sistem dalam mendeteksi

serangan Brute Force sebesar 100%.

Berikut ini merupakan hasil perhitungan dari tingkat keakuratan sistem dalam

mengirimkan notifikasi melalui telegram:

𝐴𝐶𝐶 = 5 + 5

5 + 5 + 0 + 0× 100%

Page 62: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

49

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

𝐴𝐶𝐶 = 10

10× 100% = 100%

Hasil perhitungan menunjukan bahwa tingkat keakuratan sistem dalam mengirim

notifikasi melalui telegram sebesar 100%.

4.5.2. Analisis Data Pengujian Paramater Response Time

Data Pengujian Parameter Response Time yang didapat diolah untuk mendapatkan

berapa waktu yang diperlukan sistem dalam mendeteksi serangan Brute Force ssh

dan mengirim notifikasi melalui telegram. Jumlah waktu tersebut didapat dari rata-

rata waktu yang dibutuhkan dari semua pengujian yang dilakukan. Untuk

menghitung rata-rata dapat dilakukan dengan perhitungan berikut:

𝑅𝑎𝑡𝑎 − 𝑟𝑎𝑡𝑎 = 𝑑𝑎𝑡𝑎 1 + 𝑑𝑎𝑡𝑎 2 + ⋯ + 𝑑𝑎𝑡𝑎 𝑘𝑒 − 𝑛

𝑛

Berikut ini merupakan hasil perhitungan rata-rata waktu yang diperlukan oleh

sistem dalam mendeteksi serangan Brute Force:

𝑅𝑎𝑡𝑎 − 𝑟𝑎𝑡𝑎 = 75,179

105 = 15,035

Hasil perhitungan menunjukan bahwa rata-rata waktu yang diperlukan sistem

dalam menangani serangan Brute Force adalah 15,035 detik.

Berikut ini merupakan hasil perhitungan rata-rata waktu yang diperlukan untuk

mengirim notifikasi melalui telegram.

𝑅𝑎𝑡𝑎 − 𝑟𝑎𝑡𝑎 = 11,412

5 = 2,282

Hasil perhitungan menunjukan bahwa rata-rata waktu yang diperlukan untuk

mengirim notifikasi melalui telegram adalah 2,282 detik.

4.5.3. Analisis Data Pengujian Parameter Kapasitas

Pengujian Parameter Kapasitas dilakukan untuk mengukur kemampuan sistem

dalam menangani serangan Brute Force dalam waktu yang bersamaan. Pengujian

dilakukan dengan variasi jumlah serangan antara 2 sampai 6 dalam waktu yang

bersamaan. Data pengujian menunjukan bahwa dari setiap pengujian yang

dilakukan sistem dapat menangani lebih dari 1 serangan Brute Force dalam waktu

Page 63: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

50

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

yang bersamaan. Selain itu, sistem juga telah mengirimkan notifikasi yang berbeda

untuk masing-masing serangan Brute Force yang terdeteksi. Sehingga, dapat

disimpulkan bahwa sistem dapat menangani sejumlah serangan Brute Force dalam

waktu yang bersamaan dengan baik.

Page 64: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

51

BAB V

PENUTUP

5.1. Kesimpulan

Berdasarkan hasil penelitian yang telah dilakukan maka dapat ditarik beberapa

kesimpulan, antara lain:

1. Sistem dapat menangani serangan Brute Force serta dapat membedakan antara

serangan Brute Force dengan kegagalan login yang dianggap wajar dengan

tingkat keberhasilan sebesar 100%. Sistem juga dapat mengirim notifikasi

melalui telegram ketika serangan Brute Force terdeteksi dan tidak mengirim

notifikasi ketika terjadi kegagalan login yang dianggap wajar dengan tingkat

keberhasilan sebesar 100%.

2. Dalam melakukan penanganan serangan Brute Force, rata-rata waktu yang

diperlukan oleh sistem adalah 15,035 detik. Dalam melakukan pengiriman

notifikasi melalui telegram, rata-rata waktu yang diperlukan adalah 2,282 detik.

3. Sistem dapat menangani serangan Brute Force yang datang dalam waktu yang

bersamaan dengan baik, dimana dalam penelitian ini variasi jumlah serangan

yang dilakukan antara 2 sampai 6 serangan dalam waktu yang bersamaan.

5.2. Saran

Penelitian ini menggunakan metode perhitungan jumlah kegagalan login dalam

mendeteksi serangan Brute Force. Penelitian selanjutnya diharapkan dapat

menggunakan metode lain atau mengkombinikasikan metode yang digunakan

dalam penelitian ini dengan metode lain. Selain itu, penelitian ini hanya

dikembangkan untuk menangani serangan Brute Force. Penelitian selanjutnya

diharapkan untuk mengembangkan sistem agar dapat mendeteksi dan menangani

jenis serangan lain. Untuk pengembangan lebih lanjut, sistem yang dibangun dapat

diintergrasikan dengan aplikasi perangkat mobile yang dibuat khusus yang dapat

menerima data lebih lengkap sehingga pengelola sistem dapat mengetahui sesuatu

yang terjadi pada sistem lebih dalam lagi ketika tidak sedang mengakses sistem

secara langsung.

Page 65: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

52

DAFTAR PUSTAKA

Ali, M. N., Saudi, M. M., Bhuiyan, T. & Bakar, A. A., 2018. Comparative Study of

Traditional and Next Generation IPS. International Journal of Engineering

& Technology, IV(15), pp. 55-58

Fahana, J., Umar, R. & Ridho, F., 2017. Pemanfaatan Telegram Sebagai Notifikasi

Serangan untuk Keperluan Forensik Jaringa. JurnalSistem Informasi, I(02),

pp. 6-14.

Forouzan, B. A., 2010. TCP/IP Protocol Suite. 4th penyunt. New York: McGraw-

Hil.

Gunawan, I., 2016. Penggunaan Brute Force Attack Dalam Penerapannya Pada

Crypt8 Dan Csa-Rainbow Tool Untuk Mencari Biss. Jurnal Nasional

Informatika dan Teknologi Jaringan, I(1), pp. 52-55.

KaliTools, 2016. Medusa. [Online] Available at: https://en.kali.tools/?p=200

[Diakses 7 Juli 2020].

Kuswanto, D., 2014. Unjuk Kerja Intrusion Prevention Sistem (Ips) Berbasis

Suricata Pada Jaringan Lokal Area Network Laboratorium Tia+ Teknik

Informatika, Universitas Trunojoyo. Jurnal Ilmiah NERO, I(2), pp. 73-81.

Najafabadi, M. M., Khoshgoftaar, T. M., Calvert, C. & Kemp, C., 2015. Detection

of SSH Brute Force Attacks Using Aggregated Netflow Data. Florida, The

Institute of Electrical and Electronics Engineers.

Ngatmono, D., Riasti, B. K. & Sasongko, D., 2015. Membangun Sistem Operasi

Mandiri Berbasis Open Source Dengan Metode Remaster. Indonesian

Journal on Networking and Security, IV(3), pp. 39-47.

NTTSecurity, 2019. Global Threat Intelligence Report, s.l.: NTT Security.

Nuraini, R., 2015. Desain Algorithma Operasi Perkalian Matriks Menggunakan

Metode Flowchart. Jurnal Teknik Komputer AMIK BSI, I(1), pp. 144-151.

Pradipta, Y. W. & Asmunin, 2017. Implementasi Intrusion Prevention System (Ips)

Menggunakan Snort Dan Ip Tables Berbasis Linux. Jurnal manajemen

Informatika, VII(1), pp. 21-28.

Rahmadani, M. A., Rizal, M. F. & Gunamawan, T., 2017. Implementasi Hacking

Page 66: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

53

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Wireless Dengan Kali Linux Menggunakan Kali Nethunter. e-Proceeding of

Applied Science, III(3), pp. 1767-1774.

Redhat, 2020. What is Linux?. [Online] Available at:

https://www.redhat.com/en/topics/linux/what-is-linux

[Diakses 7 Juni 2020].

Rouse, M., t.thn. Ubuntu. [Online] Available at:

https://searchdatacenter.techtarget.com/definition/Ubuntu

[Diakses 7 7 2020].

Slameto, A. A. & Lukman, 2014. Penerapan Openssh Dan Bash Script Untuk

Simultaneos Remote Access Client Pada Laboratorium Stmik Amikom

Yogyakarta. Jurnal Teknologi Informasi , IX(27), pp. 23-32.

Soeroso, H., Arfianto, A. Z. & Mayangsari, N. E., 2017. Penggunaan Bot Telegram

Sebagai Announcement Systempada Intansi Pendidikan. pp. 45-48.

Solaiman, M. A., Husny, H. R. M., Abdullah, D. & Seid, N., 2017. Web Application

Firewall With Telegram Bot Integration. Journal of Computing Technologies

and Creative Content, II(1), pp. 46-55.

Stallin, W., 2015. Computer SeCurity PrinciPles and Practice. 3th penyunt. New

Jersey: Pearson Education.

Stiawan, D., Abdullah, A. H. & Idris, M. Y., t.thn. Characterizing Network

Intrusion Prevention System. International Journal of Computer

Applications.

Sugiyono, 2015. Metode Penelitian Pendidikan. Bandung: ALFABETA.

Syaifuddin, Risqiwati, D. & Irawan, E. A., 2018. Realtime Pencegahan

Serangan Brute Force dan DDOS Pada Ubuntu Server. Techno.COM,

XVII(4), pp. 347-354.

Ubuntu, 2020. What is Ubuntu?. [Online] Available at:

https://help.ubuntu.com/lts/installation-guide/s390x/ch01s01.html

[Diakses 7 July 2020].

w3techs, 2020. Usage statistics of Linux for websites. [Online] Available at:

https://w3techs.com/technologies/details/os-linux

[Diakses 21 Juni 2020].

Page 67: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

L1-Daftar Riwayat Hidup Penulis

DAFTAR RIWAYAT HIDUP

Penulis bernama Mohan Maulana Saputra lahir di

Pemalang, 03 Januari 1997. Penulis merupakan

anak pertama dari dua bersaudara. Penulis

bertempat tinggal di Jl. Pembangunan II Cicadas,

Gunung Putri, Kabupaten Bogor. Penulis

menyelesaikan pendidikan sekolah dasar di SDIT

Asy-syifa pada tahun 2009. Menyelesaikan

pendidikan sekolah menengah pertama di SMP

Negeri 1 Gunung Putri pada tahun 2012 dan sekolah

menengah kejuruan di SMK Negeri 1 Gunung Putri

pada tahun 2015. Hingga sampai penulisan laporan

skripsi ini, penulis masih terdaftar sebagai mahasiswa aktif Diploma IV di

Politeknik Negeri Jakarta.

Page 68: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

L2-Skrip Bash Untuk Medeteksi dan Mengangani Serangan Brute Force

#!/bin/bash

string="Failed password"

notifToTelegram() {

ip="$1"

pesan="Terdeteksi serangan brute force yang berasal dari alamat IP"+$ip

TOKEN=1119028446:AAGqXVbMiFaeNz5QijUHbPQhmFqZmpQ1HBE

CHAT_ID=820883629

URL="https://api.telegram.org/bot$TOKEN/sendMessage"

curl -s -X POST $URL -d chat_id=$CHAT_ID -d text="$pesan"

}

deteksi() {

a=$(awk -v d1="$(date --date="-1 min" "+%b %_d %H:%M")" -v

d2="$(date "+%b %_d %H:%M")" '$0 > d1 && $0 < d2 || $0 ~ d2'

/var/log/auth.log | grep -a "Failed password" | wc -l)

if [ $a -gt 3 ]

then

echo "$(date +"%Y-%m-%d %H:%M:%S.%3N") : Mencoba Mendeteksi

Upaya Serangan Brute Force" | sudo tee -a

/home/user/custom.log

fi

echo "$(date +"%Y-%m-%d %H:%M:%S.%3N") : Jumlah Kegagalan

Login dalam 1 menit terakhir = $a" | sudo tee -a /home/user/custom.log

if [ $a -gt 3 ]

then

b=$(awk -v d1="$(date --date="-1 min" "+%b %_d %H:%M")" -v

d2="$(date "+%b %_d %H:%M")" '$0 > d1 && $0 < d2 || $0 ~ d2'

/var/log/auth.log | grep "Failed password" | grep -Po "[0-9]+\.[0-9]+\.[0-

9]+\.[0-9]+" | sort -r | uniq -c | head -n 1 | awk '{ print $1 }')

if [ $b -gt 3 ]

then

loop=$(awk -v d1="$(date --date="-30 min" "+%b %_d %H:%M")" -v

Page 69: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

(lanjutan)

d2="$(date "+%b %_d %H:%M")" '$0 > d1 && $0 < d2 || $0 ~ d2'

/var/log/auth.log | grep "Failed password" | grep -Po "[0-9]+\.[0-9]+\.[0-

9]+\.[0-9]+" | sort -r | uniq -c | wc -l)

for i in $( seq 1 $loop )

do

c=$(awk -v d1="$(date --date="-1 min" "+%b %_d %H:%M")" -v

d2="$(date "+%b %_d %H:%M")" '$0 > d1 && $0 < d2 || $0 ~ d2'

/var/log/auth.log | grep "Failed password" | grep -Po "[0-9]+\.[0-9]+\.[0-

9]+\.[0-9]+" | sort -r | uniq -c | sed -n "$i"p | awk '{ print $1 }')

if [ $c -gt 3 ]

then

ipaddress=$(awk -v d1="$(date --date="-1 min" "+%b %_d %H:%M")" -v

d2="$(date "+%b %_d %H:%M")" '$0 > d1 && $0 < d2 || $0 ~ d2'

/var/log/auth.log | grep "Failed password" | grep -Po "[0-9]+\.[0-9]+\.[0-

9]+\.[0-9]+" | sort -r | uniq -c | sed -n "$i"p | awk '{ if ( $1 > 3 ) print $2 }')

pesan="Terdeteksi serangan brute force yang berasal dari alamat IP

$ipaddress"

echo "$(date +"%Y-%m-%d %H:%M:%S.%3N") : $pesan" | sudo tee -a

/home/user/custom.log

sudo iptables -A INPUT -s $ipaddress -j DROP

echo "$(date +"%Y-%m-%d %H:%M:%S.%3N") : Alamat IP $ipaddress

sudah diblokir" | sudo tee -a /home/user/custom.log

echo "$(date +"%Y-%m-%d %H:%M:%S.%3N") : Mengirim Notifikasi ke

Telegram" | sudo tee -a /home/user/custom.log

notifToTelegram $ipaddress

fi

done

fi

fi

}

Page 70: ANALISIS KINERJA INTRUSION PREVENTION SYSTEM PADA UBUNTU

(lanjutan)

while true

do

tail -1 /var/log/auth.log | \

while read LINE

do

if echo "$LINE" | grep "$string" 1>/dev/null 2>&1

then

deteksi

echo "give a new line" | sudo tee -a /var/log/auth.log

fi

done

done