Как зашифровать отдельные папки?

Допустим, у меня есть папка в папке «Документы», в которой есть файлы, к которым никто не хочет обращаться без пароля.

Есть ли способ заблокировать эту папку, чтобы она была защищена паролем / зашифрована?

На самом деле, возможно ли защитить паролем любую отдельную папку?

93
задан 24 January 2015 в 14:07

8 ответов

Ile ifinkan pamo

Imudojuiwọn to kẹhin: Aug 4, 2012

O le gbiyanju Vault , iṣẹ akanṣe nipasẹ ọmọ ẹgbẹ ubuntu-gr (agbegbe agbegbe Giriki). 1222] PPA :

sudo add-apt-repository ppa:vault/ppa
sudo apt-get update
sudo apt-get install vault

O jẹ ohun elo gui fun encfs (package ni awọn ibi ipamọ). Mo sọ apejuwe package naa:

$ apt-cache show encfs
Package: encfs
[...]
Description-en: encrypted virtual filesystem
 EncFS integrates file system encryption into the Unix(TM) file system.
 Encrypted data is stored within the native file system, thus no
 fixed-size loopback image is required.
 .
 EncFS uses the FUSE kernel driver and library as a backend.
Homepage: http://www.arg0.net/encfs

O ṣẹda Mountpoint / folda eyiti o le lẹhinna pa tabi paarẹ. Ti o ba pa, o nilo ọrọigbaniwọle lati ṣii.

enter image description here

4
ответ дан 24 January 2015 в 14:07

Ọna miiran, ti o da lori awọn aini rẹ ni lati ṣe igbasilẹ folda bi faili ifilọlẹ idaabobo ọrọigbaniwọle.

Eyi jọra si ibeere miiran nipa ọrọ idaabobo ọrọ igbaniwọle .

4
ответ дан 24 January 2015 в 14:07

CryFS

Вы можете используйте CryFS :

cryfs basedir mountdir

Он используется по умолчанию в хранилищах KDE и особенно интересен, если вы синхронизируете зашифрованный контент через Dropbox, Freefilesync, rsync или подобное программное обеспечение, потому что оно хранит свои данные в небольших зашифрованных блоках и изменение небольшого файла приводит к повторной загрузке только небольшого количества данных.

4
ответ дан 24 January 2015 в 14:07

Cryptkeeper

ПРЕДУПРЕЖДЕНИЕ: CryptKeeper недавно сообщил, что он содержит ошибку универсального пароля , которая ставит ваши данные подвергаются потенциальному риску. Эта проблема, возможно, еще не исправлена ​​в Ubuntu, используйте это решение на свой страх и риск.

Ссылки на соответствующую информацию об ошибке:
Ошибка восходящего потока: https://github.com/tomm/cryptkeeper/ issues / 23
Ошибка Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=852751


 sudo apt-get install cryptkeeper

После установки перейдите в Приложения -> Системные инструменты -> Хранитель склепа .

Cryptkeeper автоматически прикрепится к верхней панели

enter image description here

Чтобы создать зашифрованную защищенную папку, щелкните апплет Cryptkeeper и выберите «Новая зашифрованная папка»

enter image description here

Затем введите укажите имя папки и место для ее сохранения и нажмите «Переслать» .

enter image description here

Введите пароль и нажмите «Переслать».

enter image description here

Папка будет создана и готова к использованию.

enter image description here

Чтобы получить доступ ко всей зашифрованной папке, щелкните апплет Cryptkeeper на панели и выберите каждую папку.

enter image description here

Введите пароль до его монтирования для доступа.

enter image description here

Готово

enter image description here

Чтобы удалить папку или изменить пароль, щелкните папку правой кнопкой мыши в апплете панели.

Для получения дополнительной помощи

57
ответ дан 24 January 2015 в 14:07

Cryptkeeper

IKILỌ: CryptKeeper ti ni ijabọ laipẹ pe o ni aṣiṣe ọrọ igbaniwọle gbogbo agbaye ti o fi data rẹ sinu eewu ti o lewu. Oro yii ko le tunṣe ni Ubuntu, lo ojutu yii ni eewu tirẹ.

