Linuxのディスク暗号化LUKS


LUKS(Linux Unified Key Setup)は、Linuxハードディスクパーティションの暗号化に標準を提供し、異なるLinuxリリースバージョンだけでなく、マルチユーザー/パスワードもサポートします.暗号化キーはパスワードとは独立しているため、パスワードが暗号化されていない場合は、ハードディスク(HDD)を再暗号化することなく、パスワードを迅速に変更できます.標準的なディスク上のフォーマットを提供することで、互換性の分散が容易になるだけでなく、複数のユーザーパスワードのセキュリティ管理も可能になります.ファイルシステムをマウントするには、まず暗号化されたボリュームを復号する必要があります.
ツール:cryptsetup(デフォルトでインストールされています)
共通パラメータ:luksFormat、luksOpen、luksClose、luksAddKey
 
cryptsetupを使用してパーティションを暗号化すると、このパーティションは直接マウントできなくなります.LUKSはdevice mapperメカニズムに基づく暗号化スキームでもある.このパーティションを使用するには、このパーティションをマッピングし、/dev/mapperというディレクトリにマッピングする必要があります.このマッピングをマウントするしか使用できません.しかし、マッピングを行うには復号パスワードを入力する必要があります.
注意:暗号化を解除するには、LUKSパーティションを再フォーマットする前に、パーティション内のファイルをバックアップする必要があります.
 
Crypsetupツールの暗号化の特徴:
Ø暗号化後、直接マウントできない
Ø暗号化後、ハードディスクが紛失してもデータが盗まれる心配はない
Øマウントするには、暗号化後にマッピングする必要があります
 

   
   
   
   
  1. LUKS  
  2. [root@rhel6 ~]# cryptsetup luksFormat /dev/vda8                     // LUKS ( LUKS ) 
  3. WARNING! 
  4. ======== 
  5. This will overwrite data on /dev/vda8 irrevocably. 
  6.  
  7. Are you sure? (Type uppercase yes): YES                      // YES 
  8. Enter LUKS passphrase:                                   //  
  9. Verify passphrase:  
  10.  
  11.  
  12. [root@rhel6 ~]# cryptsetup luksOpen /dev/vda8 luks_test             // LUKS , /dev/mapper/ luks_test  
  13. Enter passphrase for /dev/vda8:                                   // luks LUKS  
  14.  
  15. 、 、  
  16. [root@rhel6 ~]# mkfs.ext4 /dev/mapper/luks_test  
  17. [root@rhel6 ~]# mount /dev/mapper/luks_test /luks/ 
  18.  
  19. ,  
  20. [root@rhel6 ~]# umount /luks/ 
  21. [root@rhel6 ~]# cryptsetup luksClose luks_test                      // LUKS  
  22. [root@rhel6 ~]# mount /dev/vda8 /luks/                           // /dev/vda8  
  23. mount: unknown filesystem type 'crypto_LUKS' 
  24.  
  25. LUKS : 
  26. [root@rhel6 ~]# dd if=/dev/urandom of=keyfile bs=1k count=4 
  27. 4+0 records in 
  28. 4+0 records out 
  29. 4096 bytes (4.1 kB) copied, 0.00206882 s, 2.0 MB/s 
  30. [root@rhel6 ~]# cryptsetup luksAddKey /dev/vda8 keyfile 
  31. Enter any passphrase:  
  32. [root@rhel6 ~]# vi /etc/crypttab  
  33. name    /dev/vda8       /root/keyfile   luks 
  34. [root@rhel6 ~]# vi /etc/fstab
  35. /dev/mapper/name        /luks                   ext4    _netdev         0 0 
  36.  
  37. / / LUKS  
  38. [root@rhel6 ~]# cryptsetup luksAddKey /dev/vda8 
  39. Enter any passphrase:  
  40. Enter new passphrase for key slot:  
  41. Verify passphrase:  
  42. [root@rhel6 ~]# cryptsetup luksRemoveKey /dev/vda8 
  43. Enter LUKS passphrase to be deleted:  
  44. [root@rhel6 ~]# cryptsetup luksAddKey /dev/vda8 keyfile 
  45. Enter any passphrase: