Pull to refresh

Comments 40

Много лет использую KeePassX, увидев в этом обсуждении KeePassXC, решил его попробовать. Выглядит неплохо и интеграция с браузером облегчает жизнь. Единственное, что немного раздражает — в окошке KeePassX можно табуляцией переключаться между списком групп и списком паролей и вообще между полями, что позволяло вообще не пользоваться мышкой (учитывая, что я и вызываю это окошко с клавиатуры, используя функционал scratchpad из i3 wm, это было очень удобно), а в KeePassXC приходится использовать мышь
pass. Шифрует сертификатом gpg, расшифровывает по одному, xdotool сразу для вставки куда необходимо. Синхронизация через git. Удобная гиковская штука.
Блин, неужели никто реально не использует pass (https://www.passwordstore.org/).

Ранее юзал KeePassX, на линухе оказался глюченым. Так же в плане поиска нужного пароля неудобен
LastPass — хранение критически важных паролей в чужом облаке — для меня не вариант. К тому же он условно бесплатен. Если нужно приложение на телефон — нужна подписка. Нативный клиент плохой, если юзать не для веб — вообще не удобен.

Pass — это парольный менеджер изначально написанный на bash. Каждый файл пароля хранится в отдельно зашифрованном gpg сертификатом файле. Хранить можно не только пароль (первая строчка файла), но и любую дополнительную информацию в текстовом виде.
Работает на Linux, MacOS, Win. Android и iOS тоже есть.

Преимущества:

1. Синхронизация через git репозиторий (свой скрытый или внутри компании). (pass git pull, pass git push)
2. Возможность шифровать пароли для нескольких человек (общие папки). Каждый пароль шифруется для нескольких gpg сертификатов. Есть возможность перешифровать добавив или удалив его ИД.
3. Пароли расшифровываются не группой, а по одному
4. Есть gui клиенты для различных операционных систем
5. Есть плагины для тех же TOTP, git credetials, update (обновление паролей), pwned для проверки утечки и многие другие
6. Есть плагины для браузеров для автозаполнения логинов и паролей
7. Есть приложения для мобильных (все бесплатно)

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

Из минусов — нет автозаполнений форм (карточные данные и тп, но я думаю мерж реквесты в репозиторий экстеншена приветсвуются). Но я без этого живу нормально (pass ls my_cards/sbrf/visa)

Еще автор pass так же является автором WireGuard но это уже другая история.
Использовал pass какое то время.
После того как gpg у меня протух (через пару лет), использовать расхотелось
Пароли я конечно восстановил откатив время назад, но попадать в подобную ситуацию больше не хочется.
Дату очень легко продлить при наличии секретного ключа) Это делается одной командой))

www.g-loaded.eu/2010/11/01/change-expiration-date-gpg-key

UPDATE: хорошей практикой считается выставлять конечное время действия ключей и переодически продлевать их, например, раз в год.
LastPass бесплатный… чет даже страшно уже :)
Посмотреть в backend код LastPass-а не представляется возможным. Но у меня складывается ощущение, что там хватает говнокода:

  • Backend написан на PHP
  • Web сервисы возвращают XML, причём форматирование поломано — табуляции вперемешку с проблемами
  • Расширение иногда перестаёт работать в приватной вкладке Firefox
  • Постоянно отваливается синхронизация логина между Firefox и Opera
  • На Android отваливается синхронизация логина между Lastpass и Authenticator

Вроде бы это всё мелочи, но к качеству кода есть вопросы.
Тоже самое. Пароли в памяти хранятся в открытом виде, даже после того как вы вышли (разлогинились из приложения). И они об этом знают, потому что репорт на багбаунти приняли как duplicated
KeePassXC, хоть и жутко неудобный после LastPass.
В KeePass можно хранить только пароли. В то время как в LastPass и файлы (сканы документов, закрытые ключи, пароли от Wifi, данные платёжных карт, простые заметки, прочее). Конечно в KeePass можно хранить вложения и свои кастомные поля, такие как номер карты, CVV, пр. Но LastPass делает это удобнее.

Но для меня главное преимущество LastPass, 1Password и Buttercup в том, что для всех платформ софт пишет один разработчик и функциональность одинаковая на iOS, Android, Browser, Windows, Linux. В случае с KeePass декстопное приложение написано на C++/Qt (или на JS как в случае с KeeWeb), расширение для браузеров писали другие люди, мобильные приложения — третьи. Поэтому выглядит всё по разному и функциональность отличается (где-то есть TOTP, где-то нет, какие-то расширения умеют с desktop-клиентом синхронизироваться, другие нет).

Очень надеюсь, что Buttercup по функциональности догонят Lastpass или 1Password. Но пока они далеки от идеала.
Забыл добавить про многофакторную аутентификацию через Lastpass Authenticator, TOTP, Toopher, Duo Security, Transakt, Grid, YubiKey, отпечаток пальца, Sesame или Salesforce Authenticator. А также возможность делиться отдельными записями или целыми папками с другими пользователями.
Одно только хранение пароля в String -это большой косяк. Правильно хранить в массиве [].

