Incidenthanteringsplan för Weblate¶
Omfattning och mål¶
This IRP covers incidents impacting the confidentiality, integrity, or availability of Weblate-operated deployments.
Observera
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.
Roller och ansvar¶
Incident Response Lead (IRL): Samordnar alla faser av hanteringsprocessen.
Systemadministratör: Genomför åtgärder för begränsning och återställning.
Säkerhetsansvarig: Utvärderar säkerhetspåverkan och konsekvenser för regelverket.
Data Protection Officer (DPO): Evaluates if personal data (PII) was compromised and manages mandatory GDPR notifications.
Kommunikationsansvarig: Hanterar meddelanden till interna intressenter och externa parter vid behov.
Communication logistics¶
- Internal Communication:
Primary channel is Signal for human-to-human coordination.
Technical alerts remain outside of Signal to avoid noise.
- External Communication:
E-post används för att nå kunder.
Customer contact lists are maintained in several locations to ensure access during service outages.
- Public Disclosure:
If a security vulnerability is discovered, follow Sårbarhet och incidenthantering.
Incident categories and severity¶
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.
Incidentkategorier¶
Kategori 1 – Obehörig åtkomst
Kategori 2 – Brott mot dataintegriteten
Kategori 3 – Avbrott eller försämring av tjänsten
Kategori 4 – Felkonfiguration eller felaktig distribution
Säkerhetsnivåer och SLA:er¶
Svårighetsgrad |
Definition |
Target Acknowledge |
Target Initial Action |
|---|---|---|---|
Kritisk |
Total outage; Admin compromise; Active data breach; requires immediate containment. |
< 30 Minuter |
< 4 Hours |
Hög |
Core feature failure; PII leak of single user. |
< 2 Timmar |
12 Timmar |
Medium |
Prestandaförsämring; Mindre säkerhetsproblem. |
1 Affärsdag |
3 Affärsdagar |
Låg |
UI-buggar, Problem med iscensättning, Icke säkerhetsrelaterade fel. |
Bästa förmåga |
Bästa förmåga |
Incidenthanteringscykeln¶
Förberedelse¶
Ensure regular daily backups of the PostgreSQL database and the data directory using Weblate’s built-in backup with rotation, see Säkerhetskopiera och flytta Weblate.
Ensure Weblate uses a properly configured reverse proxy (e.g., NGINX) with HTTPS (TLS 1.2+).
Enable 2FA for all admin-level accounts.
Håll Weblate-instansen och dess beroenden (Python, Django, Celery, databas etc.) uppdaterade.
Integrera med SIEM-system med hjälp av GELF-protokollet för revision och vidarebefordran av applikationsloggar.
Identifiering¶
Övervaka system- och applikationsloggar (
journalctl, omvända proxyloggar, Weblate-applikations- och granskningsloggar).Analysera inloggningshändelser, webhook-körningar och push-/pull-fel.
Configure alerting (via Prometheus, Zabbix, or SIEM) for multiple login failures, unexpected restarts, or irregular VCS actions.
Inneslutning¶
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.
Namn-format:
IRP-[Mål-ID]-[ÅÅÅÅMMDD]-Bevis.These are separate from standard rotating backups and must be preserved for analysis.
Isolate the affected host or service as needed (for example by firewall rules or service isolation).
Inaktivera externa integrationer (Git/webhooks) om de ingår i attackvektorn.
Stäng omedelbart av berörda användarkonton.
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.
Eliminering¶
Ta bort all obehörig kod eller data.
Åtgärda kända sårbarheter genom att uppgradera Weblate eller serverkomponenter.
Validera binär- och arkivintegritet med hjälp av SHA-256-kontrollsummor eller Git-loggar.
Återhämtning¶
Restore affected services or data from the latest known-good Weblate backups.
PII Assessment: DPO determines if the breach requires a 72-hour GDPR notification.
Återinföra tjänsterna stegvis.
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.
Övervaka loggar och systemets beteende kontinuerligt i minst 72 timmar efter återställningen.
Granskning efter incidenten¶
Timeline: Hold a review meeting within 5 business days of incident closure.
Sammanställ en fullständig tidslinje över händelsen och vidtagna åtgärder.
Perform Root Cause Analysis (RCA) and document it within 10 business days.
Update security policies and IRP documentation based on findings.
Granska effektiviteten hos mekanismerna för upptäckt och begränsning.
Verify whether escalation, alerting, and external communication followed Sårbarhet och incidenthantering as expected.