Site Health dan Core Integrity: Membaca Hasil Pemindaian

Site Health dan Core Integrity: Membaca Hasil Pemindaian

Site Health membantu Site Owner memeriksa apakah file Jyavani Core dan extension masih sesuai dengan baseline tepercaya, sekaligus meninjau keamanan media serta file milik situs. Hasilnya adalah snapshot diagnostik dari pemindaian terakhir, bukan antivirus atau pemantauan keamanan secara realtime.

Ringkasan Site Health Jyavani dengan status Core, plugin dan theme, serta media dan file
Ringkasan memisahkan integritas Core, provenance extension, dan pemeriksaan file milik situs agar satu status tidak menyamarkan batas pemeriksaan komponen lain.

Membuka dan menjalankan pemindaian

Buka Settings > Site Health. Tombol Run full scan menjalankan pemeriksaan manual dan menampilkan report baru setelah proses selesai. Hindari menjalankannya ketika update Core, plugin, atau theme sedang berlangsung.

Dashboard juga dapat meminta pemindaian otomatis ketika report belum ada, berasal dari versi Core lain, atau berusia setidaknya satu jam. Permintaan ini berjalan melalui endpoint POST terpisah setelah pemeriksaan permission, Site Owner, dan CSRF. Render dashboard dan widget tetap read-only; hashing tidak dilakukan di dalam request halaman biasa.

Pemindaian otomatis dibatasi di browser dan diperiksa ulang setelah scan lock diperoleh agar beberapa dashboard yang dibuka bersamaan tidak membuat antrean scan. Mekanisme ini bersifat oportunistik, bukan scheduler server: situs tanpa aktivitas Site Owner tetap membutuhkan monitoring host atau jadwal terkelola sendiri.

Membaca ringkasan hasil

  1. Periksa waktu scan, versi dan sumber baseline, serta apakah report selesai tanpa error.
  2. Bandingkan status Core files, Plugins and themes, dan Media and files secara terpisah.
  3. Buka panel temuan untuk membaca path relatif, alasan, serta hash expected dan observed bila tersedia.
  4. Gunakan filter status dan pencarian untuk memisahkan perubahan file dari artefak yang tidak diharapkan.

Widget Site Health pada halaman utama dashboard hanya membaca report tersimpan. Widget menampilkan persentase file Core yang bersih, jumlah integrity findings, status komponen, dan waktu scan terakhir. Jumlah temuan integritas bukan jumlah kerentanan yang telah dikonfirmasi.

Arti lima status

Panduan status Clean, Unverified, Modified, Contaminated, dan Infected pada Site Health
Setiap status menjelaskan kondisi file atau tingkat kepercayaan baseline, bukan nilai keamanan absolut.
  • clean: semua file yang diwajibkan baseline tepercaya cocok dan tidak ada artefak terlarang dalam scope komponen.
  • unverified: baseline tepercaya tidak tersedia, provenance belum dapat dibuktikan, scan tidak selesai, atau resource tidak dapat dibaca.
  • modified: file milik manifest hilang, hash berbeda, atau tipe file aman tidak sesuai dengan identitas rilis.
  • contaminated: area terkelola berisi artefak tidak diharapkan atau terlarang, misalnya executable, symbolic link, special file, atau file yang melintasi batas ownership.
  • infected: detector berkeyakinan tinggi mengidentifikasi konten berbahaya dan menyertakan identitas detector serta kategori bukti.

Status modified tidak membuktikan malware; perubahan lokal yang sah tetap berbeda dari paket rilis. Status contaminated membutuhkan review, tetapi tidak otomatis berarti infected. Jyavani saat ini belum mengonfigurasi malware engine; status infected disediakan untuk detector berkeyakinan tinggi pada masa mendatang.

Core Integrity dan baseline rilis

Core Integrity membandingkan file terkelola dengan manifest HTTPS untuk versi Jyavani yang sama persis. Scanner memvalidasi path, jumlah file, dan SHA-256, lalu melaporkan file yang hilang, berubah, atau tidak diharapkan. Manifest lokal berguna sebagai metadata instalasi, tetapi tidak menjadi satu-satunya trust root karena pihak yang dapat mengubah Core mungkin juga dapat mengubah manifest lokal.

