はじめに
昨今、バックアップの機能として求められているものとして、「WORM」(Write Once Read Many)バックアップデータの管理があります。
要は、「一旦書き込んだらそう簡単に編集・削除できないバックアップ」運用を目指したものです。
主として、ランサムウェア対策とか、バックアップの保全性とかで話題になりますね。
一般的にこのような場合、WORM機能を保持しているストレージやNASなど、要はHWの力を利用してWORM機能を実装するケースも多いようです。もちろん非常に有意義なソリューションでもあるのですが、もっと安価に構成したい、ということであれば、ソフトウェアによるWORM機能を実装することができます。
ソフトウェアによるWORM機能を実装したレポジトリとして、Veeamでは「Veeam Hardend Repository」(以下VHRとします)という概念が提唱されています。日本語にすれば「強化レポジトリ」というところでしょうか。これはマルウェアの活動や予期せぬ動作によるバックアップファイルの損失を防ぐため、Linuxサーバーをベースとした強化リポジトリをバックアップインフラストラクチャとして利用できる、というものです。
このレポジトリは、Linuxサーバ(RHELとUbuntuで実装できます)で実装が可能ですが、Veeamの強化レポジトリとしての実装のためには、米国防総省に属する機関であるDISA(Defense Information Systems Agency、国防情報システム局)のSTIG(Security Technical Implementation Guide)」に準拠する必要があり、その実装はLinuxに不慣れな管理者にはちょっとハードルが高いかと思います。
そこで、Veeamから「誰でも簡単にVHR環境を利用するためのインストールメディア」が無償で提供されています(以下VHRISOと表記します)。
今回は、こちらのVHRISOを使ってVHR環境を構築する方法についてご紹介します。
VHRの機能
VHRISOを使って作成できるVHR環境には、国防情報システム局 (DISA) が Rocky Linux 用に作成および管理するセキュリティ技術実装ガイド (STIG) に基づくセキュリティ推奨事項を実装しています。また、Veeamバックアップセキュリティ面から以下の2つの特徴があります。
・格納されているバックアップファイルを不変にしておく期間指定が可能となります。この期間中、このリポジトリに保存されているバックアップファイルは移動、変更、削除できませんが、コピーは可能です。
・リポジトリにアクセスするための認証情報も、シングルユース設定となり、バックアップインフラストラクチャには保存されません。そのため、Veeam Backup & Replicationサーバーが侵害された場合でも、攻撃者は認証情報を入手して強化されたリポジトリに接続することはできません。
VHRの構成要件
VHRISOを使ってVHR環境を構成する際には、以下の様な要件が必要となります。
構成するための要件のうち、代表的なものを以下に記載します。最終的な構成要件は必ず、Veeamのサイトを確認してください。
- 構成要件
- 利用するVeeam Backup & Replication は12 以降である必要があります。
- サーバには少なくとも 以下の2 つのストレージ ボリュームが必要です。
- オペレーティング システム用の個別のボリューム (最小 100 GB)が必要です。
- データ用の追加ボリュームが少なくとも1つ必要で、すべての追加データボリュームは、オペレーティングシステムのボリュームよりも大きい容量が必要(つまり最低でも101GB以上必要)。
- システムのアップデートのために、veeam.comへのポート443への直接接続またはHTTPプロキシ接続が必要
- この接続がないと、GNU Privacy Guard (GPG) キーの更新がおこなわれなくなり、期限切れとなります。期限が切れると、それ以上のアップデートはできなくなり、オペレーティングシステムを完全に再インストールする必要があります。
- 内部または直接接続されたストレージ ボリュームを使用します。
- UEFI セキュア ブートが必要です。
- すべてのハードウェアは、「Red Hat 互換性リスト」または「CIQ 認定ハードウェア リスト」に記載されている必要があります。
- ライトバック キャッシュが有効になっているRAIDコントローラが必要です。
- サーバは、午前8時に自動的に更新処理が実行される。ただし、自動再起動はされないため、定期的な再起動が推奨されます。
- 未サポート要件(以下は未サポートです)
- ストレージ ボリュームのマルチパス
- サーバーにプロビジョニングされた iSCSI またはファイバー チャネル LUN
- ワイヤレス ネットワーク接続
- その他
- 使用する予定のUSBデバイス(ディスクなど)は、インストールを開始する前に接続します(インストールが完了すると、新しいUSBデバイスの接続はブロックされるため)。
条件を見る限り、物理サーバでの実装が前提です。仮想環境でも動作はしますが、非推奨のようです。
VHDISOによる構築
それでは実際の実装手順について説明していきます。
まず、VHRISOのインストールメディアを用意します。インストールメディアはVeeamのサイトからダウンロードできます(要Veeamアカウント)。
https://www.veeam.com/products/data-platform-trial-download.html?tab=extensions
「Additional Downloads」 > 「Extensions and Other」 > 「Veeam Hardened Repository ISO」からダウンロードできます。
次に、このISOからブートします。ブートすると、以下のようなインストール画面がでます。
必要に応じ、「Keyboard」「Time&Date」,「Network&Hostname」 のそれぞれをクリックし、設定します。
注意事項としては
- ディスクのレイアウトいついての変更や設定はできません。
- キーボードについては、「Japanese」キーボードも選択できます。
「Begin Installation」をクリックします。
確認画面が表示されたあと、自動的にインストールが始まります。
完了すると以下の画面が表示されるので、「Reboot System」をクリックして、再起動します。
再起動後、コンソールにて以下のようなログイン画面が表示されるので、
ユーザー名 | vhradmin |
パスワード | vhradmin |
でログインします。(sshによるログインはできません)
ログインするとパスワードの変更画面が表示されるので、以下の条件にあったパスワードを入力します(一度めは「Current Password」なのでvhradminです)。
- 最低15文字
- 最低1 文字の大文字
- 最低1文字の数字
- 最低 1 文字の特殊文字。
- 同じクラスの文字(大文字、小文字など)が3文字以上連続しない
条件に適応したパスワードを設定すると、以下のライセンス確認画面が表示されるので「I Accenpt」を選択します。
以下のようなメインメニュー画面が表示されます。
必要があれば、ネットワークやProxy,時刻同期などの設定を変更できます。ここでは「Start SSH」を選択します。
SSHアクセス環境が開始され、SSHアクセスするための情報が表示されます。
このCredential情報とFingerPrintの情報をメモしておきます(あとで利用します)。
この段階でSSHでのアクセスが可能となります。
ここまでが、VHRサーバ側での設定作業となります。次に、Veeamサーバでの作業となります。
Veeamサーバ側での作業は「VHRISOでVeeam強化リポジトリを作る(その2)」で説明します。