Linux файл с зашифрованными паролями

Linux файл с зашифрованными паролями

Традиционные Unix системы хранят данные о пользователях вместе с зашифрованным паролем в текстовом файле « /etc/passwd ». Поскольку этот файл используется многими инструментальными средствами (типа «ls») чтобы отобразить владельца файла и другие подобные сведения, файл должен быть открыт на чтение для всех, что, конечно, дает отличный шанс хакерам.

Другой метод хранения информации, тот, который я всегда использую, затенение паролей. Как и раньше, есть файл /etc/passwd с данными о пользователях. Однако, вместо паролей ставится символ “x”, а пароли хранятся отдельно в файле « /etc/shadow », в котором хранятся зашифрованные пароли и некоторая дополнительная информация о паролях. Файл /etc/shadow доступен для чтения только root, что повышает защиту.

В Red Hat Linux установка пакета Shadow Password Suite, ответственного за теневые пароли, проста. Наберите как root:

С теневыми (shadow) паролями файл « /etc/passwd » хранит сведения о пользователях в виде:

Каждое поле в записи отделено символом “:”:

Username, до 8 символов. Регистр важен, обычно пишут в нижнем регистре.

Символ “x” в поле пароля. Пароли хранятся в файле « /etc/shadow ».

Числовой user id. Назначается скриптом « adduser ». Unix использует данное значение и значение группы для определения кому какие файлы принадлежат.

Числовой group id. Red Hat использует group id в довольно неожиданном способе усиления защиты файла. Часто group id равен user id.

Полное имя пользователя. Максимальная длина мне неизвестна, но лучше ограничиться разумными рамками (до 30 символов).

Домашний каталог пользователя. Обычно /home/username (например, /home/smithj). Там хранятся все личные файлы пользователя и его web-страницы.

Пользовательская оболочка. Обычно используется « /bin/bash » для доступа к оболочке bash.

Если нужно чтобы пользователь не имел доступа к shell, создайте скрипт « /bin/sorrysh », который выведет соотвтетствующее сообщение и завершит работу пользователя. Впишите скрипт сюда в качестве оболочки.

Замечание: Если пользователь должен передавать файлы по “FTP” shell должна быть нормальной оболочкой, например, « /bin/bash », а чтобы не давать shell-доступа надо настроить доступ в домашнем каталоге пользователя. См. раздел Администрирование Web-сервера и HTTP Proxy в главе 7.

Файл « /etc/shadow » хранит данные о пользователе в формате:

Как и в файле passwd, каждое поле в файле shadow отделяется двоеточием:

Username, до 8 символов. Совпадает с username в файле /etc/passwd.

Пароль, 13 символов (зашифрованный). Пустая запись (то есть, ::) показывает, что для входа пароль не нужен (обычно идея плохая), и запись «*» (то есть, :*:) показывает, что вход заблокирован.

Количество дней (с 1 января 1970), когда пароль был сменен в последний раз.

Число дней до смены пароля (0 показывает, что он может быть сменен всегда).

Число дней, после которых пароль должен быть сменен (99999 показывает, что пользователь может не менять пароль фактически никогда).

Число дней, в течение которых пользователь получает предупреждения о необходимости пароль сменить (7 для полной недели).

Число дней после окончания действия пароля, когда еще можно работать. Если пароль не сменить, после данного срока он выдохнется, и аккаунт будет заблокирован.

Число дней, начиная с 1 января 1970, после которых пароль будет заблокирован.

Зарезервировано для возможного будущего использования.

Источник

Как шифровать файлы в Linux с помощью GPG, Ccrypt, Bcrypt и 7-Zip

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

Прежде чем рассматривать отдельные инструментальные средства, вам нужно убедиться в том, что установлены все соответствующие пакеты. В Ubuntu, вы для установки программ должны использовать следующую команду:

Пакет GNU Privacy Guard (GPG) является инструментальным средством, предназначенным в первую очередь для шифрования и подписи данных с использованием криптографии с открытым ключом. Тем не менее в нем также есть также возможность выполнять шифрования данных просто с использованием пароля, введенного пользователем, и в нем поддерживаются различные криптографические алгоритмы.

