QNAP NAS 暗号化フォルダが消えた話

# 0. あらすじ

QNAPの家庭用NAS TS-1685 に予期せぬ再起動発生。
断末魔も叫べなかったのかSyslogサーバに再起動前の記録も無く原因不明。
kernel panicか？？
自家用のファイルサーバやし再起動かかっても動いてればまぁいいや。

と思ったら…暗号化を設定した共有フォルダが空っぽになっていた。
ファイルが全部消えた！？


# 1. まずは現況確認

## 1.1. 管理画面での調査

ウェブ管理画面へログイン。
`コントロールパネル` - `共有フォルダー`　を開くとそこには。。
![qnap1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96018/183d8baf-9ac2-26b9-04bb-225961fb307f.jpeg)
サイズもファイル数もゼロという絶望的な表示に萎える。
さてどうしたものか。。

## 1.2. NASへシェルログインして調査

QNAPのNASはSSHでシェルログイン可能なのでログインしてみる。
まずはマウント状況を確認。

```
[~] # df /share/CACHEDEV1_DATA/
Filesystem                Size      Used Available Use% Mounted on
/dev/mapper/cachedev1
                        126.5T     26.3T    100.3T  21% /share/CACHEDEV1_DATA
[~] #
```

ぉ？
ディスクは空っぽにはなっていない。
もしやファイルは残っている？？
かすかな期待。

```
[~] # ls -l /share/CACHEDEV1_DATA/
total 512
drwxrwxrwx  41 admin administrators   4096 2020-02-10 23:31 ./
drwxrwxrwt  31 admin administrators    820 2020-02-10 23:31 ../
drwxrwxrwx 182 admin administrators 143360 2020-02-10 22:57 VIDEO/
drwxrwxrwx   2 admin administrators   4096 2020-02-10 23:32 XDCAM50/
[~] # 
```

よし、ディレクトリもちゃんと残っている。

```
[~] # ls -l /share/CACHEDEV1_DATA/XDCAM50
total 0
[~] #
```

しかしその望みは一瞬にして消え失せたのであった。
悲しすぎる＞＜


## 1.3. いや、必ず残っているはずだ

ディスクが消費されているからどこかに必ず残っているはずである。
当該ボリュームを調査すると。

```
[~] # ls -la /share/CACHEDEV1_DATA/
total 512
drwxrwxrwx  41 admin administrators   4096 2020-02-10 23:31 ./
drwxrwxrwt  31 admin administrators    820 2020-02-10 23:31 ../
drwxrwxrwx  99 admin administrators  53248 2020-02-04 19:59 .__eN__XDCAM50/
drwxr-xr-x   3 admin administrators   4096 2019-06-01 15:07 .__eN___qnap_digest/
drwxrwxrwx 182 admin administrators 143360 2020-02-10 22:57 VIDEO/
drwxrwxrwx   2 admin administrators   4096 2020-02-10 23:32 XDCAM50/
[~] #
```

ぉゃ？
なにやらそれらしきディレクトリが。
早速中を調べると。

```
[~] # ls -l /share/CACHEDEV1_DATA/.__eN__XDCAM50
total 9313980
-rw-rw-rw-   1 30001105       30000514 7780499456 2019-11-26 22:35 ECRYPTFS_FNEK_ENCRYPTED.FWa-84vp0EpZSkY.k0QKM0eC8gl9oK.bFXPO.EfsRY72lMR7O0wkoi1rjk--
-rw-rw-rw-   1 30001105       30000514 1194262528 2019-10-14 15:43 ECRYPTFS_FNEK_ENCRYPTED.FXa-84vp0EpZSkY.k0QKM0eC8gl9oK.bFXPOZSvB702UXs8qFy2IsazClJalVh0JIOFzRFEUaZYQkQo-
-rw-rw-rw-   1 30001105       30000514   85000192 2017-11-08 22:13 ECRYPTFS_FNEK_ENCRYPTED.FXa-84vp0EpZSkY.k0QKM0eC8gl9oK.bFXPOPUr-e3ej8s54U4SAMiFAAP2JtSIIBHo4JfdkSXczaJk-
[~] # 
```

ぉ？　ぉぉ？　ぉぉぉ？
暗号化されているけどファイルが残っているようだ。
これならなんとかなるはず。


