- Как зашифровать файлы в Linux
- Проверим установлена ли GnuGP
- Шифрование
- Дешифрование
- Шифрование домашней папки в Ubuntu
- Подготовка
- Шифрование домашней папки
- Шифрование swap раздела в Ubuntu
- Очистка временных файлов
- Выводы
- Шифрование файлов и папок в Linux
- Утилита GPG
- Шифрование файлов с помощью пароля
- Шифрование с использованием ключей
- Подписи и шифрование
- Выводы
Как зашифровать файлы в Linux
В некоторых случаях хочется быть уверенным в том, что важные данные никто больше не прочитает, даже самые подготовленные специалисты или спецслужбы. Для этого достаточно зашифровать файлы с помощью утилиты GnuPG в Linux. Для более высокой надежности лучше всего использовать AES-256.
Если вы хотите более подробно ознакомиться с утилитой GnuPG, то здесь отличный мануал от разработчиков. А в этой статье мы рассмотрим простое симметричное шифрование файлов. В этом случае для того, чтобы зашифровать или расшифровать файл нужно вводить пароль.
Проверим установлена ли GnuGP
Почти во всех популярных дистрибутивах Linux утилита GnuPG установлена по-умолчанию, поэтому достаточно открыть терминал и ввести нужные команды. Для того, чтобы проверить установлена ли утилита на ваш дистрибутив, откройте терминал и введите:
Если утилита установлена, то вы получите вот такой вывод, в котором будет указана версия и поддерживаемые алгоритмы шифрования.
Шифрование
Зашифруем файл
Подготовим среду для того, чтобы было безопасно «поковырять» утилиту и не задеть важные файлы:
Если вы все сделали правильно, то у вас все должно быть примерно так:
А теперь зашифруем наш тестовый файл алгоритмом по-умолчанию:
После ввода команды, нужно задать пароль два раза в поле Passphrase. В Debian 9 это выглядит так, в других дистрибутивах это поле ввода может выглядеть иначе.
После ввода пароля рядом с тестовым файлом file.txt должна появиться его зашифрованная версия file.txt.gpg
Чтобы увидеть какой алгоритм используется по умолчанию, то нужно добавить опцию -vv перед файлом.
И после двукратного ввода пароля мы увидим алгоритм по дефолту. В данном случае об этом говорит строка: gpg: using cipher AES256
Если требуется указать алгоритм шифрования AES256 явно, нужно добавить опцию —cipher-algo AES256 перед файлом:
Как видите, зашифровать файлы в Linux не так уж и сложно. Вероятно это даже проще, чем в Windows.
Зашифруем папку
Что делать, если нужно зашифровать папку в Linux? Тут тоже есть довольно простое решение: перед шифрованием поместить папку в архив. Для этого мы будем использовать архиватор tar, который так же есть по-умолчанию почти во всех дистрибутивах.
Подготовим тестовую папку для шифрования:
Если все идет по плану, то у вас должно быть вот так:
Теперь поместим папку в архив с помощью утилиты tar.
Проверим наличие архива folder.tar с помощью команды ls
И так, архив с секретной папкой внутри создан. Теперь осталось зашифровать его как обычный файл.
И в результате должна появиться зашифрованная версия файла folder.tar , под именем folder.tar.gpg :
Теперь можно смело закидывать шифрованные файлы с расширением .gpg на облако, не боясь, что кто-то кроме вас прочитает эти файлы. Но перед этим было бы неплохо убедиться, что вы можете их расшифровать в будущем.
Дешифрование
Расшифруем файл
Есть два способа, по которым можно расшифровать наш gpg файл. Один максимально короткий, при котором мы надеемся, что GnuPG «поймет» что нам от нее нужно:
В этом случае скорее всего вы увидите похожий результат после ввода пароля:
Это значит, что файл расшифрован и сохранен под именем file.txt . Ниже мы проверили наличие файла командой ls и его содержимое командой cat .
Если укороченной версией расшифровать не получилось, тогда следует прописать все параметры явно:
В данном случае опция -o указывает как должен называться расшифрованный файл, а опция -d указывает какой файл надо расшифровать.
Расшифруем папку
И так, файл расшифрован, но что делать с ранее зашифрованной папкой в архиве? Тут тоже ничего сложного, сначала расшифруем архив как обычный файл, а потом достаем папку из архива. Перед этим, для чистоты эксперимента лучше удалить ранее созданную оригинальную папку folder и архив folder.tar , чтобы убедиться в том, что мы точно расшифровали и достали из архива то, что нужно.
Теперь расшифруем архивный файл folder.tar.gpg
Рядом с folder.tar.gpg должна появиться его расшифрованная версия folder.tar
Распакуем расшифрованный архив folder.tar:
После этого среди всех файлов должна появиться папка folder, которую мы зашифровали в конце прошлого раздела.
Шифровать файлы в Linux очень просто, при этом не требуется установки каких-то дополнительных программ. Достаточно воспользоваться утилитами по дефолту и они будут не менее надежными. Очевидно, что нужно использовать сложный пароль, который будет содержать цифры, большие и маленькие символы, а также специальные символы (#, %, & и тд).
Здесь вы можете почитать об остальных опциях GnuPG.
Здесь более подробный мануал от разработчиков.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Шифрование домашней папки в Ubuntu
Ubuntu предлагает зашифровать домашнюю папку во время установки. Но если вы решили сделать это позже, вам не нужно полностью переустанавливать Ubuntu. Настроить шифрование очень просто, понадобится всего лишь выполнить несколько консольных команд.
Ubuntu использует для шифрования eCryptfs. Когда вы входите в систему, ваша домашняя директория автоматически расшифровывается с помощью пароля пользователя. Хотя и шифрование занимает некоторые вычислительные ресурсы, зато это сохранит ваши данные конфиденциальными. Особенно это актуально для ноутбуков, которые могут быть украдены. Как вы уже поняли в этой инструкции мы рассмотрим как настроить шифрование домашней папки в Ubuntu после установки системы.
Подготовка
Перед тем как начать шифровать домашнюю папку Ubuntu, сделайте резервную копию домашней папки и важных файлов. При шифровании резервная копия будет создан автоматически, но лучше иметь дополнительную копию на всякий случай. Сначала установите утилиты для шифрования:
sudo apt install ecryptfs-utils cryptsetup
Вы не сможете зашифровать домашний каталог пока вы в системе. А поэтому нужно будет создать еще одного пользователя с полномочиями администратора в утилите Параметры. Чтобы ее открыть кликните на своем имени в правом углу панели и выберите пункт Настройки затем Пользователи:
Создайте нового пользователя и сделайте его администратором и установите пароль для пользователя. Аккаунт будет отключен пока вы не укажите пароль:
После создания пользователя выйдите из системы. Надо выбрать именно Завершить сеанс, смена пользователя не подойдёт:
Шифрование домашней папки
Теперь вы готовы зашифровать домашний каталог Ubuntu. Выберите только что созданного пользователя и войдите в систему:
Выполните следующую команду для шифрования своей домашней папки, заменив sergiy на имя своего основного пользователя:
sudo ecryptfs-migrate-home -u sergiy
Вам нужно будет ввести пароль пользователя, а затем домашний каталог будет зашифрован. Но есть несколько важных замечаний:
- Вы должны войти под основной учетной записью сейчас, не перезагружаясь;
- Перед шифрованием была создана резервная копия домашнего каталога, вы можете восстановить все данные если понадобится;
- Нужно создать и записать ключ восстановления;
- Лучше также зашифровать swap раздел.
Выйдите и войдите в систему под основной учетной записью, только не перезагружайтесь:
После входа, нажмите кнопку Выполнить это действие сейчас для создания ключа восстановления данных. Перед вами откроется окно с ключом. Например:
Сохраните этот ключ в безопасном месте, это нужно для того, чтобы вы смогли вручную восстановить ваши файлы в будущем. Посмотреть этот же ключ можно командой:
Шифрование swap раздела в Ubuntu
Если вы шифровали домашнюю папку во время установки Ubuntu, swap раздел будет зашифрован автоматически. Но в нашем случае если вы хотите зашифровать swap нужно выполнить команду:
Обратите внимание, что с зашифрованным swap разделом не будет нормально работать гибернация, но эта функция все равно по умолчанию отключена.
Очистка временных файлов
Если после нескольких перезагрузок все работает правильно, значит шифрование домашней папки в ubuntu и можно удалить резервные копии и учетную запись временного пользователя. Резервная копия находится в директории /home.
Для удаления выполните в терминале подобную команду:
sudo rm -rf /home/sergiy.random
Будьте осторожны, так как случайно можно удалить и основной домашний каталог, если имя будет введено неверно.
Выводы
Вот и все, теперь вы знаете как зашифровать домашнюю папку ubuntu. Это совсем несложно. Если у вас остались вопросы, спрашивайте в комментариях!
Источник
Шифрование файлов и папок в Linux
В современном мире каждый аспект нашей личной жизни записывается на компьютеры. Один из способов защиты наиболее важной информации — шифрование файлов и каталогов. Во время шифрования содержимое файлов перемешивается с избыточными данными в соответствии с установленным алгоритмом, таким образом, что расшифровать его можно только имея специальный пароль или ключ.
В операционной системе Linux есть замечательный инструмент с открытым исходным кодом для шифрования файлов — GNU Privacy Guard или просто GPG, который может быть использован для шифрования любого файла из командной строки или в графическом режиме. О нем и пойдет речь в сегодняшней статье.
Утилита GPG
Перед тем как перейти к использованию утилиты, давайте рассмотрим ее синтаксис:
$ gpg опции файл параметры
Опции указывает что необходимо сделать с файлом, как это сделать и какие возможности использовать. Давайте рассмотрим самые основные опции, которые мы будем использовать в этой статье:
- -h — вывести справку по утилите;
- -s, —sign — создать цифровую подпись, эта опция используется вместе с другими опциями для шифрования;
- —clearsign — подписать незашифрованный текст;
- -e, —encrypt — зашифровать данные, с помощью ключа;
- -с, —symmetric — зашифровать данные, с помощью пароля;
- -d, —decrypt — расшифровать данные, зашифрованные с помощью ключа или пароля;
- —verify — проверить подпись;
- -k, —list-keys — вывести доступные ключи;
- —list-sigs — вывести доступные подписи;
- —fingerprint — вывести все ключи вместе с их отпечатками;
- —delete-key — удалить ключ;
- —delete-secret-key — удалить секретный ключ;
- —export — экспортировать все ключи;
- —export-secret-keys — экспортировать все секретные ключи;
- —import — импортировать ключи;
- —send-keys — отправить ключи на сервер, должен быть указан сервер ключей;
- —recv-keys — получить ключи от сервера ключей;
- —keyserver — указать сервер ключей;
- —fetch-keys — скачать ключи;
- —gen-key — создать ключ;
- —sign-key — подписать ключ;
- —passwd — изменить пароль для ключа.
А теперь рассмотрим по порядку, что нам нужно для того, чтобы выполнять шифрование файлов Linux.
Шифрование файлов с помощью пароля
Симметричный шифр — самый простой и в то же время надежный способ шифрования файлов linux. Расшифровать файл сможет любой у кого есть пароль. Для использования просто запустите терминал и выполните команду gpg с параметром -c:
gpg -c имя файла
Утилита создаст файл с расширением gpg. Для расшифровки используйте:
Шифрование с использованием ключей
Асимметричный шифр более надежный так как для шифрования используется два ключа — публичный, собственно для шифрования, которым может воспользоваться любой, и приватный — для расшифровки. Причем файл можно расшифровать только с помощью приватного ключа, даже если вы зашифровали файл, без приватного ключа вы его не расшифруете.
Сначала необходимо настроить gpg, создать пару ключей, для этого наберите:
Программа задаст ряд вопросов для настройки ключа:
Выберите требуемый тип ключа.
Выберите нужный размер для ключа, обычно 2048 будет достаточно.
Выберите строк действия для ключа.
Проверьте все ли правильно.
Введите имя нового ключа, фактически, это имя пользователя, но вы будете использовать его чтобы зашифровать файл linux, поэтому выбирайте обдумано.
Введите ваш email адрес.
Описание ключа, если нужно.
Финальная проверка, затем нажмите O для завершения.
Процесс генерации может занять некоторое время. Когда все будет готово в каталоге
./gnupg появятся два файла. В файле pubring.gpg публичный ключ, а в secring.gpg приватный.
Также вы можете посмотреть список доступных ключей:
Если вы собираетесь шифровать файлы на другом компьютере необходимо экспортировать публичный ключ, для этого есть опция -а:
gpg -a -o gpgkey.asc —export имя_ключа
Затем передаем файл на целевое устройство и импортируем ключ:
gpg —import gpgkey.asc
После импорта ключа уровень доверия к нему по умолчанию будет неизвестным поэтому при каждом шифровании gpg будет спрашивать действительно ли вы доверяете этому ключу. Чтобы этого избежать нужно указать уровень доверия. Для этого воспользуйтесь редактором ключей:
gpg —edit-key Username
Для выбора уровня доверия введите команду trust:
Для своих ключей можно использовать пункт абсолютно доверяю с номером 5, вы же знаете что это именно ваш ключ.
Теперь можно переходить к шифрованию. Для того чтобы зашифровать файл linux используйте команду:
gpg -e -r ид_пользователя имя_файла
Ид пользователя нужно указывать тот что вы использовали при создании ключа. Для расшифровки используйте:
gpg -d имя_файла.gpg
Для каталогов действия аналогичны только сначала нужно создать архив с помощью tar:
tar -cf — каталог | gpg -e -r ид_пользователя
А для расшифровки:
gpg -d каталог.gpg | tar -xvf
Подписи и шифрование
Для проверки подлинности файлов может использоваться не шифрование, а подпись. Тогда на основе файла и ключа создается отпечаток, который записывается в файл. Если файл будет изменен, то отпечаток уже не совпадет.
Вы можете подписать файл с помощью опции —sign:
gpg —sign имя_файла
Если вы не хотите изменить исходный файл, то можно создать подпись в отдельном файле:
gpg -b имя_файла
Тогда в каталоге, рядом с файлом появиться файл .sig с подписью. Дальше, чтобы проверить достаточно использовать команду verify:
gpg —verify textfile.sig textfile
Если файл был изменен, то вы увидите, что подпись не сходиться.
Выводы
В этой статье мы рассмотрели как выполняется шифрование файла linux, а также настройка утилиты gpg. Шифрование gpg linux используется людьми для хранения важных данных, а механизм подписей популярен среди разработчиков дистрибутивов. Если у вас остались вопросы, спрашивайте в комментариях!
На завершение отличное видео о том, как работает асимметричный алгоритм шифрования:
Источник