Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Implementasi BGP Dan Resource Public Key Infrastructuremenggunakan BIRD Untuk KeamananRouting

Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

Terakreditasi SINTA Peringkat 2

Surat Keputusan Dirjen Pendidikan Tinggi, Riset dan Teknologi No. 158/E/KPT/2021
masa berlaku mulai Vol. 5 No. 2 tahun 2021 s.d Vol. 10 No.1 tahun 2026

Terbit online pada laman web jurnal: http://jurnal.iaii.or.id

JURNAL RESTI
(Rekayasa Sistem dan Teknologi Informasi)
Vol. 5 No. 6 (2021) 1161 – 1170 ISSN Media Elektronik: 2580-0760

Implementasi BGP dan Resource Public Key Infrastructure menggunakan


BIRD untuk Keamanan Routing
Valen Brata Pranaya1, Theophilus Wellem2
1,2Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana
1672018072@student.uksw.edu, 2theophilus.wellem@uksw.edu*

Abstract
The validity of the routing advertisements sent by one router to another is essential for Internet connectivity. To perform routing
exchanges between Autonomous Systems (AS) on the Internet, a protocol known as the Border Gateway Protocol (BGP) is
used. One of the most common attacks on routers running BGP is prefix hijacking. This attack aims to disrupt connections
between AS and divert routing to destinations that are not appropriate for crimes, such as fraud and data breach. One of the
methods developed to prevent prefix hijacking is the Resource Public Key Infrastructure (RPKI). RPKI is a public key
infrastructure (PKI) developed for BGP routing security on the Internet and can be used by routers to validate routing
advertisements sent by their BGP peers. RPKI utilizes a digital certificate issued by the Certification Authority (CA) to validate
the subnet in a routing advertisement. This study aims to implement BGP and RPKI using the Bird Internet Routing Daemon
(BIRD). Simulation and implementation are carried out using the GNS3 simulator and a server that acts as the RPKI validator.
Experiments were conducted using 4 AS, 7 routers, 1 server for BIRD, and 1 server for validators, and there were 26 invalid
or unknown subnets advertised by 2 routers in the simulated topology. The experiment results show that the router can
successfully validated the routing advertisement received from its BGP peer using RPKI. All invalid and unknown subnets are
not forwarded to other routers in the AS where they are located such that route hijacking is prevented.
Keywords: Border Gateway Protocol, Resource Public Key Infrastructure, Bird Internet Routing Daemon, RPKI Validator.

Abstrak
Validitas dari routing advertisement yang dikirimkan oleh suatu router ke router lainnya merupakan hal yang penting untuk
konektivitas Internet. Untuk melakukan pertukaran routing antar Autonomous System (AS) di Internet, digunakan suatu
protokol yang dikenal sebagai Border Gateway Protocol (BGP). Salah satu serangan yang umum terjadi pada router yang
menjalankan BGP adalah prefix hijacking. Serangan ini bertujuan untuk mengacaukan koneksi antar AS dan mengalihkan
routing menuju tujuan yang tidak semestinya untuk tindak kejahatan, misalnya fraud dan pencurian data. Salah satu cara yang
dikembangkan untuk mencegah prefix hijacking adalah Resource Public Key Infrastructure (RPKI). RPKI merupakan suatu
public key infrastructure (PKI) yang dikembangkan untuk keamanan BGP routing pada Internet dan dapat digunakan oleh
router untuk melakukan validasi terhadap routing advertisement yang dikirimkan oleh BGP peer-nya. RPKI memanfaatkan
sertifikat digital yang dikeluarkan oleh Certification Authority (CA) dalam melakukan validasi terhadap subnet pada suatu
routing advertisement. Penelitian ini bertujuan untuk mengimplementasikan BGP dan RPKI menggunakan Bird Internet
Routing Daemon (BIRD). Simulasi dan implementasi dilakukan menggunakan simulator GNS3 dan sebuah server yang
berperan sebagai RPKI validator. Pengujian dilakukan menggunakan 4 AS, 7 router, 1 server untuk BIRD, dan 1 server untuk
validator, serta terdapat sebanyak 26 invalid atau unknown subnet yang di-advertise oleh 2 router pada topologi yang
disimulasikan. Dari pengujian yang dilakukan didapatkan hasil bahwa router pada AS berhasil melakukan validasi terhadap
routing advertisement yang diterima dari BGP peer-nya. Semua subnet yang invalid dan unknown tidak diteruskan ke router
lain dalam AS di mana router tersebut berada, sehingga kekacauan routing dapat dicegah.
Kata kunci: Border Gateway Protocol, Resource Public Key Infrastructure, Bird Internet Routing Daemon, RPKI Validator.

Diterima Redaksi: 16-11-2021 | Selesai Revisi: 22-12-2021 | Diterbitkan Online: 30-04-2021


1161
Valen Brata Pranaya, Theophilus Wellem
Jurnal RESTI (Rekayasa Sistem dan Teknologi Informasi) Vol. 5 No. 6 (2021) 1161 – 1170