Awọn ọna asopọ alaye bug ti o yẹ:
Bọtini oke: https://github.com/tomm/cryptkeeper/ oran / 23
Kokoro Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=852751


 sudo apt-get install cryptkeeper

Lẹhin fifi sori, lọ si Awọn ohun elo -> Awọn irinṣẹ Eto -> Oluṣọpamọ .

Cryptkeeper yoo so ara rẹ pọ mọ nronu ti o ga julọ

enter image description here

Lati ṣẹda folda ti o ni idaabobo ti a papamọ, tẹ lori applet Cryptkeeper ki o yan 'folda ti a paroko Tuntun'

enter image description here

Lẹhinna tẹ orukọ folda naa ati ibiti o fi folda naa pamọ ki o tẹ 'Dari siwaju' .

enter image description here

Tẹ ọrọ igbaniwọle ki o tẹ 'Dari siwaju'.

enter image description here

A o ṣẹda folda naa o si ṣetan lati ṣee lo.

enter image description here

Lati wọle si gbogbo folda ti a fi ẹnọ kọ nkan, tẹ lori applet Cryptkeeper lori panamu ki o yan folda kọọkan.

enter image description here

Tẹ ọrọ igbaniwọle ṣaaju ki o to fi sii lati wọle si.

enter image description here

Ṣe

enter image description here

Lati paarẹ folda kan tabi yi ọrọ igbaniwọle pada, tẹ-ọtun ni folda ti o wa ninu panti-applet.

. Aarin:

enter image description here

Lẹhin fifi sori ẹrọ, lọ si Awọn ohun elo -> Awọn ẹya ẹrọ -> Terminal ati ṣiṣe aṣẹ ni isalẹ:

ecryptfs-setup-private

enter image description here

Iwọ yoo ti ọ lati tẹ ọrọ igbaniwọle wiwọle rẹ (ọrọ igbaniwọle), ati lati ṣẹda ọkan fun folda ikọkọ rẹ:

ecryptfs-setup-private

enter image description here

1271] Nigbati o ba ti pari ṣiṣẹda ọrọ igbaniwọle rẹ, Jade ki o Wọle pada:

enter image description here

Nigbamii, lọ si Awọn ibi -> Folda Ile:

enter image description here

Ati pe o yẹ ki a ṣẹda folda tuntun ninu itọsọna ile rẹ ti a pe ni 'Ikọkọ'. Folda yii ti paroko ati idaabobo ọrọ igbaniwọle. Gbe gbogbo nkan ti ara ẹni rẹ sinu folda yii lati ni aabo wọn:

enter image description here

Awọn olumulo laisi iraye si folda naa yoo sẹ:

enter image description here

Fun Iranlọwọ Diẹ

15
ответ дан 24 January 2015 в 14:07

O ni awọn yiyan 2 ti o ba fẹ tii folda kan si isalẹ lati awọn olumulo miiran

  • Encrypt tabi ṣẹda ọrọ igbaniwọle ti a fisinuirindigbindigbin pamosi ti awọn faili naa. Ọna yii (Cryptkeeper) jẹ pipe fun ọran yii nigbati o nilo lati ni idaniloju 100% daju pe ko si ẹnikan ti yoo wo awọn faili rẹ lailai lai mọ ọrọ igbaniwọle ti o lo nibẹ.

  • Lo folda kọmputa rẹ / awọn igbanilaaye faili si sẹ wiwọle si folda rẹ si olumulo miiran.

Akọkọ jẹ pẹlu idaniloju pe abajade ko le ṣii nipasẹ olumulo eyikeyi laisi mọ ọrọ igbaniwọle ti o lo. Folda naa wa, o le wọle si nipasẹ olumulo eyikeyi pẹlu awọn ẹtọ sudo ninu eto rẹ tabi lilo LiveCD ati kika ipin naa. O tun rọrun lati ṣe ati pe ko beere pe ki o tẹ ọrọ igbaniwọle kan ni gbogbo igba ti o nilo lati ṣii / gbe folda ti a papamọ / iwe-ipamọ.

