Rencana respons insiden untuk Weblate¶
Cakupan dan tujuan¶
This IRP covers incidents impacting the confidentiality, integrity, or availability of Weblate-operated deployments.
Catatan
This plan is specifically designed for deployments operated by Weblate s.r.o. Other deployments need to adapt provider-specific and organizational steps to their own environment.
Peran dan tanggung jawab¶
Pimpinan Respons Insiden (IRL): Mengkoordinasikan semua fase proses respons.
Administrator Sistem: Menjalankan tindakan penahanan dan pemulihan.
Petugas Keamanan: Mengevaluasi dampak keamanan dan konsekuensi peraturan.
Petugas Perlindungan Data (DPO): Mengevaluasi apakah data pribadi (PII) telah disusupi dan mengelola notifikasi GDPR wajib.
Pimpinan Komunikasi: Mengelola notifikasi kepada pemangku kepentingan internal dan pihak eksternal jika diperlukan.
Logistik komunikasi¶
- Komunikasi Internal:
Saluran utama adalah Signal untuk koordinasi antarmanusia.
Peringatan teknis tetap berada di luar Signal untuk menghindari kebisingan.
- Komunikasi Eksternal
Surel digunakan untuk menjangkau pelanggan.
Daftar kontak pelanggan dipelihara di beberapa lokasi untuk memastikan akses selama penghentian layanan.
- Pengungkapan Publik:
Jika kerentanan keamanan ditemukan, ikuti Kerentanan dan penanganan insiden.
Kategori dan keparahan insiden¶
Incident activation¶
Declare an incident when an event is confirmed or strongly suspected to affect the confidentiality, integrity, or availability of the service beyond routine operational noise.
The Security Officer declares the incident, assigns the initial severity, and appoints the Incident Response Lead (IRL).
If the Security Officer is unavailable, any available senior operator may declare the incident and hand over ownership as soon as practical.
Reclassify the incident if the scope or impact changes during investigation.
Kategori insiden¶
Kategori 1 – Akses Tidak Sah
Kategori 2 – Pelanggaran Integritas Data
Kategori 3 – Gangguan atau Penurunan Layanan
Kategori 4 – Kesalahan Konfigurasi atau Galat Penyebaran
Tingkat keparahan dan SLA¶
Keparahan |
Definisi |
Pengakuan Target |
Tindakan Awal Target |
|---|---|---|---|
Kritis |
Total outage; Admin compromise; Active data breach; requires immediate containment. |
< 30 Menit |
< 4 Hours |
Tinggi |
Kegagalan fitur inti; Kebocoran PII pengguna tunggal. |
< 2 Jam |
12 Jam |
Sedang |
Penurunan kinerja; Isu keamanan kecil. |
1 Hari Bisnis |
3 Hari Bisnis |
Rendah |
Kesalahan UI; Isu pertahapan; Galat non-keamanan. |
Upaya Terbaik |
Upaya Terbaik |
Siklus hidup respons insiden¶
Persiapan¶
Pastikan pencadangan harian rutin basis data PostgreSQL dan direktori data menggunakan pencadangan bawaan Weblate dengan rotasi, lihat Mencadangkan dan memindahkan Weblate.
Pastikan Weblate menggunakan proksi terbalik yang dikonfigurasikan dengan benar (misalnya, NGINX) dengan HTTPS (TLS 1.2+).
Aktifkan 2FA untuk semua akun tingkat admin.
Jaga agar instansi Weblate dan dependensinya (Python, Django, Celery, basis data, dll.) tetap terkini.
Integrasikan dengan sistem SIEM menggunakan protokol GELF untuk audit dan penerusan catatan aplikasi.
Identifikasi¶
Pantau catatan sistem dan aplikasi (
journalctl, catatan proksi terbalik, catatan aplikasi Weblate dan catatan audit).Menganalisis peristiwa masuk, eksekusi kait web, dan kegagalan dorong/tarik.
Konfigurasikan peringatan (melalui Prometheus, Zabbix, atau SIEM) untuk beberapa kegagalan masuk, pemulaian ulang yang tidak terduga, atau tindakan VCS yang tidak teratur.
Penahanan¶
Create an incident record with a case ID and record timeline updates as actions are taken.
Coordinate human response in Signal and keep technical alerting in the existing monitoring systems.
For Category 1 or 2 incidents, create a manual Hetzner Cloud Snapshot before taking disruptive action when it is safe to do so.
Format nama:
IRP-[CaseID]-[YYYYMMDD]-Evidence.Cadangan ini terpisah dari cadangan berputar standar dan harus disimpan untuk dianalisis.
Isolate the affected host or service as needed (for example by firewall rules or service isolation).
Nonaktifkan integrasi eksternal (Git/webhook) jika merupakan bagian dari vektor serangan.
Segera tangguhkan akun pengguna yang terpengaruh.
Revoke or rotate affected administrative, API, VCS, and webhook credentials as applicable.
Preserve relevant evidence, including system logs, reverse proxy logs, Weblate application and audit logs, affected configuration state, and the list of impacted credentials or integrations.
Pemberantasan¶
Hapus kode atau data yang tidak sah.
Perbaiki kerentanan yang diketahui dengan meningkatkan komponen Weblate atau server.
Validasi integritas biner dan repositori menggunakan checksum SHA-256 atau log Git.
Pemulihan¶
Pulihkan layanan atau data yang terpengaruh dari cadangan Weblate terbaru yang diketahui masih bagus.
Penilaian PII: DPO menentukan apakah pelanggaran memerlukan notifikasi GDPR 72 jam.
Perkenalkan kembali layanan secara bertahap.
Confirm the root cause has been removed or a compensating control is in place before restoring normal traffic.
Rotate affected credentials and verify integrity of the restored system, repositories, and configuration.
The Security Officer and IRL approve returning to normal operations.
Pantau catatan dan perilaku sistem secara terus-menerus setidaknya selama 72 jam pasca-pemulihan.
Tinjauan pasca-insiden¶
Garis Waktu: Mengadakan pertemuan peninjauan dalam 5 hari bisnis setelah penutupan insiden.
Susun garis waktu insiden lengkap dan tindakan yang diambil.
Lakukan Root Cause Analysis (RCA) dan dokumentasikan dalam 10 hari bisnis.
Perbarui kebijakan keamanan dan dokumentasi IRP berdasarkan temuan.
Tinjau efektivitas mekanisme deteksi dan penahanan.
Verify whether escalation, alerting, and external communication followed Kerentanan dan penanganan insiden as expected.