Website klien kami sempat kena redirect aneh ke halaman berbahaya. Padahal tim internal yakin password admin masih kuat. Nah, setelah audit, masalahnya bukan di login saja. Kenapa itu terjadi jawabnya karena belum tahu bagaimana Caranya Membangun Sistem Keamanan Website Berlapis dan menerapkannya dengan benar.
Celahnya ada di lapisan yang tidak pernah mereka sentuh sejak launch.
Kejadian itu mengubah cara kami melihat sistem keamanan website berlapis. Bukan sekadar pasang plugin lalu tidur nyenyak. Melainkan rantai pertahanan dari pinggir internet sampai baris kode terakhir di server.
Artikel ini tentang “Cara Membangun Sistem Keamanan Website Berlapis” untuk Anda yang mengelola website company profile, portal internal, atau toko online. Kami rangkum definisi, tujuan, urutan lapisan, plus contoh konfigurasi nyata termasuk aturan Cloudflare yang bisa dipakai di paket gratis.
Highlight
Membangun Sistem Keamanan Website Berlapis yang Benar-benar Bekerja
- Berlapis artinya beberapa lapisan keamanan website yang saling terkait. Satu lapisan jebol, lapisan lain masih menahan serangan.
- Tujuan utamanya melindungi website dari serangan cyber dan menjaga kontrol operasional saat insiden terjadi.
- Urutan benar dimulai dari perimeter (DNS, CDN, WAF) lalu web server, aplikasi, database, hingga monitoring.
- Cloudflare Free punya 5 custom rule WAF. Susunan Skip โ Challenge โ Block wajib diperhatikan agar traffic sah tidak ikut terkena.
- Kode backend dan frontend adalah lapisan terdalam. Tanpa sanitasi input, WAF di depan hanya menunda masalah.
- Maintenance rutin dan backup teruji sama krusialnya dengan firewall. Banyak breach justru lewat plugin yang tidak di-update.
Definisi Sistem Keamanan Website Berlapis
Pertama, kami perjelas istilah yang sering dipakai asal tempel. Sistem keamanan website berlapis adalah pendekatan defense in depth.
Artinya, Anda tidak mengandalkan satu alat saja. Melainkan beberapa lapisan keamanan website yang benar, saling terkait, dan saling melindungi.
Bayangkan gedung kantor.
Ada satpam di gerbang, kartu akses di lift, kunci di ruang server, plus CCTV di lorong. Website pun begitu.
- Lapisan terluar menangani traffic sebelum attacker menyentuh server.
- Lapisan tengah mengatur siapa boleh masuk ke sistem operasi.
- Lapisan dalam mengamankan data dan logika bisnis di kode aplikasi.
Konsep ini sudah lama dikenal di dunia keamanan informasi.
Menurut Wikipedia tentang defense in depth, strategi berlapis mengasumsikan tidak ada kontrol tunggal yang sempurna.
Oleh karena itu, kegagalan satu lapisan tidak boleh membuka seluruh sistem.
Untuk website company profile korporat, pendekatan ini wajar. Data klien, proposal, dan formulir kontak menumpuk di satu tempat.
Bila satu celah terbuka, dampaknya langsung ke reputasi bisnis. Kami sering menemukan pemilik bisnis fokus ke tampilan depan. Padahal fondasi keamanan website berlapis justru menentukan apakah situs itu bisa dipercaya jangka panjang.

