вторник, 18 ноября 2014 г.

Криптоконтейнера LUKS

CONTAINERS

Криптоконтейнера LUKS

Введение

    Думаю все преимущества криптования и контейнеров очевидны, по этому предлагаю сразу приступить к делу. И так, в качестве подготовки создаем все необходимые каталоги mkdir -p ./container/mount ; cd ./container и переходим в папку ./container. Все команды выполняем от обычного пользователя.

Создание контейнера с паролем

  1. Создаем файл обьемом 100 мегабайт со всяким мусором:
    dd if=/dev/urandom of=container.img bs=1M count=100
    100+0 записей получено
    100+0 записей отправлено
    скопировано 104857600 байт (105 MB), 31,3595 c, 3,3 MB/c





  • Инициализируем созданный файл как luks систему с паролем:
    sudo cryptsetup -v -c aes-xts-plain64 -s 512 --hash sha512 --iter-time 5000 luksFormat ./container.img
    WARNING!
    ========
    This will overwrite data on ./container.img irrevocably.
    Are you sure? (Type uppercase yes): YES
    Enter passphrase:
    Verify passphrase:
    Command successful.




  • Теперь файл смело файл можно называть контейнером, посмотрим информацию о нем:
    sudo cryptsetup luksDump ./container.img
    LUKS header information for container.img
    Version:           1
    Cipher name:       aes
    Cipher mode:       xts-plain64
    Hash spec:         sha512
    Payload offset:    4096
    MK bits:           512
    MK digest:         dd d2 0c fe 0f 81 1b 35 b5 bd da e0 db d8 f6 77 b9 60 bc cb
    MK salt:           31 80 76 d8 2c e6 aa 0d 84 32 f1 6d b6 dd af 78
                       c8 a5 09 9a f6 05 83 41 5c 06 93 46 19 f6 c8 d9
    MK iterations:     43750
    UUID:              6e49e36c-0d08-4a6c-bbd1-1028143b2864
    Key Slot 0: ENABLED
        Iterations:             88397
        Salt:                   27 9c b3 8e cb 2a 01 a3 5b 37 71 4f f8 5d 02 1d
                                  c0 f2 40 50 4d 8f 8c 9a 2e 62 a0 f0 75 c3 c1 4f
        Key material offset:    8
        AF stripes:                4000
    Key Slot 1: DISABLED
    Key Slot 2: DISABLED
    Key Slot 3: DISABLED
    Key Slot 4: DISABLED
    Key Slot 5: DISABLED
    Key Slot 6: DISABLED
    Key Slot 7: DISABLED





  • Открываем контейнер:
    sudo cryptsetup luksOpen ./container.img container
    Enter passphrase for ./container.img:





  • Смотрим что у нас вышло:
    ls /dev/mapper/
    container@ control
    sudo dmsetup info container
    Name:              container
    State:             ACTIVE
    Read Ahead:        256
    Tables present:    LIVE
    Open count:        0
    Event number:      0
    Major, minor:      254, 0
    Number of targets: 1
    UUID: CRYPT-LUKS1-6e49e36c0d084a6cbbd11028143b2864-container

    lsblk -p
    NAME              MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
    /dev/sda            8:0    0 149,1G  0 disk
    ├─/dev/sda1         8:1    0  94,1M  0 part  /boot
    ├─/dev/sda2         8:2    0 972,7M  0 part  [SWAP]
    ├─/dev/sda3         8:3    0  18,6G  0 part  /
    └─/dev/sda4         8:4    0 129,4G  0 part  /home
    /dev/loop0          7:0    0   100M  0 loop
    └─/dev/mapper/container 254:0    0    98M  0 crypt 






  • Форматируем только что созданное блочное устройство. Выберем файловую систему NTFS для использования в том числе и на виндовсе, вы можете выбрать любую другую ФС.:
    sudo mkfs.ntfs -L CONTAINER /dev/mapper/container
    Cluster size has been automatically set to 4096 bytes.
    Initializing device with zeroes: 100% - Done.
    Creating NTFS volume structures.
    mkntfs completed successfully. Have a nice day.




  • Монтируем контейнер, делаем папку контейнера своей
    user=$(id -nu); group=$(id -ng); sudo mount -o uid=$user,gid=$group /dev/mapper/container ./mount/





  • Все готово для работы, можно пользоватся, проверим:
    ls -la ./mount/
    drwxrwxrwx 1 igor users 4096 ноя 16 16:33 ./
    drwxr-xr-x 4 igor users 4096 ноя 16 13:10 ../
    mount | grep container
    /dev/mapper/container on /home/igor/Templates/container/mount type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096)





  • Для отключения контейнера:
    sudo umount ./mount
    sudo cryptsetup luksClose container
  • Комментариев нет:

    Отправить комментарий

    Установка последнего стабильного ядра в RHEL-7, SL-7 or CentOS-7

    В этом кратком руководстве, мы покажем вам, как  модернизировать ядро своего CentOS 7 до последней стабильной версии. Я собираюсь использов...