1. Pendahuluan operasi yang termasuk dalam keluarga UNIX (misalnya


Linux, FreeBSD, NetBSD) sehingga komputer tersebut
Border Gateway Protocol (BGP) merupakan protokol
dapat digunakan sebagai router. Quagga dan BIRD
yang digunakan untuk pertukaran rute antar Autonomous
mendukung static routing, BGP, dan beberapa IGP
System (AS) atau domain di Internet [1]. Protokol ini
untuk dynamic routing (misalnya, Open Shortest Path
mendukung Classless Inter Domain Routing (CIDR)
First (OSPF), Routing Information Protocol (RIP)).
dan umumnya diterapkan pada Internet Service Provider
Salah satu keunggulan dari BIRD adalah konsumsi
(ISP) atau organisasi-organisasi lainnya. Suatu AS
sumber daya (resource) prosesor dan memori yang lebih
merupakan sekumpulan router yang berada di bawah
kecil dibandingkan Quagga. Berdasarkan penelitian
administrasi dari suatu entitas tertentu (misalnya, ISP)
yang dilakukan oleh Ondrej [5], didapatkan bahwa
dan menjalankan routing policy tertentu. Sebagai
BIRD mampu memproses routing dengan lebih cepat
identitasnya, setiap AS diberikan nomor yang disebut
dan menggunakan memori yang lebih kecil. Selain itu,
Autonomous System Number (ASN) yang merupakan
BIRD dapat menerapkan konfigurasi filter yang cukup
suatu angka 32-bit. Pemberian ASN ini diatur oleh
lengkap, salah satunya adalah protokol untuk penerapan
Regional Internet Registry (RIR) misalnya APNIC dan
Resource Public Key Infrastructure (RPKI) [6][7].
RIPE-NCC. Router-router dalam AS menggunakan
Interior Gateway Protocol (IGP) untuk melakukan Salah satu kelemahan dari protokol BGP adalah bahwa
routing terhadap paket (IP packet) di dalam AS tersebut protokol ini dapat diserang menggunakan serangan yang
dan Border Gateway Protocol (BGP) untuk melakukan dikenal sebagai BGP hijacking atau prefix hijacking
routing ke AS yang lain. Secara umum, router dalam [8][9]. Prefix hijacking adalah keadaan di mana suatu
suatu AS yang menjalankan BGP adalah router yang AS mempublikasikan (announce atau advertise) prefix
menjadi penghubung antara AS tersebut dengan AS yang tidak diketahui bagaimana cara mencapainya atau
yang lain. mempublikasikan prefix yang tidak dimiliki oleh AS
tersebut (false prefix announcement) [10]. Jika prefix
Router dalam suatu AS dapat melakukan pertukaran rute
palsu yang diumumkan ini lebih spesifik dari prefix yang
dari dan ke luar AS tersebut serta mempublikasi atau
seharusnya, maka routing dapat dialihkan ke suatu
mengumumkan rute (BGP announcement atau route
jaringan (subnet) tertentu oleh pihak yang tidak
advertisement) ke berbagai tujuan (jaringan) yang ada di
bertanggung jawab. Tujuannya adalah untuk
Internet. Jaringan-jaringan di Internet menggunakan IP
memperoleh informasi secara ilegal atau untuk
prefix tertentu sebagai alamatnya sesuai aturan
mengacaukan proses routing pada Internet. Perlu diingat
pengalamatan pada Internet Protocol (IP). Suatu prefix
bahwa dalam proses routing, router akan memilih
jaringan biasanya dituliskan dalam notasi CIDR
subnet dengan prefix yang lebih spesifik jika terdapat
misalnya, 195.55.100.0/24 yang berarti 24-bit dari
dua subnet yang sama tetapi memiliki prefix yang
alamat tersebut dialokasikan untuk network prefix dan 8-
berbeda.
bit sisanya digunakan untuk alamat host yang berada
pada jaringan tersebut. Host dengan alamat Salah satu cara untuk mencegah BGP hijacking adalah
195.55.100.1 hingga 195.55.100.254 berada pada dengan menerapkan RPKI yang digunakan untuk
jaringan ini. membatasi AS mana saja yang dapat melakukan
announcement terhadap IP prefix tertentu [11]. Selain
Dengan pengalamatan ini, paket yang dikirim dari suatu
itu, dengan RPKI dapat dilakukan validasi (secara
komputer (source host) dapat sampai ke komputer
kriptografi) terhadap suatu AS dan prefix yang boleh
tujuannya (destination host) yang juga berada dalam
diumumkan oleh AS tersebut. Hal ini digunakan untuk
suatu jaringan (destination network). Dalam
melakukan verifikasi otorisasi terhadap AS yang
perjalanannya, paket tersebut dapat melalui berbagai AS
mengumumkan prefix tersebut. Dengan kata lain, router
sesuai dengan rute yang ditentukan oleh router-router
yang menerima suatu BGP announcement dapat
yang dilalui paket tersebut dari tempat asal sampai ke
memeriksa apakah suatu AS memiliki otoritas
tujuannya. BGP merupakan path vector routing protocol
(authorized) untuk mengumumkan rute menuju suatu
di mana dalam menentukan rute selalu mengacu kepada
prefix di Internet.
path terbaik yang didapat dari router lainnya melalui
proses routing advertisement [2]. Routing table yang Pada RPKI digunakan X.509 PKI certificate yang
dimiliki oleh suatu router yang menjalankan protokol membuktikan kepemilikan dari IP prefix dan nomor AS.
BGP berisikan prefix yang diterima dari router BGP Sertifikat pada RPKI dikenal dengan nama resource
lainnya yang menjadi peer-nya melalui proses certificate dan sertifikat ini mengikat (binding) suatu
pertukaran routing table. kunci publik (public key) dengan nomor AS dan IP
prefix [12]. Selain itu, terdapat juga objek (digitally
Terdapat beberapa cara untuk menerapkan protokol
signed object) yang dikenal dengan nama Route Origin
BGP, salah satunya adalah dengan menggunakan
Authorization (ROA) yang memberikan otorisasi kepada
aplikasi routing seperti Quagga [3] dan Bird Internet
suatu AS prefix mana saja yang boleh diumumkan oleh
Routing Daemon (BIRD) [4]. Aplikasi ini dapat
AS tersebut [10][13]. Suatu ROA berisi nomor AS yang
dipasang pada komputer yang menggunakan sistem
DOI: https://doi.org/10.29207/resti.v5i6.3631
Lisensi: Creative Commons Attribution 4.0 International (CC BY 4.0)
1162
Valen Brata Pranaya, Theophilus Wellem
Jurnal RESTI (Rekayasa Sistem dan Teknologi Informasi) Vol. 5 No. 6 (2021) 1161 – 1170

