Perangkat air-gapped Google Distributed Cloud (GDC) menggunakan Linux Unified Key Setup (LUKS) untuk mengenkripsi data di disk saat HSM eksternal tidak disediakan. Array RAID5 dibuat di atas 4 drive data, dan satu perangkat LUKS dibuat di atas array RAID5. KEK LUKS dibuat secara acak dan dapat dirotasi.
Dokumen ini menjelaskan langkah-langkah untuk mengganti KEK LUKS yang harus dilakukan untuk:
- rotasi KEK terjadwal secara rutin.
- Eksposur KEK.
Sebelum memulai
Selesaikan langkah-langkah berikut:
- Pastikan Anda memenuhi prasyarat laptop.
- Pastikan Anda dapat login ke tiga node sebagai pengguna root.
Merotasi KEK
Sistem appliance air-gapped Google Distributed Cloud (GDC) menggunakan cluster NetApp ONTAP Select (OTS) dua node yang di-deploy di node bm01 dan bm02 (biasanya tanpa GPU). Setiap node memiliki 4 drive data khusus yang dikonfigurasi sebagai array RAID5 untuk meningkatkan redundansi. Satu perangkat yang dienkripsi LUKS disusun di atas setiap array RAID5 untuk memastikan keamanan data.
KEK enkripsi LUKS disimpan di disk booting yang berada di /etc/luks. Merotasi KEK LUKS memerlukan rotasi enkripsi LUKS di kedua node untuk menjaga keamanan di seluruh cluster. Untuk melakukan rotasi KEK reguler atau jika KEK terekspos, ulangi langkah-langkah berikut di bm01 dan bm02:
Login ke node sebagai pengguna root.
Pastikan perangkat RAID ada, dan dapatkan jalur lengkap
RAID_DEVICE.ll /dev/mdPastikan file kunci LUKS lama ada, dan dapatkan jalur lengkap
OLD_KEY.ll /etc/luksTambahkan KEK lama ke slot kunci 1, sehingga slot kunci 0 dan 1 memiliki KEK yang sama.
cryptsetup luksAddKey RAID_DEVICE OLD_KEY --key-slot 1 --key-file OLD_KEYGanti
RAID_DEVICEdanOLD_KEYdengan jalur dari langkah sebelumnya.Hapus KEK lama dari slot kunci 0.
cryptsetup luksKillSlot RAID_DEVICE 0 --key-file OLD_KEYBuat KEK baru, dan simpan di file kunci baru
NEW_KEY.dd if=/dev/urandom of=NEW_KEY bs=512 count=1 chmod u=r,go-rwx NEW_KEYGanti
NEW_KEYdengan jalur lengkap ke file kunci baru.Tambahkan KEK baru ke slot kunci 0.
cryptsetup luksAddKey RAID_DEVICE NEW_KEY --key-slot 0 --key-file OLD_KEYMenyetel konfigurasi persisten untuk membuka atau menutup perangkat LUKS saat booting atau mematikan mesin.
DEVICE_UUID=$(cryptsetup luksUUID RAID_DEVICE) echo "luksrd5 UUID=${DEVICE_UUID} NEW_KEY luks,discard" > /etc/crypttabHapus KEK lama dari slot kunci 1.
cryptsetup luksKillSlot RAID_DEVICE 1 --key-file NEW_KEYPastikan KEK baru berfungsi.
cryptsetup luksDump --dump-master-key RAID_DEVICE --key-file NEW_KEYPastikan KEK lama tidak berfungsi lagi.
cryptsetup luksDump --dump-master-key RAID_DEVICE --key-file OLD_KEYHapus KEK lama.
rm OLD_KEY
Jika node di-reboot sebelum rotasi selesai, perangkat LUKS masih dapat dibuka setelah booting. Anda dapat melanjutkan langkah-langkah setelah node kembali.