Ecryptfs это мощный, но простой в использовании инструмент для шифрования каталогов. Возможно, вы храните конфиденциальную информацию в вашем домашнем каталоге, и хотите защитить эти файлы от злоумышленника, который может получить доступ к серверу, но не к вашим учетным данным пользователя. Или, может быть, ваша база данных содержит конфиденциальные данные, которые вы хотите зашифровать, когда ими не пользуетесь. С Ecryptfs, легко зашифровать отдельные директории таким образом, что они не будут доступны без входа пользователя в учетную запись, которой принадлежит ключ. В этом руководстве мы будем шифровать содержимое каталога на сервере Ubuntu 16.04.
Начало работы
Вам потребуется следующее место, прежде чем мы начнем:
• 1 сервер (Cloud Server, или выделенный сервер), запуск новой установки Ubuntu 16.04.
• Корневой доступ
Руководство
Начнем с установки необходимых пакетов.
apt-get install ecryptfs-utils -y
Шифрование файлов является мощным инструментом, но его возможности и ограничения должны быть поняты, прежде чем они будут использоваться для серьезных задач. В целях иллюстрации, мы создадим тестовый каталог в /home, так что вы можете почувствовать, как ваша зашифрованная файловая система будет работать.
mkdir /home/andreyex
Теперь мы будем шифровать содержимое каталога andreyex, которые мы только что сделали.
mount -t ecryptfs /home/globotech/ /home/andreyex/
Вам будет предложено выбрать пароль и установить тип шифрования.
С помощью этих набора, проверьте содержимое каталога в зашифрованном виде.
mount
[...] cpu,cpuacct on /run/lxcfs/controllers/cpu,cpuacct type cgroup (rw,relatime,cpu,cpuacct,nsroot=/) devices on /run/lxcfs/controllers/devices type cgroup (rw,relatime,devices,nsroot=/) blkio on /run/lxcfs/controllers/blkio type cgroup (rw,relatime,blkio,nsroot=/) name=systemd on /run/lxcfs/controllers/name=systemd type cgroup (rw,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd,nsroot=/) lxcfs on /var/lib/lxcfs type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other) tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=101628k,mode=700) /home/andreyex on /home/andreyex type ecryptfs (rw,relatime,ecryptfs_sig=9cff1b579bb64c22,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink_sigs)
Далее мы добавим файл с тестовым содержимое в эту директорию.
touch /home/andreyex/file.txt echo "Доброе утро" > /home/andreyex/file.txt
Размонтируйте зашифрованный каталог andreyex.
umount /home/andreyex
С помощью отмонтированного каталога, попытайтесь прочитать только что созданный файл.
cat /home/andreyex/file.txt
z6<"3DUfw`M\` W_35"I??_aO?EAgd+?+- RK[e+?`,[-+)?Mec8 dd8Y ?IV-[2d!fJMQYeQS+?!-SB g2-%?¼hH-H?'F\++}H.+I;?2-/I!E[KA) E DFL'|Ug{_:6?2T0G-\H: 1P?X vfq?,Xa*h~ox<lI619q2?~< D6):O%9 _&+)sMYW0lS!;0?n%#??6ÿ?D}F?j_sKNv B ZakPG ;T?t[LZlAOs]3?AQ)N~Sp&hIbG@,?f [...]
Вы заметите, что файл зашифрован и содержание недоступно. Без пароля, злоумышленник не сможет получить доступ к файлу, который вы только что зашифровали.
Если вы хотите доступ к файлу снова, выполните ту же команду, которую выполнили ранее:
mount -t ecryptfs /home/andreyex/ /home/andreyex/
Используйте один и тот же пароль для доступа к файлам. Пожалуйста, сохраните этот пароль в безопасности. Если он будет потерян, никто не сможет получить доступ к вашим файлам, даже поставщик услуг.
cat /home/andreyex/file.txt
Итоги
Шифрование представляет собой мощное средство для защиты ваших файлов в случае взлома сервера или украденного ноутбука. Каждый должен зашифровать свои конфиденциальные данные, поэтому, разделите эту статью с кем-либо, кто может не знать, как легко шифровать каталоги в системах на основе Linux. Если вы нашли эту статью полезной, не стесняйтесь поделиться её с друзьями и дайте нам знать в комментариях ниже!