Tujuan Membangun Pertahanan Berlapis di Website
Lalu, apa yang sebenarnya ingin dicapai dengan menerapkan sistem keamanan website berlapis-lapis ini?
Tujuan dari sistem keamanan website berlapis ada dua pilar besar.
Pertama, melindungi website dari serangan cyber. Kedua, memastikan website tetap aman dan terkontrol meski ada insiden.
- Pilar pertama mencakup serangan yang Anda dengar di berita. DDoS, brute force login, injeksi SQL, malware inject, hingga deface halaman depan.
- Pilar kedua sering terlupakan. Kontrol operasional berarti Anda tahu siapa mengubah apa, kapan backup terakhir diuji, dan bagaimana tim merespons bila alarm berbunyi jam dua pagi.
Tanpa kontrol, pertahanan teknis jadi teater. Firewall menyala, tapi tidak ada yang membaca log. Akibatnya, attacker bisa berkeliaran berminggu-minggu sebelum terdeteksi.
Menurut data OWASP Top Ten, sebagian besar celah berasal dari kesalahan desain dan konfigurasi aplikasi. Bukan cuma semata-mata password harus berisi huruf besar kecil tanda baca yang aneh-aneh!.
Pendapat kami: tujuan berlapis bukan membuat website tidak bisa diserang sama sekali. Itu mustahil. Tujuannya memperkecil peluang sukses serangan, memperlambat attacker, dan memberi Anda waktu untuk merespons sebelum kerusakan melebar.
Studi Kasus: Ketika Satu Plugin Jebol Seluruh Rantai Pertahanan
Kami menangani kasus ini pada awal 2023 โ sebuah toko furniture di Ciledug yang sudah memasang Cloudflare WAF aktif. Pemiliknya percaya lapisan pertahanan itu sudah cukup melindungi situsnya. Namun, plugin contact form WordPress-nya tidak mendapat update selama 14 bulan (wajar karena beliau membuat website murah meriah yang menggunakan plugin tidak resmi pada pembuat website lain ๐คฆโโ๏ธ). Celah lama itulah yang penyerang eksploitasi untuk menerobos seluruh sistem.
Gejala pertama muncul dari laporan email bounce ke alamat yang tidak dikenal. Klien kami mengira itu sekadar gangguan server biasa. Kemudian, Google Safe Browsing menandai domain mereka sebagai situs berbahaya โ notifikasi ini yang akhirnya memicu kepanikan. Saat kami akses langsung, kami temukan script inject asing di beberapa halaman produk.
Segera, kami aktifkan maintenance mode untuk memutus akses publik ke situs. Selanjutnya, kami jalankan scan penuh menggunakan Wordfence dan periksa manual folder uploads. Kami rotasi semua kredensial: password admin WordPress, password database, dan API key Cloudflare. Seluruh proses isolasi ini kami selesaikan dalam satu hari kerja.
Akhirnya, website pulih penuh dalam lima hari kerja sejak kami memulai pembersihan. Proses itu mencakup penghapusan file terinfeksi, pengajuan review ke Google, dan penguatan konfigurasi server. Kasus ini mengajarkan satu pelajaran penting: WAF bukan satu-satunya penjaga keamanan website. Justru, komponen yang tidak ter-update menjadi titik lemah yang sanggup menggagalkan seluruh sistem keamanan berlapis.
Urutan Lapisan Keamanan Website yang Benar
Banyak tim salah urutan. Mereka hardening server dulu, baru mikir CDN.
Padahal traffic jahat sudah menghantam origin berhari-hari. Urutan lapisan keamanan website yang benar mengikuti alur request dari internet ke data.
| Urutan | Lapisan | Fungsi utama | Contoh kontrol |
|---|---|---|---|
| 1 | DNS & CDN | Filter traffic di pinggir jaringan | Cloudflare proxy, DNSSEC |
| 2 | WAF & rate limit | Blok pola serangan HTTP | Custom rule, managed rules |
| 3 | Web server | Batasi metode & header | Nginx hardening, TLS 1.3 |
| 4 | Aplikasi | Cegah celah logika & injeksi | Prepared statement, CSP |
| 5 | Data & backup | Lindungi data at-rest | Enkripsi DB, restore test |
| 6 | Monitoring | Deteksi & respons insiden | Log WAF, uptime alert |
Prinsipnya sederhana. Semakin dekat ke pengguna, semakin banyak noise yang perlu Anda filter lebih awal.
Cloudflare dan WAF menyerap beban sebelum Apache atau Nginx kelelahan. Baru setelah itu, Anda rapikan konfigurasi server dan kode.
Saat merancang web company profile untuk klien korporat, kami selalu masukkan checklist lapisan ini sejak awal proyek. Lebih murah daripada memperbaiki website yang sudah bocor. Plus, investor dan mitra bisnis semakin sensitif soal kepercayaan digital perusahaan.
Lapisan Terluar: Cloudflare, SSL, dan Filter Perimeter
Lapisan terluar adalah garis pertahanan sebelum attacker mengakses website Anda secara langsung. Di sinilah CDN seperti Cloudflare berperan. Proxy orange-cloud menyembunyikan IP origin. Traffic mencapai server Anda lewat filter DDoS dan TLS termination di edge.
Mulai dari sini, Anda atur SSL/TLS mode ke Full (strict) bila sertifikat origin valid. Aktifkan HSTS setelah yakin tidak ada mixed content. Jangan lupa batasi akses admin panel hosting hanya lewat IP tertentu bila memungkinkan.
Mudah-mudahan setelah Anda tahu Cara Membangun Sistem Keamanan Website Berlapis dengan cloudflare seperti membuat aturan WAV dll masalah ancaman pada keamanan website bisa di minimalisir.
Keuntungannya jelas. Serangan volumetrik tidak langsung menjatuhkan VPS murah. Tapi ada trade-off. Salah konfigurasi SSL bisa membuat loop redirect. Atau, cache agresif menampilkan halaman lama setelah update konten. Kami pernah menghabiskan dua jam debugging karena mode SSL “Flexible” di situs WordPress lama klien Bintaro.

