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:
Als er een beveiligingskwetsbaarheid wordt ontdekt, volg Kwetsbaarheid en incidentafhandeling.
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.