Лучше бы его вообще не хранить. Они базу всё равно уже расшифровали. Как вариант для более быстрой разблокировки — использовать обфускацию. Как в 1Password. Однако и при таком подходе извлечение пароля возможно. Если пользлватель нажал "Заблокировать", то почему бы действительно не почистить полностью память?

Я не знаю, поэтому спрашиваю, разве можно в C# почистить память? В Java массив можно занулить, а String так и будет в памяти висеть.
Действительно, в c# строки не изменяемые. Как вариант, использовать SecureString, конструируя объект, вызывая метод appendChar, а после использования уничтожить, вызвав Dispose().
Пользуюсь KeePass Password Safe уже много лет.
Не так давно они БигБаунти запустили по KeePass 2.x.
Серьезный недостаток — отсутствие официального клиента для мобильных устройств, и соответственно синхронизации между ними.
Приходится использовать на телефоне неофициальный, только название разработчика «Flush Software, LLC» смущает.
Bitwarden, серверная часть на собственной железке, благо бесплатная версия это допускает. Но он не имеет адекватного клиента под декстоп, только под Андроид (что для iOS — не видел за неимением) и браузерные расширения.
UFO just landed and posted this here
Ещё бы Enpass проверить. Много кто недавно на него перешёл с KeePass

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

Что за чушь? С чего пользователям KeePass переходить на эту неудобную проприетарную поделку.
Недавно смотрел на разные менеджеры паролей.
После сравнений и проб остановился на bitwarden. Пока доволен удобством и безопасностью.
А можете высказать свое мнение по поводу Enpass?
Или сделать такую же статью по взлому Enpass
Я сам пользуюсь SafeinCloud, но хочется теперь что нибудь более защищенное
Использую уже давно. На 3 ноутах, планшете и телефоне. Никто не обещал сильную криптографию в данной программе (да я и не надеялся оную получить-)), но из многих аналогов выбрал именно её — просто, удобно. Если есть что хранить, то pgp в помощь или аналоги. Не так удобны, зато надёжны. А от банального любопытного индивида, эта программа защищает не плохо.
Ребятки добрый вечер, читаю эту статью и понимаю, что моя святая святых, а именно SIC, не такая уж и крепость, как я себе ее представлял. Посмотрев все комментарии я полностью растерялся, прошу вашего совета, а именно куда можно перейти? Требования к менеджеру таковы:
1. Не дорогой.
2. Для Windows и Android
3. Для хранения паролей и файлов (ключи, скан. и др.)
4. Качественно защищен
P.s. особо ценного у меня как у обычного гражданина нет, но хотелось бы быть уверенным в надежности программы.
Заранее большое спасибо.
К сожалению, данный продукт также оставляет пароли в памяти(после разблокировки), но не так явно как SiC. Также KeePass чистит мастер-пароль из памяти.
Причина тут может быть также и в том, что KeePass также написан на .net, а там строки не изменяемые и у программиста над ними мало контроля.
Пароль появляется только после его копирования и только у конкретной записи, которую открыли. Это лучше чем то, что делает SiC. А так да, верно, чтобы у этой же записи пароль был стёрт из памяти нужно заблокировать базу
Вы неправильно поняли мой комментарий. Ваши пароли(кроме местер-пароля) будут в памяти процесса даже при ЗАБЛОКИРОВАННОЙ базе. Достаточно одной разблокировки.
Проверьте сами. Достаточно заблокировать KeePass и просканировать память на наличие одного из Ваших паролей. Причем об этом прямо написано в исходниках KeePass, это поведение ожидаемое.

Читал документацию (https://keepass.info/%0D/help/base/security.html#secmemprot), но не исходники.


Operations that result in unencrypted data in the process memory include, but are not limited to: displaying data (not asterisks) in standard controls, searching data, replacing placeholders (during auto-type, drag&drop, copying to clipboard, ...)

Похоже, что в памяти будут пароли, которые копировались. Может быть, проверите?

Да, все верно. А также при открытии группы со списком логин/пароль все пароли расшифровываются и остаются в памяти.
В исходниках KeePassLib.Security.ProtectedString.
Метод ReadString возвращает пароль в виде обычной строки.
Как проверить самому:
1. Разблокируйте базу, откройте любую группу (с объектами можно не взаимодействовать(напр.копирование пароля)), заблокируйте базу.
2. С помощью любого memory scanner'а(я использовал Cheat Engine) просканируйте память на наличие Вашего пароля, искать строку в UTF-16.
Добавил небольшой UPDATE про реакцию автора на критику и его попытку сделать неработоспособным PoC.
Sign up to leave a comment.

Articles