Чтобы с помощью gpg зашифровать файл, в данном случае файл big.txt, введите следующую команду:

Вам будет предложено ввести пароль (дважды). В процессе шифрования создается новый файл, который называется big.txt.gpg . Исходный файл также останется, так что вам потребуется его удалить в случае, если вы намереваетесь сохранить только зашифрованную копию. Если сравнивать размеры исходного и зашифрованный файлов, то вы увидите, что зашифрованный файл будет по размеру меньше. Это происходит потому, что команда gpg сжимает файл во время шифрования. Если файл уже сжат (например, файл .zip или файл .tgz), то зашифрованный файл может, на самом деле, оказаться несколько большим.

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

По умолчанию файлы, зашифрованные с помощью gpg, будут использовать алгоритм шифрования cast5 , который одобрен национальным криптологическим агентством правительства Канады. Однако в утилите gpg также поддерживает ряд других встроенных алгоритмов шифрования, в том числе Triple DES (3DES), который используется в индустрии электронных платежей; Advanced Encryption Standard (AES) — технология шифрования, одобренная Американским национальным институтом стандартов и технологии (NIST); и Camellia — шифр совместно разработанный фирмами Mitsubishi и NTT, который одобрен Европейским союзом и Японией.

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

Список доступных алгоритмов приведен в выданных данных в разделе «Supported algorithms» («Поддерживаемые алгоритмы») ниже тега «Cipher» («Шифр»). Чтобы использовать другой алгоритм, добавьте параметр -crypto-algo , за которым укажите алгоритм, который вы хотите использовать, например, -crypto-algo=3DES

Тогда полная команда будет иметь следующий вид:

bcrypt и ccrypt

Пакет gpg — это не единственный инструмент шифрования, доступный в системе Linux. В оригинальных системах Unix, была команда под названием crypt, однако уровень безопасности, который она обеспечивала, был очень низким. По аналогии с ней были созданы некоторые другие команды, которыми ее можно заменить, в том числе bcrypt и ccryrpt.

В команде bcrypt используется алгоритм blowfish, в то время как команда ccrypt базируется на шифре Rijndael, который является алгоритмом, используемый для AES. Многие криптоаналитики не рекомендуют далее использовать алгоритм blowfish, т. к. опубликованы некоторые теоретические описания атак, которые его ослабляют, однако для повседневного шифрования, для которого не требуется обеспечить шифрование уровня государственной безопасности (NSA, MI5, FSA), он все еще полезен.

Для шифрования с использованием команды bcrypt:

В отличие от команды gpg, команда bcrypt заменит оригинальный файл зашифрованным файлом и добавит в конце имени файла .bfe. Точно также, как и в случае с командой gpg, полученный файл также сжимается и поэтому для несжатых файлов размер файла должен быть значительно меньше. Сжатие может быть отключено с помощью параметра -c .

Для расшифровки файла используйте:

Файл .bfe будет заменен исходным незашифрованным файлом.

Есть два возможных способа вызова команды ccrypt:

  • непосредственный вызов команды ccrypt с параметрами -e или -d
  • использовать для шифрования и дешифровки команды ccencrypt и ccdecrypt , соответственно.

Чтобы зашифровать файл введите:

Исходный файл будет заменен файлом big.txt.cpt . В отличие от gpg и bcrypt, выходной файл сжат не будет. Если сжатие необходимо, то можно использовать такие инструменты, как gzip. Предлагаемые расширения для сжатых и зашифрованных файлов — .gz.cpt или .gzc.

Для расшифровки файла используйте:

В архиваторе 7-Zip также есть шифрование AES. Чтобы создать зашифрованный архив используйте в команде 7z параметр -p :

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

Заключение

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

Источник

Как зашифровать файлы в 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.

Источник

Читайте также:  Отключить сообщения брандмауэра windows 10
Оцените статью