Red Hat 6.x / CentOS 6.x
Jeśli nie mamy możliwości dodania do naszej maszyny dodatkowej partycji, którą zaszyfrujemy LUKS-em, a zależy nam na kawałku bezpiecznej przestrzeni, możemy poradzić sobie z tym problemem symulując partycję w oparciu o zwykły plik.Procedura samego szyfrowania takiej partycji nie różni się do tworzenia partycji LUKS opisanej tutaj, ale zanim przejdziemy do procedury szyfrowania, musimy utworzyć plik i dowiązać go poprzez urządzenie loop jako partycję systemową.
Partycja, w przeciwieństwie do pliku nie rośnie wraz z dopisywaniem do niej danych, dlatego, jeśli chcemy symulować partycję, musimy utworzyć plik o zadeklarowanej wielkości.
[root@centos67 luksfile]# dd if=/dev/urandom of=/luksfile/partycja_luks bs=1024 count=1000000
1000000+0 records in
1000000+0 records out
1024000000 bytes (1.0 GB) copied, 134.359 s, 7.6 MB/s
1000000+0 records in
1000000+0 records out
1024000000 bytes (1.0 GB) copied, 134.359 s, 7.6 MB/s
Utworzyliśmy w ten sposób 1GB plik, z którego powstanie nasza partycja.
Teraz zasymulujemy w systemie partycję odnoszącą się do naszego pliku:
[root@centos67 luksfile]# losetup /dev/loop0 /luksfile/partycja_luks
Polecenie to podwiąże do urządzenia /dev/loop0 nasz plik.
Od tej pory widoczny on będzie jako urządzenie blokowe, na którym możemy wykonywać operacje związane z szyfrowaniem.
[root@centos67 luksfile]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 976.6M 0 loop
sr0 11:0 1 1024M 0 rom
sdb 8:16 0 8G 0 disk
└─vg_luks-lv_luks (dm-2) 253:2 0 8G 0 lvm /luksfile
sda 8:0 0 8G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 7.5G 0 part
├─vg_centos-lv_root (dm-0) 253:0 0 6.7G 0 lvm /
└─vg_centos-lv_swap (dm-1) 253:1 0 816M 0 lvm [SWAP]
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 976.6M 0 loop
sr0 11:0 1 1024M 0 rom
sdb 8:16 0 8G 0 disk
└─vg_luks-lv_luks (dm-2) 253:2 0 8G 0 lvm /luksfile
sda 8:0 0 8G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 7.5G 0 part
├─vg_centos-lv_root (dm-0) 253:0 0 6.7G 0 lvm /
└─vg_centos-lv_swap (dm-1) 253:1 0 816M 0 lvm [SWAP]
Utworzyliśmy partycję, więc możemy przystąpić do samego kodowania, na podstawie wspomnianego wcześniej wpisu:
[root@centos67 ~]# cryptsetup luksFormat /dev/loop0
WARNING!
========
This will overwrite data on /dev/loop0 irrevocably.
Are you sure? (Type uppercase yes): YES
Enter LUKS passphrase: [haslo]
Verify passphrase: [haslo]
[root@centos67 ~]# cryptsetup luksOpen /dev/loop0 luksLoop
Enter passphrase for /dev/loop0: [haslo]
[root@centos67 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 976.6M 0 loop
└─luksLoop (dm-3) 253:3 0 974.6M 0 crypt
sr0 11:0 1 1024M 0 rom
sda 8:0 0 8G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 7.5G 0 part
├─vg_centos-lv_root (dm-0) 253:0 0 6.7G 0 lvm /
└─vg_centos-lv_swap (dm-1) 253:1 0 816M 0 lvm [SWAP]
sdb 8:16 0 8G 0 disk
└─vg_luks-lv_luks (dm-2) 253:2 0 8G 0 lvm /luksfile
WARNING!
========
This will overwrite data on /dev/loop0 irrevocably.
Are you sure? (Type uppercase yes): YES
Enter LUKS passphrase: [haslo]
Verify passphrase: [haslo]
[root@centos67 ~]# cryptsetup luksOpen /dev/loop0 luksLoop
Enter passphrase for /dev/loop0: [haslo]
[root@centos67 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 976.6M 0 loop
└─luksLoop (dm-3) 253:3 0 974.6M 0 crypt
sr0 11:0 1 1024M 0 rom
sda 8:0 0 8G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 7.5G 0 part
├─vg_centos-lv_root (dm-0) 253:0 0 6.7G 0 lvm /
└─vg_centos-lv_swap (dm-1) 253:1 0 816M 0 lvm [SWAP]
sdb 8:16 0 8G 0 disk
└─vg_luks-lv_luks (dm-2) 253:2 0 8G 0 lvm /luksfile
Pozostaje utworzyć filesystem, zamountować partycję, i cieszyć się bezpieczną przestrzenią.
Odwiązanie urządzenia od pliku
Usunięcie utworzonej partycji, poza zwyczajną procedurą zamknięcia dostępu do zawartości filesystemu obejmie jeszcze jeden element - usunięcie dowiązania pliku do partycji loop:
[root@centos67 ~]# losetup -d /dev/loop0
[root@centos67 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
sda 8:0 0 8G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 7.5G 0 part
├─vg_centos-lv_root (dm-0) 253:0 0 6.7G 0 lvm /
└─vg_centos-lv_swap (dm-1) 253:1 0 816M 0 lvm [SWAP]
sdb 8:16 0 8G 0 disk
└─vg_luks-lv_luks (dm-2) 253:2 0 8G 0 lvm /luksfile
[root@centos67 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
sda 8:0 0 8G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 7.5G 0 part
├─vg_centos-lv_root (dm-0) 253:0 0 6.7G 0 lvm /
└─vg_centos-lv_swap (dm-1) 253:1 0 816M 0 lvm [SWAP]
sdb 8:16 0 8G 0 disk
└─vg_luks-lv_luks (dm-2) 253:2 0 8G 0 lvm /luksfile
Inicjalizacja partycji przy starcie systemu
Możemy oczywiście skonfigurować system, aby inicjalizował partycję przy starcie systemu. W tym celu musimy dodać odpowiednie wpisy w pliku wykonywanym podczas startu, np. w /etc/rc.local:
[root@centos67 ~]# vi /etc/rc.local
losetup /dev/loop0 /luksfile/partycja_luks
cryptsetup --key-file /root/lukspass luksOpen /dev/loop0 luksLoop
mount /dev/mapper/luksLoop /secret
losetup /dev/loop0 /luksfile/partycja_luks
cryptsetup --key-file /root/lukspass luksOpen /dev/loop0 luksLoop
mount /dev/mapper/luksLoop /secret
Brak komentarzy:
Prześlij komentarz