Все, что связано с форексом

онлайн займы

Объявления

    Нет ни одного объявления.


      Шифрование жесткого диска в Linux при помощи dm-crypt

      Поделиться
      avatar
      Admin
      Admin

      Сообщения : 2628
      Дата регистрации : 2011-03-09
      Откуда : МИР

      Шифрование жесткого диска в Linux при помощи dm-crypt

      Сообщение автор Admin в Пн Янв 30, 2017 11:05 pm

      После перехода на Arch Linux у меня возникла проблема выбора решения для шифрования домашнего каталога. Отсутствие шифрования — не вариант, потому что как минимум ноутбук могут украсть. Мне не хочется потом в панике бегать менять пароли и сбрасывать сессии на всех сайтах, от которых утекли куки. Сначала я попробовал encfs. Но это решение быстро потеряло все мои данные (не говоря уже про известную проблему с длинными именами файлов), поэтому от него пришлось отказаться. На Reddit многие посоветовали dm-crypt, на нем я в итоге и остановился.

      Примечание: Если вы читали более раннюю статью Шифрование жесткого диска во FreeBSD с помощью geli, вам может быть интересно узнать, что dm-crypt — решение полностью аналогичное, только команды называются по-другому. Еще из достойных альтернатив, пожалуй, стоит обратить внимание на VeraCrypt, актуальный нынче форк знаменитого TrueCrypt.

      Итак, создаем файл размером 200 Гб под зашифрованный диск:


      sudo truncate -s 200G /home/.eax
      sudo chown eax:eax /home/.eax


      Создаем loop-устройство:


      sudo losetup /dev/loop0 /home/.eax

      Инициализируем зашифрованный диск (потребуется дважды ввести пароль):


      sudo cryptsetup -h sha256 -c aes-xts-plain64 \
      -s 512 luksFormat /dev/loop0


      Открываем зашифрованный диск:


      sudo cryptsetup luksOpen /dev/loop0 eax_home

      В результате появится устройсто /dev/mapper/eax_home. Создаем на нем ФС:


      sudo mkfs.ext4 /dev/mapper/eax_home

      Монтируем зашифрованный диск:


      sudo mount /dev/mapper/eax_home /mnt

      Меняем права на файловой системе:


      sudo chown -R eax:eax /mnt

      Копируем содержимое нашего домашнего каталога. Затем отмонтируем зашифрованный диск:


      sudo umount /mnt

      Закрываем зашифрованный диск:


      sudo cryptsetup luksClose eax_home

      Отсоединяем loop-устройство:


      sudo losetup -d /dev/loop0

      Теперь архивируем и удаляем содержимое /home/eax, затем монтируем в него зашифрованный диск. Если все работает нормально — удаляем бэкап.

      Скрипт /home/mount.sh для автоматизации монтирования:


      #!/bin/sh

      set -e

      losetup /dev/loop0 /home/.eax
      cryptsetup luksOpen /dev/loop0 eax_home
      mount /dev/mapper/eax_home /home/eax


      Скрипт /home/umount.sh, выполняющие обратные действия:


      #!/bin/sh

      set -e

      umount /home/eax
      cryptsetup luksClose eax_home
      losetup -d /dev/loop0


      Когда оригинальных данных на диске не осталось, можно заполнить свободное место мусором:


      cd /home
      # наберитесь терпения, это надолго (особенно без rng-tools!)
      sudo dd if=/dev/urandom of=./random.tmp bs=10M count=6300
      sync
      sudo rm random.tmp


      Наконец, чтобы временные файлы (те же черновики электронных писем, создаваемые Mutt) писались на зашифрованный раздел, в ~/.bashrc следует дописать:


      export TMPDIR=/home/eax/temp
      mkdir -p $TMPDIR


      Также с помощью dm-crypt можно зашифровать вообще всю файловую систему целиком, но это уже тема для отдельной статьи.




      http://eax.me/dm-crypt/

        Текущее время Вт Июл 17, 2018 9:08 am