初めに
baculaを利用したバックアップの暗号化に関して
bacula-fdの設定内容や検証内容について記載します。
version
bacula(9.0系)
暗号化設定
以下公式より参照
暗号化設定で必要なのは下3つの設定項目です。
鍵の生成方法は上記の公式にもコマンドが載っているので参考にしてください。
またpemファイルの生成に必要な証明書の有効期限には注意しましょう。
作成時にオプションで指定できます。
設定したらbacula-fdを再起動してください。
FileDaemon {
Name = example-fd
FDport = 9102 # where we listen for the director
WorkingDirectory = /var/bacula/working
Pid Directory = /var/run
Maximum Concurrent Jobs = 20
PKI Signatures = Yes # Enable Data Signing
PKI Encryption = Yes # Enable Data Encryption
PKI Keypair = "/etc/bacula/fd-example.pem" # Public and Private Keys
PKI Master Key = "/etc/bacula/master.cert" # ONLY the Public Key
}
暗号化キーの関係
暗号化を有効にした状態でbackupJobを実行した後、
Backupをリストア可能な鍵の条件は以下。
既存:backupJob実行前に作成した鍵
新規:backupJob実行後に作成した鍵
master.cert | fd-example.pem | 復号可能 |
---|---|---|
新規 | 新規 | NO |
新規 | 既存 | OK |
既存 | 新規 | NO |
既存 | 既存 | OK |
既存 | 新規(既存のmaster.keyからmaster.pemを作成) | OK |
ちなみに鍵を削除してもfdを再起動するまではrestoreできる。
クライアント(fd-exmaple.pem)の鍵を誤って紛失した場合であっても、
マスターキーからキーペアを作成しPKI Keypair に作成したファイルのパスを記載=> bacula-fd 再起動で復元可能となる。
また複数サーバの運用の場合、bacula-fdを各サーバにインストールして利用することになる。
暗号化したバックアップをリストアする際には当然一致する鍵がないfdを利用してリストアすることはできない。
終わりに(所感)
暗号化するだけでも鍵の管理など考えることが増えるので、
AWSなどのマネージドサービスを利用したほうが楽だな〜と改めて最近感じています。
jobの実行タイミングやVolumeの管理など全て自分で設定できるため自由ですが、
セキュリティ・バックアップなどの部分は特に検証が大事になってくると思いますので、その分面倒も増えますね。
以上