Weblate のインシデント対応計画

範囲と目的

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

注釈

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.

役割と責任

  • インシデント対応リード(IRL): 対応プロセスのすべての段階を統括します。

  • システム管理者: 封じ込めおよび復旧の措置を実行します。

  • セキュリティ担当者: セキュリティへの影響と規制上の結果を評価します。

  • データ保護責任者 (DPO): 個人データ(PII)が侵害されたかどうかを評価し、GDPR に基づく必須の通知対応を管理します。

  • コミュニケーションリード: 必要に応じて、内部関係者および外部関係者への通知を管理します。

コミュニケーション上の調整事項

  • 内部向けコミュニケーション:
    • 主要な連絡チャネルは、人同士の調整に Signal を使用します。

    • 技術的な警告はノイズを避けるため、Signal には流さないようにします。

  • 対外コミュニケーション:
    • 顧客への連絡には メール を使用します。

    • サービス停止中にも接続できるよう、顧客連絡先一覧は複数の場所で管理しています。

  • 公開情報の開示:

インシデントの分類と重大度

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.

インシデントの分類

  • カテゴリ 1 – 不正アクセス

  • カテゴリ 2 – データ完全性の侵害

  • カテゴリ 3 – サービスの停止または劣化

  • カテゴリ 4 – 設定ミスまたはデプロイメント エラー

重大度レベルと SLA(サービスレベル合意)

重大度

用語の定義

目標応答時間

初動対応の目標時間

重大(クリティカル)

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

30 分以内

< 4 Hours

コア機能の障害; 単一ユーザーの個人情報漏えい。

2 時間以内

12 時間

性能劣化; 軽度のセキュリティ上の問題。

1 営業日

3 営業日

UI の不具合; ステージング環境での問題; 非セキュリティ系のエラー。

ベストエフォート

ベストエフォート

インシデント対応ライフサイクル

準備

  • PostgreSQL データベースおよびデータディレクトリについて、Weblate のローテーション付き組み込みバックアップ機能を用いて、日次の定期バックアップを確実に実施してください。参照: Weblate のバックアップと移動

  • Weblate は、HTTPS(TLS 1.2 以上)を有効化した適切に設定済みのリバースプロキシ(例:NGINX)経由で運用することが必要です。

  • 管理者レベルのすべてのアカウントで 2FA を有効化してください。

  • Weblate インスタンスと、その依存関係(Python、Django、Celery、データベースなど)を最新の状態に保ちます。

  • 監査ログおよびアプリケーションログを転送するため、GELF プロトコルを使用して SIEM システムと統合します。

識別

  • システムログおよびアプリケーションログ(journalctl、リバースプロキシのログ、Weblate のアプリケーションログと監査ログ)を監視します。

  • ログインイベント、Webhook の実行状況、および プッシュ/プル の失敗を分析します。

  • 複数回のログイン失敗、予期しない再起動、異常な VCS アクションを監視し、Prometheus、Zabbix、SIEM などで警告を適切に設定してください。

封じ込め

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

    • 名前形式: IRP-[CaseID]-[YYYYMMDD]-Evidence

    • これらは通常のローテーションバックアップとは独立しており、後続の分析に備えて必ず保全してください。

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

  • 攻撃経路に関与している場合は、外部連携(Git / Webhook)を無効化します。

  • 影響を受けたユーザーアカウントを直ちに停止します。

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

根絶

  • 不正なコードやデータをすべて削除します。

  • 既知の脆弱性を解消するため、Weblate またはサーバーコンポーネントをアップグレードします。

  • SHA-256 チェックサムや Git のログを用いて、バイナリおよびリポジトリの整合性を検証します。

復旧

  • 影響を受けたサービスやデータは、正常性が確認されている最新の Weblate バックアップから復元してください。

  • PII 評価: DPO が、当該侵害が GDPR に基づく 72 時間以内の通知対象かどうかを判定します。

  • サービスを段階的に再投入します。

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

  • 復旧後少なくとも 72 時間は、ログおよびシステムの挙動を継続的に監視します。

インシデント後レビュー

  • タイムライン: インシデント クローズ後 5 営業日以内 に査読会議を実施してください。

  • インシデントの発生から解決までのタイムラインと、実施した対応内容を整理する。

  • 根本原因分析(RCA)を実施し、結果を 10 営業日以内 に文書化すること。

  • 調査結果を踏まえ、セキュリティポリシーおよび IRP(インシデント対応手順)文書を更新すること。

  • 検知および封じ込めメカニズムの有効性を評価する。

  • Verify whether escalation, alerting, and external communication followed 脆弱性およびインシデント対応 as expected.