diberikan otorisasi, IP prefix atau address space yang secara dynamic dan koneksi terhadap dua ISP pada pusat
dapat di-advertise oleh AS tersebut, dan panjang data Unimus menjadi lancar. Implementasi BGP
maksimum dari prefix atau address space yang dapat di- dilakukan tanpa menyertakan RPKI.
advertise. Secara umum, pemilik sah dari suatu IP
Marcus dan Tfuakani [18] melakukan penelitian untuk
address space (dalam hal ini network operator, ISP, atau
merancang jaringan skala besar memakai BGP berbasis
organisasi lainnya yang medapatkan IP address space
MikroTik. Tujuan penelitian tersebut adalah untuk
dari RIR) membuat ROA yang memberikan otorisasi
meningkatkan layanan Internet melalui manajemen
pada AS untuk mengumumkan atau melakukan
jaringan internal dalam Universitas Merdeka Malang.
advertisement dari prefix miliknya. ROA ditandatangani
Hasil studi memberikan gambaran umum untuk
menggunakan sertifikat yang dikeluarkan oleh
membuat jaringan protokol routing BGP dan
Certification Authority (CA) yang dalam hal ini adalah
meminimalkan biaya yang sangat mahal karena BGP
RIR. ROA ini kemudian disimpan dalam repository
dapat mengurutkan tujuan pengguna di dalam negeri dan
milik RIR yang dapat diakses oleh RPKI validator.
luar negeri dengan jalur berbeda di jaringan yang sama.
Dalam melakukan validasi terhadap prefix yang
Chung, dkk. [10] melakukan studi mengenai
diumumkan oleh suatu router, router (yang menerima
implementasi RPKI beserta Invalid Route Origins untuk
BGP announcement) menggunakan proses filtering yang
mengetahui sejauh mana implementasi dilakukan. Hasil
dikenal sebagai Route Origin Validation (ROV) atau
penelitian menunjukkan bahwa adopsi RPKI terbilang
BGP origin validation untuk menyaring prefix pada
cukup cepat meskipun belum maksimal dan
routing table BGP [13]. Proses validasi ini dilakukan
membuktikan jika teknologi RPKI sudah siap digunakan
oleh RPKI validator yang akan mengirimkan daftar
meskipun masih ada beberapa kekurangan yang
prefix yang telah divalidasi ke router. Komunikasi antara
umumnya disebabkan adanya miskonfigurasi. Secara
RPKI validator dan router dilakukan menggunakan
keseluruhan, RPKI sudah mampu mendeteksi prefix
protokol RPKI-to-Router (RTR) [14]. Terdapat tiga
yang berbahaya pada studi tersebut.
hasil dari proses ROV: 1) valid, apabila AS dan prefix
sesuai dengan ROA, 2) invalid, apabila AS melakukan Sermpezis, dkk. [8] melakukan survei terhadap beberapa
announcement prefix yang tidak sesuai dengan ROA, operator jaringan dan hasilnya adalah bahwa prefix
dan 3) not found, apabila prefix tidak ditemukan dalam hijacking cukup sering terjadi, dan salah satu
database ROA (atau Route Validation database). penyebabnya adalah karena kebanyakan operator tidak
mengimplementasikan RPKI sebagai pertahanan yang
Penelitian ini bertujuan untuk mengimplementasikan
bersifat aktif. Sementara hanya sedikit yang
protokol BGP dan RPKI dalam suatu AS untuk
mengimplementasikan secara total baik menggunakan
mengamankan AS tersebut dari serangan BGP
ROA dan ROV.
hijacking. Implementasi dilakukan menggunakan BIRD
sehingga memudahkan konfigurasi protokol maupun Gilad, dkk. [19] melakukan penelitian dan survei untuk
filtering menggunakan RPKI. Penelitian dilakukan mengungkap tingkat implementasi RPKI yang masih
dengan simulasi menggunakan GNS3 [15]. Dalam rendah. Hanya sedikit prefix yang di-advertise oleh BGP
simulasi digunakan 2 router upstream, 4 router lokal, 1 yang terdaftar oleh ROA. Selain itu, kebanyakan ISP
router dengan AS valid, 1 routing server BIRD berbasis tidak menerapkan ROV untuk validasi pada RPKI atau
Ubuntu, dan 1 server RPKI Validator yang terhubung dapat dikatakan partial deployment sehingga
secara remote melalui Internet. penerapannya menjadi kurang efektif.
Penelitian dimulai dengan melakukan kajian terhadap Chang, dkk. [20] melakukan penelitian untuk uji coba
beberapa penelitian terdahulu yang berkaitan. Musril RPKI pada protokol BGP dalam simulasi. RPKI
[16] melakukan penelitian mengenai simulasi dibangun berdasarkan sistem PKI yang sudah mapan
interkoneksi antar AS menggunakan BGP. Hasil dan menggunakan teknik kriptografi public key untuk
penelitian menunjukkan jika BGP mampu melakukan memverifikasi identitas melalui digital certificates.
pertukaran rute dari dan ke luar dari AS dan bekerja Dalam sistem RPKI, rute dapat dikategorikan sebagai
berdasarkan reliable service, yang artinya setiap sesi valid, invalid, atau unknown. RPKI bekerja
komunikasi yang menggunakan protokol tersebut harus menggunakan validator yang terhubung pada repositori
dipastikan sampai atau tidaknya data yang dikirimkan Regional Internet Registry (RIR) untuk menentukan
pada sesi komunikasi tersebut. proses routing BGP.
Fathurohman [17] melakukan penelitian untuk Testart, dkk. [21] melakukan penelitian untuk mengukur
implementasi protokol BGP pada jaringan publik seberapa besar manfaat penerapan dan registrasi RPKI.
Universitas Muhammadiyah Semarang (Unimus). Hasil penelitian menunjukkan bahwa pendaftaran AS
Jaringan publik tersebut terdiri menghubungkan dan prefix ke dalam RIR mampu mencegah terjadinya
beberapa kampus yang terkoneksi dengan ICT center hijacking. Dengan semakin banyaknya AS dan prefix
dan memiliki dua koneksi upstream. Implementasi yang didaftarkan maka peluang untuk melakukan hijack
dilakukan agar semua fakultas dapat saling terhubung menjadi semakin kecil.
DOI: https://doi.org/10.29207/resti.v5i6.3631
Lisensi: Creative Commons Attribution 4.0 International (CC BY 4.0)
1163
Valen Brata Pranaya, Theophilus Wellem
Jurnal RESTI (Rekayasa Sistem dan Teknologi Informasi) Vol. 5 No. 6 (2021) 1161 – 1170

