Как linux хранит пароли

Лучшие менеджеры паролей для Linux

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

Мало кто может запомнить все пароли и логины. В этом случае на помощь приходят менеджеры паролей Linux. Большинство пользователей использует встроенный в браузер менеджер, но это не самый удобный вариант. К тому же браузер не всегда может распознать аутентификацию и предложить сохранение пароля. Отдельные программы будут более предпочтительным вариантом для активных пользователей интернета. Для операционной системы Linux существует немало менеджеров паролей, но хороших и современных вариантов не так много. Как раз о таких и пойдёт речь.

Менеджеры паролей для Linux

Менеджеры паролей на Linux имеют разную степень проработки, доступность кода и схему распространения. Большая их часть бесплатна или же имеет freemium версию, ограничения которой вы вряд ли заметите.

1. KeePassXC

Пожалуй, стоит начать с самого популярного менеджера паролей на Linux – KeePass, а именно его обновлённой и доработанной сообществом версии – KeePassXC. На текущий момент именно она разрабатывается наиболее активно. Если говорить о сохранности паролей, то открытый код действительно имеет значение и гарантирует отсутствие бэкдоров.

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

Для установки KeePassXC можно воспользоваться командой:

sudo apt install keepassxc

2. KeeWeb

KeeWeb – это ещё одно ответвление KeePass. Оно интересно сразу по нескольким причинам. Во-первых, оно имеет современный интерфейс с несколькими темами. Во-вторых, у приложения есть онлайн версия, причём её функциональность практически полностью повторяет возможности десктопной программы. Единственным существенным ограничением является невозможность одновременной работы с базой, открыть можно, а вот сохранить изменения нельзя.

Русский язык доступен через плагины. Пока что большая часть плагинов – это локализации и темы оформления.

3. Bitwarden

Другим популярным менеджером паролей с открытым кодом является Bitwarden. Он не хранит базу локально на компьютере и для работы с программой требуется создание учётной записи. Но это не значит, что хранить в нём пароли небезопасно. Мастер-пароль, или как в данном случае пароль от аккаунта, знаете только вы, а на сервере хранится его хеш-функция. Расшифровать её обратно не представляется возможным, а следовательно, и ваша база принадлежит только вам.

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

Bitwarden устанавливается из snap-пакета командой:

Читайте также:  Автоматическое обновление windows служба не включена

sudo snap install bitwarden

4. Encryptr

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

Перевода на русский язык у программы нет, но и без этого запутаться очень сложно. Существенным недостатком является система поиска. Он проводится только по значениям Item Name, поэтому к этой позиции стоит подходить со всей ответственностью.

Для установки Encryptr требуется скачать пакет для вашего дистрибутива с официального сайта.

5. Enpass

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

Как и в случае с Biwarden вам доступна не только настольная версия программы, но ещё и расширения для браузеров. Это заметно упрощает использование вашей базы для входа на сайты. База хранится локально, но её можно синхронизировать с другими устройствами через облако.

Перед установкой необходимо добавить репозиторий, поэтому потребуется ввести в консоль сразу несколько команд:

sudo tee «deb https://apt.enpass.io/ stable main» /etc/apt/sources.list.d/enpass.list
wget -O — https://apt.enpass.io/keys/enpass-linux.key | sudo apt-key add —
sudo apt update
sudoapt install enpass

6. MYKI

Менеджер паролей MYKI появился не так давно, но это всё же плюс. Он разработан с учётом современных требований и доступных технологий. Аккаунт привязывается к номеру мобильного телефона, а доступ к базе паролей можно получить несколькими способами: в программе, в расширении браузера или же в приложении на смартфоне.

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

Для установки MYKI следует скачать пакет с программой с официального сайта.

Браузерные расширения

Конечно, вы можете использовать встроенный в браузер менеджер паролей, но гораздо удобнее работать в отдельном расширении. Какие-то из них функционируют самостоятельно, другие требуют наличия установленного на компьютере менеджера. Например, популярный в Windows SafeInCloud тоже имеет расширения для браузера, но работает только совместно с установленным менеджером, которого на Linux нет. Но вы можете установить расширения к вышеперечисленным программам: Bitwarden, Enpass, MYKI. Также стоит присмотреться к самостоятельным расширениям, вроде Lastpass на скриншоте выше.

