Incident herstelplan (Incident response plan (IRP)) voor Weblate

Bereik en doelen

This IRP covers incidents impacting the confidentiality, integrity, or availability of Weblate-operated deployments.

Notitie

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.

Rollen en verantwoordelijkheden

  • Incident herstel leider (Incident Response Lead (IRL)): Coördineert alle fasen van het herstelproces.

  • Systeembeheerder: Voert maatregelen voor afzondering en herstel uit.

  • Beveiligings officier: Evalueert impact voor beveiliging en konsekwenties voor regelgeving.

  • Data Protection Officer (DPO): Evalueert of persoonlijke gegevens (PII) werden gecompromitteerd en beheert verplichte notificaties voor de GDPR.

  • Leider communicatie: beheert notificaties voor interne sleutelpersonen en, indien nodig, externe partijen.

Logistiek voor communicatie

  • Interne communicatie:
    • Primaire kanaal is Signal voor coördinatie van mens naar mens.

    • Technische alarmeringen blijven buiten Signal, teneinde ruis te voorkomen.

  • Externe communicatie:
    • E-mail wordt gebruikt om klanten te bereiken.

    • Contactlijsten voor klanten worden op verschillende locaties onderhouden om toegang te kunnen verzekeren tijdens uitval van de services.

  • Openbare informatie:

Categorieën incidenten en ernst daarvan

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.

Categorieën incidenten

  • Categorie 1 – Niet geauthoriseerde toegang

  • Categorie 2 – Overtreding integriteit gegevens

  • Categorie 3 – Uitval service of degradatie

  • Categorie 4 – Foutieve configuratie of fout bij uitrol

Niveaus voor de ernst en SLA’s

Ernst

Definitie

Doelkennis

Doel initiële actie

Kritisch

Total outage; Admin compromise; Active data breach; requires immediate containment.

< 30 minuten

< 4 Hours

Hoog

Uitval bron-mogelijkheid; lek persoonlijke gegevens van een enkele gebruiker.

< 2 uur

12 uur

Gemiddeld

Vermindering van uitvoering; kleiner beveiligingsprobleem.

1 werkdag

3 werkdagen

Laag

Problemen in gebruikersinterface; problemen met weergeven; fouten zonder beveiligingsrisico.

Beste inspanningen

Beste inspanningen

Levenscyclus incident herstel

Voorbereiding

  • Zorg voor regelmatige dagelijkse back-ups van de PostgreSQL database en de map met gegevens door middel van Weblate’s ingebouwde back-upfunctie met rotatie, zie Weblate back-uppen en verplaatsen.

  • Zorg ervoor dat Weblate een juist geconfigureerde omgekeerde proxy gebruikt (bijv. NGINX met HTTPS (TLS 1.2+).

  • Schakel 2FA in voor alle accounts op niveau van systeembeheerders.

  • Houd de Weblate instantie en zijn afhankelijkheden (Python, Django, Celery, database, etc.) up-to-date.

  • Integreer met SIEM-systemen met het protocol GELF voor het auditten en doorsturen van logs van de toepassing.

Identificatie

  • Monitor systeem en toepassingslogs (journalctl, logs van de omgekeerde proxy, logs van de toepassing Weblate en de audit).

  • Analyseer gebeurtenissen voor inloggen, het uitvoeren van webhooks en falen van push/pull.

  • Configureer alarmering (via Prometheus, Zabbix of SIEM) voor: meermaals mislukt inloggen, onverwacht opnieuw starten, of onregelmatige VCS-acties.

Afzonderen

  • 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.

    • Indeling voor naam: IRP-[CaseID]-[JJJJMMDD]-Evidence.

    • Deze staan los van standaard roterende back-ups en moeten worden bewaard voor analyses.

  • Isolate the affected host or service as needed (for example by firewall rules or service isolation).

  • Schakel externe integraties uit (Git/webhooks) als ze deel uitmaken van het aangevallen gebied.

  • Schors betrokken gebruikers onmiddellijk.

  • 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.

Uitroeien

  • Verwijder alle niet geautoriseerde code of gegevens.

  • Herstel bekende kwetsbaarheden door Weblate of serveronderdelen te upgraden.

  • Valideer binaire en integriteit van de opslagruimte met SHA-256 controlesommen of Git-logs.

Herstel

  • Herstel de getroffen services of gegevens vanuit de laatst bekende goede back-ups van Weblate.

  • Beoordeling Inbreuk persoonlijke gegevens: DPO bepaalt of de inbreuk een 72-uurs notificatie voor de GDPR vereist.

  • Introduceer de services opnieuw in een gefaseerde benadering.

  • 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.

  • Monitor logs en het systeemgedrag doorlopend gedurende ten minste 72 uur na het herstel.

Nakijken na het incident

  • Tijdlijn: Houd binnen 5 werkdagen na het sluiten van het incident een review-vergadering.

  • Stel een volledige tijdlijn voor het incident en de genomen acties samen.

  • Voer een Root Cause Analysis (RCA) uit en documenteer het binnen 10 werkdagen.

  • Werk beveiligingsbeleid en documentatie voor IRP bij, gebaseerd op de opgedane bevindingen.

  • Kijk de effectiviteit van de mechanismen voor detectie en afzondering na.

  • Verify whether escalation, alerting, and external communication followed Kwetsbaarheid en incidentafhandeling as expected.