Scanner tidak membandingkan instalasi lama dengan manifest versi terbaru. Status update dan integritas file adalah dua hal berbeda. Bila manifest canonical untuk versi terpasang tidak tersedia, tidak valid, atau tidak cocok, komponen Core tetap unverified; temuan lain tetap ditampilkan untuk review.

Deployment dapat mencatat public asset non-executable dan local tool yang memang dimiliki situs di cfg/site-files.json. Hash yang cocok menegaskan ownership boundary agar file tersebut tidak dianggap file Core asing. Manifest ini bukan release trust root: hash berubah, symlink, special file, path runtime Core, dan public executable tetap gagal secara tertutup.

Plugin dan theme

Penggunaan hook resmi oleh plugin tidak mengubah file Core. Plugin dan non-system theme dari Store canonical diverifikasi terhadap manifest HTTPS untuk versi terpasang yang sama persis. Tree yang cocok dapat berstatus clean; file rilis yang hilang atau berubah menjadi modified; artefak tidak diharapkan atau tidak aman menjadi contaminated.

Extension lokal yang tidak mempunyai provenance Store dapat menggunakan signed deployment manifest Ed25519 yang dipasang oleh operator. Baseline Store selalu diprioritaskan; extension yang mengaku berasal dari Store tidak boleh jatuh kembali ke baseline lokal ketika manifest canonical gagal. File .store.json hanya metadata updater dan tidak memberi kepercayaan, sedangkan direktori atau file .git selalu dilarang di tree extension.

Plugin dapat mendeklarasikan paling banyak delapan direktori gambar publik yang dihasilkan saat runtime di dalam namespace static/plugins/{folder}/. Gambar tersebut tidak dibandingkan dengan hash rilis, tetapi tetap dibatasi jumlah, ukuran, extension, MIME, nama executable, tipe file, dan symbolic link. File plugin serta static asset yang berasal dari paket tetap wajib cocok dengan manifest Store.

Media dan file milik situs

Media dan file situs tidak dibandingkan dengan manifest Core. Scanner memeriksa containment, tipe file, symbolic link, executable atau konfigurasi server pada lokasi upload, double extension, serta kecocokan MIME gambar. File biasa dapat berstatus scanned; status tersebut berarti pemeriksaan yang tersedia selesai, bukan jaminan bebas malware.

Report tidak menampilkan isi file privat, absolute deployment path, hidden administration route, credential, atau data pengguna. Hanya path relatif dan metadata temuan yang diperlukan untuk diagnosis yang boleh muncul.

Menindaklanjuti temuan

  • Bandingkan waktu scan dengan perubahan atau update terakhir yang memang direncanakan.
  • Untuk file Core yang berubah, gunakan paket terverifikasi dan alur update atau reinstall resmi setelah membuat backup.
  • Kelola plugin dan theme melalui lifecycle masing-masing; jangan menghapus file langsung dari tabel temuan.
  • Review file deployment milik situs terhadap hash yang disetujui sebelum memperbarui cfg/site-files.json.
  • Pertahankan artefak yang dicurigai untuk pemeriksaan operator atau proses karantina yang dirancang khusus.
  • Jalankan scan ulang setelah tindakan perbaikan selesai untuk membuat snapshot baru.

Batas hasil clean

Hasil clean berarti file terverifikasi cocok dengan manifest tepercaya dan tidak ada kondisi mencurigakan yang dikenal dalam scope yang dipindai. Hasil ini tidak membuktikan bahwa kode, database, server, dependency, jaringan, atau website bebas dari kerentanan dan kompromi. File dapat berubah setelah scan dan scanner dapat menghasilkan false positive atau false negative.

Site Health hanya menyimpan satu report saat ini; history, export, notifikasi, scheduled scan, environment panel, dan quarantine workflow belum tersedia. Gunakan Site Health bersama backup teruji, least privilege, update tepat waktu, monitoring server, audit file system, pemindaian malware host, dan review keamanan independen.