Выводы

В этой статье мы собрали лучшие менеджеры паролей для Linux. Выбрать менеджер паролей не так сложно. Их не так много, но каждый их них может предложить что-то своё. Хотите получить надёжное локальное хранилище паролей, то KeePassXC или KeeWeb подойдут как нельзя лучше. Нужно кроссплатформенное решение, то MYKI или Bitwarden будут работать на каждом вашем устройстве. И даже для работы в терминале существует менеджер паролей Pass, но работать с базой данных в консоли не так удобно.

Хватает ли вам встроенного в браузер менеджера паролей? Если нет, то какую программу вы выбрали для себя? Расскажите об этом в комментариях.

Источник

Фундаментальные основы Linux. Часть VII. Управление локальными учетными записями пользователей

Глава 27. Пароли пользователей

Данная глава содержит дополнительную информацию о паролях локальных пользователей.

Читайте также:  Что делать если флешка не форматируется windows 10

В главе подробно описаны три метода установки паролей; с использованием утилиты passwd , с использованием реализации алгоритма шифрования passwd из библиотеки openssl , а также с использованием функции crypt в программе на языке C.

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

Утилита passwd

Файл shadow

Файл /etc/shadow содержит таблицу с девятью разделенными двоеточиями столбцами. Эти девять столбцов (слева направо) содержат имя пользователя, зашифрованный пароль, время последнего изменения пароля (первый день соответствует 1 января 1970 года), количество дней, в течение которых пароль должен оставаться неизменным, день истечения срока действия пароля, количество дней перед истечением срока действия пароля, в течение которых должно выводиться предупреждение, количество дней после истечения срока действия пароля, по прошествии которых учетная запись должна быть отключена, а также день, когда учетная запись была отключена (также с начала 1970 года). Последнее поле пока не имеет значения.

Все пароли в примере выше являются хэшами фразы hunter2 .

Шифрование ключевых фраз с помощью утилиты passwd

Шифрование ключевых фраз с помощью утилиты openssl

Другой способ создания учетных записей пользователей с паролями заключается в использовании параметра -p утилиты useradd, но в случае использования данного параметра утилите необходимо передавать уже зашифрованный пароль. Вы можете зашифровать пароль с помощью команды openssl passwd .

Помните о том, что после выполнения данной команды ваш пароль в открытом виде будет сохранен в файле истории команд командной оболочки!

Шифрование ключевых фраз с помощью функции crypt

Обратили ли вы внимание на то, что первые два символа зашифрованного пароля являются значением salt ?

Файл /etc/login.defs

Утилита chage

Блокировка учетных записей

Пароли из файла /etc/shadow не могут начинаться с символа восклицательного знака. Если второе поле в строке из файла /etc/passwd начинается с символа восклицательного знака, пароль не может использоваться.

Использование данной особенности обычно называется блокировкой , деактивацией или отключением пользовательской учетной записи. Помимо текстового редактора vi (или vipw) вы можете использовать утилиту usermod для этой цели.

Следует подходить с осторожностью к работе и учитывать различия параметров интерфейса командной строки утилит passwd , usermod и useradd в различных дистрибутивах Linux. Проверяйте содержимое локальных файлов при использовании таких возможностей, как «деактивация, отключение или блокировка» учетных записей пользователей и их паролей.

Редактирование локальных файлов

Практическое задание: пароли пользователей

1. Установите пароль hunter2 для пользователя serena .

2. Также установите пароль для пользователя venus , после чего заблокируйте учетную запись пользователя venus с помощью утилиты usermod . Проверьте наличие признаков блокировки в файле /etc/shadow до и после осуществления блокировки.

3. Используйте команду passwd -d для деактивации пароля пользователя serena . Проверьте наличие строки для пользователя serena в файле /etc/shadow до и после осуществления деактивации.