Berbeda dengan penelitian terdahulu, penelitian ini 3. Hasil dan Pembahasan


memanfaatkan BIRD yang berjalan pada sistem operasi
Hasil dari penelitian ini adalah implementasi BIRD yang
Ubuntu untuk menerapkan protokol BGP dan filtering
bekerja pada sistem operasi Ubuntu sebagai route
dengan RPKI. Tabel 1 menunjukkan rangkuman
reflector dan penerapan protokol BGP untuk proses
beberapa penelitian terdahulu.
routing antar AS, serta RPKI untuk melakukan validasi
Tabel 1. Penelitian Terdahulu setiap prefix dengan AS-nya. Proses validasi prefix atau
No Tahun Penulis Studi yang dilakukan subnet dilakukan menggunakan aplikasi validator yaitu
1 2016 Chang, dkk. BGP dan RPKI. Routinator [22]. Proses validasi ini ditunjukkan pada
2 2017 Gilad, dkk. Survei terhadap sejauh mana Gambar 2.
implementasi RPKI.
3 2017 Musril Implementasi BGP tanpa
RPKI.
4 2018 Sermpezis, dkk. Survei terhadap operator
jaringan mengenai BGP
hijack.
5 2019 Chung, dkk. Studi implementasi RPKI.
6 2019 Marcus dan BGP tanpa RPKI.
Tfuakani
7 2020 Testart, dkk. Mengukur manfaat
implementasi RPKI.
8 2021 Fathurohman Implementasi BGP tanpa
RPKI.

2. Metode Penelitian
Tahapan dalam penelitian ini terlihat pada Gambar 1.

Identifikasi
Masalah

Analisis

Perancangan dan
Implementasi

Gambar 2. Diagram alir proses validasi dengan RPKI


Pengujian Router menerima prefix dari BGP peer dan meneruskan
AS dan route origin ke routing server BIRD
menggunakan protokol BGP. Routing server BIRD
kemudian meneruskan data yang diterima ke RPKI
Penyimpulan Hasil validator untuk diperiksa. RPKI validator kemudian
melakukan validasi data yang diterima dengan ROA
Gambar 1. Tahapan Penelitian yang ada pada RIR yang berperan sebagai CA. Dalam
proses ini, RPKI validator menggunakan kunci publik
Berikut penjelasan Gambar 1. Proses dimulai dengan yang diterbitkan oleh CA untuk melakukan validasi.
mengidentifikasi masalah, yaitu bagaimana Setelah proses validasi selesai, RPKI validator akan
mengimplementasikan protokol BGP dan RPKI mengirimkan data hasil validasi ke routing server BIRD
menggunakan BIRD ke dalam suatu AS. Tahap kedua menggunakan protokol RTR, yang kemudian diteruskan
yaitu melakukan analisis topologi dan kebutuhan sistem (menggunakan protokol BGP) ke router yang
dalam proses simulasi. Ketiga adalah melakukan bersangkutan agar dapat menentukan prefix mana yang
perancangan topologi serta implementasi protokol BGP dapat diterima untuk disimpan ke routing table-nya. Di
dan RPKI menggunakan BIRD ke dalam simulasi sisi lain, AS wajib mendaftarkan nomor AS beserta
menggunakan GNS3. Tahap keempat yaitu melakukan prefix yang dimiliki ke RIR agar dapat ditambahkan ke
pengujian filtering prefix menggunakan RPKI. Tahap dalam ROA. Setelah proses pendaftaran, AS akan
terakhir adalah penyimpulan hasil. Setelah implementasi menerima letter of authorization dari RIR yang berupa
dan pengujian selesai, dilakukan penyimpulan hasil dari
implementasi.

DOI: https://doi.org/10.29207/resti.v5i6.3631
Lisensi: Creative Commons Attribution 4.0 International (CC BY 4.0)
1164
Valen Brata Pranaya, Theophilus Wellem
Jurnal RESTI (Rekayasa Sistem dan Teknologi Informasi) Vol. 5 No. 6 (2021) 1161 – 1170

