Laporan Hasil Simulasi Penetration Testing & Evaluasi Arsitektur Keamanan

Tanggal Dokumen: 16 Mei 2026
Target Simulasi: defend.azharmtq.my.id (WordPress Environment)
Sistem Operasi: Rocky Linux 10 (Dockerized)


1. Ringkasan Eksekutif (Executive Summary)

Simulasi penetration testing telah dilakukan untuk menguji ketahanan arsitektur Defense in Depth (Pertahanan Berlapis) yang diterapkan pada infrastruktur web berbasis WordPress. Analisis terhadap log keamanan (firewall-events.json, accesslog_6_safeline.log) menunjukkan bahwa sistem berhasil mematahkan seluruh upaya serangan mulai dari fase awal (reconnaissance) hingga eksekusi eksploitasi.

Tidak ada data sensitif yang berhasil dikompromi maupun downtime yang disebabkan oleh serangan. Tingkat False Positive berada pada angka nol, di mana trafik pengguna sah tetap dapat mengakses sistem dengan lancar. Namun, analisis mendalam pasca-simulasi menemukan beberapa celah information disclosure tingkat rendah-menengah yang lolos dari pertahanan dan perlu ditangani.


2. Tinjauan Arsitektur (Defense in Depth)

Sistem ini tidak lagi bergantung pada satu titik pertahanan (seperti IPS klasik), melainkan mendistribusikan beban keamanan ke beberapa lapisan (Layers):

  1. Lapis 1 (Edge): Cloudflare WAF - Bertugas memblokir serangan volumetrik, bot, skrip otomatis, dan anomali User-Agent di level DNS/CDN sebelum menyentuh server asal.
  2. Lapis 2 (Aplikasi): SafeLine WAF & Hardening Server - Melakukan analisis semantik terhadap muatan (payload) HTTP/HTTPS dan membatasi akses pada level struktur web (direktori dan API).
  3. Lapis 3 (Perilaku): CrowdSec IPS - Menganalisis log secara real-time untuk mendeteksi anomali perilaku (seperti brute-force atau L7 DDoS) dan melakukan banning di level OS (firewall).

Daftar Container Docker Aktif Saat Simulasi:

ContainerImageStatusPort
wordpresswordpress:php8.2-apacheUp8080:80
wp_dbmariadb:10.11Up3306 (internal)
safeline-tenginechaitin/safeline-tengine-g:9.3.7Up
safeline-mgtchaitin/safeline-mgt-g:9.3.7Up9443:1443
safeline-detectorchaitin/safeline-detector-g:9.3.7Up (healthy)8000-8001
safeline-luigichaitin/safeline-luigi-g:9.3.7Up80 (internal)
safeline-chaoschaitin/safeline-chaos-g:9.3.7Up8080, 9000
safeline-fvmchaitin/safeline-fvm-g:9.3.7Up
safeline-postgreschaitin/safeline-postgres:15.2Up (healthy)5432 (internal)

3. Kronologi Serangan

Berdasarkan rekonstruksi dari log Cloudflare dan SafeLine, berikut adalah timeline penyerangan yang terjadi:

Waktu (WIB)FaseEventHasil
15:19:00Recon awalHEAD / via curl/8.18.0 ke azharmtq.my.idDiblokir Cloudflare
15:50:44Recon lanjutGET / via curl ke defend.azharmtq.my.idDiblokir Cloudflare
15:57:32EksploitasiPOST /login/?login_only=1 port 2083/2087Diblokir Cloudflare
15:58:49Bypass attemptGanti User-Agent ke Chrome/120.0.0.0Lolos Cloudflare
15:59:05EnumerasiGET /wp-json/wp/v2/usersBerhasil (200) ⚠️
15:59:06ProbePOST /xmlrpc.phpBerhasil (200) ⚠️
15:59:06Info disclosureGET /readme.html, /license.txtBerhasil (200) ⚠️
15:59:25Dir TraversalGET /wp-includes/Diblokir (403) ✅
16:00:04API ProbeGET /wp-json/wp-site-health/v1/tests/*Ditolak (401) ✅

4. Hasil Temuan Berdasarkan Lapisan Keamanan

4.1. Layer 1: Cloudflare WAF (The Edge Defense)

Cloudflare bekerja dengan sangat presisi dalam menangkal serangan berbasis scripting otomatis.

  • Deteksi Bot & Tool Pentest: Aturan kustom (Block-Pentest-Rule) secara instan memblokir trafik yang menggunakan User-Agent python-requests/2.33.1 dan curl/8.18.0.
  • Pemblokiran Eksekusi Port/Path Sensitif: Terdapat upaya akses dari IP asal Lithuania (141.98.11.120) yang mencoba bypass menggunakan port 2083 dan 2087 dengan metode POST ke /login/?login_only=1. Akses ini langsung ditolak (Drop) di edge server.
  • Reconnaissance Tahap Awal: Pemindaian sederhana (metode GET dan HEAD request) dari IP Indonesia (2404:c0...) menggunakan CLI curl langsung diblokir tanpa sempat memberikan respons informasi server.

4.2. Layer 2: SafeLine WAF & Web Server Hardening

Beberapa agen pentest yang lebih mutakhir mencoba melakukan penyamaran (spoofing) dengan User-Agent normal (Chrome/120.0) dan Claude-User. Serangan ini lolos dari Cloudflare, namun terhenti di lapisan SafeLine dan hardening aplikasi.

  • Pencegahan Information Disclosure: Attacker mencoba mencari file sisa debug (debug.log, wp-content/debug.log) dan sitemap (wp-sitemap.xml). Web server memberikan respons 404 Not Found.
  • Pencegahan Directory Traversal / Listing: Upaya pengintaian struktur direktori pada /wp-content/uploads/ dan /wp-includes/ direspons secara tegas dengan 403 Forbidden.
  • Pemblokiran Akses API Tanpa Izin: Serangan probing menggunakan REST API WordPress (mencoba mengakses wp/v2/settings, wp/v2/themes, wp/v2/plugins) secara otomatis ditolak dengan kode 401 Unauthorized.
  • Kesimpulan Lapisan 2: Tidak ditemukan bukti keberhasilan injeksi payload tingkat lanjut (SQL Injection, XSS, RCE, atau LFI). Pertahanan berbasis semantik berjalan dengan sempurna dan memaksa penyerang terhenti pada tahap reconnaissance yang tidak spesifik.

4.3. Layer 3: CrowdSec (Behavioral IPS)

Berdasarkan tinjauan pada laporan dashboard dan CLI CrowdSec (status “Aman Damai” tanpa adanya aktivitas pemblokiran agresif), ini membuktikan efektivitas desain arsitektur:

  • Offloading yang Sukses: Serangan yang masif dan kotor telah dieksekusi lebih awal oleh Cloudflare, sehingga CrowdSec dapat menghemat resource CPU dan RAM dari pemrosesan log “sampah”.
  • Serangan “Low & Slow”: Metodologi serangan enumerasi yang masuk ke server sangat perlahan (tidak mencapai ambang batas atau threshold serangan brute-force / HTTP crawling). Oleh karena sifatnya yang lambat dan requests yang valid secara sintaks HTTP, WAF tingkat aplikasi menangani status kodenya (403/404), dan CrowdSec mendeteksi ini bukan bagian dari serangan volumetrik yang harus di-banned seumur hidup (perilaku normal yang ditolak aplikasinya).

5. Temuan Kerentanan Pasca-Simulasi (Findings)

Meskipun sistem berhasil menahan eksploitasi tingkat lanjut, terdapat beberapa celah Information Disclosure (tingkat keparahan Rendah hingga Menengah) yang lolos karena serangan menggunakan User-Agent spoofing (menyamar sebagai browser Chrome biasa).

  1. User Enumeration via REST API [MEDIUM] - ✅ SOLVED
    • Deskripsi: Saat simulasi awal, endpoint /wp-json/wp/v2/users mengembalikan respons HTTP 200, membocorkan daftar username terdaftar (termasuk admin) yang dapat memicu serangan brute force.
    • Status Remediasi: Selesai (Fixed). Akses ke endpoint API pengguna telah diblokir secara terpusat melalui Cloudflare WAF (Edge Layer), menggagalkan segala bentuk upaya enumerasi user.
  2. XMLRPC Aktif [MEDIUM] - ✅ SOLVED
    • Deskripsi: Saat simulasi awal, endpoint /xmlrpc.php merespons dengan HTTP 200, menandakan fitur ini terbuka dan rentan menjadi vektor serangan brute force / Pingback DDoS
    • Status Remediasi: Selesai (Fixed). Akses ke /xmlrpc.php telah berhasil ditutup dan diblokir menggunakan Custom Rule WAF, sehingga attacker akan langsung ditolak (403 Forbidden).
  3. Version Disclosure [LOW] - ✅ SOLVED
    • Deskripsi: File bawaan seperti /readme.html dan /license.txt dapat diakses saat simulasi, yang berpotensi mengungkap versi spesifik WordPress untuk mempermudah eksploitasi CVE.
    • Status Remediasi: Selesai (Fixed). Akses ke file-file informasi sistem ini telah diblokir secara permanen menggunakan Cloudflare WAF, menjaga kerahasiaan lingkungan aplikasi (Security by Obscurity).

6. Metrik Keandalan & False Positives

Selain ketahanan sistem, indikator kesuksesan lainnya adalah ketersediaan sistem (Availability) bagi pengguna akhir.

  • Berdasarkan pengujian, akses terhadap halaman front-end WordPress via browser tetap berjalan dengan baik tanpa ada pemblokiran.
  • Tingkat False Positive = 0%. Arsitektur keamanan secara akurat membedakan antara perilaku serangan siber dengan interaksi browsing normal oleh manusia.

7. Kesimpulan

Arsitektur Defense in Depth yang diimplementasikan pada environment Rocky Linux 10 untuk target WordPress terbukti kuat dan efektif.

Dengan membagi lapis pertahanan, server tidak lagi kelebihan beban dalam menangani skenario serangan massal. Penggunaan WAF modern yang cerdas (SafeLine) digabungkan dengan Cloudflare mampu menetralisir fase-fase kritikal dari Cyber Kill Chain pada tahapan Reconnaissance dan Delivery.

Tindak Lanjut (Next Steps): Walaupun tidak ada kompromi tingkat lanjut yang terjadi, penerapan remediasi untuk 3 temuan celah Information Disclosure (User Enumeration, XMLRPC, dan File Readme) sangat disarankan untuk menutup titik masuk bagi serangan brute-force yang lebih masif.