## 1.4. 暗号化の仕組みを考える

暗号化されたディレクトリのファイル群から、ファイル名も暗号化されているがファイル自体は元のファイルが個別に暗号化され保存されているように見える。
QNAP NASの共有フォルダー暗号化は共通鍵暗号方式である。
ということは、鍵を覚えている限り復元可能ということだ！！


## 1.5. 復号化を試みる

共通鍵暗号ということは同じ鍵を使用して別の共有フォルダを作成し、その共有フォルダの暗号化されている側のディレクトリへ復号化したいファイルを置けば復号化されファイルが復活するはずである。
まず管理画面から `TEST` という新しい暗号化共有フォルダを作成する。
その暗号化ファイル格納ディレクトリ `/share/CACHEDEV1_DATA/.__eN__TEST/` へ復号化したいファイルをコピーする。

```
[~] # cp /share/CACHEDEV1_DATA/.__eN__XDCAM50/* /share/CACHEDEV1_DATA/.__eN__TEST/
[~] # 
```

そして共有フォルダ `TEST` を確認すると。。

```
[/] # ls -l /share/CACHEDEV1_DATA/TEST/
total 512
-rw-rw-rw- 1 admin administrators   420 2014-11-22 20:46 CUEUP.XML
-rw-rw-rw- 1 admin administrators   284 2014-09-24 10:27 DISCMETA.XML
-rw-rw-rw- 1 admin administrators 65142 2014-11-22 20:46 MEDIAPRO.XML
[/] #
```

ファイル復活！！
無事ファイルが復号化され一安心。
しかしこれは動作試験。手順が煩雑なので合理的な手順を考えよう。



# 2. 消えたファイルの復元方法

## 2.1. 目的

ファイルが消えてしまった暗号化した共有フォルダを一発復元することを目的とする。
これは非公式な手順であり、業務で使用する場合は有償のデータ復元サービスを利用すべし。
ご利用は計画的に。

## 2.2. 作業手順

## 2.2.1. 管理画面を開く

ウェブ管理画面へログインする。
`コントロールパネル` - `共有フォルダー` を開く。

## 2.2.2. 既存共有フォルダーの削除

共有フォルダー一覧にある対象フォルダー名の左側のチェックボックスをチェック。
![qnap2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96018/f1988961-9454-cf22-3fd4-355037b1b288.jpeg)
`削除` をクリックすると以下のダイアログが出現する。
![qnap3.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96018/a1603625-5e95-adce-2299-989ef6ba2692.jpeg)
ここでは、絶対にチェックボックスに触れてはいけない。
そんなことをすればファイルが本当に全部消えてしまう！
何もせずに `はい` をクリックする。
![qnap4.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96018/837fcd25-1f15-a675-677c-e365ac4eed9c.jpeg)
確認のダイアログが出現するので `OK` をクリックする。
共有フォルダー一覧から削除される。

## 2.2.3. 共有フォルダーの再作成

`作成` - `共有フォルダー` をクリックする
![qnap5.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96018/88c5db46-8ece-1ba0-87c6-5aeeb27ce2f1.jpeg)

以下のように共有フォルダーの作成画面が出現する。
![qnap6.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96018/5b77f27e-dc2e-68bf-b05a-dc4fd41fa451.jpeg)
ここでは従前と完全に同じ内容を入力する。特に
- フォルダー名
- 暗号化のパスワード（鍵）
を間違えると復元されないから入力は慎重に。

## 2.2.4. アクセス権の再設定と復元確認

共有フォルダーを一旦削除しているためアクセス権の再設定が必要となる。
各自環境が異なるし通常の手順なのでここでは割愛する。

アクセス権を設定したら実際にアクセスし確認する。
![qnap7.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96018/214c6dc1-dca9-8c0d-5cbd-dac0948cb938.jpeg)
無事ウィンドウズ端末からアクセスできファイルが復元された。

以上で復元作業は終了。

## 2.2.5. 失敗したら

共有フォルダーの再作成で間違えるとファイルが復元されず失敗する。
しかし心配無用。
暗号化されている元データは残っているから手順 2.2.2. からやり直せばよい。
何度でもできるので焦らずに。



# 3. まとめ

これだから民生用のNASは恐ろしい。
QNAPに限らずSynologyやDroboとかも同じなんだろうけど。。


------

以上