В каталоге Python-пакетов PyPI внедрены новые меры безопасности, направленные на предотвращение захвата учетных записей через устаревшие доменные имена в email-адресах. Теперь платформа автоматически блокирует email-адреса, привязанные к доменам, чей срок регистрации истёк. Это решение призвано закрыть одну из уязвимостей, которую ранее использовали злоумышленники для получения контроля над чужими проектами.
Суть атаки заключалась в следующем: хакеры отслеживали email-адреса пользователей PyPI, зарегистрированные на доменах, срок действия которых завершился. После этого они выкупали эти домены, настраивали почтовый сервер, принимали почту, и с помощью функции восстановления пароля получали доступ к аккаунтам, связанным с этими адресами. В 2022 году именно таким образом был захвачен популярный пакет ctx, что вызвало серьёзную обеспокоенность в сообществе Python-разработчиков.
В ответ на угрозу администрация PyPI внедрила систему ежедневного мониторинга доменных имён, используемых в email-адресах зарегистрированных пользователей. Если обнаруживается, что домен больше не активен, связанный с ним email автоматически переводится в статус неподтверждённого. В таком состоянии восстановление пароля становится невозможным. Чтобы повторно активировать email, владелец учётной записи должен вручную подтвердить его, зная текущий пароль и пройдя верификацию.
С начала июня 2024 года в базе данных PyPI уже выявлено более 1800 таких email-адресов, связанных с неактуальными доменами. Это иллюстрирует масштаб потенциальной угрозы и актуальность предпринятых действий.
Стоит напомнить, что с 1 января 2024 года PyPI ужесточил требования к безопасности: теперь управление проектами возможно только при включенной двухфакторной аутентификации (2FA). Однако для пользователей, зарегистрировавшихся до введения этого правила, по-прежнему доступна возможность восстановления доступа через email без обязательной 2FA. Именно этот подход и стал основной уязвимостью, которой пользовались злоумышленники.
Новая мера не только снижает риск захвата учётных записей, но также призвана побудить владельцев старых аккаунтов активировать двухфакторную аутентификацию и следить за актуальностью своих контактных данных.
Тема доменных email-адресов и их уязвимости — не нова. С ростом количества бесплатных почтовых сервисов и доменов, которые можно зарегистрировать и забыть продлить, проблема стала особенно острой. Многие пользователи по незнанию продолжают использовать email-адреса от собственных доменов, забывая, что срок действия домена — не вечен. По его истечении, контроль над почтой теряется, что открывает широкие возможности для атак.
Корпоративные почтовые сервисы, обладающие собственной инфраструктурой и системами фильтрации, давно ввели строгие правила обработки входящих и исходящих писем. Они требуют настройки таких стандартов как SPF, DKIM, DMARC и PTR-записи, которые подтверждают подлинность отправителя. Однако даже соблюдение всех этих протоколов не гарантирует стопроцентную доставку писем, особенно если домен или IP-адрес отправителя не имеет достаточно высокой репутации.
Собственные почтовые серверы, размещённые на дешёвом хостинге, часто попадают в черные списки или получают низкий рейтинг у почтовых провайдеров. Причины — отсутствие стабильной истории отправки, подозрительная активность, а также простое отсутствие «корпоративного» внешнего вида писем. Следствием становится то, что даже легитимные письма попадают в спам.
Многие обвиняют крупные почтовые сервисы в монополизации рынка и усложнении правил для независимых пользователей и небольших компаний. Однако реальность такова, что борьба со спамом и фишингом требует жёстких и технически сложных механизмов. Открытость email-протоколов — одновременно их сила и слабость: каждый может запустить почтовый сервер, но не каждый способен сделать его безопасным и уважаемым.
Кроме того, с технической стороны, email-инфраструктура значительно усложнилась. Администрирование собственной почтовой системы требует высокой квалификации: настройка DNS-записей, регулярное обновление сертификатов, мониторинг активности и защита от злоупотреблений. Без должного опыта попытки вести собственную почту могут привести к тому, что письма будут игнорироваться или блокироваться получателями.
В контексте PyPI это означает, что платформа обязана минимизировать риски, связанные с небрежным отношением пользователей к своим email-адресам. Перекладывать ответственность за безопасность на плечи конечных пользователей — слишком рискованно. Поэтому автоматизированные проверки и ограничения становятся необходимыми.
Также стоит отметить, что PyPI — не единственный ресурс, столкнувшийся с подобной проблемой. Подобные атаки фиксировались на GitHub, npm и других платформах, где email-верификация используется для восстановления доступа. Это подчеркивает важность комплексного подхода к защите аккаунтов.
Рекомендации для пользователей:
1. Убедитесь, что ваш email-адрес привязан к стабильному и надёжному домену.
2. Включите двухфакторную аутентификацию во всех сервисах, где это возможно.
3. Регулярно проверяйте срок действия доменов, особенно если используете их для email.
4. Избегайте использования устаревших или временных почтовых ящиков.
5. Настройте SPF, DKIM и DMARC-записи, если ведёте почтовый сервер самостоятельно.
В конечном итоге, меры, принятые PyPI, — это шаг вперёд к более безопасной и надёжной экосистеме открытого программного обеспечения. Они подчеркивают важность ответственности каждого участника в цепочке доверия — от разработчика до администратора платформы.