Ọna ti o rọrun ati iyara lati ṣe bẹ ni lilo chmod lati yi awọn anfaani pada fun faili kan tabi folda.

Ṣii ebute kan ki o lọ kiri si ibiti folda rẹ wa, jẹ ki a ro pe orukọ folda naa ni foo ati pe a wa ni ibiti lọwọlọwọ folda naa wa .

chmod 700 foo

yoo ṣe foo nikan fun awọn oju rẹ, kii ṣe paroko (iyẹn tun ṣee ṣe) ṣugbọn olumulo rẹ nikan (ati tabi olumulo kan pẹlu awọn anfani sudo) le ka tabi ṣii faili / folda naa.

O tun le ṣe ni iwọn nipa tite ọtun lori faili kan tabi folda ati yiyipada awọn igbanilaaye rẹ pẹlu ọwọ. Ninu apẹẹrẹ ni isalẹ iwọ bi oluwa ni gbogbo awọn anfani ati pe o sẹ eyikeyi ẹgbẹ miiran tabi olumulo lati iraye si, kika tabi ṣe atunṣe faili / folda naa

enter image description here

Fun alaye diẹ sii nipa awọn igbanilaaye faili / folda lọ si Ubuntu Oye ati Lilo Awọn igbanilaaye Faili oju-iwe wiki.

9
ответ дан 24 January 2015 в 14:07

Вы также можете использовать gocryptfs . По моему опыту, это значительно быстрее, чем cryfs с большими зашифрованными общими ресурсами, но не скрывает структуру (размеры и количество файлов). в зависимости от модели угрозы это может быть или не быть проблемой.

Для установки

apt install gocryptfs

Для инициализации basedir (один раз)

gocryptfs -init basedir

Для монтирования basedir (зашифрованная версия) в mountdir (незашифрованная версия)

gocryptfs basedir mountdir
0
ответ дан 5 January 2021 в 23:45

Шифрование на уровне каталогов - рискованная вещь, по возможности предпочитайте шифрование на уровне блочного устройства.

Я думаю, что Джайлз достиг нескольких ключевых моментов здесь ,который я воспроизведу:

Используйте шифрование на уровне блочного устройства. Linux предоставляет это с помощью dm-crypt. Вы можете зашифровать либо весь диск (за исключением небольшой области для загрузчика), либо зашифровать / home или какой-либо другой раздел. Если вы не зашифруете весь диск, имейте в виду, что конфиденциальная информация может оказаться в других местах, особенно в области подкачки (если у вас где-либо есть зашифрованные данные, вам следует зашифровать свой своп). Обратите внимание, что если вы выберете шифрование всего диска, ваш компьютер не сможет загрузиться без присмотра, вам придется ввести парольную фразу с клавиатуры.

Поскольку все блочное устройство зашифровано, расположение содержимого файла и метаданных не может быть обнаружен злоумышленником, укравшим диск. Помимо заголовка в начале зашифрованной области, содержимое неотличимо от случайного шума. Злоумышленник может получить некоторую информацию, просмотрев несколько снимков зашифрованных данных и изучив, как различные секторы развиваются с течением времени, но даже при этом будет сложно найти что-нибудь интересное, и это не применимо, если вы перестанете изменять данные после злоумышленник видел зашифрованный текст (как в случае кражи диска).

Также обратите внимание, что если вы зашифровываете что-то внутри своего дома, а не весь дом, несколько распространенных программ могут привести к утечке данных, если только вы не сильно разбиты осторожный. Например: .bash_history , сеансы редактора и истории отмен и т. Д.

Некоторые советы о том, как это сделать:

Ручная установка eCryptfs

Это В ответе описаны помощники Ubuntu для него (например, ecryptfs-setup-private ), но вы можете получить больше контроля (например, отдельные каталоги монтирования) и понимание, смонтировав его самостоятельно.

