Ubuntu Weekly Recipe

第722回UrBackupでお手軽ランサムウェア対策

今回はランサムウェアに屈しないため、UrBackupで簡単かつ確実にバックアップを取る方法を紹介します。

日頃バックアップなんて気にしていなくても、ハードウェアの故障だけでなくランサムウェア対策にもなると考えると、重い腰を上げざるを得なくなるのではないでしょうか。

ランサムウェア対策していますか?

最近、ランサムウェアが巷を賑わせています。IPAが特設ページを開設しているのはまだわかるのですが(もうすこし更新したほうがいいとは思いますが⁠⁠、警視庁も対策ページを開設しており、防犯という観点から国家的な関心事になっているといっても過言ではないでしょう。

警視庁の対策ページはよくできて、ランサムウェア対策として重要なのは感染を防止することと、感染しても被害を軽減することだと述べています。そしてどちらの対策も複数の取り組みを提示しています。すなわち、対策は1つだけではダメで複数組み合わせることが重要です。よって現実的には対策することによってどの程度の手間を許容できるのかと、どのぐらい費用をかけられるのかによって組織ないし個人としてケースバイケースで考えていく必要があります。

バックアップは最後の砦として重要です。せっかく取ったバックアップもランサムウェアの餌食になってしまっては意味はなく、またバックアップから正常にリストアできないと意味がありません。現実的には複数の方法で複数の場所にバックアップすることとなるでしょうが、これもどのぐらいの手間と費用をかけられるのかという話になってきます。

そんなときに検討したいのが、今回紹介するUrBackupです。オープンソースでマルチプラットフォームなサーバークライアント方式のバックアップソフトです。サーバーもマルチプラットフォームで動作するため、率直なところUbuntuである必然性は特にありません。しかしランサムウェア対策ということを考えると、バックアップサーバーをUbuntuで用意するのはより安全側に倒す良い選択肢の1つです。

UrBackupの特徴は、クライアントがWindowsの場合はイメージごとバックアップが取れるということです。不幸にもランサムウェアに感染した場合、インストールドライブをまっさらにした状態からリストアできます。逆にUbuntuでは指定したファイルだけがバックアップ対象になるため、第635回で紹介したDéjà Dupのほうがいいでしょう。ただしDéjà Dupは原則としてホームフォルダーのバックアップ用ですが、UrBackupはシステムフォルダーのバックアップも取得できますので、要求に応じて併用するといいでしょう。

UrBackupとランサムウェア対策

UrBackupのWebサイトには、UrBackup protects against ransomwareというそのものズバリのページが用意されています。

UrBackupは他のバックアップ方式とは異なりサーバーとクライアントが独立しているので、ランサムウェア対策に優れたバックアップソフトということです。これからの説明を見るとわかりますが、クライアントには一切サーバーの設定はないため、クライアントからデータを読み取ってサーバーにアクセスすることは不可能です。もちろんランサムウェア側が「UrBackup」対策をすれば話は変わってきますが、現段階では考慮しなくてもいいでしょう。

UrBackupサーバーのセットアップ

UrBackupサーバーのパッケージはリポジトリにないため、公式に提供しているいくつかの方法から選択することになります。今回PPAにはUbuntu 22.04 LTS用のパッケージは用意されていなかったため、OpenSUSE Build Serviceのリポジトリから取得することにします。

端末から次のコマンドを実行してください。

$ echo 'deb http://download.opensuse.org/repositories/home:/uroni/xUbuntu_22.04/ /' | sudo tee /etc/apt/sources.list.d/home:uroni.list
$ curl -fsSL https://download.opensuse.org/repositories/home:uroni/xUbuntu_22.04/Release.key | gpg --dearmor | $ sudo tee /etc/apt/trusted.gpg.d/home_uroni.gpg > /dev/null
$ sudo apt update
$ sudo apt install urbackup-server

インストール中、バックアップの保存場所を質問されます図1⁠。デフォルトでは/media/BACKUP/urbackupですが、必要に応じて変更してください。個人的には/var/backups以下に置くのが好きですが、/srv/backup/urbackupなどもいいかもしれません。

図1 バックアップの保存場所を決定する
図1

UrBackupサーバーのWebインターフェース

UrBackupをインストールしたサーバーのポート55414にアクセスすると、Webインターフェースが表示されます図2⁠。テスト運用であれば特に設定を変更するところはありませんが、本番運用の前にはWebインターフェースにアクセスするためのユーザー名とパスワードを設定し、またメールの設定も行うといいでしょう。

図2 UrBackupのWebインターフェース
図2

Windowsクライアントのインストールとバックアップ

UrBackupのWindowsクライアントはUrBackupトップページ「Download UrBackup Client」をクリックしてダウンロードします。

ダウンロード完了後インストーラーを起動してインストールを実行すると、最後に図3のメニューが表示されます。いずれもデフォルトのままにして「Finish」をクリックすると、初回バックアップが実行されます。もちろんサーバーの設定が完了している場合のみです。

図3 インストールの最後の段階で行う設定
図3

Windowsへのリストア

正確に言えばイメージバックアップからのリストアですが、現状イメージバックアップはWindowsからしかできません(macOS対応はベータ版のため考慮外⁠⁠。事実上Windowsへのリストアということになります。

不幸にもランサムウェアに感染してしまった場合、あるいはHDD/SSDが故障してしまった場合は、Bootable CD/USB stick to restore image backupsからisoイメージをダウンロードしCD/DVD-Rに焼くか、USBメモリーに転送してください。

今回はスクリーンショットを撮影する関係上、VirtualBox上に新たに作成した仮想マシンにリストアしています。

リストアイメージから起動すると図4が表示されるので、そのままエンターキーを押します。

図4 リストアイメージの起動
図4

続けて「Graphical/modern Interface」にチェックが入っていることを確認して「OK」でエンターキーを押します図5⁠。

図5 使用するユーザーインターフェースを決定する
図5

すると(おそらく)LXDEでリストアのプログラムが起動した状態になるので、キーボードレイアウトを変更して「Select keyboard layout」をクリックします図6⁠。

図6 キーボードレイアウトを決定する
図6

「Select time zone」では「Asia」⁠Tokyo」を選択して「Select timezone」をクリックします図7⁠。

図7 タイムゾーンを決定する
図7

「Select Client」でリストアするクライアントのホスト名を選択し、⁠Select image」でリストアするバックアップイメージを選択します。⁠Select disk to restore to」でリストアするディスクを選択し、⁠Review」をクリックします図8⁠。

図8 リストアするPCとバックアップイメージを決定する
図8

「Review restore」は最終確認で、選択に間違いがなければ「Start restore」をクリックします図9⁠。

図9 最終確認画面
図9

リストアが完了すると「Restore another image」「Restart machine」ボタンが表示されます図10⁠。今回はこれ以上リストアするイメージはないため、後者をクリックして再起動します。

図10 リストアが完了した
図10

これにより、⁠接続したCD/DVD-RまたはUSBメモリーが優先起動になっていない場合)リストアしたWindowsが起動します。

Ubuntuクライアントからのバックアップとリストア

Ubuntu用のUrBackupクライアントパッケージは存在しないため、汎用インストーラーからインストールします。

インストール方法はBinary Linux client (command line only; with auto-update; x86/AMD64/ARMv6+/ARM64)にあるコマンドラインを参照し、実行してください。

インストール中に2つ質問されます。1つ目はどこにインストールするかで、基本的にはデフォルトの/usr/local以下でいいでしょう。

もう1つはスナップショットメカニズムを使用するかどうかで、今回は不要の4にしています。

簡単な使い方としては、まずバックアップするフォルダーを登録します。例としては次のとおりです。

$ sudo urbackupclientctl add-backupdir -x -d /home
$ sudo urbackupclientctl add-backupdir -x -d /etc

これで/etc以下と/home以下がバックアップの対象となりました。

次のコマンドを実行してバックアップを実行します。

$ sudo urbackupclientctl start -f 

リストアはやや使いにくいのですが(すぐエラーになる⁠⁠、例えばDownloadフォルダーを最新のバックアップから復元したい場合は次のコマンドを実行します。

$ sudo urbackupclientctl restore-start -s -d $HOME/Downloads/ -b last

サーバーからバックアップのアーカイブを取得できるため、コマンドから実行するのではなくそのアーカイブから復元したほうが簡単かもしれません。

おすすめ記事

記事・ニュース一覧