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:

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.