surat fisik untuk menyatakan bahwa nomor AS beserta Mengacu pada topologi yang ditunjukkan pada Gambar
prefix yang dimilikinya telah didaftarkan. 3, skenario yang dibuat dan akan diuji keberhasilan
implementasinya dalam penelitian ini adalah sebagai
3.1. Perancangan Simulasi dan Topologi
berikut: Terdapat dua buah router upstream (UP1 dan
Perancangan simulasi dan topologi dilakukan dengan UP2) yang akan melakukan proses advertise subnet.
menggunakan dua buah komputer, komputer pertama Dalam advertisement tersebut terdapat banyak subnet
merupakan server RPKI validator dan komputer kedua yang invalid atau unknown. Hasil yang diharapkan
menjalankan GNS3 yang mengimplementasikan router adalah agar subnet yang invalid dan unknown tidak akan
dan routing server BIRD secara virtual. GNS3 masuk atau diterima sampai ke router v6 dan dan router
memanfaatkan VMWare untuk menjalankan Virtual v7. Sebelum penerapan RPKI, semua subnet yang di-
Machine (VM) GNS3 yang berguna untuk menjalankan advertise (valid, invalid, dan unknown) akan diterima
beberapa router virtual dan satu komputer yang bertugas seluruhnya sampai ke router v6 dan router v7. Setelah
sebagai routing server BIRD yang terhubung ke server diterapkan RPKI, router 1 dan router 2 masih menerima
RPKI validator melalui koneksi Internet. Topologi subnet yang invalid dan unknown, tetapi sifatnya hanya
jaringan yang digunakan dalam simulasi ditunjukkan menerima saja (karena router 1 terhubung secara
pada Gambar 3. langsung dengan router UP1 dan router 2 terhubung
secara langsung dengan router UP2). Advertisement
untuk subnet yang invalid dan unknown tidak akan
diteruskan ke router lain yang ada dalam AS 65000
(router v6 dan router v7). Router 1 dan router 2 dalam
AS 65000 masing-masing berperan sebagai BGP peer
dari router UP1 pada AS 65001 dan router UP2 pada AS
65002.
Tabel 2. Routing Advertisement
No Router IP address Subnet yang di-advertise
1 UP1 20.0.0.101 30.0.0.0/24
40.0.0.0/24
Gambar 3. Topologi pada GNS3
50.0.0.0/24
Router yang digunakan adalah MikroTik CHR v6.47 60.0.0.0/24
70.0.0.0/24
sebanyak enam unit dan MikroTik CHR v7.0b8 80.0.0.0/24
sebanyak satu unit. Komputer untuk routing server yang 90.0.0.0/24
menjalankan BIRD menggunakan sistem operasi 91.0.0.0/24
Ubuntu 18.04 LTS. Empat router (router 1, router 2, 92.0.0.0/24
93.0.0.0/24
router v7, dan router v6) dan satu komputer routing 100.0.0.0/24
server berada dalam satu subnet dan AS, yaitu AS 65000 101.0.0.0/24
dengan subnet 10.0.0.0/24, sedangkan dua router 102.0.0.0/24
lainnya (router UP1 dan router UP2) disimulasikan 103.0.0.0/24
2 UP2 21.0.0.1 130.0.0.0/24
sebagai upstream router dengan nomor AS 65001 dan 140.0.0.0/24
AS 65002. AS 65001 mempunyai subnet 20.0.0.0/24 150.0.0.0/24
dan AS 65002 mempunyai 21.0.0.0/24. IP address dari 160.0.0.0/24
router UP1 adalah 20.0.0.101 dan IP address dari router 170.0.0.0/24
171.0.0.0/24
UP2 adalah 21.0.0.1. 172.0.0.0/24
173.0.0.0/24
Router UP1 dan router UP2 bertindak sebagai upstream 180.0.0.0/24
router dan akan melakukan proses advertise subnet yang 181.0.0.0/24
invalid dan unknown. Selain itu, terdapat 1 router yang 182.0.0.0/24
bernama VALID dengan AS 38515 dan IP address 183.0.0.0/24
3 VALID 117.74.120.253 117.74.120.0/24
117.74.120.253 yang akan mengumumkan AS dan
subnet yang valid, dan terhubung ke UP1. Daftar subnet 3.2. Instalasi BIRD dan RPKI validator
yang di-advertise oleh router UP1, UP2 dan VALID
ditunjukkan pada Tabel 2. Jumlah subnet yang di- Instalasi BIRD dilakukan pada komputer yang bertugas
advertise oleh router UP1 dan UP2 masing-masing sebagai routing server. Komputer yang dipakai berbasis
adalah 14 subnet dan 12 subnet. Ubuntu 18.04 LTS dan berjalan secara virtual di atas
GNS3 yang memanfaatkan VM GNS3. Setelah proses
Komputer untuk routing server yang menjalankan BIRD instalasi BIRD selesai, maka dapat dilakukan instalasi
terhubung melalui Internet dengan server yang RPKI validator.
menjalankan Routinator yang berperan sebagai RPKI
validator untuk melakukan validasi subnet. RPKI validator merupakan suatu aplikasi yang
digunakan untuk proses validasi suatu subnet ketika

DOI: https://doi.org/10.29207/resti.v5i6.3631
Lisensi: Creative Commons Attribution 4.0 International (CC BY 4.0)
1165
Valen Brata Pranaya, Theophilus Wellem
Jurnal RESTI (Rekayasa Sistem dan Teknologi Informasi) Vol. 5 No. 6 (2021) 1161 – 1170

proses routing dilakukan. Aplikasi yang digunakan }


adalah Routinator dan di-install pada komputer (server) protocol direct {
yang terpisah dari komputer yang menjalankan VM ipv4;
interface "ens3";
GNS3. Server ini terkoneksi ke Internet untuk }
melakukan proses validasi. Routinator akan
memperbarui database yang dimilikinya secara rutin protocol bfd {
interface "ens3" {
dan mengambil data dari 5 RIR, yaitu APNIC, interval 50 ms;
AFRINIC, ARIN, RIPE, dan LACNIC. };
}
Setelah proses instalasi selesai, Routinator dapat protocol rpki VALIDATOR {
dikonfigurasi dengan perintah berikut. roa4 {table ROA4;};
roa6 {table ROA6;};
Konfigurasi Routinator remote 117.74.122.5;
Routinator init --accept-arin-rpa port 3323;
Routinator --verbose server -rtr refresh keep 30;
117.74.122.5:3323 –http 117.74.122.5:8323 retry keep 30;
expire keep 3600;
transport tcp;
Tujuan dari perintah di atas adalah untuk membangun }
database yang digunakan pada proses validasi. IP
function is_v4_rpki_invalid () {
address dari Routinator adalah 117.74.122.5 dan return roa_check(ROA4, net,
menggunakan port 3323 untuk validator dan port 8323 bgp_path.last_nonaggregated) ~ [ROA_INVALID,
ROA_UNKNOWN];
untuk mengakses halaman menu Routinator. Halaman }
menu dapat diakses melalui browser dengan
mengetikkan http://117.74.122.5:8323 pada address bar function is_v6_rpki_invalid () {
return roa_check(ROA6, net,
di browser. bgp_path.last_nonaggregated) ~ [ROA_INVALID,
ROA_UNKNOWN];
3.3. Implementasi Protokol BGP dan RPKI }

