Разработка 4 мин чтения

Пароли клиентам ссылкой на один просмотр: Yopass на вашем домене

Агентства, бухгалтеры и юристы пересылают клиентам пароли и сканы в мессенджере, где они лежат годами. Yopass шифрует секрет в браузере, отдаёт ссылку на один просмотр и сжигает её. Разбираю, как устроен сервис, три сценария и честные ограничения.

Yopassпередача паролейбезопасностьself-hosted
Коротко. Yopass это маленький open source сервис, который шифрует пароль или файл прямо в браузере и выдаёт ссылку на один просмотр. После открытия секрет удаляется с сервера. Ставится в Docker за вечер на ваш домен. Это защита канала передачи, хранить пароли он не умеет. Зато из мессенджера пропадают доступы, которые раньше лежали там годами.

Где лежат ваши клиентские пароли

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

Агентства, фрилансеры, бухгалтеры и юристы делают так каждый день. Клиент просит прислать доступ, вы присылаете. Другого быстрого способа обычно нет. Через полгода у клиента сменился директор, у вас сменился менеджер, а старое сообщение с паролем всё ещё ищется по слову «пароль».

Менеджер паролей эту задачу закрывает частично: он хранит ваши секреты, но клиенту всё равно приходится что-то передать. Разбор есть в статьях про менеджер паролей и про Bitwarden с самостоятельным сервером. Yopass закрывает именно момент передачи.

Как устроен Yopass

Проект лежит на GitHub (jhaals/yopass), лицензия Apache 2.0, то есть его можно ставить и дорабатывать без отчислений. Работает так.

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

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

Хранилище по умолчанию Memcached, есть вариант с Redis. Секреты живут в памяти и удаляются по таймеру: в интерфейсе выбирается срок, по описаниям проекта это час, день или неделя. Обычно хватает одного Docker-контейнера с Yopass и одного с Memcached, плюс обратный прокси с HTTPS. Документация прямо требует HTTPS в боевой среде.

Три сценария из практики

Передача доступов клиенту. Вы закончили сайт и отдаёте хостинг, почту и админку. Раньше это был один абзац в мессенджере. Теперь отправляете ссылку, а логин и пароль клиент получает отдельно. Через час ссылка уже пустая. Если клиент написал «не открывается», значит, кто-то успел раньше. Это тоже полезная информация, и в обычном чате вы бы о ней не узнали.

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

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

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

Что важно учесть

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

Теперь по версии. В открытой редакции любой, кто знает адрес, может создать секрет: учётных записей и разграничения прав нет. Вход через OpenID Connect, журнал событий и загрузка файлов крупнее 1 МБ, по описанию проекта, относятся к платной бизнес-лицензии. Если вы собираетесь пересылать сканы и договоры, проверьте на тестовом файле, что нужный размер проходит. Часть настроек, например запрет загрузки файлов и принудительный режим одного просмотра, включается флагами сервера.

Memcached хранит всё в оперативной памяти. Перезапустили контейнер, и неоткрытые ссылки пропали. Для передачи пароля на сутки это нормально, для документов, которые клиент откроет через неделю, лучше Redis.

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

Что можно сделать уже сейчас

Первое. Посмотрите в переписках за последний год, что вы пересылали: логины, пароли, сканы. Это даст честную оценку масштаба. Старые пароли из такой переписки стоит сменить, независимо от того, ставите ли вы что-то новое.

Второе. Поднимите Yopass на тестовом поддомене. Образ jhaals/yopass и Memcached в Docker Compose запускаются быстро, остальное время займёт HTTPS и прокси. Разверните его на домене вашей компании, а не на чужом публичном сервисе: клиент видит ваш адрес, и доверия к ссылке больше.

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

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

Если нужно развернуть это на вашем сервере, настроить HTTPS, ограничить доступ к созданию секретов и встроить в бота или CRM, этим занимается направление кибербезопасности. Для небольшой команды это обычно мини-проект.

Частые вопросы

Видит ли администратор сервера, что я передал?

Нет. Сервер получает уже зашифрованные данные, а ключ находится в части адреса, которую браузер не отправляет. Администратор видит только факт хранения и срок. Он может подменить код страницы, поэтому сервис нужно держать у себя и под HTTPS.

Чем это отличается от Send для файлов?

Принцип похож: шифрование в браузере и удаление после скачивания. Yopass заточен под короткие секреты вроде паролей и кодов, Send удобнее для файлов. Про второй сервис есть отдельный разбор.

Что если клиент потерял ссылку?

Создайте новую. Старый секрет сгорит по таймеру. Именно за такую строгость сервис и выбирают.

Коротко о главном

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

Хотите такую передачу доступов на своём домене? Напишите мне в Telegram слово «ОДНОРАЗОВО». Посмотрим, что у вас пересылается, и настроим сервис под вашу команду.

Услуги по теме

Что я делаю для бизнеса

  • Боты в Telegram, MAX, VK
  • Автоматизация процессов и CRM
  • Аналитика и дашборды
  • Сайты и лендинги под ключ

Бесплатно: чек-лист «Готов ли ваш бизнес к 152-ФЗ»

12 пунктов, которые проверяют готовность за час: данные, согласия, уведомление в РКН, локализация, защита. Отметьте, что уже сделано, и увидите дыры, за которые сейчас штрафуют.

Готовы обсудить вашу задачу?

Бесплатная консультация — разберём, как внедрить это в вашем бизнесе под ключ. Без форм, пишите напрямую.

Пишу о разработке, ИИ и законах для бизнеса

Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.

Готовые решения под ключTurnkey solutionsSoluciones llave en mano交钥匙解决方案Түлхүүр гардуулах шийдэл 451 готовых IT-решений для бизнеса451 ready-made IT solutions for business451 soluciones IT listas para empresas451 个面向企业的现成 IT 解决方案Бизнест зориулсан 451 бэлэн IT шийдэл Автоматизация, боты, AI, 152-ФЗ и платформы · бесплатная консультацияAutomation, bots, AI, data privacy and platforms · free consultationAutomatización, bots, IA, privacidad de datos y plataformas · consulta gratis自动化、机器人、AI、数据合规与平台 · 免费咨询Автоматжуулалт, бот, AI, өгөгдлийн хамгаалалт ба платформ · үнэгүй зөвлөгөө Смотреть каталогView catalogVer catálogo查看目录Каталог үзэх