Допустим, у меня есть папка в папке «Документы», в которой есть файлы, к которым никто не хочет обращаться без пароля.
Есть ли способ заблокировать эту папку, чтобы она была защищена паролем / зашифрована?
На самом деле, возможно ли защитить паролем любую отдельную папку?
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.
Ọ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 .
Вы можете используйте CryFS :
cryfs basedir mountdir
Он используется по умолчанию в хранилищах KDE и особенно интересен, если вы синхронизируете зашифрованный контент через Dropbox, Freefilesync, rsync или подобное программное обеспечение, потому что оно хранит свои данные в небольших зашифрованных блоках и изменение небольшого файла приводит к повторной загрузке только небольшого количества данных.
ПРЕДУПРЕЖДЕНИЕ: 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 автоматически прикрепится к верхней панели
Чтобы создать зашифрованную защищенную папку, щелкните апплет Cryptkeeper и выберите «Новая зашифрованная папка»
Затем введите укажите имя папки и место для ее сохранения и нажмите «Переслать» .
Введите пароль и нажмите «Переслать».
Папка будет создана и готова к использованию.
Чтобы получить доступ ко всей зашифрованной папке, щелкните апплет 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ọ
Lati ṣẹda folda ti o ni idaabobo ti a papamọ, tẹ lori applet Cryptkeeper ki o yan 'folda ti a paroko Tuntun'
Lẹhinna tẹ orukọ folda naa ati ibiti o fi folda naa pamọ ki o tẹ 'Dari siwaju' .
Tẹ ọrọ igbaniwọle ki o tẹ 'Dari siwaju'.
A o ṣẹda folda naa o si ṣetan lati ṣee lo.
Lati wọle si gbogbo folda ti a fi ẹnọ kọ nkan, tẹ lori applet Cryptkeeper lori panamu ki o yan folda kọọkan.
Tẹ ọrọ igbaniwọle ṣaaju ki o to fi sii lati wọle si.
Lati paarẹ folda kan tabi yi ọrọ igbaniwọle pada, tẹ-ọtun ni folda ti o wa ninu panti-applet.
. Aarin:
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
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
1271] Nigbati o ba ti pari ṣiṣẹda ọrọ igbaniwọle rẹ, Jade ki o Wọle pada:
Nigbamii, lọ si Awọn ibi -> Folda Ile:
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:
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
Fun alaye diẹ sii nipa awọn igbanilaaye faili / folda lọ si Ubuntu Oye ati Lilo Awọn igbanilaaye Faili
oju-iwe wiki.
Вы также можете использовать gocryptfs . По моему опыту, это значительно быстрее, чем cryfs с большими зашифрованными общими ресурсами, но не скрывает структуру (размеры и количество файлов). в зависимости от модели угрозы это может быть или не быть проблемой.
Для установки
apt install gocryptfs
Для инициализации basedir (один раз)
gocryptfs -init basedir
Для монтирования basedir (зашифрованная версия) в mountdir (незашифрованная версия)
gocryptfs basedir mountdir
Шифрование на уровне каталогов - рискованная вещь, по возможности предпочитайте шифрование на уровне блочного устройства.
Я думаю, что Джайлз достиг нескольких ключевых моментов здесь ,который я воспроизведу:
Используйте шифрование на уровне блочного устройства. Linux предоставляет это с помощью dm-crypt. Вы можете зашифровать либо весь диск (за исключением небольшой области для загрузчика), либо зашифровать
/ home
или какой-либо другой раздел. Если вы не зашифруете весь диск, имейте в виду, что конфиденциальная информация может оказаться в других местах, особенно в области подкачки (если у вас где-либо есть зашифрованные данные, вам следует зашифровать свой своп). Обратите внимание, что если вы выберете шифрование всего диска, ваш компьютер не сможет загрузиться без присмотра, вам придется ввести парольную фразу с клавиатуры.Поскольку все блочное устройство зашифровано, расположение содержимого файла и метаданных не может быть обнаружен злоумышленником, укравшим диск. Помимо заголовка в начале зашифрованной области, содержимое неотличимо от случайного шума. Злоумышленник может получить некоторую информацию, просмотрев несколько снимков зашифрованных данных и изучив, как различные секторы развиваются с течением времени, но даже при этом будет сложно найти что-нибудь интересное, и это не применимо, если вы перестанете изменять данные после злоумышленник видел зашифрованный текст (как в случае кражи диска).
Также обратите внимание, что если вы зашифровываете что-то внутри своего дома, а не весь дом, несколько распространенных программ могут привести к утечке данных, если только вы не сильно разбиты осторожный. Например: .bash_history
, сеансы редактора и истории отмен и т. Д.
Некоторые советы о том, как это сделать:
fscrypt
после незашифрованной установки (у установщика есть возможность зашифровать домашний каталог)
Ручная установка 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"
)
Использование следующее.
Сначала смонтируйте зашифрованный каталог. :
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--
Итак, мы видим, что:
Теперь мы можем проверить, действительно ли эти файлы зашифрованы:
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 : //wiki.archlinux.org/index.php/EncFS#Comparison_to_eCryptFS
eCryptFS реализована в пространстве ядра, поэтому ее немного сложнее настроить. Вы должны запомнить различные варианты шифрования (используемые шифры, тип ключа и т. Д.). С EncFS это не так, потому что он хранит информацию о метаданных шифрования в файле конфигурации для каждого каталога (.encfs6.xml). Таким образом, вам не нужно ничего запоминать (кроме ключевой фразы).
Производительность обоих зависит от типа активности диска. В то время как eCryptFS может работать быстрее в некоторых случаях из-за меньших накладных расходов при переключении контекста (между ядром и пользовательским пространством), EncFS имеет преимущества в других случаях, поскольку метаданные шифрования централизованы и не хранятся в заголовках отдельных файлов. Для получения дополнительной информации примеры тестов предоставлены проектом EncFS.
Полное шифрование диска во время установки (кроме / boot
)
Я не могу найти «вопрос» для этого, поэтому здесь эксперимент QEMU, основанный здесь с Ubuntu 20.04.1.
Вы нажимаете:
Затем он запрашивает пароль на следующем шаге:
Теперь, каждый раз, когда вы загружаетесь, первое, что вы видите (TODO до или после загрузчика?), - это запрос пароля:
И после этого, если вы введете правильный пароль, начнется обычная загрузка.
После входа в систему мы выполняем из оболочки:
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