4. Каковы различия между операцией блокировки пользовательской учетной записи и операцией деактивации пароля пользовательской учетной записи, которые мы только что осуществляли с помощью команд usermod -L и passwd -d ?

5. Попытайтесь изменить пароль serena на пароль serena as serena.

6. Сделайте так, чтобы пользователь serena был обязан изменять пароль через каждые 10 дней.

7. Сделайте так, чтобы каждый новый пользователь был обязан изменять свой пароль через каждые 10 дней.

Читайте также:  Драйвера для dialog gw 21fb windows 10

8. Воспользуйтесь учетной записью пользователя root для создания резервной копии файла /etc/shadow . Используйте текстовый редактор vi для копирования хэша пароля hunter2 из строки пользователя venus в строку пользователя serena . Может ли после этого пользователь serena войти в систему с паролем hunter2 ?

9. В каких случаях следует использовать утилиту vipw вместо vi ? Какая проблема может возникнуть при использовании текстового редактора vi или vim для редактирования файла паролей?

10. Используйте команду chsh для вывода списка доступных командных оболочек (данная команда будет работать исключительно в дистрибутивах RHEL/CentOS/Fedora) и сравните вывод с выводом команды cat /etc/shells .

11. Какой параметр утилиты useradd позволяет установить имя домашней директории пользователя?

12. Как можно определить, заблокирован или разблокирован пароль пользователя serena ? Предложите решение на основе утилиты grep , а также решение на основе утилиты passwd .

Корректная процедура выполнения практического задания: пароли пользователей

1. Установите пароль hunter2 для пользователя serena .

2. Также установите пароль для пользователя venus , после чего заблокируйте учетную запись пользователя venus с помощью утилиты usermod . Проверьте наличие признаков блокировки в файле /etc/shadow до и после осуществления блокировки.

Обратите внимание на то, что в результате выполнения команды usermod -L перед хэшем пароля добавляется символ восклицательного знака.

3. Используйте команду passwd -d для деактивации пароля пользователя serena . Проверьте наличие строки для пользователя serena в файле /etc/shadow до и после осуществления деактивации.

4. Каковы различия между операцией блокировки пользовательской учетной записи и операцией деактивации пароля пользовательской учетной записи, которые мы только что осуществляли с помощью команд usermod -L и passwd -d ?

Блокировка предотвратит вход пользователя в систему с использованием установленного пароля благодаря добавлению символа ! перед хэшем пароля в файле /etc/shadow .

Деактивация с помощью утилиты passwd приведет к удалению хэша пароля из файла /etc/shadow .

5. Попытайтесь изменить пароль serena на пароль serena as serena.

Войдите в систему с именем пользователя serena , после чего выполните команду: passwd serena . Исполнение команды должно завершиться неудачей!

6. Сделайте так, чтобы пользователь serena был обязан изменять пароль через каждые 10 дней.

7. Сделайте так, чтобы каждый новый пользователь был обязан изменять свой пароль через каждые 10 дней.

8. Воспользуйтесь учетной записью пользователя root для создания резервной копии файла /etc/shadow . Используйте текстовый редактор vi для копирования хэша пароля hunter2 из строки пользователя venus в строку пользователя serena . Может ли после этого пользователь serena войти в систему с паролем hunter2 ?

9. В каких случаях следует использовать утилиту vipw вместо vi ? Какая проблема может возникнуть при использовании текстового редактора vi или vim для редактирования файла паролей?

Утилита vipw выведет предупреждение в том случае, если кто-либо еще в данный момент редактирует данный файл (с помощью утилиты vipw ).

10. Используйте команду chsh для вывода списка доступных командных оболочек (данная команда будет работать исключительно в дистрибутивах RHEL/CentOS/Fedora) и сравните вывод с выводом команды cat /etc/shells .

11. Какой параметр утилиты useradd позволяет установить имя домашней директории пользователя?

12. Как можно определить, заблокирован или разблокирован пароль пользователя serena ? Предложите решение на основе утилиты grep , а также решение на основе утилиты passwd .

Источник

Оцените статью