RHECEシリーズのディスク暗号化------LUKS暗号化


LUKS(Linux Unified Key Setup)はLinuxハードディスクの暗号化に標準を提供しています.それは異なるLinuxリリースバージョンに通用するだけでなく、マルチユーザー/パスワードもサポートしています.また、その暗号化鍵はパスワードとは独立しているため、パスワードが秘密になっていても、ハードディスク全体を再暗号化する必要はありません.パスワードを変更するだけで安全になります.
LUKSは標準的なディスク暗号化フォーマットを提供するため、互換性が高いだけでなく、マルチユーザパスワード管理のセキュリティメカニズムも提供します.
私たちのオペレーティングシステムでは、ディスクの暗号化を担当するツールはCryptsetupであり、デフォルトではシステムにインストールされています.
Cryptsetupはパーティションレベルの暗号化であるため、ファイルシステムレベルよりも下位レベルで動作し、暗号化されたブロックデバイス上でファイルシステムを作成し、最後にマウントして使用する.したがって、Cryptsetupを使用してパーティションを暗号化すると、このパーティションは直接マウントされません.
LUKSはdevice mapper(dm)メカニズムに基づく暗号化スキームでもある.暗号化されたパーティションを使用する場合は、暗号化されたパーティションを/dev/mapperというディレクトリにマッピングする必要があります.マッピングが完了すると、このマッピングをマウントして使用するしかなく、マッピングを行うときに暗号化パーティションの暗号化パスワードを入力する必要があります.
したがって、通常、暗号化パーティションに敏感なファイルを配置し、ファイルのセキュリティを強化します.
ここではCrypsetupツールの暗号化の特徴を簡単に説明します.
1、暗号化後、直接マウントできない
2、暗号化されたハードディスクを紛失してもデータが盗まれる心配はない
3、マウントするには、暗号化後にマッピングを行う必要があります
次に、暗号化パーティションの作成と使用に関する操作を開始します.
1、fdiskツールを使って新しいパーティションを作成する
   fdisk      ( )!

2、この場合、より高いセキュリティを得るためには、/dev/urandomのランダムデータを使用してデバイスに記入することができます.暗号化密度を大幅に向上させることができるが、時間がかかるという欠点もある.
[root@nolinux ~]# 
dd if=/dev/urandom of=/dev/sda6   #     

3、ツールCryptsetupを使用してパーティションを暗号化する.このステップで警告メッセージが表示され、オペレータにこのステップが/dev/sda 6のデータを損なう可能性があることを示します.パーティションまたはディスクがきれいであることを確認したら、YESに大胆に入力します.注意は大文字のYESに違いない!次に、パスワードを2回入力すればいいです.このパスワードは忘れてはいけません.
[root@nolinux ~]# cryptsetup luksFormat /dev/sda6
WARNING!
========
This will overwrite data on /dev/sda6 irrevocably.
Are you sure? (Type uppercase yes): YES   #    YES,    
Enter LUKS passphrase:                    #         
Verify passphrase:                        #           

4、Cryptsetupを使用して、先ほどの暗号化パーティション/dev/sda 6をマッピングし続けます.マッピングファイルは/dev/mapperディレクトリに格納されます.このステップのマッピングは必須です.しないと暗号化パーティションは使用できません.また、マッピング時には、前のステップで暗号化した鍵を入力する必要があるというメッセージも表示されます.
[root@nolinux ~]# cryptsetup luksOpen /dev/sda6 nolinux  #           
Enter passphrase for /dev/sda6: 
[root@nolinux ~]# ll /dev/mapper/nolinux    #             
lrwxrwxrwx 1 root root 7 7    9 21:06 /dev/mapper/nolinux -> ../dm-0

マッピングを行うプロセスは、暗号化パーティションを開くプロセスに相当します.したがって、マッピングが完了すると、暗号化パーティションが開いていることを示します.この場合、マッピングにアクセスすることで、マッピングされたデバイスファイルを操作することは、暗号化パーティションを操作することに等しい.
5.復号化されたマッピングファイル上にファイルシステムを作成する(ここではext 4ファイルシステムを使用する)
[root@nolinux ~]# mkfs -t ext4 /dev/mapper/nolinux
mke2fs 1.41.12 (17-May-2010)
。。。  #     
This filesystem will be automatically checked every 27 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

6.マウント復号後のマッピング装置上のファイルシステム
[root@nolinux ~]# mkdir /nolinux   #     
[root@nolinux ~]# mount /dev/mapper/nolinux /nolinux  #      