Bagi website yang sudah live tanpa arsitektur jelas, jasa maintenance website profesional biasanya dimulai dari audit lapisan ini. Bukan langsung ganti tema atau tambah animasi hero section ๐.
Baca Artikel Terkait Lainnya:
Contoh Aturan WAF Cloudflare untuk Multi-Platform
Berikutnya, kami masuk ke bagian yang paling sering ditanya klien. Bagaimana mengatur custom rule WAF di paket gratis Cloudflare? Menurut dokumentasi custom rules Cloudflare, paket Free mendapat 5 custom rule per zona. Regex tidak tersedia di Free, jadi ekspresi memakai operator seperti contains, eq, dan wildcard.
Cloudflare mengevaluasi custom rule berurutan dari atas ke bawah. Action Block bersifat terminal. Request yang kena Block tidak lanjut ke rule berikutnya. Sebaliknya, action Skip melewati komponen tertentu tanpa menghentikan evaluasi keseluruhan. Urutan yang kami pakai: allowlist dulu, challenge untuk area sensitif, block untuk pola jelas-jelas jahat.
Rule berikut dirancang multi-platform. Cocok untuk WordPress, Joomla, Drupal, Magento, dan CMS umum lain yang punya path admin serupa.
# Cloudflare WAF โ Custom Rules (paket Free, maks 5 rule)
# Dashboard: Security > WAF > Custom rules
# Urutan: drag rule #1 paling atas
#
# Catatan paket Free:
# - 5 custom rule per zona
# - Regex tidak didukung (pakai contains / eq / wildcard)
# - Action Log tidak tersedia di Free
# - Rate limiting terpisah: 1 rule, field Path + Verified Bot
## Rule 1 โ Skip (allowlist traffic sah)
# Action: Skip
# WAF components to skip: All remaining custom rules
# (opsional: tambahkan All rate limiting rules untuk health check)
Expression:
(cf.client.bot) or (ip.src in {203.0.113.10 198.51.100.50})
## Rule 2 โ Managed Challenge (area login & admin multi-CMS)
# Action: Managed Challenge
# Target: brute force ke panel admin berbagai platform
Expression:
(
http.request.uri.path contains "/wp-login.php" or
http.request.uri.path contains "/wp-admin" or
http.request.uri.path contains "/xmlrpc.php" or
http.request.uri.path contains "/administrator" or
http.request.uri.path contains "/user/login" or
http.request.uri.path contains "/admin"
) and not cf.client.bot
## Rule 3 โ Block (file sensitif & path eksploitasi umum)
# Action: Block
Expression:
(
http.request.uri.path contains "/.env" or
http.request.uri.path contains "/.git" or
http.request.uri.path contains "/wp-config.php" or
http.request.uri.path contains "/configuration.php" or
http.request.uri.path contains "/app/etc/local.xml"
)
## Rule 4 โ Block (user-agent scanner & bot kasar)
# Action: Block
Expression:
(
http.user_agent contains "nikto" or
http.user_agent contains "sqlmap" or
http.user_agent contains "masscan" or
http.user_agent eq ""
)
## Rule 5 โ Block (metode HTTP tidak wajar ke halaman publik)
# Action: Block
Expression:
(
http.request.method in {"TRACE" "TRACK" "DEBUG"}
)
---
# Rate Limiting Rule (terpisah dari custom rule)
# Dashboard: Security > WAF > Rate limiting rules
# Paket Free: 1 rule, periode 10 detik, mitigasi 10 detik
# Action di Free: Block (Managed Challenge butuh Pro ke atas)
Rule name: Limit login multi-CMS
Expression:
(
http.request.uri.path contains "/wp-login.php" or
http.request.uri.path contains "/administrator" or
http.request.uri.path contains "/user/login" or
http.request.uri.path contains "/admin"
)
With the same characteristics: IP
When rate exceeds: 5 requests per 10 seconds
Then take action: Block
For duration: 10 seconds
Sebelum rule #2 aktif penuh, kami sarankan pantau Security Events selama 48 jam. Bila ada false positive dari kantor Anda, tambahkan IP ke Rule 1. Jangan langsung Block tanpa data. Salah blokir bisa mengunci tim marketing yang upload konten lewat CMS.
Untuk WordPress khususnya, plugin seperti Wordfence tetap berguna di lapisan aplikasi. WAF Cloudflare dan plugin saling melengkapi. Bukan saling menggantikan.
HardaWebPro - Web Developer & Digital Marketing
Kami bergerak dalam bidang jasa pembuatan website perusahaan (company profile), foto produk, video produk, pembuatan video company profile. Yuk mulai diskusi project Anda ๐.
Contoh Kasus: False Positive WAF yang Mengunci Tim Konten
Saat itu, kami menangani kendala teknis pada website Drupal milik klien logistik di Bintaro. Aturan WAF yang terlalu ketat mendadak memblokir akses ke direktori /admin secara total. Akibatnya, tim konten gagal menerbitkan berita operasional selama enam jam penuh. Insiden ini menunjukkan risiko nyata dari konfigurasi lapisan keamanan yang kurang presisi.
Selanjutnya, kami segera menelusuri akar masalah melalui menu Security Events di dashboard Cloudflare. Kami mengidentifikasi bahwa filter bot mendeteksi aktivitas editor sebagai serangan berbahaya. Data log menunjukkan custom rule bersifat destruktif memicu alamat IP kantor klien. Proses audit ini membantu kami memetakan pola trafik yang sah secara akurat.
Setelah itu, kami mengubah aksi keamanan dari mode Block menjadi Managed Challenge. Langkah ini memberikan kesempatan bagi pengguna asli untuk memverifikasi diri melalui tantangan interaktif. Kami memastikan akses administratif tetap terbuka bagi tim internal tanpa mengabaikan aspek proteksi. Solusi tersebut efektif memulihkan alur kerja tanpa membuka celah bagi peretas.
Akhirnya, kami menyusun urutan prioritas baru dengan meletakkan aturan Skip di posisi paling atas. Kami mengecualikan IP tepercaya sebelum menjalankan filter pemblokiran otomatis pada lapisan bawah. Secara teknis, strategi hierarki ini menjamin kelancaran operasional meskipun sistem keamanan sedang bekerja aktif. Penyesuaian tersebut menjadi standar baru bagi setiap proyek hardening kami di masa depan.
Hardening Web Server dan Kontrol Akses Origin
Setelah perimeter, anggap setiap request yang lolos sebagai ancaman potensial. Web server Apache atau Nginx butuh konfigurasi minimal. Matikan directory listing. Batasi metode HTTP ke GET, POST, HEAD. Sembunyikan versi server di header respons.
Akses SSH ke VPS? Kunci saja ke key-based auth. Password login root? Nonaktifkan. Fail2ban membantu menahan brute force di port 22. Tapi ingat, Fail2ban tidak menggantikan firewall cloud yang benar.
Origin server sebaiknya hanya menerima traffic dari IP Cloudflare. Daftar IP resmi Cloudflare bisa Anda whitelist di firewall hosting. Tanpa langkah ini, attacker masih bisa menembak langsung ke IP asli bila pernah bocor di log atau email header lama.
Bagian ini kerap masuk checklist yang dilakukan saat maintenance website bulanan. Bukan glamour. Namun inilah yang membedakan website yang sekadar online dengan website yang siap insiden.

