Immutable(不変的)なバックアップでランサムウェアから防御を!!「Hardened Repository(堅牢化リポジトリ)」の実践


はじめに

ランサムウェアは近年増殖し続けており、バックアップ・データはますますランサムウェア攻撃の標的になりつつあります。バックアップへの攻撃を防ぐために、Veeam Backup & Replication V11では、「Hardened Repository(堅牢化リポジトリ)」機能を導入しました。これは、設定された時間の間、バックアップを変更不可能(不変: Immutable)なものにします。これにより、ランサムウェアやハッカーなどの脅威から守ることができます。

「Hardened Repository」機能はLinuxベースです。ここで重要なことは、「Hardened Repository」の Linux オペレーティングシステムが望ましくない/悪意のあるアクセスから保護するために必要であるということです。 ここでは、「Hardened Repository」機能の概略について説明しています。

「Hardened Repository」機能は、SEC規則17a-4(f)およびCFTC規則1.31(c)-(d)に準拠したFINRA規則4511に認定されています。

サポートするLinuxコンフィグレーション

「Hardened Repository」ロールは、64ビットのLinuxオペレーティングシステムで動作します。ファイルシステムは、拡張属性とchattrをサポートしている必要があります。一般的なLinuxファイルシステムの多くは、これらの属性をサポートしています(XFS、EXT3 / 4、BTRFS)。Veeam社では、パフォーマンスとスペース効率(ブロッククローニングのサポート)の理由から、「Hardened Repository」にXFSを推奨しています。

対応するバックアップのワークロードと構成

「Hardened Repository」の不変性は、現在Veeamがバックアップできるほとんどのワークロードをサポートしています。すべてのイメージベースのバックアップ(VMware VCloud Directorを含む)とVeeam Agentのファイルベースのバックアップは、不変性をサポートしています。Veeam Backup for Amazon EC2 / Microsoft Azure / Google Cloud Platformからのクラウドバックアップでは、GFSモードのバックアップコピージョブ(週次/月次/年次リテンション設定)で不変性をサポートします。また、VeeamZIPは、「Hardened Repository 」でのイミュータビリティ不変性(不変性)に対応しています。不変性がサポートされていないワークロード(NAS、Oracle RMAN、SAP BackInt、データベース・ログファイル)も、「Hardened Repository 」上に保存することができますが、これは可変であることを意味します。

「Hardened Repository」では、バックアップファイルは不変で変更できません。つまり、既存のバックアップ・ファイルにマージしないバックアップ・モードのみがサポートされており、定期的なフル・バックアップが必要となります。Veeam用語で言えば、「Forward incremental with synthetic full or active full」のバックアップジョブ構成がサポートされているということです。「Forward incremental with synthetic full 」はデフォルトのバックアップ・ジョブ設定で、「Hardened Repository 」と互換性があります。バックアップコピージョブでは、GFSを有効にする必要があります。これらの設定により、バックアップファイルのマージや変更が行われないようになります(図1参照)。

定期的なフルバックアップが必要なことは、XFSベースのリポジトリがディスクスペース使用の観点から理想的なオプションです。なぜなら、高速クローニングのおかげで、合成フルバックアップは(メタデータを除いて)物理的なディスクスペースを必要としないからです。

図1

「Hardened Repository」の構成は、スタンドアロンまたはScale-out Backup Repository(スケールアウト・バックアップ・リポジトリ)にすることができます。スケールアウト・バックアップ・リポジトリの容量層(Capacity Tier)で「move(移動)」ポリシーにおけるGFSの不変性保持はリポジトリの不変性保持と一致することに注意してください(バックアップの保持ではなく)。これは、「move 」ポリシーが機能するようにするためです。そうしないと、バックアップを移動することができません。

「Hardened Repository」の設定

「Hardened Repository」の設定は、Linux リポジトリの設定と似ています。最も大きな違いは、「Hardened Repository」はサーバ上の排他的な役割であるということです。つまり、クラシックなVeeam LinuxリポジトリやVeeam Linuxプロキシを同一システム上で直接実行することは不可能です(コンテナやVMは可能)。

その理由は、他のVeeamロールがroot権限を必要とするからです。それは 「Hardened Repository 」のセキュリティ・リスクになります。「Hardened Repository」トランスポート・サービスは、通常のユーザー(非 root)として実行されます。1つのシステムに複数の 「Hardened Repository 」を設定することができます。

Linux サーバへの接続
攻撃者による直接のSSHログインから “Hardened Repository “を保護するために、VeeamはVeeamコンポーネントと “Hardened Repository “の間で証明書ベースの認証を使用します。証明書ベースの認証を有効にするには、”Hardened Repository “をホストするLinuxサーバを追加する際に、”Single-use credentials for hardened repository… “オプションを選択します(図2参照)。

図2

このオプションを選択すると、Linuxホストとの初期認証のための認証情報は、Veeam構成データベースに保存されません(どこにも保存されません)。これにより、攻撃者がVeeam構成データベースから、またはVeeamバックアップ・サーバのRAMから直接認証情報をダンプすることを防ぎます。

指定されたユーザは、後でバックアップが保存されるフォルダに対する読み取りおよび書き込み権限を持つ必要があります(セキュリティ上の理由からrootは使用できません)。インストール中、ユーザは一時的に root 権限または sudo 権限を持つ必要があります(図 3)。これらの一時的なパーミッションは後に削除する必要があります(例:ユーザをsudoグループに追加し、サーバを追加した後にsudoグループからユーザを削除する)。

図3

SSH認証は、LinuxサーバをVeeam Backup & Replicationに追加する時と、Veeamコンポーネントのアップデート時にのみ必要となります。その後、SSHサーバを完全に無効にして、その潜在的な脆弱性を含む攻撃ベクトルを取り除くことができます。

Hardened Repository ロールの追加

「Hardened Repository」の追加は、従来のLinuxリポジトリと同じように動作します。唯一の違いは、「Make recent backup immutable for X days」が設定されていることです(図4参照)。

図4

Make recent backup immutable for X days(最近のバックアップをX日間不変にする)」を設定すると、このリポジトリへの互換性のあるすべての新しいバックアップが、少なくとも設定された日数の間、不変になります。”少なくとも “というのは、不変の時間がもっと長くてもいいということです。例えば、バックアップチェーン内の初期の増分バックアップは、バックアップチェーン全体が同じ不変時間になるように、より長く不変化されます(増分バックアップファイルは、バックアップチェーン内で互いに依存しています)。

インストール中、VeeamはLinuxのファイアウォールを設定し、ポート6162への着信トラフィックを許可します。ダイナミック・ポート(デフォルトでは2500-3300)のIptablesルールは、ジョブ実行中に自動的に設定されます。これらのファイアウォール・ルールは、ジョブの実行が終了すると自動的に削除されます。

詳細についてはお問合せください。

関連トピックス