7、マウントされたパーティションに対してファイルの読み書きテストを行う
[root@nolinux ~]# echo redhat > /nolinux/test
[root@nolinux ~]# cat /nolinux/test
redhat

以上、LUKS暗号化パーティションの完全な作成プロセスについて、使用済みのパーティションを閉じたい場合、どのような操作を行いますか?下を見てください
1、マウントポイントのアンインストール
[root@nolinux ~]# umount /nolinux

2.復号化されたマッピングデバイスファイルをアンインストールする
[root@nolinux ~]# cryptsetup luksClose nolinux

注:暗号化パーティションに再びアクセスするには、上記の手順4と手順6を繰り返します.
OK!暗号化パーティションのオープン使用とクローズ保護の手順について説明しました.もしあなたがよく使うならば、あなたはシステムが起動する時に自動的にあなたの暗号化パーティションをマウントする必要があります.この時どうすればいいですか?
LUKSで暗号化されたパーティションはマッピングされ、マッピングするときにパスワードを入力する必要があることがわかります.
LUKSのデフォルトでは、次の操作を参照してください.
暗号化パーティションの永久マウント
1、Cryptsetupを用いて暗号化パーティションマッピングを行う
[root@nolinux ~]# cryptsetup luksOpen /dev/sda6 nolinux  #           
Enter passphrase for /dev/sda6: 
[root@nolinux ~]# ll /dev/mapper/nolinux    #             
lrwxrwxrwx 1 root root 7 7    9 37:06 /dev/mapper/nolinux -> ../dm-0

2、etcディレクトリの下にcryptsetup暗号化パーティションのマッピングと対応するパスワードファイルの処理を担当するcrypttabファイルがあります.したがって、/etc/crypttabファイルにエントリを追加する必要があります.
[root@nolinux ~]# echo 'nolinux /dev/sda6 /root/passwd' >> /etc/crypttab #              
[root@nolinux ~]# cat /etc/crypttab
nolinux /dev/sda6 /root/passwd

3、パスワードファイルの作成
パスワードファイルを作成するには、/etc/crypttabファイルで指定したパスワードファイルにパスワードを直接配置する方法と、システムが持参した乱数生成装置/dev/randomを使用して4 Kの乱数ファイルを生成する方法の2つがあります.
[root@nolinux ~]# echo redhat > /root/passwd
 
[root@nolinux ~]# dd if=/dev/random of=/root/passwd bs=4096 count=1
   0+1    
   0+1    
128  (128 B)   ,0.000712986  ,180 kB/ 

4、ツールCryptsetupを使用して暗号化パーティションのLUKS鍵ファイルを手動で追加する.この手順では、パーティションを暗号化するときのパスワードを入力するよう求められます.
[root@nolinux ~]# cryptsetup luksAddKey /dev/sda6 /root/passwd   #            
Enter any passphrase:

5、/etc/fstabに永久マウントエントリを追加する
[root@nolinux ~]# echo '/dev/mapper/nolinux /nolinux  ext4 defaults,_netdev 0 0' >> /etc/fstab
[root@nolinux ~]# tail -1 /etc/fstab
/dev/mapper/nolinux /nolinux  ext4 defaults,_netdev 0 0

注意:ここではマウントパラメータを使用します_Netdevの目的は、このデバイスに問題が発生してシステム全体が起きないことを防止するために使用されています.Netdev以降、この暗号化パーティションは掛けられず、システム全体の起動にも影響しません.
6、マウントの実行
[root@nolinux ~]# mount -a  #           /etc/fstab,          mount -a       
[root@nolinux ~]# df -h|tail -1
/dev/mapper/nolinux   95M  5.6M   85M   7% /nolinux

もちろん、ここではパソコンを直接再起動して自動マウントの機能テストを行うこともできます.
なお、LUKSで暗号化されたディスクの状態については、暗号化パーティションが開いた状態(つまりマッピングが確立された場合)で、次のコマンドを使用して確認できます.
[root@nolinux ~]# cryptsetup status /dev/mapper/nolinux 
/dev/mapper/nolinux is active and is in use.
  type:  LUKS1
  cipher:  aes-cbc-essiv:sha256
  keysize: 256 bits
  device:  /dev/sda6
  offset:  4096 sectors
  size:    200704 sectors
  mode:    read/write

以上、LUKSの暗号化に関する内容です.