Keamanan Kode Backend, Frontend, dan API
Ini lapisan terdalam. Sebenarnya, lebih tepatnya fondasi. WAF bisa memblokir SQL injection klasik. Tapi celah logika bisnis? Tidak ada firewall yang paham aturan promo diskon 70% hanya untuk member gold.
Di backend, gunakan prepared statement untuk query database. Jangan pernah menyusun SQL dari string input mentah. Validasi skema di API endpoint. Batasi scope token OAuth atau JWT sesuai kebutuhan minimal.
Di frontend, terapkan Content Security Policy untuk membatasi sumber script. Cookie session butuh flag HttpOnly, Secure, dan SameSite=Lax atau Strict. Regenerasi session ID setelah login sukses agar fixation attack gagal.
Platform populer punya pola berbeda. WordPress butuh update rutin tema dan plugin. Magento sensitif terhadap ekstensi payment. Drupal punya patch security sendiri. Prinsipnya sama: patch management bukan opsi, melainkan bagian dari sistem keamanan website berlapis. Identitas digital yang kuat pun bermula dari fondasi aman, seperti yang kami bahas di artikel strategi membangun identitas digital perusahaan dari nol.
Bila Anda baru merencanakan website dari nol, pertimbangkan harga pembuatan web company profile yang sudah termasuk fondasi keamanan dasar. Lebih hemat daripada rebuild setelah breach.
Kisah Nyata: Celah XSS di Form Kontak yang Lolos WAF
Kami menemukan celah keamanan serius pada website seorang klien konsultan pajak di area Tangerang Selatan. Sayangnya, form kontak kustom pada halaman tersebut tidak melakukan sanitasi input dengan benar. Penyerang menyisipkan payload XSS melalui kolom pesan tanpa hambatan dari filter aplikasi. Akibatnya, kode skrip berbahaya masuk dan tersimpan permanen di dalam database backend kami.
Kemudian, admin situs melaporkan kemunculan jendela pop-up peringatan yang aneh saat membuka dashboard pesan. Dampaknya, admin melihat peringatan asing setiap kali mengakses data pengirim form tersebut. Sementara itu, lapisan WAF gagal mengenali pola serangan yang tersamar dalam input teks biasa. Kami segera melakukan investigasi mendalam untuk mengidentifikasi titik kerentanan secara spesifik.
Sebagai solusi, kami menerapkan fungsi htmlspecialchars untuk membersihkan semua output data ke browser pengguna. Selain itu, kami memperkuat pertahanan dengan menambahkan Content Security Policy pada header respon server. Kebijakan ini secara efektif mencegah eksekusi skrip dari sumber eksternal yang mencurigakan. Akhirnya, kami menyelesaikan seluruh proses audit dan penambalan kode dalam satu hari kerja saja.
Ada Layanan Jasa Maintenance Website di HardaWebPro
Tim kami bertugas 1x24 jam dengan sistem monitoring website, optimasi keamanan, memasitkan web online, backup dll. Hubungi HardaWebPro untuk info penawaran ๐๐๐
Monitoring, Backup, dan Respons Insiden
Lapisan terakhir sering dianggap opsional. Padahal tanpa monitoring, seluruh pertahanan di atas seperti alarm tanpa speaker.
Aktifkan notifikasi dari Cloudflare Security Events. Pantau uptime dengan tool seperti UptimeRobot. Agregasi log ke satu tempat bila budget memungkinkan. Yang penting, ada orang yang benar-benar membaca alert tersebut.
Backup harus teruji restore-nya. Bukan sekadar ada file zip di Google Drive. Kami pernah jumpai klien punya backup harian. Tapi saat restore, database corrupt karena plugin backup mati diam-diam tiga bulan.
Susun playbook insiden sederhana. Siapa yang memutuskan website offline? Siapa yang hubungi hosting? Kapan rotasi password dilakukan? Dokumen satu halaman saja sudah cukup untuk UMKM. Korporat butuh versi lebih detail.
Kepercayaan publik erat dengan keamanan. Artikel cara membangun kredibilitas perusahaan di era digital kami tulis bukan tanpa alasan. Satu insiden kebocoran data bisa menghapus tahunan upaya branding.
Membangun Sistem Keamanan Website Berlapis dari Nol
Singkatnya, langkah praktis membangun sistem ini bisa Anda mulai minggu ini tanpa budget enterprise.
- Aktifkan Cloudflare proxy dan SSL Full (strict).
- Terapkan 5 custom rule WAF seperti contoh di atas.
- Tambah 1 rate limiting rule untuk halaman login.
- Hardening web server dan whitelist IP Cloudflare ke origin.
- Audit plugin, tema, dan dependensi aplikasi.
- Jadwalkan backup plus uji restore triwulanan.
Anda tidak perlu menunggu kondisi sempurna. Mulai dari lapisan terluar. Lalu turun ke dalam tiap sprint dua minggu. Keamanan berlapis memang proses, bukan proyek sekali jalan.
Bila Anda butuh pendamping yang paham website company profile sekaligus fondasi keamanannya, tim HardaWebPro siap bantu dari perancangan hingga maintenance berkelanjutan. Hubungi kami lewat [phone] untuk diskusi awal tanpa komitmen.
