Website kecil tetap perlu dicek keamanannya. Ukuran bisnis tidak membuat website kebal dari akun admin yang dibajak, software usang, konfigurasi keliru, atau backup yang tidak bisa dipulihkan.
Panduan ini membahas cara cek keamanan website dari sisi pemilik website atau developer pemula. Fokusnya pemeriksaan defensif. Jangan memindai website orang lain tanpa izin.
๐ Inventarisasi domain dan akses admin
Catat domain utama, subdomain, panel hosting, registrar, DNS, framework, database, akun admin, email, dan integrasi pihak ketiga. CISA menyarankan peninjauan registrar serta catatan DNS agar perubahan asing mudah ditemukan.
Hapus akun tidak terpakai. Gunakan username unik, password panjang dan berbeda, serta multi-factor authentication (MFA) bila tersedia. Terapkan least privilege. Cabut credential lama setelah migrasi. Jangan menaruh password di source code, repository publik, atau log.
๐ Pastikan website memakai HTTPS
Buka website melalui beberapa jaringan. Pastikan alamat memakai https:// tanpa peringatan sertifikat. Cek login, checkout, form kontak, gambar, dan JavaScript agar tidak ada mixed content.
CISA merekomendasikan HTTPS-only dan HSTS jika memungkinkan. Aktifkan bertahap setelah redirect, subdomain, dan resource sudah benar. HSTS terlalu agresif dapat menyulitkan pemulihan.
โ๏ธ Cek update software dan dependency
Catat versi CMS, plugin, framework, runtime, library, web server, dan database. Bandingkan dokumentasi resmi vendor. Software yang tidak didukung perlu diganti atau dimigrasikan.
Sebelum update, buat checkpoint dan uji di non-production. Setelah update, cek login, form, upload, halaman penting, dan log error. CISA menyarankan patch kerentanan kritis dan high sesuai prioritas risiko, serta automatic update bila aman.
Hindari plugin, tema, library, atau script dari sumber tidak jelas. Fitur tambahan memperluas attack surface.
๐ก๏ธ Periksa response security header
Security header memberi lapisan perlindungan tambahan di browser, bukan pengganti secure coding. Cek response dengan DevTools atau curl -I https://contoh.com.
Strict-Transport-Securitymemaksa HTTPS setelah konfigurasi siap.Content-Security-Policymembatasi sumber resource dan mengurangi risiko XSS.X-Content-Type-Options: nosniffmencegah MIME type sniffing.Referrer-Policy: strict-origin-when-cross-originmembatasi referrer.Content-Security-Policy: frame-ancestorsatauX-Frame-Optionsmengurangi clickjacking.
Jangan menyalin konfigurasi secara buta. CSP dapat memblokir script sah. Uji di staging atau mode pelaporan dulu.
๐งช Uji input, form, dan error message
Isi form dengan data normal, kosong, panjang, dan format salah. Aplikasi harus menolak input invalid dengan pesan aman. Error production tidak boleh menampilkan password, query SQL, path server, stack trace, atau detail internal.
Periksa login dan reset password: rate limit, cookie aman, CSRF protection, serta pesan yang tidak membocorkan apakah email terdaftar. Untuk upload, batasi tipe file, ukuran, nama file, dan lokasi penyimpanan. File upload tidak boleh otomatis menjadi script.
Gunakan OWASP Top 10 sebagai daftar risiko aplikasi web. Scanner hanya sinyal; validasi hasilnya sebelum menyimpulkan ada celah.
๐ Pastikan logging dan monitoring berjalan
Log harus menjawab siapa mengakses resource, kapan, dari mana, dan hasilnya. Pantau login gagal berulang, perubahan admin, DNS, file mencurigakan, lonjakan error, dan perubahan konfigurasi.
Jangan mencatat password, token, cookie session, atau data pelanggan utuh. Batasi akses log dan siapkan notifikasi untuk kejadian penting.
๐พ Verifikasi backup dan pemulihan
Backup harus mencakup database, upload, konfigurasi yang diperlukan, dan dokumentasi pemulihan. Simpan salinan terpisah, lindungi dengan enkripsi dan akses minimum, lalu cek checksum bila tersedia.
Lakukan restore test ke environment terisolasi. Arsip yang berhasil dibuat belum tentu bisa dipakai. Catat durasi, langkah manual, dan data terakhir yang tersedia. Baca juga artikel backup otomatis website dengan strategi 3-2-1.
โ Checklist pemeriksaan bulanan
- Domain, DNS, subdomain, dan akun admin sesuai inventaris.
- MFA aktif dan akses lama dicabut.
- HTTPS berjalan tanpa mixed content.
- Software dan dependency masih didukung.
- Security header diuji tanpa merusak fungsi.
- Form, login, upload, dan error page diuji.
- Log tidak membocorkan secret.
- Backup terbaru ada dan restore test berhasil.
Kesimpulan
Cara cek keamanan website tidak harus dimulai dari tool mahal. Mulai dari inventaris akses, MFA, HTTPS, update, header, validasi input, logging, backup, dan restore test. Ulangi setelah deployment, plugin baru, operator baru, atau integrasi baru.
Di Kuskuskuy, automation mempercepat pekerjaan, tetapi akses tetap dibatasi dan perubahan harus bisa diverifikasi.
Sumber
[1] CISA โ Website Security.
[2] OWASP โ HTTP Security Response Headers Cheat Sheet.
[3] OWASP โ OWASP Top 10.
Featured image: Computer server rack.jpg, Ricardo Moctezuma Lรณpez / User ronK, Wikimedia Commons, lisensi CC BY-SA 2.5. Diadaptasi ke WebP.