Setelah memastikan BIRD telah berjalan, maka dapat protocol static {


ipv4;
dilakukan implementasi protokol BGP. File untuk route 20.0.0.0/24 via 10.0.0.1;
konfigurasi BIRD dapat ditemukan pada folder /etc/bird route 21.0.0.0/24 via 10.0.0.2;
}
kemudian pilih file bird.conf yang dapat diubah
menggunakan Text Editor. template bgp rr_clients {
local 10.0.0.100 as 65000;
BIRD digunakan sebagai route reflector sehingga dapat neighbor as 65000;
bfd;
menggunakan template telah tersedia yang dapat diakses multihop;
sebagai acuan bagi router yang merupakan client dari rr client;
BIRD. Sebelum mengimplementasikan protokol BGP rr cluster id 10.0.0.100;
dan RPKI, ada beberapa hal yang harus dikonfigurasikan ipv4 {
terlebih dahulu, seperti router id, log, ROA table, gateway recursive;
import filter {
protocol device, protocol direct, protocol kernel dan if is_v4_rpki_invalid() then reject;
protocol bfd. Keseluruhan konfigurasi BIRD adalah if bgp_next_hop.mask(24) =
from.mask(24) then {
sebagai berikut. gw = bgp_next_hop;
accept;
Konfigurasi bird.conf }
log syslog all; gw = from;
log syslog { debug, trace, info, remote, accept;
warning, error, auth, fatal, bug }; };
log stderr all; import keep filtered;
export where source ~
router id 10.0.0.100; [RTS_BGP,RTS_STATIC];
};
roa4 table ROA4;
roa6 table ROA6; ipv6 {
import all;
protocol kernel { export where source = RTS_BGP;
learn; };
persist; }
ipv4 {
import all; protocol bgp border1 from rr_clients {
export filter { neighbor 10.0.0.1;
if proto = "direct1" then reject; }
accept;
}; protocol bgp border2 from rr_clients {
}; neighbor 10.0.0.2;
} }
protocol device { protocol bgp client1 from rr_clients {
scan time 60; neighbor 10.0.0.201;

DOI: https://doi.org/10.29207/resti.v5i6.3631
Lisensi: Creative Commons Attribution 4.0 International (CC BY 4.0)
1166
Valen Brata Pranaya, Theophilus Wellem
Jurnal RESTI (Rekayasa Sistem dan Teknologi Informasi) Vol. 5 No. 6 (2021) 1161 – 1170

} Dengan konfigurasi tersebut, maka setiap subnet yang


protocol bgp client2 from rr_clients { invalid maupun unknown akan langsung ditolak. Hanya
neighbor 10.0.0.202; subnet yang valid yang dapat diterima.
}
Konfigurasi untuk protokol BGP menggunakan metode
Sebelum implementasi protokol BGP, dilakukan route reflector sehingga tidak perlu menuliskan setting
implementasi RPKI terlebih dahulu agar proses filtering yang sama untuk setiap router yang akan menjadi client
dapat berjalan. Untuk implementasi RPKI, dibuat tabel dari BIRD. Pengaturan pada setiap router mengikuti
ROA4 dan ROA6 yang akan digunakan pada proses template yang telah tersedia. Berikut adalah kutipan dari
filtering. Konfigurasi untuk pembuatan tabel dilakukan file bird.conf untuk konfigurasi dasar template.
sebagai berikut.
Konfigurasi dasar template BGP pada
Konfigurasi tabel ROA4 dan ROA6 pada bird.conf
bird.conf template bgp rr_clients {
roa4 table ROA4; local 10.0.0.100 as 65000;
roa6 table ROA6; neighbor as 65000;
bfd;
Setelah tabel dibuat, dilakukan konfigurasi RPKI beserta multihop;
rr client;
fungsi-fungsi tambahannya. Konfigurasi RPKI pada rr cluster id 10.0.0.100;
BIRD dilakukan sebagai berikut.
Setiap router yang menjadi client mengambil
Konfigurasi RPKI pada bird.conf konfigurasi BGP pada bagian template bgp rr_clients
protocol rpki VALIDATOR {
roa4 {table ROA4;}; yang telah dibuat. Bagian local harus diisikan sesuai
roa6 {table ROA6;}; dengan nomor AS dan IP address dari komputer yang
remote 117.74.122.5;
port 3323; menjalankan BIRD, kemudian neighbor juga diisikan
refresh keep 30; dengan AS yang sama dengan bagian local. Baris bfd
retry keep 30; digunakan agar BIRD dapat menerima pesan jika terjadi
expire keep 3600;
transport tcp; kegagalan antara dua perangkat dengan memanfaatkan
} protokol Bidirectional Forwarding Detection (BFD).
Baris roa4 dan roa6 digunakan agar Routinator dapat Baris multihop digunakan agar konfigurasi BGP dapat
mengakses tabel ROA4 dan ROA6 yang dibuat disampaikan ke neighbor yang tidak terhubung secara
sebelumnya. Selanjutnya, IP address beserta port langsung. Baris rr client dan rr cluster digunakan agar
number yang digunakan oleh Routinator diisikan pada BIRD dapat berperan sebagai route reflector dan tiap
baris remote dan port untuk menghubungkan BIRD neighbor berlaku sebagai client. Baris rr cluster diisi
dengan Routinator agar proses validasi dapat dilakukan. dengan router id agar tiap router yang menjadi client
Baris sisanya digunakan untuk interval pembaruan dapat dijadikan satu cluster dengan route reflector.
(refresh keep), waktu expire (expire keep), serta protokol Proses filtering diimplementasikan pada bagian ipv4
transport yang digunakan (transport). dalam file bird.conf. Filtering dalam hal ini
Selain konfigurasi RPKI di atas, diperlukan fungsi- menggunakan protocol rpki VALIDATOR yang telah
fungsi tambahan yang akan digunakan untuk melakukan dikonfigurasi sebelumnya. Pada konfigurasi bagian ipv4
proses filtering. Fungsi-fungsi ini ditambahkan tepat terdapat perintah yang akan memanggil fungsi tambahan
setelah konfigurasi RPKI karena fungsi tersebut akan pada RPKI untuk menolak subnet yang unknown dan
melakukan proses validasi melalui RPKI validator invalid pada ROA sehingga tidak dimasukkan ke dalam
terlebih dahulu sebelum melakukan filtering. Terdapat routing table oleh router. Penelitian ini hanya
dua buah fungsi: 1) untuk filtering subnet IPv4 dan 2) menggunakan IPv4 sehingga pada bagian ipv6 tidak
untuk filtering subnet IPv6. Fungsi tersebut akan diubah konfigurasinya. Berikut adalah kutipan dari
mencocokkan subnet yang di-advertise dengan data bird.conf untuk pengaturan proses filtering pada BGP
yang diperoleh dari ROA table yang dimiliki oleh RPKI. menggunakan RPKI.
Berikut adalah fungsi yang ditambahkan ke dalam file Konfigurasi filtering BGP pada bird.conf
bird.conf. ipv4 {
gateway recursive;
Konfigurasi fungsi pada bird.conf import filter {
function is_v4_rpki_invalid () { if is_v4_rpki_invalid() then reject;
return roa_check(ROA4, net, if bgp_next_hop.mask(24) =
bgp_path.last_nonaggregated) ~ [ROA_INVALID, from.mask(24) then {
ROA_UNKNOWN]; gw = bgp_next_hop;
} accept;
}
function is_v6_rpki_invalid () { gw = from;
return roa_check(ROA6, net, accept;
bgp_path.last_nonaggregated) ~ [ROA_INVALID, };
ROA_UNKNOWN]; import keep filtered;
} export where source ~
[RTS_BGP,RTS_STATIC];

DOI: https://doi.org/10.29207/resti.v5i6.3631
Lisensi: Creative Commons Attribution 4.0 International (CC BY 4.0)
1167
Valen Brata Pranaya, Theophilus Wellem
Jurnal RESTI (Rekayasa Sistem dan Teknologi Informasi) Vol. 5 No. 6 (2021) 1161 – 1170

}; protocol bgp client2 from rr_clients {


neighbor 10.0.0.202;
ipv6 { }
import all;
export where source = RTS_BGP; Perhatikan bahwa 10.0.0.1, 10.0.0.2, 10.0.0.201, dan
};
10.0.0.202 masing-masing adalah alamat pada Router 1,
Bagian yang terakhir adalah membuat konfigurasi agar Router 2, Router v6, dan Router v7. Dengan demikian,
tiap router yang terhubung menjadi client dari BIRD. keempat router ini adalah client dari BIRD.
Setiap router yang akan dijadikan client dibuatkan 3.4. Hasil Simulasi
konfigurasi masing-masing dan harus diisikan dengan IP
address dari router tersebut. Berikut adalah konfigurasi Mengacu pada topologi yang ditunjukkan pada Gambar
untuk route reflector. 3 dan skenario yang dipaparkan pada bagian 3.1, hasil
yang diperoleh dari simulasi sebelum penerapan RPKI
Konfigurasi route reflector client pada
bird.conf ditunjukkan pada Tabel 3(a) yang merupakan routing
protocol bgp border1 from rr_clients { table pada router v7. Dapat dilihat bahwa subnet yang
neighbor 10.0.0.1; di-advertise oleh router UP1 ada pada routing table. Hal
}
ini berarti subnet tersebut diterima oleh router v7. Hasil
protocol bgp border2 from rr_clients { ini dapat dibandingkan dengan Tabel 3(b) yang
neighbor 10.0.0.2; menunjukkan routing table pada router v7 setelah
}
penerapan RPKI. Terlihat bahwa hanya subnet
protocol bgp client1 from rr_clients { 117.74.120.0/24 yang di-advertise oleh router VALID
neighbor 10.0.0.201;
} pada AS 38515 yang diterima oleh router v7.
Tabel 3. Routing Table pada Router v7 sebelum dan sesudah penerapan RPKI
(a) Sebelum (b) Sesudah