eCryptfs уже является частью ядра Linux и уже включен по умолчанию в Ubuntu через CONFIG_ECRYPT_FS = y , так что вы можете просто смонтировать его. Участие в ядре также обычно является положительным показателем качества и стабильности.

У меня есть следующие помощники:

export ECRYPTFS_DIR="$HOME/ecryptfs"
export ECRYPTFS_DATA_DIR="$HOME/.ecryptfs-data"

ecry() (
  # Mount ecryptfs.
  if ! mountpoint -q "$ECRYPTFS_DIR"; then
    sudo mount -t ecryptfs \
      -o key=passphrase,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=no,ecryptfs_enable_filename_crypto=yes \
      "$ECRYPTFS_DATA_DIR" \
      "$ECRYPTFS_DIR"
  fi
)
ecryu() (
  # Unmount ecryptfs.
  sudo umount "$ECRYPTFS_DIR"
)

GitHub upstream .

Использование следующее.

Сначала смонтируйте зашифрованный каталог. :

ecry

Теперь вам будет предложено ввести кодовую фразу:

Passphrase:

Предположим, мы неразумно выбрали:

asdf

, поэтому теперь будет напечатано:

Filename Encryption Key (FNEK) Signature [87d04721f6b4fff1]:

87d04721f6b4fff1 - это тип хэша, полученный из нашего asdf пароль. Теперь вы можете нажать Enter, и он скажет:

Attempting to mount with the following options:
  ecryptfs_unlink_sigs
  ecryptfs_fnek_sig=87d04721f6b4fff1
  ecryptfs_key_bytes=16
  ecryptfs_cipher=aes
  ecryptfs_sig=87d04721f6b4fff1
Mounted eCryptfs

, что означает, что монтирование прошло успешно.

Теперь давайте сделаем несколько тестовых зашифрованных файлов:

echo AAAA > ~/ecryptfs/aaaa
echo BBBB > ~/ecryptfs/bbbb
dd if=/dev/zero bs=1k count=1k > ~/ecryptfs/zzzz

Если мы размонтируем его:

ecry

как и ожидалось, каталог пуст :

ls -l ~/ecryptfs

Сами данные eCryptfs содержатся в каталоге ~ / .ecryptfs-dat , который мы передали команде монтирования.

Независимо от того, куда мы монтируемся, пока мы используем этот каталог как каталог данных, содержимое незашифрованной точки монтирования будет таким же.

Давайте посмотрим на его содержимое:

ls -lh ~/.ecryptfs-data

Здесь показаны три зашифрованных файла:

-rw-rw-r-- 1 ciro ciro  12K Nov 11 17:15 ECRYPTFS_FNEK_ENCRYPTED.FWa5o2QVxfHzwEQ-GALjie5YM3J8aETCQqcZB.pJ2KyM4SRZWVvHGnAYi---
-rw-rw-r-- 1 ciro ciro  12K Nov 11 17:15 ECRYPTFS_FNEK_ENCRYPTED.FWa5o2QVxfHzwEQ-GALjie5YM3J8aETCQqcZMnVJY0WbH6bqRaee1cD5xU--
-rw-rw-r-- 1 ciro ciro 1.1M Nov 11 17:15 ECRYPTFS_FNEK_ENCRYPTED.FWa5o2QVxfHzwEQ-GALjie5YM3J8aETCQqcZf.vz0tLUzh41PwVFAnHc5k--

Итак, мы видим, что:

  • у нас есть один незашифрованный файл данных для каждого файла в основном незашифрованном монтировании
  • имена файлов зашифрованы
  • минимальный размер файла составляет 12 КБ, даже для тех небольших файлов, которые содержат только 5 байтов, которые мы только что создали, поэтому мы получим большое использование диска увеличить, если было много таких маленьких файлов
  • для большого файла размером 1 МБ, новый размер составляет 1,1 МБ, поэтому также существует пропорциональное увеличение размера на ab out 10% в дополнение к временным меткам минимального размера 12 КБ
  • просочились. TODO: как этого избежать?

