暗号化されたパーティションとネットワーク上の他のサーバーに格納されているキーファイルを使用して、Linuxサーバー上のデータを物理的な盗難から保護したいと思います。他のサーバーは実際に私のルーターです。非常に小さく、サーバーと物理的な場所が異なり、SSH経由でアクセスできます。
誰かがある場所からサーバーを盗み、2番目の場所に侵入してルーターを見つけて盗んだ後、同じネットワークに設定することはほとんどないと思います。つまり、私のサーバーが自分のネットワークに接続されている限り、常に再起動してすべてのサービスを開始しますが、私の重要なデータが建物から出ると保護されます。
開始順序は次のようになります。
- 暗号化されていない論理パーティション(など)の
/
マウント/var
/tmp
- ネットワーキング開始
- SSH経由で別のサーバーからキーを取得する
- 暗号化された物理パーティションのロック解除
- 暗号化された論理パーティションのマウント(
/home
など/opt
) - Dockerなどの暗号化されたパーティションを使用するように構成された別のサービスを開始します。
キーを取得するためのスクリプトを挿入するためにLVM /暗号化された起動シーケンスを接続する方法、またはその手順の前にネットワークが起動するように起動シーケンスを変更する方法がわかりません。
Linuxシステムのrootユーザーは、パスワードなしでSSHを実行できるようにルーターにSSHキーを設定します。
PASSPHRASE=$(ssh router cat /config/disk-passphrase.txt)
cryptsetup luksOpen /dev/sda6 sda6_crypt <<< $PASSPHRASE
必要に応じて変更する意向がありますが、これまでのディスクレイアウトは次のとおりです。
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda2
├─sda5 LVM2_memb fjRt18-XKFm-z3RN-1D7t-zkuw-sMal-KyOZ6Z
│ ├─garage--main--vg-tmp ext4 e90a6186-bf09-41f7-b8bc-392e0fba2207 /tmp
│ ├─garage--main--vg-var ext4 ee878d29-3b44-463f-adba-083155ea29da /var
│ └─garage--main--vg-root ext4 f4fa0962-3c2c-456c-9ee0-84c47d6c12c9 /
├─sda1 ext4 60d06dea-a07b-4af3-bf30-70fa3f82267d /boot
└─sda6 crypto_LU 31b7b643-188c-4ae9-bac6-75316b37d562
└─sda6_crypt LVM2_memb ynUOJB-iRsP-djql-Tzrl-nfHh-Smga-ji4OcT
├─garage--enc--vg-opt ext4 2f149989-f64c-4cab-8a47-fea80ebf4c8e /opt
├─garage--enc--vg-swap_0 swap bab96476-7209-42c7-9f2a-113dd5c4da67 [SWAP]
└─garage--enc--vg-home ext4 c73b9432-ec32-412c-baa4-1329adef9c56 /home