KeePass – прекрасный менеджер паролей для десктопа, по умолчанию хранящий базы локально. Он богат различными возможностями, и с 2016 года подвергается регулярному аудиту.
Have I Been Pwned – онлайн-сервис для проверки того, не скомпрометирован ли один из ваших онлайн-аккаунтов во время какой-либо утечки паролей.
Некоторые менеджеры паролей, например, 1Password, предлагают возможность проверки пароля в этой базе данных.
Настройка
![](https://habrastorage.org/getpro/habr/post_images/b52/e11/e9e/b52e11e9ef9ee3d5db5af2eafeebcb62.png)
Пользователи KeePass могут сделать то же самое, только локально. Вот, что для этого нужно:
- Установить KeePass.
- Скачать последнюю версию плагина HIPB Offline Check. KeePass поддерживает кучу плагинов, способных улучшать безопасность и предоставлять другие возможности.
- Скачать последнюю базу данных с паролями с сайта Have I Been Pwned (сортированную по хэшам).
Поместите плагин в каталог для плагинов KeePass. У него открытый код, и вы могли бы сделать его с нуля, если бы у вас были нужные навыки. По умолчанию KeePass установлен в C:\Program Files (x86)\KeePass.
Распакуйте базу с паролями в какой-либо каталог. В текстовом виде она занимает 23 Гб, а в сжатом для скачивания – 9 Гб.
Запустите KeePass и выберите меню Tools > HIBP Offline Check. Нажмите Browse и выберите файл с паролями, распакованный ранее.
В диалоге можно менять другие параметры, к примеру, название столбца в KeePass или текст, который выводится на экран для безопасных и опасных паролей.
Наконец, выберите View > Configure Columns и активируйте столбец Have I Been Pwned, чтобы видеть результаты находок в базе.
Проверка паролей KeePass в базе Have I Been Pwned
![](https://habrastorage.org/getpro/habr/post_images/b2f/a8c/fe3/b2fa8cfe3f70cd3160d4d4f982c7c2dd.png)
Проверить пароли на нахождение в базе можно несколькими способами.
- Двойной клик на поле с любым паролем.
- Можно выбрать несколько пунктов, нажать правую клавишу и Selected Entries > Have I Been Pwned database.
Плагин автоматически проверяет любой обновлённый пароль на наличие в базе. Плагин сравнивает хэш пароля с хэшем в базе, чтобы узнать, не утёк ли он.
Совпадение с базой утекших паролей не означает автоматически, что пароль стал известен третьим лицам – всё зависит от сложности пароля и возможностей третьих лиц по его расшифровке.
Что можно сделать с утекшими паролями
Можно рекомендовать сменить пароли, обнаруженные в базе Have I Been Pwned. Просто зайдите на сайт или выберите нужный сервис, и меняйте на нём пароль вручную.
KeePass можно использовать для генерации безопасных паролей; они автоматически проверяются на наличие в базе Have I Been Pwned, так что на этот счёт тоже можно не беспокоиться.
Итоги
Основное преимущество данного метода состоит в локальности всех проверок. Недостаток в том, что придётся регулярно скачивать новые выпуски базы и проверять пароли на наличие в них.
А каким менеджером паролей пользуетесь вы?
Комментарии (17)
amarao
22.01.2019 17:30Ох, а что ж так много-то? Вообще, я считаю, что это реальный cs-challenge — найти наиболее оптимальную структуру хранения тыреных паролей.
Всё осложняется разными алгоритмами и солью.
Я чувствую запах бинарных деревьев…
tandzan
22.01.2019 20:39Мой менеджер паролей — бумажный блокнот и гелевая ручка. Генерирую пароли самописанным генератором, берущим рандом из виндового CrypoAPI. Можно начинать смеяться.
Если кто не хочет копаться в хешах утекших паролей, я скачал ту саму многогигабайтную БД, отсортировал и убрал дубли. Можно скачать:
https://drive.google.com/open?id=1nhMUEISwJAlNzwOIngyZaq8wwmVCdSi-
707 мб 7z архив, plain text, только пароли.
tijs
22.01.2019 22:57Благодарен за статью, пользуюсь keepass уже лет 10 на разных ОС (windows, macos, ios), но об этом плагине не знал
shadovv76
23.01.2019 10:02я храню свои пароли открыто… перед монитором :)
просто не записываю их целиком или намерено искажаю.
сама идея паролей в том, что его знаешь только ты, если привлекать «супернадежные» сервисы, то это даже не двое а неопределенный круг лиц получает доступ к чувствительной информации.
конечно никуда не делись провайдеры, но тут уж вопрос паранойи и неизбежного зла, а без третьих сервисов можно обойтись.
Tangeman
23.01.2019 16:39Честно говоря, смысла в такой проверке очень мало, разве что найти «слабые» пароли.
Мне кажется, гораздо проще изначально использовать рандомные пароли (от 16 символов и больше), либо же длинные мнемонические модифицированные («Асъ Пукшин долетался?») если не хочется заучивать рандомные для часто используемых сервисов. Вероятность взлома таких паролей перебором хешей стремится к нулю, разве что их хранят в открытом виде.
Что гораздо более ценно в HIBP — это мониторинг email, на который можно подписаться — как для отдельных адресов, так и на целые домены, но оффлайн, по понятным причинам, это не очень практично делать. Даже если этот email утечет с самого HIBP, это ничего не даст — без знания собственно сервисов где он используется и пароля (если он очень непрост).
В идеале, разумеется, лучше иметь уникальную пару email/пароль на каждый сервис (как минимум уникальный пароль), что сильно уменьшает вероятность глобальных проблем в случае утечки.
Уникальные email полезны ещё и тем что позволяют шустренько выяснить нет ли утечки задолго до того как её обнаружат — по начавшемуся спаму или фишингу.
valery1707
23.01.2019 19:35А чем вариант со скачиванием БД лучше чем вариант без скачивания?
Вот есть плагин для KeePass который использует базу Have I Been Pwned безопасным способом: https://github.com/andrew-schofield/keepass2-haveibeenpwned
В результате не нужно ничего качать, а значит мотивация провести проверку не убивается тем, что нужно качать огромный архив, и ещё и распаковывать его.
Akuma
А какой в этом смысл вообще?
Ну т.е. перебрать 23 Гб паролей задачка непростая и практически равносильная брутфорсу. Причем, даже если ваш пароль есть в этой базе и он сложнее 12345678, он с таким же успехом может быть подобран простым перебором, ну пусть чуточку дольше.
В том же KeePass можно поставить огромное число итераций «Key transformation» и перебор будет длиться ну очень долго. Например, у меня это занимает почти 2 секунды на моем i-5.
Tortortor
база отсортирована
отвечаю на вопрос ниже: вы просто не поняли о чём статья
Akuma
Т.е. это гораздо быстрее?
![image](https://habrastorage.org/webt/8a/zi/sd/8azisddjefzp9vl-jfnulwypeiw.png)
А как же это:
Grey4ip
Ваша картинка относится к шифрованию самой базы с паролями.
Плагин проверяет, есть ли ваши пароли (которые сохранены в KeePass) среди известных ему базах утечек.
Если ваш пароль есть в этой базе, то у кого-то есть и логин.
Akuma
Вообще не факт. Подскажите логин от пароля 12345678?
Я не говорю, что эта база с паролями бесполезна. Возможно, статья не слишком понятная.
avost
Не факт, но это мало что меняет.
Пара логина к паролю — это хорошо, но совсем не обязательно. Когда у кого-то утечёт база паролей или даже хешей, подбирать пароли будут по списку в том числе и этому.
Akuma
Хеши бывают разные. Как минимум, они солятся. А если сделать несколько различных итераций или алгоритмов хеширования, то список утекших хешей мало чем поможет в подборе к такой базе.
Protos
Согласен, непонятная статья и переводчик. Не понятно что ищем, просто один из палец в базе или связку логин+пароль в базе.