DOI: https://doi.org/10.29207/resti.v5i6.3631
Lisensi: Creative Commons Attribution 4.0 International (CC BY 4.0)
1168
Valen Brata Pranaya, Theophilus Wellem
Jurnal RESTI (Rekayasa Sistem dan Teknologi Informasi) Vol. 5 No. 6 (2021) 1161 – 1170

Gambar 4. Hasil validasi prefix pada Routinator: Invalid Subnet

Gambar 5. Hasil validasi prefix pada Routinator: Unknown Subnet

Gambar 6. Hasil validasi prefix pada Routinator: Valid

Selanjutnya, dapat diperiksa melalui Routinator apakah router 1 tidak meneruskan advertisement tersebut ke
subnet tersebut benar valid, invalid, atau unknown. Hasil router-router lain dalam AS 65000.
pemeriksaan melalui Routinator ditunjukkan pada
4. Kesimpulan
Gambar 4, 5, dan 6. Gambar 4 menunjukkan pencarian
untuk AS 65001 dengan subnet 50.0.0.0/24 di mana Penelitian ini membahas implementasi protokol BGP
hasilnya adalah invalid. Gambar 5 menunjukkan dan RPKI dengan menggunakan BIRD untuk
pencarian subnet 183.0.0.0/24 yang di-advertise oleh mengamankan suatu AS dari prefix hijacking atau BGP
router UP2 (AS 65002) dengan hasil unknown, yang hijacking. BIRD berperan sebagai route reflector
berarti subnet tersebut tidak ada pada ROA yang sehingga tidak perlu dilakukan konfigurasi pada tiap
divalidasi untuk AS 65002. VRP merupakan singkatan router yang menjadi client dari BIRD. Proses validasi
dari validated ROA payload. Gambar 6 menunjukkan subnet yang di-advertise oleh BGP peer dilakukan
pencarian subnet 117.74.120.0/24 dengan hasil valid dengan cara menerapkan konfigurasi pada BIRD. BIRD
pada AS 38515. kemudian akan meneruskan subnet yang diterima ke
Routinator yang berperan sebagai RPKI validator.
Pada sisi lain, setelah penerapan RPKI, routing table
Pengujian sistem menunjukkan bahwa tiap subnet yang
pada router 1 (dan router 2) tetap menerima subnet yang
invalid dan tidak diketahui (unknown) akan ditolak dan
invalid dan unknown karena terhubung secara langsung
tidak akan masuk ke dalam AS yang memanfaatkan.
dengan router UP1 (dan router UP2). Akan tetapi, router
Dengan demikian, implementasi protokol BGP dan
1 dan router 2 tidak akan meneruskan subnet tersebut ke
RPKI dengan BIRD berhasil mengamankan AS dari
router lainnya dalam AS 65000. Tabel 4(a)
resiko BGP hijacking dengan hanya mengijinkan subnet
menunjukkan routing table pada router 1 sebelum
yang valid yang dapat ditambahkan ke routing table
penerapan RPKI dan routing table setelah penerapan
pada router di dalam suatu AS.
RPKI ditunjukkan pada Tabel 4(b). Terlihat bahwa
routing table pada router 1 tidak lagi terdapat subnet Ucapan Terimakasih
(invalid dan unknown) yang di-advertise oleh router
Jurnal ini saya dedikasikan sebagai ucapan terima kasih
UP2 karena router 2 tidak meneruskan advertisement
kepada PT. Grahamedia Informasi, Salatiga yang telah
tersebut ke dalam AS 65000. Demikian juga routing
memfasilitasi penelitian ini dengan menyediakan server
table pada router 2 tidak memuat subnet (invalid dan
unknown) yang di-advertise oleh router UP1 karena untuk menjalankan Routinator serta mengijinkan
penggunaan AS number beserta subnet yang valid.