Теперь мы можем проверить, действительно ли эти файлы зашифрованы:

grep aaaa ~/.ecryptfs-data/*
grep AAAA ~/.ecryptfs-data/*

что не дает совпадений, поэтому они, вероятно, зашифрованы.

Замечательная вещь о том, как эти зашифрованные файлы сохраняется, заключается в том, что вы можете легко создавать резервные копии зашифрованных файлов где угодно, просто скопировав их на незашифрованный носитель с помощью rsync , и будут скопированы только устаревшие файлы. В этом случае нет необходимости даже сначала вводить свой пароль!

Что не круто, так это то, что злоумышленник, который пытается доказать, что у вас есть известная информация, может доказать это, сравнив размеры файлов и структура структуры каталогов , как указано Джайлсом .

Теперь давайте смонтируем снова:

ecry

И снова он запрашивает пароль.

Предположим, вы ввели неправильный пароль:

asdfqwer

] он напечатает:

Filename Encryption Key (FNEK) Signature [c55c6f13e73332d3]:
Attempting to mount with the following options:
  ecryptfs_unlink_sigs
  ecryptfs_fnek_sig=c55c6f13e73332d3
  ecryptfs_key_bytes=16
  ecryptfs_cipher=aes
  ecryptfs_sig=c55c6f13e73332d3
WARNING: Based on the contents of [/root/.ecryptfs/sig-cache.txt],
it looks like you have never mounted with this key
before. This could mean that you have typed your
passphrase wrong.

Would you like to proceed with the mount (yes/no)? :

Итак, мы замечаем, что FNEK для asdfqwer отличается от FNEK для правильного asdf пароля: c55c6f13e73332d3 .

Если мы все равно решим смонтировать с yes , затем он спрашивает:

Would you like to append sig [c55c6f13e73332d3] to
[/root/.ecryptfs/sig-cache.txt]
in order to avoid this warning in the future (yes/no)? :

и если мы введем yes , он, как и обещал, добавит FNEK в /root/.ecryptfs/sig-cache .txt . Скажем пока нет. Мы можем проверить, что содержит этот файл:

sudo cat /root/.ecryptfs/sig-cache.txt

в настоящее время он содержит только asdf FNEK:

87d04721f6b4fff1

, поэтому мы понимаем, что это просто белый список известных надежных паролей.

Теперь давайте посмотрим, что мы получаем неверный пароль:

ls -l ~/ecryptfs

, и мы видим, что каталог пуст, как и следовало ожидать. Кажется, что каждый файл в каталоге данных должен содержать какие-то данные для проверки пароля и просто не монтируется.

Если мы размонтируем и вернемся к правильному паролю asdf , он будет один раз снова попросите подтверждение FNEK, что немного раздражает.

Filename Encryption Key (FNEK) Signature [87d04721f6b4fff1]:

Мы можем предотвратить это каждый раз, как упоминалось в Как автоматически указать ключ шифрования имени файла с помощью ecryptfs? , добавив:

-o ecryptfs_fnek_sig=

к команда монтирования. TODO может ли зная, что FNEK поможет злоумышленникам взломать пароль?

Наконец, когда каталог ecryptfs смонтирован, мы можем увидеть его в:

grep ecryptfs /proc/mounts 

, который содержит строку типа:

/home/ciro/.ecryptfs-data /home/ciro/ecryptfs ecryptfs rw,relatime,ecryptfs_fnek_sig=d066f6dcf72ad65a,ecryptfs_sig=d066f6dcf72ad65a,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink_sigs 0 0

Проверено на Ubuntu 20.04, ядро ​​Linux 5.4.

ecryptfs vs CryFS vs EncFS

Все это методы уровня каталога, поэтому было бы хорошо понять их компромиссы. Некоторые сравнения:

  • https://www.cryfs.org/comparison/

  • https : //wiki.archlinux.org/index.php/EncFS#Comparison_to_eCryptFS

    eCryptFS реализована в пространстве ядра, поэтому ее немного сложнее настроить. Вы должны запомнить различные варианты шифрования (используемые шифры, тип ключа и т. Д.). С EncFS это не так, потому что он хранит информацию о метаданных шифрования в файле конфигурации для каждого каталога (.encfs6.xml). Таким образом, вам не нужно ничего запоминать (кроме ключевой фразы).

    Производительность обоих зависит от типа активности диска. В то время как eCryptFS может работать быстрее в некоторых случаях из-за меньших накладных расходов при переключении контекста (между ядром и пользовательским пространством), EncFS имеет преимущества в других случаях, поскольку метаданные шифрования централизованы и не хранятся в заголовках отдельных файлов. Для получения дополнительной информации примеры тестов предоставлены проектом EncFS.

Полное шифрование диска во время установки (кроме / boot )

Я не могу найти «вопрос» для этого, поэтому здесь эксперимент QEMU, основанный здесь с Ubuntu 20.04.1.

Вы нажимаете:

  • Стереть диск и установить Ubuntu
  • Расширенные функции
  • Использовать LVM с новой установкой Ubuntu
  • Зашифровать новая установка Ubuntu для безопасности

screenshot

Затем он запрашивает пароль на следующем шаге:

screenshot

Теперь, каждый раз, когда вы загружаетесь, первое, что вы видите (TODO до или после загрузчика?), - это запрос пароля:

screenshot

И после этого, если вы введете правильный пароль, начнется обычная загрузка.

После входа в систему мы выполняем из оболочки:

lsblk

и получаем:

sda                     8:0    0      1T  0 disk  
├─sda1                  8:1    0    512M  0 part  /boot/efi
├─sda2                  8:2    0      1K  0 part  
├─sda5                  8:5    0    731M  0 part  /boot
└─sda6                  8:6    0 1022.8G  0 part  
  └─sda6_crypt        253:0    0 1022.8G  0 crypt 
    ├─vgubuntu-root   253:1    0 1021.8G  0 lvm   /
    └─vgubuntu-swap_1 253:2    0    976M  0 lvm   [SWAP]

Похоже, что загрузчик второго уровня в / boot сам по себе не зашифрован, но корневой каталог и файл подкачки зашифрованы.

Как упоминалось по адресу: https://help.ubuntu.com/commun ity / Full_Disk_Encryption_Howto_2019 это открывает перед вами риск того, что злоумышленник сможет взломать вашу машину, взломав загрузочную папку, без вашего ведома, и использовать это для последующего извлечения ключей дешифрования, если вы продолжите использовать машину.

Полное шифрование диска во время установки (включая / boot )

По-видимому, не существует автоматического способа сделать это по состоянию на 20.04, но, надеюсь, он будет реализован рано или поздно, некоторые руководства:

Kill switch включил безопасность шифрования ноутбука

Хорошо, теперь мы приближаемся к уровню паранойи opsec в ЦРУ / Шелковом пути: как быстро убедиться, что ваши данные не могут будут расшифрованы, если вас поймают с включенным компьютером, и у вас есть второй, чтобы действовать.

Во-первых, приостановите работу в ОЗУ кажется недостаточно хорошим, гибернация будет более разумным шагом:

Кажется, что в режиме гибернации данные сохраняются в разделе подкачки, пока ваш своп зашифрован (что, очевидно, должно быть в настройках шифрования, иначе ваш Там будет утечка оперативной памяти), это должно быть безопасно.

Теперь на ноутбуке,лучший способ - это закрыть крышку, например в этом сообщении упоминается, что:

HandleLidSwitch=hibernate

на /etc/systemd/logind.conf должно работать

В качестве альтернативы следует настроить сочетание клавиш или действие кнопки питания. Как перейти в спящий режим из интерфейса командной строки: Как перейти в спящий режим в Ubuntu 16.04? упоминает:

sudo systemctl hibernate
1
ответ дан 5 January 2021 в 23:45

Другие вопросы по тегам:

Похожие вопросы: