PERANCANGAN SISTEM BACKEND UNTUK LAB VIRTUAL PENTESTING BERBASIS KUBERNETES MENGGUNAKAN NODE.JS
MOCHAMMAD SHANDY FERDIANSYACH, Anni Karimatul Fauziyyah, S.Kom., M.Eng.
2024 | Tugas Akhir | D4 TEKNOLOGI JARINGAN
Dalam menghadapi tuntutan yang semakin meningkat
terhadap keamanan siber, dibutuhkan solusi yang dapat memberikan pengujian
penetrasi secara efisien dan skalabel. Salah satu tantangan utama dalam
pembuatan lab virtual pentesting
adalah membangun dan mengelola infrastruktur yang mampu menangani berbagai
layanan dan skenario pengujian dengan cepat dan efektif. Saat ini, lab virtual pentesting masih menggunakan metode
konvensional dengan virtual machine (VM) yang memerlukan pengelolaan
yang kompleks. Lab virtual pentesting
yang dibangun pada penelitian ini menggunakan API Node.js sebagai backend
yang memiliki fitur untuk melakukan autodeployment dan autodelete
layanan pada Kubernetes. Fitur-fitur tersebut terintegrasi dengan Kubernetes
untuk menyediakan layanan lab virtual pentesting
yang otomatis dan efisien. Penggunaan Node.js sebagai Application
Programming Interface memungkinkan pengelolaan layanan-layanan tersebut
dengan mudah melalui permintaan HTTP. Kubernetes digunakan sebagai
infrastruktur untuk lab virtual pentesting
karena kemampuannya dalam otomatisasi dan orkestrasi kontainer. Dengan
Kubernetes, lab ini dapat membuat, menyalin, dan menghapus lingkungan pengujian
yang terisolasi dengan mudah, serta mengelola siklus hidup layanan-layanan
tersebut. Hal ini memungkinkan pengguna untuk fokus pada pengujian tanpa harus
terlalu banyak memikirkan tentang konfigurasi infrastruktur yang rumit.
Penggunaan Kubernetes sebagai infrastruktur untuk lab virtual pentesting juga memungkinkan
fleksibilitas dalam penyebaran dan pengelolaan layanan-layanan yang dibutuhkan
untuk pengujian pentesting.
In response to the
increasing demands for cybersecurity, there is a need for solutions that
provide efficient and scalable Penetration Testing. One of the main challenges
in building a virtual pentesting lab is to create and manage infrastructure
capable of handling various testing services and scenarios quickly and
effectively. Currently, virtual pentesting labs still rely on conventional
methods using virtual machines (VMs), which require complex management. The
virtual pentesting lab developed in this study utilizes Node.js API as the backend,
featuring autodeployment and autodeletion of services on Kubernetes. These
features are integrated with Kubernetes to provide an automated and efficient
virtual pentesting lab service. Using Node.js as the API base enables easy
management of these services via HTTP requests. Kubernetes is chosen as the
infrastructure for the virtual pentesting lab due to its automation and container
orchestration capabilities. With Kubernetes, the lab can easily create,
duplicate, and remove isolated testing environments, as well as manage the lifecycle
of these services. This allows users to focus on testing without worrying too
much about complex infrastructure configurations. Utilizing Kubernetes as the
infrastructure for the virtual pentesting lab also enables flexibility in deploying
and managing the required services for Penetration Testing.
Kata Kunci : Cybersecurity, Virtual Lab Pentesting, Virtual machine (VM), Kubernetes, Node.js, Application Programming Interface (API) and Backend.