DOI: https://doi.org/10.29207/resti.v5i6.3631
Lisensi: Creative Commons Attribution 4.0 International (CC BY 4.0)
1169
Valen Brata Pranaya, Theophilus Wellem
Jurnal RESTI (Rekayasa Sistem dan Teknologi Informasi) Vol. 5 No. 6 (2021) 1161 – 1170

Tabel 4. Routing Table pada Router 1 sebelum dan sesudah penerapan RPKI

(a) Sebelum (b) Sesudah

Daftar Rujukan Origination Using the Resource Certificate Public Key


Infrastructure (PKI) and Route Origin Authorizations (ROAs),”
[1] Rekhter Y.; Li T. and Hares S., “A Border Gateway Protocol 4 2012. [Online]. Available:
(BGP-4),” 2006. https://datatracker.ietf.org/doc/html/rfc6483.
[2] D. Walton, A. Retana, E. Chen, and J. Scudder, “Advertisement [14] R. Bush and R. Austein, “The Resource Public Key
of Multiple Paths in BGP - RFC 7911,” Internet Eng. Task Infrastructure (RPKI) to Router Protocol,” Jan. 2013, doi:
Force, pp. 1–8, 2016. 10.17487/RFC6810.
[3] “Quagga Software Routing Suite.” Accessed: Nov. 08, 2021. [15] “GNS3 Network Simulator.” https://www.gns3.com/.
[Online]. Available: https://www.quagga.net/. [16] H. A. Musril, “Simulasi Interkoneksi Antara Autonomous
[4] “The BIRD Internet Routing Daemon Project.” Accessed: Sep. System (As) Menggunakan Border Gateway Protocol (Bgp),”
29, 2021. [Online]. Available: https://bird.network.cz/. InfoTekJar (Jurnal Nas. Inform. dan Teknol. Jaringan), vol. 2,
[5] O. Filip, M. Mareš, O. Zajíček, and J. Matějka, “BIRD Internet no. 1, pp. 1–9, 2017, doi: 10.30743/infotekjar.v2i1.151.
Routing Daemon,” [Online]. Available: http://labs.nic.cz. [17] A. Fathurohman, “Border Gateway Protocol (BGP) Protocol
[6] M. Lepinski and S. Kent, “An Infrastructure to Support Secure Implementation in Public Network of the Universitas
Internet Routing,” Feb. 2012, doi: 10.17487/RFC6480. Muhammadiyah Semarang,” vol. 2, no. 1, 2021.
[7] ICANN, “Resource Public Key Infrastructure Technical [18] R. D. Marcus and E. Tfuakani, “Perancangan Jaringan Skala
Analysis,” 2020. Besar dengan Menggunakan Metode Border Gateway Protocol
[8] P. Sermpezis, V. Kotronis, A. Dainotti, and X. Dimitropoulos, (BGP) Berbasis Mikrotik,” Briliant J. Ris. dan Konseptual, vol.
“A survey among network operators on BGP prefix hijacking,” 4, no. 3, p. 401, 2019, doi: 10.28926/briliant.v4i3.361.
Comput. Commun. Rev., vol. 48, no. 1, pp. 64–69, 2018, doi: [19] Y. Gilad, A. Cohen, A. Herzberg, M. Schapira, and H.
10.1145/3211852.3211862. Shulman, “Are We There Yet? On RPKI’s Deployment and
[9] “Is BGP safe yet? ·Cloudflare.” Accessed: Sep. 28, 2021. Security,” no. February, 2017, doi: 10.14722/ndss.2017.23123.
[Online]. Available: https://isbgpsafeyet.com/. [20] G. Chang, M. Arianezhad, and L. Trajkovic, “Using resource
[10] T. Chung et al., “RPKI is coming of age: A longitudinal study public key infrastructure for secure border gateway protocol,”
of RPKI deployment and invalid route origins,” Proc. ACM Can. Conf. Electr. Comput. Eng., vol. 2016-Octob, 2016, doi:
SIGCOMM Internet Meas. Conf. IMC, pp. 406–419, 2019, doi: 10.1109/CCECE.2016.7726675.
10.1145/3355369.3355596. [21] C. Testart, P. Richter, A. King, A. Dainotti, and D. Clark, “To
[11] M. Wählisch, O. Maennel, and T. C. Schmidt, “Towards Filter or Not to Filter: Measuring the Benefits of Registering in
detecting BGP route hijacking using the RPKI,” Comput. the RPKI Today,” Lect. Notes Comput. Sci. (including Subser.
Commun. Rev., vol. 42, no. 4, pp. 103–104, 2012, doi: Lect. Notes Artif. Intell. Lect. Notes Bioinformatics), vol. 12048
10.1145/2377677.2377702. LNCS, pp. 71–87, 2020, doi: 10.1007/978-3-030-44081-7_5.
[12] C. Lynn, S. Kent, and K. Seo, “X.509 Extensions for IP [22] “NLnet Labs - RPKI Tools - Routinator.” Accessed: Oct. 05,
Addresses and AS Identifiers,” Jun. 2004, doi: 2021. [Online]. Available:
10.17487/RFC3779. https://www.nlnetlabs.nl/projects/rpki/routinator/.
[13] G. Huston and G. Michaelson, “Validation of Route

DOI: https://doi.org/10.29207/resti.v5i6.3631
Lisensi: Creative Commons Attribution 4.0 International (CC BY 4.0)
1170

You might also like