Respuesta del plan de incidencia para Weblate¶
Alcance y objetivos¶
This IRP covers incidents impacting the confidentiality, integrity, or availability of Weblate-operated deployments.
Nota
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.
Los roles y responsabilidades¶
Respuesta de Cabecera de Incidente (IRL): coordina todas las fases del proceso de respuesta.
Administrador del sistema: Ejecuta medidas de contención y recuperación.
Oficial de seguridad: evalúa el impacto en la seguridad y las consecuencias regulatorias.
Oficial de Protección de Datos (OPD): evalúa si los datos personales (PII) se vieron comprometidos y gestiona las notificaciones obligatorias del RGPD.
Responsable de comunicaciones: Gestiona las notificaciones a las partes interesadas internas y externas si es necesario.
Logística de comunicaciones¶
- Comunicación interna:
El canal principal es Señal para la coordinación entre humanos.
Las alertas técnicas permanecen fuera de Signal para evitar ruido.
- Comunicación Externa:
El correo-e se utiliza para llegar a los clientes.
Las listas de contacto de clientes se mantienen en varios lugares para garantizar el acceso durante interrupciones del servicio.
- Divulgación pública:
Si se descubre una vulnerabilidad de seguridad, siga Vulnerabilidad y tratamiento de incidente.
Categorías y gravedad de incidentes¶
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.
Categorías de incidentes¶
Categoría 1 – Acceso no autorizado
Categoría 2 – Violación de la integridad de los datos
Categoría 3 – Interrupción o degradación del servicio
Categoría 4 – Error de configuración o implementación
Niveles de severidad y SLA¶
Gravedad |
Definición |
Confirmación de Objetivo |
Acción Inicial Destino |
|---|---|---|---|
Crítico |
Total outage; Admin compromise; Active data breach; requires immediate containment. |
< 30 minutos |
< 4 Hours |
Alta |
Falla de función principal; fuga de información PII de un solo usuario. |
< 2 horas |
12 horas |
Medio |
Degradación del rendimiento; incidencia de seguridad menor. |
1 día hábil |
3 días hábiles |
Baja |
Defectos de IU; incidencias de puesta en escena; errores no relacionados con la seguridad. |
Mejor Esfuerzo |
Mejor Esfuerzo |
Ciclo de vida de la respuesta a incidentes¶
Preparación¶
Asegúrese de realizar copias de respaldo diarias regulares de la base de datos PostgreSQL y del directorio de datos utilizando la copia de respaldo integrada de Weblate con rotación, consulte Respaldar y trasladar Weblate.
Asegure que Weblate utilice un proxy inverso configurado apropiadamente (p.ej., NGINX) con HTTPS (TLS 1.2+).
Habilite 2FA para todas las cuentas de nivel administrativo.
Mantenga la instancia Weblate y sus dependencias (Python, Django, Celery, base de datos, etc) al día.
Integre con sistemas SIEM utilizando el protocolo GELF para auditar y reenvío de bitácora de aplicación.
Identificación¶
Sistema de monitor y bitácoras de aplicación (
journalctlbitácoras de proxy inverso, aplicación Weblate y bitácoras de auditoría).Analizar sucesos de acceso, ejecuciones de ganchos web, y fallos de push/pull.
Configure alertas (a través de Prometheus, Zabbix o SIEM) para múltiples fallas de inicio de sesión, reinicios inesperados o acciones irregulares de VCS.
Contención¶
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.
Formato de nombre:
IRP-[CaseID]-[YYYYMMDD]-Evidence.Estas son independientes de los respaldos rotativos estándar y deben conservarse para su análisis.
Isolate the affected host or service as needed (for example by firewall rules or service isolation).
Inhabilita las integraciones externas (Git/webhooks) si son parte del vector de ataque.
Suspender inmediatamente las cuentas de usuario afectadas.
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.
Erradicación¶
Retira cualquier código o datos no autorizados.
Ruta conocida de vulnerabilidades modernizando Weblate o componentes del servidor.
Valide la integridad binaria y del repositorio utilizando sumas de comprobación SHA-256 o bitácoras de Git.
Recuperación¶
Restaure los servicios o datos afectados desde las últimas copias de seguridad de Weblate conocidas como correctas.
Evaluación de PII: El DPO determina si la violación requiere una notificación GDPR de 72 horas.
Reintroducir los servicios mediante un enfoque gradual.
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.
Supervise las bitácoras y el comportamiento del sistema de forma continua durante al menos 72 horas tras la recuperación.
Revisión posterior al incidente¶
Cronograma: Realizar una reunión de revisión dentro de los 5 días hábiles posteriores al cierre del incidente.
Compilar una cronología completa del incidente y las acciones tomadas.
Realizar un análisis de causa raíz (RCA) y documentarlo dentro de 10 días hábiles.
Actualizar las normativas de seguridad y la documentación del IRP según los hallazgos.
Revisar la eficacia de los mecanismos de detección y contención.
Verify whether escalation, alerting, and external communication followed Vulnerabilidad y tratamiento de incidente as expected.