UU No 28 tahun 2014 tentang Hak Cipta Fungsi dan sifat hak cipta Pasal 4 Hak Cipta sebagaimana dimaksud dalam Pasal 3 huruf a merupakan hak eksklusif yang terdiri atas hak moral dan hak ekonomi. Pembatasan Pelindungan Pasal 26 Ketentuan sebagaimana dimaksud dalam Pasal 23, Pasal 24, dan Pasal 25 tidak berlaku terhadap: i. penggunaan kutipan singkat Ciptaan dan/atau produk Hak Terkait untuk pelaporan peristiwa aktual yang ditujukan hanya untuk keperluan penyediaan informasi aktual; ii. Penggandaan Ciptaan dan/atau produk Hak Terkait hanya untuk kepentingan penelitian ilmu pengetahuan; iii. Penggandaan Ciptaan dan/atau produk Hak Terkait hanya untuk keperluan pengajaran, kecuali pertunjukan dan Fonogram yang telah dilakukan Pengumuman sebagai bahan ajar; dan iv. penggunaan untuk kepentingan pendidikan dan pengembangan ilmu pengetahuan yang memungkinkan suatu Ciptaan dan/atau produk Hak Terkait dapat digunakan tanpa izin Pelaku Pertunjukan, Produser Fonogram, atau Lembaga Penyiaran. Sanksi Pelanggaran Pasal 113 1. Setiap Orang yang dengan tanpa hak melakukan pelanggaran hak ekonomi sebagaimana dimaksud dalam Pasal 9 ayat (1) huruf i untuk Penggunaan Secara Komersial dipidana dengan pidana penjara paling lama 1 (satu) tahun dan/atau pidana denda paling banyak Rp100.000.000 (seratus juta rupiah). 2. Setiap Orang yang dengan tanpa hak dan/atau tanpa izin Pencipta atau pemegang Hak Cipta melakukan pelanggaran hak ekonomi Pencipta sebagaimana dimaksud dalam Pasal 9 ayat (1) huruf c, huruf d, huruf f, dan/atau huruf h untuk Penggunaan Secara Komersial dipidana dengan pidana penjara paling lama 3 (tiga) tahun dan/atau pidana denda paling banyak Rp500.000.000,00 (lima ratus juta rupiah).
STRATEGI MEMBANGUN PORTAL WEBSITE AMAN DARI SERAGAN JUDI ONLINE
STRATEGI MEMBANGUN PORTAL WEBSITE AMAN DARI SERAGAN JUDI ONLINE Copyright© PT Penamudamedia, 2023 Penulis: Winarno, S.Si. M.Eng., Mohammad Al Furqon, Rizqulloh Rayhan Ferdiansyah, Prof. Bambang Harjito, M.App.Sc., Dr. Wiranto, M.Cs., Sari Widya Sihwi, S.Kom., M.TI., Heri Prasetyo, Ph.D Editor: Tim Penamuda Media ISBN: 978-623-09-5311-8 Desain Sampul: Tim PT Penamuda Media Tata Letak: Enbookdesign Diterbitkan Oleh PT Penamuda Media Casa Sidoarium RT 03 Ngentak, Sidoarium Dodeam Sleman Yogyakarta HP/Whatsapp : +6285700592256 Email : [email protected] Web : www.penamuda.com Instagram : @penamudamedia Cetakan Pertama, September 2023 viii + 65, 15x23 cm Hak cipta dilindungi oleh undang-undang Dilarang memperbanyak sebagian atau seluruh isi buku tanpa izin Penerbit
v Kata Pengantar uji syukur kami panjatkan ke hadirat Tuhan Yang Maha Esa, atas rahmat, hidayah, dan karunia-Nya, sehingga buku ini dapat terwujud sebagai panduan yang bermanfaat bagi para pembaca yang ingin membangun portal aman berbasis WordPress. Dalam era digital yang semakin maju seperti saat ini, internet telah menjadi bagian integral dari kehidupan sehari-hari. Dengan begitu banyaknya informasi dan layanan yang tersedia secara online, penting bagi kita untuk menjaga keamanan dan kerahasiaan data yang kita miliki. WordPress, sebagai salah satu platform paling populer untuk membangun situs web dan portal, tentu saja tidak terkecuali dalam menghadapi tantangan keamanan ini. Buku ini hadir dengan tujuan untuk memberikan panduan komprehensif tentang bagaimana membangun portal aman berbasis WordPress. Dalam buku ini, para pembaca akan diajak untuk memahami berbagai risiko keamanan yang dihadapi dalam menggunakan WordPress dan bagaimana mengatasi setiap risiko tersebut. Buku ini merupakan upaya untuk mencegah agar website P
vi berbasis Wordpress terhindar dari serangan, bukan digunakan untuk melakukan eksploitasi atau bahkan peretasan sebuah website. Penulis dengan penuh dedikasi telah mengumpulkan pengetahuan dan pengalaman praktis dalam menghadapi berbagai tantangan keamanan di dunia maya. Melalui buku ini, pembaca akan diperkenalkan dengan berbagai teknik dan praktik terbaik untuk meningkatkan keamanan situs web WordPress mereka, mulai dari instalasi yang aman, manajemen akses pengguna yang tepat, penggunaan plugin yang aman, hingga langkah-langkah pencegahan dan respons ketika menghadapi potensi serangan. Tidak dapat disangkal bahwa keamanan informasi dan data adalah hal yang sangat penting dan relevan bagi setiap pengguna WordPress, baik individu maupun perusahaan. Oleh karena itu, kami berharap buku ini dapat memberikan wawasan yang berharga dan membantu para pembaca dalam memahami, menerapkan, dan mengelola langkah-langkah keamanan yang tepat. Terima kasih kami sampaikan kepada seluruh pihak yang telah berkontribusi dalam proses penulisan dan penerbitan buku ini. Semoga buku ini menjadi panduan yang efektif dan bermanfaat bagi semua pembaca. Selamat membaca dan selamat membangun portal aman berbasis WordPress! [Penulis]
vii Daftar Isi Kata Pengantar ........................................................... v Daftar Isi .................................................................... vii .................................. 1 A. Content Management System ........................................................1 B. Wordpress.......................................................................................4 C. Instalasi Wordpress.........................................................................5 D. Fitur Wordpress.............................................................................10 ................................................ 15 A. Kerentanan....................................................................................15 B. Kerentanan Wordpress.................................................................29 C. Aplikasi Eksploitasi Kerentanan.....................................................33 D. Penggunaan Aplikasi Eksploitasi ...................................................38
viii PENANGANAN KERENTANAN WORDPRESS................ 46 A. Pencegahan Kerentanan ...............................................................46 B. Penanganan jika Sudah Terinfeksi.................................................56 C. Black SEO.......................................................................................58 PENUTUP .................................................................... 60 Daftar Pustaka ......................................................... 61 Profil Penulis ............................................................. 63
1 A. Content Management System CMS, atau Content Management System, adalah platform perangkat lunak yang digunakan untuk membuat, mengelola, dan mengatur konten pada situs web tanpa memerlukan pengetahuan pemrograman lanjutan. Dengan CMS, pengguna dapat dengan mudah menambahkan, mengedit, dan menghapus konten seperti teks, gambar, video, dan file lainnya melalui antarmuka pengguna yang intuitif. CMS memiliki dua komponen utama: backend (admin panel) dan frontend (tampilan publik situs). Backend adalah area di mana administrator atau pengguna berwenang lainnya dapat masuk untuk mengelola konten, mengatur izin akses, dan mengatur tampilan situs. Frontend adalah tampilan publik dari situs web yang dapat dilihat oleh pengunjung. Salah satu keunggulan CMS adalah kemampuannya untuk mendukung kolaborasi tim, memungkinkan beberapa pengguna untuk bekerja bersama dalam mengelola konten. CMS juga menyediakan fitur seperti pencarian, kategori, dan tag yang membantu menyusun dan menemukan konten dengan mudah.
2 Ada berbagai jenis CMS (Content Management System) yang tersedia, masing-masing dengan fitur dan fungsionalitas yang berbeda sesuai dengan kebutuhan pengguna. Berikut adalah beberapa jenis CMS yang umum digunakan: 1. WordPress: CMS yang sangat populer dan paling banyak digunakan di seluruh dunia. Cocok untuk berbagai jenis situs web, mulai dari blog pribadi hingga situs web perusahaan. 2. Joomla: CMS yang kuat dan serbaguna, sering digunakan untuk situs web yang lebih kompleks, seperti situs jejaring sosial atau portal berita. 3. Drupal: CMS yang fleksibel dan kuat, sering digunakan untuk situs web yang memerlukan tingkat kustomisasi dan kompleksitas yang tinggi. 4. Magento: CMS khusus untuk situs web e-commerce, menawarkan fitur yang lengkap untuk mengelola toko online. 5. Shopify: CMS yang fokus pada e-commerce, menyediakan solusi lengkap untuk membangun dan mengelola toko online. 6. Blogger: Layanan blogging dari Google yang menyediakan platform sederhana untuk membuat blog pribadi. 7. Wix: CMS berbasis cloud yang menyediakan pembuatan situs web secara visual dengan tampilan drag-and-drop. 8. Squarespace: CMS yang menawarkan desain modern dan elegan, cocok untuk situs web bisnis, portfolio, atau blog. 9. TYPO3: CMS yang kuat dan fleksibel, sering digunakan untuk proyek besar dan kompleks dengan banyak konten. 10. Ghost: CMS yang dikhususkan untuk blogging, menawarkan fokus pada penulisan konten yang lebih sederhana dan efisien. 11. Umbraco: CMS berbasis .NET yang populer dalam lingkungan pengembangan Microsoft. 12. Contao: CMS yang menyediakan manajemen konten dan tata letak yang responsif untuk situs web
Menurut W3techs.com Wordpress merupakan dapat dilihat seperti Tabel 1. Tabel 1. Market Share CMJenis 2015 2016 2017 2018 2WordPress 60.7% 58.8% 58.5% 60.0% 5Shopify 0.7% 1.0% 1.3% 1.8% 2Wix 0.3% 0.4% 0.6% 0.9% 1Squarespace 0.5% 0.8% 1.1% 1.5% 2Joomla 8.6% 7.5% 7.2% 6.5% 5Drupal 5.1% 4.9% 4.8% 4.6% 3Adobe Systems PrestaShop 1.2% 1.3% 1.3% 1.3% 1Google Systems Bitrix 1.1% 1.3% 1.4% 1.5% 1Webflow 0OpenCart 0.9% 1.0% 0.9% 0.8% 0Tabel 1. terlihat bahwa dari tahun ke tahunmenjadi menarik untuk membahas mengenai Word
3 CMS paling populer. Statistik market share Wordpress MS (sumber: wtech.com) 2019 2020 2021 2022 2023 2023 59.7% 62.1% 64.1% 65.2% 63.7% 63.1% 2.6% 3.4% 5.2% 6.6% 5.7% 5.8% 1.8% 2.3% 2.4% 2.9% 3.6% 3.7% 2.6% 2.7% 2.3% 2.7% 3.0% 3.0% 5.4% 4.6% 3.6% 2.6% 2.7% 2.6% 3.5% 3.0% 2.5% 2.0% 1.8% 1.7% 1.7% 1.6% 1.4% 1.1% 0.8% 0.7% 1.0% 1.2% 1.2% 1.1% 1.2% 1.5% 1.7% 1.4% 1.1% 1.0% 0.2% 0.2% 0.4% 0.7% 0.9% 0.9% 0.8% 0.8% 1.0% 0.9% 0.8% 0.8% n Wordpress menguasai pasar CMS di dunia. Hal ini dpress.
4 B. Wordpress Wordpress merupakan sebuah Content Management System yang paling populer. WordPress adalah sistem manajemen konten (Content Management System atau CMS) berbasis open-source yang memungkinkan pengguna untuk membuat, mengelola, dan mempublikasikan berbagai jenis situs web dan blog. Platform ini pertama kali dirilis pada tahun 2003 dan sejak saat itu telah berkembang menjadi salah satu CMS paling populer dan paling banyak digunakan di seluruh dunia. Berikut hal-hal yang perlu diketahui mengenai wordpress 1. Open-Source: WordPress bersifat open-source, artinya kode sumbernya dapat diakses oleh siapa pun secara gratis. Hal ini memungkinkan pengguna dan pengembang di seluruh dunia untuk berkontribusi dalam mengembangkan dan meningkatkan platform ini. 2. Blogging dan Lebih dari Itu: Pada awalnya, WordPress dikenal sebagai platform blogging, dan tetap menjadi salah satu platform blogging paling populer di dunia. Namun, seiring waktu, WordPress telah berkembang menjadi CMS yang lebih lengkap, memungkinkan pembuatan berbagai jenis situs web, termasuk situs bisnis, toko online (e-commerce), situs berita, forum, dan banyak lagi. Untuk melakukan instalasi wordpress dapat dilakukan dengan mengunduh source code melalui: https://id.wordpress.org/download/
5 Gambar 1. Laman Download Wordpress Walaupun mudah untuk diinstall dan memiliki fitur keamanan, wordpress merupakan CMS yang paling banyak diretas(Moran, 2023). Saat ini situs pemerintah merupakan salah satu situs paling banyak yang diretas dibandingkan dengan situs lain(Burhan, 2021). C. Instalasi Wordpress Dalam melakukan instalasi Wordpress dapat diuraikan sebagai berikut 1. Persiapan Hosting: Pertama, perlu mempersiapkan hosting atau server web beserta domainnya. Pastikan hosting memenuhi persyaratan minimal yang diperlukan untuk menjalankan WordPress, seperti versi PHP yang sesuai, MySQL atau database yang kompatibel, dan ruang penyimpanan yang cukup. Hosting selanjutnya dapat
6 diakses menggunakan nama domain menggunakan browser. Adapun penyedia hosting dan domain dapat disajikan seperti Tabel 2. di bawah ini. Tabel 2. Lembaga Penyedia Hosting No Nama Hosting Asal 1. Niagahoster Indonesia 2. Rumahweb Indonesia 3. Dewaweb Indonesia 4. Hostinger Indonesia Indonesia 5. Qwords Indonesia 6. IDCloudHost Indonesia 7. Bluehost Luar Negeri 8. SiteGround Luar Negeri 9. HostGator Luar Negeri 10. DreamHost Luar Negeri 11. A2 Hosting Luar Negeri 12. InMotion Hosting Luar Negeri 13. Hostinger Luar Negeri 14. GoDaddy Luar Negeri Selanjutnya jika sudah sukses melakukan order Hosting dan Domain maka akan mendapatkan akun dan laman Cpanel yang dikirim melalui email yang digunakan untuk registrasi hosting dan domain. Tampilan login Cpanel seperti
7 Gambar 2. Laman Login Cpanel 2. Unduh WordPress: Kunjungi situs resmi WordPress di wordpress.org dan unduh paket instalasi WordPress terbaru. Paket ini biasanya berupa file ZIP yang perlu Anda ekstrak. Link unduhan dapat digunakan link https://id.wordpress.org/download/ Gambar 3. Tampilan Laman Unduhan Wordpress Melakukan unduh file zip, dapat juga menggunakan langganan di wordpress.org sehingga cukup melakukan registrasi saja tanpa melakukan instalasi.
8 3. Buat Database: Selanjutnya, Anda perlu membuat database untuk WordPress di panel kontrol hosting Anda. Biasanya, ini melibatkan langkah-langkah seperti membuat nama database, pengguna, dan kata sandi, serta memberikan hak akses yang sesuai ke database. Untuk membuat database dapat digunakan tools PhpMyadmin di halaman CPanel. Untuk mengaksesnya dapat digunakan http://nama_domain/cpanel. Pada bagian databases dapat diakses phpMyadmin 4. Gambar 4. PhpMyadmin Dalam CPanel Setelah diklik akan muncul laman login phpMyAdmin seperti tampilan Gambar 5. Gambar 5. Laman Login PhpMyadmin
9 Setelah berhasil login dapat dilakukan pembuatan a. Database b. User c. Password d. Host yang dapat diakses oleh user yang telah dibuat. 5. Konfigurasi wp-config.php: Salin file wp-configsample.php menjadi wp-config.php dan buka file tersebut dengan editor teks. Isilah informasi database yang telah Anda buat sebelumnya, seperti nama database, pengguna, dan kata sandi. Simpan file dengan nama wpconfig.php. Gambar 6. Penyesuaian File wp-config.php Sesuaikan parameter konfigurasi di atas sesuai dengan konfigurasi database terutama pada bagian a. DB_NAME Diisi dengan database yang sudah dibuat b. DB_USER
10 Diisi dengan username dari database MySQL c. DB_PASSWORD Diisi dengan password yang sesuai dengan username yang telah dibuat d. DB_HOST Diisi dengan IP DB server atau jika servernya sama dengan web server gunakan localhost. 6. Upload File ke Server: Unggah seluruh konten WordPress yang telah Anda ekstrak ke direktori root situs web Anda melalui FTP atau file manager di panel kontrol hosting. Pastikan Anda mengunggah file dan direktori ke lokasi yang benar. 7. Instalasi WordPress: Buka browser web dan akses URL situs web Anda. Anda akan melihat tampilan instalasi WordPress. Ikuti langkah-langkah instalasi, termasuk memasukkan informasi seperti judul situs, alamat email admin, dan nama pengguna dan kata sandi admin. 8. Selesai: Setelah langkah-langkah instalasi selesai, Anda akan menerima pemberitahuan bahwa instalasi WordPress berhasil. Anda dapat masuk ke area admin WordPress dengan menggunakan nama pengguna dan kata sandi yang telah Anda tentukan sebelumnya. D. Fitur Wordpress WordPress merupakan salah satu platform content management system (CMS) yang paling populer dan banyak digunakan di seluruh dunia. Berikut adalah beberapa fitur dan kelebihan utama WordPress: 1. Mudah Digunakan: WordPress dirancang untuk kemudahan penggunaan, bahkan bagi pemula sekalipun. Antarmuka pengguna intuitif dan mudah dipahami, sehingga memungkinkan siapa pun untuk membuat, mengelola, dan mempublikasikan konten dengan cepat.
11 2. Customizable: WordPress menawarkan banyak tema (themes) dan plugin yang memungkinkan untuk mengubah tampilan situs web dan menambahkan berbagai fitur dengan mudah. Ini memungkinkan untuk membuat situs web yang sesuai dengan kebutuhan dan preferensi . 3. Komunitas Besar: WordPress memiliki komunitas yang besar dan aktif, yang berarti ada banyak dukungan, tutorial, dan sumber daya online yang tersedia untuk membantu memaksimalkan penggunaan platform ini. 4. SEO Friendly: WordPress memiliki struktur yang SEOfriendly, yang membantu situs untuk lebih mudah ditemukan oleh mesin pencari seperti Google. Selain itu, ada juga banyak plugin SEO yang dapat membantu meningkatkan peringkat situs web dalam hasil pencarian. 5. Responsif dan Mobile-Friendly: Banyak tema WordPress dirancang untuk responsif, yang berarti situs web akan terlihat baik dan berfungsi dengan baik di berbagai perangkat, termasuk desktop, tablet, dan ponsel. 6. Keamanan: WordPress secara rutin memperbarui keamanan dan menyediakan pembaruan otomatis untuk melindungi situs dari potensi ancaman keamanan. Selain itu, ada plugin keamanan tambahan yang dapat membantu meningkatkan keamanan situs . 7. E-commerce Ready: WordPress memiliki plugin populer seperti WooCommerce yang memungkinkan dengan mudah menjalankan toko online dan mengelola produk . 8. Blogging Capabilities: WordPress berasal dari platform blogging, jadi alat blogging-nya sangat kuat dan mudah digunakan. dapat dengan mudah membuat dan mengelola blog dengan WordPress. 9. Integrasi dengan Media Sosial: WordPress memiliki kemampuan integrasi yang baik dengan platform media
12 sosial, memungkinkan untuk berbagi konten secara lebih luas dan berinteraksi dengan audiens melalui berbagai kanal. 10. Skalabilitas: WordPress cocok untuk berbagai jenis situs web, dari blog pribadi hingga situs web perusahaan yang besar. Ini memberikan fleksibilitas dan skalabilitas untuk berkembang seiring pertumbuhan bisnis . 11. Dukungan Multibahasa: WordPress mendukung konten multibahasa, memungkinkan untuk membuat situs web dengan berbagai bahasa untuk mencapai audiens global. 12. Analitik dan Statistik: Dengan mengintegrasikan WordPress dengan alat analitik seperti Google Analytics, dapat melacak kinerja situs web dan mendapatkan wawasan tentang perilaku pengunjung. B. Plugin Wordpress Plugin WordPress adalah tambahan perangkat lunak yang dapat diinstal dan diaktifkan pada situs web berbasis WordPress untuk menambahkan fitur dan fungsionalitas tambahan. Dalam konteks WordPress, plugin adalah kumpulan kode yang dapat dengan mudah ditambahkan ke inti sistem WordPress untuk memperluas kemampuan dan mengubah cara kerjanya tanpa harus mengubah kode inti WordPress itu sendiri(SF, 2022). Dalam istilah yang lebih sederhana, plugin WordPress berfungsi seperti "ekstensi" yang memungkinkan untuk menambahkan fitur-fitur khusus ke situs web tanpa harus secara manual menulis atau mengkode fitur tersebut dari awal. Berikut adalah beberapa contoh fungsionalitas yang bisa ditambahkan menggunakan plugin WordPress: 1. Pengoptimalan SEO: Plugin SEO memungkinkan untuk mengoptimalkan situs web agar lebih mudah ditemukan oleh mesin pencari seperti Google. Contohnya, plugin Yoast SEO.
13 2. Formulir Kontak: Plugin formulir kontak memungkinkan membuat formulir kontak kustom untuk memungkinkan pengunjung menghubungi . Contohnya, plugin Contact Form. 3. Galeri Gambar: Plugin galeri memungkinkan membuat galeri gambar yang menarik untuk menampilkan portofolio atau foto-foto lainnya. Contohnya, plugin Envira Gallery. 4. Keamanan: Plugin keamanan membantu meningkatkan keamanan situs web dengan memberikan fitur seperti deteksi percobaan masuk (login brute force), proteksi terhadap serangan malware, dan lain-lain. Contohnya, plugin Sucuri, Wordfence Security. 5. E-commerce: Plugin e-commerce memungkinkan mengubah situs web WordPress menjadi toko online dan menjual produk atau layanan. Contohnya, plugin WooCommerce. 6. Optimasi Kinerja: Plugin optimasi kinerja membantu meningkatkan kecepatan dan performa situs web . Contohnya, plugin WP Super Cache. 7. Integrasi Media Sosial: Plugin media sosial memungkinkan untuk dengan mudah mengintegrasikan tautan dan tombol berbagi ke platform media sosial. Contohnya, plugin AddToAny Share Buttons. Ada ribuan plugin WordPress yang tersedia secara gratis maupun berbayar di direktori resmi WordPress dan situs web lainnya. Untuk menginstal plugin WordPress, dapat mengikuti langkah-langkah berikut: 1. Login ke Dashboard WordPress: Buka situs web dan tambahkan "/wp-admin" di belakang URL (misalnya: www.namasitusweb.com/wp-admin). Masukkan username dan kata sandi untuk login ke dashboard WordPress.
14 2. Navigasi ke Halaman Plugins: Setelah masuk, arahkan kursor ke menu di sebelah kiri dan klik "Plugins", kemudian pilih "Tambah Baru". akan dibawa ke halaman yang menampilkan daftar plugin yang tersedia di direktori WordPress. 3. Cari Plugin: dapat mencari plugin yang ingin instal dengan menggunakan kotak pencarian di bagian kanan atas halaman. Misalnya, masukkan nama plugin atau kata kunci terkait untuk menemukan plugin yang relevan dengan kebutuhan . 4. Pilih dan Instal Plugin: Setelah menemukan plugin yang ingin instal, klik tombol "Instal Sekarang" di bawah nama plugin. WordPress akan mulai mengunduh dan menginstal plugin tersebut di situs web . 5. Aktifkan Plugin: Setelah proses instalasi selesai, akan melihat pesan yang menyatakan bahwa plugin telah diinstal. Selanjutnya, klik tombol "Aktifkan Plugin" untuk mengaktifkan plugin tersebut di situs web. 6. Konfigurasi Plugin (Opsional): Beberapa plugin mungkin memerlukan konfigurasi tambahan setelah diaktifkan. Untuk melakukan ini, navigasikan ke menu "Plugins" dan klik "Pengaturan" atau "Setting" pada plugin yang baru diaktifkan. Setelah menginstal dan mengkonfigurasi plugin, sekarang dapat menggunakan fitur baru yang ditambahkan oleh plugin tersebut di situs web .
15 A. Kerentanan Sebuah website ada beberapa jenis kerentanan yang dapat mengganggu keamanan sebuah website. Dari statistik Gambar 2.1 peretasan website di Indonesia menurut laporan BSSN menunjukkan bahwa situs akademik dan pemerintah menempati situs yang paling rentan diretas(Rahman et al., 2022). Gambar 7. Statistik Serangan Defacement Website Indonesia (sumber :BSSN) Sedangkan menurut sebaran waktunya, BSSN mengungkap seperti Gambar 8.
16 Gambar 8. Statistik Persebaran Waktu Defacement Website Peretasan yang sering terjadi adalah peretasan dengan motivasi Black SEO, yaitu menggunakan website orang untuk ditempeli produk-produk yang dipasarkan agar mendapatkan backlink. Celah keamanan ini dapat dimanfaatkan oleh peretas untuk mengakses, merusak, mencuri informasi, atau bahkan mengambail alih kontrol website. Kerentanan ini diantaranya adalah 1. SQL Injection (SQLi): Kerentanan ini memungkinkan peretas untuk menyisipkan kode SQL berbahaya ke dalam input pengguna yang tidak tervalidasi. Hal ini dapat mengakibatkan akses tidak sah ke basis data dan potensial untuk mencuri, mengubah, atau menghapus data. 2. Cross-Site Scripting (XSS): Kerentanan XSS memungkinkan peretas menyisipkan skrip berbahaya ke dalam halaman web yang kemudian dieksekusi oleh browser pengguna. Serangan ini dapat memungkinkan peretas mencuri informasi login, sesi pengguna, atau mengalihkan pengguna ke situs yang berbahaya. 3. Cross-Site Request Forgery (CSRF): Serangan CSRF mengarahkan pengguna untuk melakukan tindakan yang tidak diinginkan tanpa sepengetahuan mereka. Peretas
17 menciptakan permintaan palsu yang akan dieksekusi oleh browser pengguna saat mereka mengunjungi halaman yang telah dimodifikasi. 4. Brute Force Attack: Serangan Brute force melibatkan mencoba semua kombinasi mungkin untuk menebak kata sandi pengguna atau administrator yang lemah. 5. DDOS : DDoS adalah singkatan dari "Distributed Denial of Service," yang secara harfiah berarti "Serangan Layanan Menolak Terdistribusi." DDoS adalah serangan terhadap sebuah sistem atau situs web dengan tujuan mengganggu atau menghentikan ketersediaan layanan bagi pengguna yang sah. Dalam serangan DDoS, peretas menggunakan jaringan komputer yang terdistribusi dan sering kali terinfeksi malware (botnet) untuk mengirimkan lalu lintas yang berlebihan dan tidak biasa ke server target atau infrastruktur jaringan. Serangan ini bertujuan untuk menghabiskan sumber daya komputasi, bandwidth, atau membanjiri server, sehingga membuat server tersebut menjadi tidak responsif atau tidak dapat diakses oleh pengguna yang sah 6. Server-Side Request Forgery (SSRF): Serangan SSRF memungkinkan peretas untuk memanipulasi permintaan yang dibuat oleh server untuk mengakses sumber daya yang seharusnya tidak dapat diakses. 7. Remote Code Execution (RCE): Kerentanan RCE memungkinkan peretas untuk menjalankan kode berbahaya pada server web, memberikan akses penuh dan kontrol atas sistem. 8. Insecure Direct Object References (IDOR): Serangan IDOR memungkinkan peretas untuk mengakses sumber daya atau data yang seharusnya tidak dapat diakses dengan memanipulasi parameter URL atau form input. 9. Insecure File Uploads: Jika situs web memungkinkan pengguna mengunggah file tanpa melakukan validasi yang memadai, peretas dapat mengunggah file berbahaya dan menjalankannya pada server.
18 10. Open Redirect: Kerentanan open redirect memungkinkan peretas untuk mengalihkan pengguna ke situs web yang berbahaya atau phishing dengan menyusupkan URL berbahaya. 11. Server Misconfiguration: Konfigurasi server yang lemah atau salah dapat menyebabkan kerentanan yang memungkinkan akses tidak sah ke file, direktori, atau layanan yang sensitif. Untuk menghindari celah keamanan tersebut di atas dapat dilakukan hal-hal sebagai berikut: 1. SQL Injection Celah keamanan SQL Injection dapat dihindari dengan cara a. Gunakan Parameter Terikat (Prepared Statements): Gunakan fitur parameter terikat yang disediakan oleh bahasa pemrograman atau kerangka kerja yang digunakan. Ini memastikan bahwa input pengguna diperlakukan sebagai data dan bukan sebagai bagian dari pernyataan SQL yang dieksekusi secara langsung. b. Gunakan Fungsi Filter Input: Saat menerima input dari pengguna, pastikan untuk membersihkan, memvalidasi, atau menyaring data masukan. Gunakan fungsi atau metode filter input yang disediakan oleh bahasa pemrograman atau kerangka kerja, seperti mysqli_real_escape_string() atau PDO bindParam(). c. Hindari Konstruksi Query Dinamis: Hindari membangun kueri SQL secara dinamis dengan menggabungkan string langsung dengan input pengguna. Sebagai gantinya, gunakan metode parameter terikat atau query builder yang aman untuk memastikan bahwa input pengguna diolah dengan benar. d. Validasi dan Sanitasi Data: Selain menghindari penggunaan langsung input pengguna dalam kueri SQL, pastikan untuk memvalidasi dan menyaring data
19 masukan. Pastikan data sesuai dengan format yang diharapkan dan hapus karakter yang tidak diinginkan atau berbahaya. e. Terapkan Prinsip Prinsip Keamanan Basis Data: Selain langkah-langkah pada tingkat aplikasi, pastikan bahwa sistem basis data juga dikonfigurasi dengan baik dan memiliki langkah-langkah keamanan yang tepat. Ini termasuk mengenkripsi data sensitif, membatasi akses pengguna dengan hak istimewa yang sesuai, dan melakukan pemantauan serta audit secara teratur. f. Perbarui dan Tingkatkan Keamanan Sistem: Pastikan selalu memperbarui sistem operasi, basis data, bahasa pemrograman, dan kerangka kerja yang digunakan. Pembaruan ini seringkali mencakup perbaikan keamanan dan kerentanan yang dapat digunakan oleh peretas. g. Terapkan Proteksi Firewalls dan WAF: Gunakan firewall dan Web Application Firewall (WAF) untuk melindungi aplikasi web. Ini dapat membantu mendeteksi dan mencegah serangan SQL Injection dengan memantau dan memblokir permintaan yang mencurigakan. h. Lakukan Pengujian Keamanan: Lakukan pengujian keamanan secara teratur pada aplikasi web, termasuk pengujian penetrasi dan pengujian kerentanan. Dengan cara ini, selanjutnya dapat diidentifikasi dan perbaikan celah keamanan sebelum peretas memanfaatkannya. 2. Cross-Site Scripting (XSS): Kerentanan XSS dapat dihindari dengan cara sebagai berikut a. Validasi dan Sanitasi Input: Validasi dan sanitasi data masukan adalah langkah penting dalam mencegah serangan XSS. Pastikan untuk memvalidasi semua input yang diterima dari pengguna dan pastikan hanya data yang valid dan diizinkan yang diterima b. Escape atau Encoding Output: Sebelum menampilkan data yang diterima dari pengguna ke dalam halaman web, pastikan untuk melakukan escapin atau encoding
20 terhadap karakter khusus. Ini akan mencegah karakter yang berpotensi berbahaya seperti tanda kutip ganda, tanda kurung, atau karakter HTML lainnya dari dieksekusi sebagai kode JavaScript. c. Gunakan Konten-Type yang Tepat: Pastikan untuk mengatur header Konten-Type yang tepat pada respons HTTP. Misalnya, menggunakan header Konten-Type "application/json" untuk respons JSON atau "text/plain" untuk teks biasa. Ini membantu mencegah browser dari menafsirkan data sebagai HTML atau JavaScript yang dapat menjalankan kode berbahaya. d. Escape Data yang Disimpan dalam Basis Data: Jika melakukan penyimpanan data inputan pengguna dalam basis data, pastikan untuk melakukan escapin atau encoding pada data tersebut sebelum disimpan. Ini mencegah data yang disimpan dari dieksekusi sebagai kode ketika ditampilkan di halaman web. e. Gunakan Kebijakan Konten yang Aman (Content Security Policy): Terapkan kebijakan konten yang aman (CSP) pada situs web. CSP memungkinkan mengatur kebijakan yang mengendalikan sumber daya eksternal yang dapat dimuat oleh halaman web. Ini membantu mencegah penggunaan script yang tidak diizinkan atau sumber daya berbahaya lainnya. f. Perbarui Framework dan Library: Pastikan selalu memperbarui framework dan library yang digunakan untuk mengembangkan situs web. Pembaruan ini seringkali memperbaiki kerentanan keamanan yang dapat dimanfaatkan oleh peretas. g. Gunakan Web Application Firewall (WAF): Implementasikan Web Application Firewall (WAF) untuk melindungi situs web. WAF dapat mendeteksi dan mencegah serangan XSS dengan memantau permintaan dan respons yang mencurigakan. h. Lakukan Pengujian Keamanan: Lakukan pengujian keamanan secara teratur pada aplikasi web, termasuk
21 pengujian penetrasi dan pengujian kerentanan. Dengan cara ini, selanjutnya dapat diidentifikasi dan memperbaiki celah keamanan sebelum peretas memanfaatkannya 3. Cross-Site Request Forgery (CSRF): Kerentanan CSRF dapat dihindari dengan cara a. Verifikasi CSRF Token: Implementasikan mekanisme token CSRF pada formulir dan permintaan yang mengubah data atau melakukan tindakan penting pada situs web. Token CSRF adalah nilai acak yang dihasilkan oleh server dan disematkan ke dalam formulir atau permintaan HTTP. Saat pengguna mengirimkan permintaan, server akan memverifikasi apakah token tersebut valid sebelum memproses tindakan tersebut. b. Gunakan SameSite Cookies: Atur atribut "SameSite" pada cookies yang digunakan oleh situs web. Pengaturan "SameSite" dapat membatasi cookies untuk hanya dikirimkan pada permintaan yang berasal dari situs yang sama, sehingga mencegah serangan CSRF yang melibatkan cookies otentikasi. c. Buat Permintaan yang Dibuat dengan Aman: Pastikan permintaan HTTP yang digunakan untuk mengubah data atau melakukan tindakan penting pada situs web menggunakan metode HTTP yang sesuai, seperti POST, PUT, atau DELETE. Hindari menggunakan metode GET untuk operasi yang dapat mengubah data, karena permintaan GET dapat diprediksi dan dijebak oleh peretas. d. Autentikasi yang Kuat: Pastikan situs web memiliki lapisan autentikasi yang kuat untuk mengidentifikasi pengguna dan mengonfirmasi hak akses sebelum memproses permintaan yang sensitif. e. Aktifkan CSRF Protection pada Framework atau Library: Banyak kerangka kerja dan library memiliki mekanisme CSRF protection bawaan. Pastikan mengaktifkan dan
22 mengkonfigurasi perlindungan CSRF ini sesuai dengan petunjuk dari dokumentasi resmi. f. Batasi Hak Akses Pengguna: Berikan hak akses yang tepat untuk setiap pengguna pada situs web. Hindari memberikan hak akses yang lebih tinggi dari yang dibutuhkan, sehingga jika akun pengguna tercompromi, dampaknya akan lebih terbatas. g. Tambahkan Pesan Konfirmasi: Ketika mengizinkan pengguna untuk melakukan tindakan yang penting, pertimbangkan untuk menambahkan pesan konfirmasi sebelum tindakan tersebut dieksekusi. Ini dapat membantu mencegah serangan CSRF yang dilakukan tanpa sepengetahuan pengguna. h. Gunakan HTTP Strict Transport Security (HSTS): Aktifkan HSTS pada situs web untuk memaksa penggunaan koneksi aman (HTTPS) dan mencegah pengalihan yang tidak aman yang dapat dimanfaatkan oleh serangan CSRF 4. Brute Force Attack Dalam penceghan Brute Force Attack dapat dilakukan hal-hal sebagai berikut a. Gunakan Kata Sandi yang Kuat: Pastikan kata sandi yang digunakan memiliki kombinasi karakter yang kuat, termasuk huruf (besar dan kecil), angka, dan simbol. Hindari menggunakan kata sandi yang mudah ditebak, seperti tanggal lahir atau nama panggilan. b. Terapkan Kebijakan Pembatasan Percobaan Masuk: Menggunakan plugin atau pengaturan server yang membatasi jumlah percobaan masuk yang diizinkan dapat membantu melindungi situs dari serangan brute force. Misalnya, setel batasan pada jumlah percobaan masuk yang diperbolehkan dalam satu periode waktu tertentu, dan setelah mencapai batasan tersebut, blokir alamat IP pengguna selama periode waktu yang ditentukan. c. Gunakan Plugin Keamanan: Plugin keamanan WordPress dapat memberikan perlindungan tambahan terhadap
23 serangan brute force. Beberapa plugin populer termasuk Wordfence, Sucuri, atau Limit Login Attempts Reloaded. Plugin ini dapat memberikan fitur seperti deteksi serangan brute force, pembatasan percobaan masuk, dan pemantauan aktivitas yang mencurigakan. d. Perbarui dan Tingkatkan Keamanan WordPress: Pastikan selalu memperbarui versi terbaru WordPress, tema, dan plugin yang digunakan. Pembaruan ini seringkali memperbaiki kerentanan keamanan yang dapat dimanfaatkan oleh peretas. Selain itu, pastikan memilih tema dan plugin dari sumber yang terpercaya dan memeriksa ulasan serta kecocokan dengan versi terbaru WordPress. e. Gunakan Layanan Keamanan Cloud: Layanan keamanan cloud seperti Cloudflare dapat memberikan lapisan keamanan tambahan dengan menerapkan perlindungan DDoS, pemantauan lalu lintas, dan deteksi serangan brute force. f. Aktifkan Autentikasi Dua Faktor (2FA): Mengaktifkan autentikasi dua faktor menambahkan lapisan keamanan ekstra dengan meminta pengguna untuk memasukkan kode yang dihasilkan secara dinamis atau menggunakan aplikasi autentikator ketika melakukan login. Ini membuat serangan brute force menjadi lebih sulit karena peretas tidak hanya harus menebak kata sandi, tetapi juga harus memasukkan kode yang unik. g. Gunakan Firewall Aplikasi Web (WAF): Menggunakan WAF dapat membantu melindungi situs dengan mendeteksi dan memblokir serangan brute force, termasuk serangan yang berbasis pola. h. Monitor dan Analisis Log Aktivitas: Memantau dan menganalisis log aktivitas situs web dapat membantu mendeteksi upaya serangan brute force. Dengan melacak pola aktivitas mencurigakan, Selanjutnya dapat mengambil tindakan yang sesuai untuk melindungi situs.
24 5. DDOS Untuk menghindari DDOS dapat dilakukan hal-hal sebagai berikut: Gunakan Layanan Proteksi DDoS: Menggunakan layanan proteksi DDoS yang disediakan oleh penyedia layanan keamanan atau penyedia cloud dapat membantu melindungi situs web. Layanan ini menggunakan infrastruktur khusus dan teknik pengalihan lalu lintas untuk mengidentifikasi dan memblokir serangan DDoS yang masuk. a. Konfigurasi Firewall dan Perangkat Jaringan: Konfigurasikan firewall dan perangkat jaringan untuk membatasi lalu lintas yang mencurigakan atau berlebihan. Selanjutnya dapat menerapkan aturan yang membatasi jumlah permintaan yang diterima dalam satu waktu dari alamat IP tertentu atau mengidentifikasi pola lalu lintas yang tidak normal. b. Peningkatan Kapasitas Jaringan: Memiliki kapasitas jaringan yang memadai dapat membantu mengatasi serangan DDoS. Dengan meningkatkan kapasitas dan bandwidth jaringan, selanjutnya dapat lebih mudah menangani lonjakan lalu lintas yang dihasilkan oleh serangan DDoS. c. Implementasikan Captcha atau Verifikasi Pengguna: Menggunakan Captcha atau verifikasi pengguna dapat membantu membedakan antara manusia dan bot. Ini mempersulit serangan DDoS yang menggunakan bot untuk mengirimkan permintaan berlebihan. d. Gunakan CDN (Content Delivery Network): Menggunakan CDN dapat membantu mendistribusikan lalu lintas situs web di beberapa server di lokasi geografis yang berbeda. Dengan cara ini, serangan DDoS yang ditargetkan ke satu server akan terbagi di antara server-server CDN, membantu meringankan beban dan melindungi dari serangan.
25 e. Perbarui dan Tingkatkan Keamanan Sistem: Pastikan selalu memperbarui sistem operasi, perangkat lunak, dan perangkat keras yang digunakan. Pembaruan ini seringkali mencakup perbaikan keamanan dan kerentanan yang dapat dimanfaatkan oleh peretas. f. Lakukan Monitoring Lalu Lintas Jaringan: Melakukan pemantauan lalu lintas jaringan secara aktif dapat membantu mendeteksi serangan DDoS sedini mungkin. Dengan menggunakan alat pemantauan jaringan yang tepat, selanjutnya dapat diidentifikasi pola lalu lintas yang tidak normal atau lonjakan tiba-tiba yang mungkin mengindikasikan serangan DDoS. g. Implementasikan Metode Rate Limiting: Mengimplementasikan metode rate limiting dapat membantu membatasi jumlah permintaan yang diterima dalam waktu tertentu. Ini dapat mencegah serangan DDoS yang menghasilkan permintaan berulang-ulang dalam waktu yang sangat singkat 6. Server-Side Request Forgery (SSRF) Untuk menghindari SSRF dapat dilakukan hal-hal berikut ini a. Validasi Input: Validasi data masukan dari pengguna secara ketat sebelum digunakan dalam permintaan yang dikirimkan dari sisi server. Pastikan data masukan sesuai dengan format yang diharapkan dan hanya mengizinkan URL atau alamat IP yang sah. b. Gunakan Daftar Putih (Whitelist): Gunakan daftar putih untuk membatasi alamat URL dan alamat IP yang diizinkan dalam permintaan. Blokir atau tolak semua permintaan ke alamat yang tidak ada dalam daftar putih. c. Batasi Izin Pengguna: Berikan hak akses yang sesuai kepada pengguna atau akun yang memungkinkan untuk melakukan SSRF. Hindari memberikan izin lebih tinggi dari yang diperlukan untuk tugas tertentu. d. Batasi Fungsi Remote File Inclusion: Jika aplikasi mendukung fitur untuk menyertakan file dari sumber
26 eksternal, pastikan untuk membatasi kemampuan ini hanya pada file yang ada dalam wilayah kontrol sendiri, dan hindari menyertakan file dari URL yang diberikan oleh pengguna. e. Gunakan Timeout: Tetapkan timeout untuk permintaan yang dibuat ke sumber eksternal. Jika permintaan tidak dapat diselesaikan dalam batas waktu yang ditentukan, batalkan permintaan. f. Nonaktifkan Fitur Berbahaya: Jika ada fitur atau metode yang tidak perlu atau berbahaya yang dapat digunakan untuk melakukan SSRF, nonaktifkan fitur tersebut atau pastikan hanya diizinkan untuk digunakan oleh pengguna yang terpercaya. g. Gunakan DNS Rebinding Protection: Pastikan aplikasi dilindungi dari serangan DNS rebinding yang dapat digunakan untuk melakukan SSRF. Beberapa firewall aplikasi web (WAF) menyediakan perlindungan terhadap serangan ini. h. Lindungi Konfigurasi Server: Pastikan konfigurasi server tidak mengungkapkan informasi sensitif yang dapat digunakan untuk melakukan SSRF. Pastikan alamat loopback atau alamat internal lainnya tidak dapat diakses dari luar. i. Lakukan Pengujian Keamanan: Lakukan pengujian keamanan secara teratur pada aplikasi web, termasuk pengujian penetrasi dan pengujian kerentanan. Dengan cara ini, Selanjutnya dapat diiidentifikasi dan memperbaiki celah keamanan sebelum peretas memanfaatkannya 7. Insecure file upload Untuk menghindari insecure file upload dapat dilakukan a. Validasi File Upload: Lakukan validasi yang ketat terhadap file yang diunggah oleh pengguna. Pastikan hanya jenis file yang diizinkan yang dapat diunggah (misalnya,
27 gambar atau dokumen tertentu), dan tolak file yang tidak sesuai dengan jenis yang diharapkan. b. Batasi Ukuran File: Batasi ukuran maksimum file yang diizinkan untuk diunggah. Ini akan membantu mencegah pengguna mengunggah file berukuran sangat besar yang dapat mengganggu ketersediaan sumber daya server atau mengakibatkan Denial of Services (DoS). c. Buat File Sebagai Non-Eksekusi: Pastikan file yang diunggah tidak memiliki hak akses eksekusi, terutama jika server berjalan di lingkungan yang memungkinkan file untuk dieksekusi secara langsung dari direktori upload. d. Gunakan Nama File yang Aman: Beri nama file yang diunggah ulang ke sistem dengan nama yang aman dan tidak dapat diprediksi. Jangan menggunakan nama asli file yang diunggah untuk menyimpannya di server. e. Simpan File di Lokasi yang Aman: Pastikan file yang diunggah disimpan di direktori terpisah dan tidak dapat diakses secara langsung melalui URL publik. Jaga agar file hanya dapat diakses oleh pengguna yang diizinkan. f. Gunakan Double Extension Filtering: Lakukan pemeriksaan terhadap ekstensi file yang diunggah untuk menghindari penggunaan ekstensi ganda yang dapat mengecoh sistem (contoh: "file.php.jpg"). g. Gunakan Content Disposition: Tetapkan header Content Disposition untuk menghindari eksekusi file di browser dengan cara yang tidak diinginkan. h. Gunakan File Type Checking: Selain memeriksa ekstensi file, lakukan juga pemeriksaan konten file untuk memastikan file tersebut benar-benar sesuai dengan jenis yang diizinkan. i. Lindungi Konfigurasi Server: Pastikan server dikonfigurasi dengan baik dan tidak mengizinkan eksekusi file yang tidak diinginkan atau berbahaya pada direktori upload. j. Lakukan Pengujian Keamanan: Lakukan pengujian keamanan secara teratur pada aplikasi web, termasuk pengujian penetrasi dan pengujian kerentanan. Dengan
28 cara ini, Selanjutnya dapat diidentifikasi dan memperbaiki celah keamanan sebelum peretas memanfaatkannya 8. Server missconfiguration Server missconfiguration dapat dilakukan pencegahan seperti berikut ini a. Tinjau dan Perbarui Konfigurasi Secara Berkala: Tinjau konfigurasi server secara teratur untuk memastikan bahwa setiap pengaturan diatur dengan benar dan sesuai dengan kebutuhan aplikasi atau layanan yang dijalankan. Pastikan juga untuk melakukan pembaruan konfigurasi saat ada perubahan pada aplikasi atau lingkungan. b. Ikuti Pedoman Keamanan Terbaik: Patuhi pedoman keamanan terbaik yang diberikan oleh penyedia layanan, kerangka kerja, atau sistem operasi yang digunakan. Ini termasuk praktik pengamanan seperti pengaturan firewall, pembatasan akses, penggunaan SSL/TLS untuk enkripsi data, dan lain-lain. c. Batasi Hak Akses: Berikan hak akses yang tepat pada tingkat minimum yang diperlukan untuk setiap pengguna, baik pada tingkat sistem maupun aplikasi. Hindari memberikan hak akses yang lebih tinggi dari yang diperlukan, terutama untuk akun pengguna biasa. d. Lindungi Konfigurasi File: Pastikan bahwa file konfigurasi server, basis data, atau aplikasi dilindungi dengan baik dan tidak dapat diakses oleh publik. Gunakan perizinan file yang tepat untuk mencegah akses yang tidak sah. e. Enkripsi Data Sensitif: Enkripsi data sensitif, baik saat data disimpan di server atau saat ditransmisikan melalui jaringan. Penggunaan enkripsi yang kuat akan membantu melindungi data dari akses yang tidak sah jika server mengalami misconfiguration. f. Batasi Eksekusi File: Pastikan bahwa file di server tidak memiliki hak akses eksekusi secara default, kecuali file
29 yang sengaja dijalankan sebagai bagian dari aplikasi atau layanan. g. Monitor Kegiatan Server: Gunakan alat pemantauan untuk memonitor kegiatan server secara terus-menerus. Pemantauan ini akan membantu mengidentifikasi aktivitas yang mencurigakan atau aneh yang mungkin menunjukkan adanya misconfiguration atau serangan yang sedang berlangsung. h. Lindungi Informasi Konfigurasi: Jangan pernah mengekspos informasi sensitif atau informasi konfigurasi yang kritis, seperti kata sandi atau kunci API, dalam kode sumber atau file konfigurasi yang dapat diakses oleh publik. i. Backup dan Restore: Selalu lakukan backup rutin dari konfigurasi server dan data penting. Dengan backup yang teratur, selanjutnya dapat dengan cepat mengembalikan server ke kondisi yang berfungsi jika terjadi masalah atau misconfiguration yang serius Hal tersebut di atas adalah kerentanan website secara umum, adapun portal yang ada saat ini sebagian besar menggunakan platform Wordpress. B. Kerentanan Wordpress Menurut statistik colorlib.com, saat ini Wordpress menjadi CMS yang paling banyak terkena peretasan dan infeksi(Moran, 2023). Penyebab kenapa Wordpress sering terkena hack diantaranya adalah tidak update versi Wordpress terakhir, melakukan instalasi plugin yang memiliki kerentanan, melakukan instalasi themes(Wpbeginner, 2023). Statistik tersebut dapat dilihat seperti Gambar 9.
30 Gambar 9. Wordpress CMS Terkena Infeksi Tertinggi (sumber: colorlib.com) Menurut colorlib.com bahwa infeksi Wordpress sebagian besar disebabkan oleh malware. Secara detail dapat dilihat seperti Gambar 10. Gambar 10. Statistik Penyebab Infeksi Wordpress (sumber colorlib.com)
31 Sedangkan menurut tipenya, kerentanan lubang keamanan Wordpress menggunakan XSS, statistik ini dapat digambarkan seperti Gambar 11. Gambar 11. Statistik Jenis Kerentanan Wordpress Sedangkan menurut sucuri, plugin Wordpress yang sering menimbulkan kerentanan lubang keamanan dapat disajikan seperti Tabel 3. (Garand et al., 2021) Tabel 3. Daftar Plugin Memiliki Kerentanan Keamanan (sumber sucuri.com) Nama Plugin Presentase Kerentanan 1. Contact Form 7 36.3% 2. TimThumb (image resizing script used by themes and plugins) 8.2% 3. WooCommerce 7.8% 4. Ninja Forms 6.1% 5. Yoast SEO 3.7% 6. Elementor 3.7% 7. Freemius Library 3.7% 8. PageBuilder 2.7% 9. File Manager 2.5% 10. WooCommerce Block 2.5%
32 Hal ini memperlihatkan bahwa instalasi Wordpress banyak yang mengalami missconfiguration. Kesalahan-kesalahan ini selanjutnya dapat dilihat dengan menggunakan sofware, yaitu aplikasi yang dapat digunakan untuk menganalisis kerentanan sebuah Wordpress. Salah satu aplikasinya adalah WPScan. Dalam kasus platform Wordpress peretas biasanya melakukan tahapan seperti yang terlihat pada Gambar 12. Gambar 12. Mekanisme Peretas Melakukan Kejahatan Pada Website Wordpress Proses pertama adalah melakukan scanning pada Wordpress dengan menggunakan tools tertentu. Apabila sudah sukses mendapatkan vulnerability selanjutnya dapat digunakan akun yang sudah didapat untuk mengakses website. Jika website sudah dapat diakses maka selanjutnya bisa mendapatkan semua data
33 yang tersedia dalam website. Data tersebut bisa ditambahkan konten baru untuk mendapatkan pengindeksan Google atau mendownload semua data penting atau mengambil alih akun atau hal lainnya. C. Aplikasi Eksploitasi Kerentanan Serangan siber merupakan tindakan kejahatan kriminal, hal ini di awali dengan mendapatkan akses tanpa persetujuan dan dilanjutkan dengan aksi kejahatan setelah mendapatkan akses(Khalisah and Kirana, 2022). Pada tahun 2008 pemerintah Indonesia mengeluarkan sebuah UU yang sering disebut dengan UU ITE yaitu UU no 11 Tahun 2008 tentang Informasi dan Transaksi Elektronik(Setiawan, Churniawan and Faried, 2020). Salah satu penyebab website portal mudah dilakukan eksploitasi adalah karena ada beberapa kesalahan dari pengembang website. Tindakan meretas website adalah tindakan kriminal, hal ini diawali dengan mudahnya akses pada sebuah sistem dan kemudian setelah mendapatkan akses dilanjutkan dengan tindakan kejahatan.(Khalisah and Kirana, 2022). Serangan pada Wordpress terjadi sebenarnya tidak menggunakan kemampuan yang rumit, namun hanya menggunakan celah-celah kecil yang ada pada platform Wordpress(Trunde and Weippl, 2015). Salah satu tools yang dapat digunakan adalah WPScan. 1. WPScan WPScan adalah sebuah perangkat lunak (tool) yang digunakan untuk melakukan pemindaian keamanan pada situs web yang menggunakan platform WordPress. Ini adalah salah satu alat keamanan yang paling terkenal dan banyak digunakan untuk menemukan kerentanan (vulnerabilities) pada situs web WordPress.
34 Fitur utama dari WPScan meliputi: a. Pemindaian Vulnerabilities: WPScan dapat melakukan pemindaian pada situs web WordPress untuk mencari berbagai jenis kerentanan keamanan, seperti celah keamanan (security vulnerabilities), kelemahan plugin, dan masalah keamanan yang ada di versi WordPress tertentu. b. Cek Versi dan Informasi: WPScan dapat mengidentifikasi versi WordPress yang digunakan oleh situs web dan juga versi plugin yang terpasang. Informasi ini penting karena beberapa kerentanan hanya ada pada versi tertentu. c. Penyelidikan Username: WPScan dapat melakukan pencarian terhadap daftar username yang terdaftar di situs web WordPress, yang dapat membantu dalam upaya peretasan (hacking) akun. d. Pemindaian Username dan Password: WPScan memiliki opsi untuk melakukan serangan kata sandi (password brute force attack) dengan mencoba berbagai kombinasi username dan kata sandi untuk mencoba mendapatkan akses ilegal ke situs web. e. Pemindaian Theme dan Plugin: WPScan dapat memeriksa apakah tema (theme) atau plugin tertentu pada situs web memiliki kerentanan keamanan yang diketahui. f. Integrasi dengan Database Vulnerability: WPScan menggunakan database besar kerentanan WordPress yang diperbarui secara berkala untuk mengidentifikasi dan melaporkan masalah keamanan 2. Instalasi Instalasi WPScan dapat digunakan beberapa cara yaitu a. Install wpscan dari Github Instalasi ini menggunakan Ruby sebagai bahasa pemrograman, libcurl dan Devlibrary. Dalam praktik baik,
35 penggunaan wpscan disarankan untuk menggunakan Linux. b. Install Kali Linux Langkah yang dapat dilakukan adalah 1) Download Aplikasi Virtualisasi, seperti VMWare Player, VirtualBox, atau yg lain (dalam penjelasan ini digunakan VMWare) 2) Download Master Kali Linux sesuai Virtual Machine a. Load ISO yang sudah didownload di poin b. Apabila VMWare sudah siap maka dapat dilakukan langkah sebagai berikut 1. Buka VMware Gambar 13. Desktop Windows terinstall VMWare 2. Klik 2x pada bagian yang di kotak merah Gambar 14. Tampilan VMWare
36 3. Tunggu beberapa saat hingga tampilan seperti berikut, lalu masukkan username = kali dan password = kali Gambar 15. Login Kali Linux 4. Buka root terminal pada vmware Gambar 16. Desktop Kali Linux
37 5. Masukkan password authentication = kali Gambar 17.Memulai Terminal Root Kali Linux 6. Maka root terminal otomatis terbuka Gambar 18. Terminal Root Kali Linux
38 D. Penggunaan Aplikasi Eksploitasi 1. Analisis Kerentanan a. Kerentananan WP Secara umum kerentanan Wordpres biasanya terdapat pada 1) Versi Wordpress 2) Login 3) Themes 4) Plugins Dari keempat kerentanan tersebut dapat dilakukan pengecekan dengan aplikasi wpscan. b. Proof of Concept Untuk membuktikan hal tersebut dapat digunakan teminal yang ada di Kali linux kemudian gunakan perintah sebagai berikut wpscan –-url url_web Contoh : wpscan –-url 10.10.10.212/wp Hasil : Gambar 19. Hasil Scan Menggunakan Wpscan
39 Pada command di atas hanya akan melakukan scan secara umum pada website tanpa mengeluarkan hasil yang detail. Untuk hasil detail, membutuhkan api-token. Cara mendapatkan api token sebagai berikut : 1) Buka laman https://wpscan.com/register 2) Isi formulir register di laman tersebut lalu klik register Gambar 20. Register WPScan 3) Setelah dapat pop up seperti berikut buka email yang dipakai saat tahap register Gambar 21. Pengisian Username WPScan
40 4) Klik confirm my account pada email yang dikirim Gambar 22. Konfirmasi Akun Wpscan 5) Setelah itu login menggunakan email address dan password yang sudah terdaftar 6) Pada halaman dashboard klik get started Gambar 23. Dashboard Wpscan.com
41 7) API Token Terlihat Gambar 24. Melihat Token Wpscan.com nb* = gunakan --random-user-agent jika website sudah mengaktifkan WAF Contoh : wpscan --url 10.10.10.212/wp --enumerate --api-token 2aKoukRY4LHcFLHFwtRozae8bMD6nCrHiP3xxxxxxxxx - -random-user-agent(opsional) wpscan --url url_web --enumerate --api-token token_in_wpscan --random-useragent(opsional)