-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Two factor authentication ru RU
Некоторое время назад Valve представило систему известную как "Удержание обменов", которая требует наличие дополнительного аутентификатора для различных действий связанных с аккаунтом. Вы можете прочесть об этом подробнее тут и тут. Важно понимать как работает двухфакторная аутентификация (далее - 2ФА), прежде чем пытаться понять работу 2ФА ASF.
Сейчас вы можете заметить, что все обмены удерживаются 15 дней, что не самая серьёзная проблемой при использовании ASF, но всё же достаточно неприятно, особенно для тех кому хотелось бы полной автоматизации. К счастью, ASF включает в себя решение этой проблемы, под названием 2ФА ASF.
Не зависимо от того, пользуетесь вы описанной ниже 2ФА ASF или нет, в ASF предусмотрена правильная логика работы, и полностью учитываются особенности работы с аккаунтами, защищёнными обычной 2ФА. У вас будут запрашивать необходимые данные когда они нужны (как например при входе). Если вы пользуетесь 2ФА ASF, программа сможет избежать этих запросов и автоматически генерировать нужные коды, избавив вас от беспокойства и позволив пользоваться дополнительными возможностями (описанными ниже).
2ФА ASF это встроенный модуль, отвечающий за реализацию функций 2ФА для процесса ASF, таких как генерация кодов и подтверждение операций. Он дублирует ваш существующий аутентификатор, так что вы можете использовать ваш текущий аутентификатор и 2ФА ASF одновременно.
Вы можете проверить, используется ли на боте 2ФА ASF путём исполнения команд 2fa
. Если вы ещё не импортировали ваш аутентификатор в 2ФА ASF, все команды 2fa
не будут работать, а это означает что ваш аккаунт не использует 2ФА ASF, и следовательно не может использовать некоторые расширенные функций ASF, которым этот модуль требуется для работы.
Для выполнения шагов, описанных ниже, вам нужно иметь уже привязанный и работоспособный аутентификатор, поддерживаемый ASF. ASF currently supports a few different official and unofficial sources of 2FA - Android, iOS, SteamDesktopAuthenticator and WinAuth, on top of manual method which allows you to provide required credentials yourself. If you don't have any authenticator yet, you need to choose one of available apps and set it up firstly. Если у вас нет предпочтений, какой из них использовать, мы рекомендуем WinAuth, но работать будет любой из них, если конечно вы будете следовать инструкциям.
Все последующие руководства требуют чтобы у вас уже был настроенный и работающий аутентификатор в одном из заданных приложений. 2ФА ASF не будет работать если вы импортируете неверные данные, поэтому убедитесь что аутентификатор правильно работает перед тем как его импортировать. Это включает в себя тестирование и проверку того, что следующие функции аутентифиатора работают правильно:
- Вы можете генерировать коды для входа и эти коды принимаются сетью Steam
- Вы можете получить список операций, требующих подтверждения, и они отображаются в вашем мобильном аутентификаторе
- Вы можете подтверждать эти операции, и они правильно отображаются сетью Steam как подтверждённые/отклонённые
Убедитесь что ваш аутентификатор работает проверив, работают ли функции описанные выше - если нет, то они не будут работать и в ASF, и вы просто зря потратите время и получите лишние проблемы.
The below instructions apply to Steam app in version 2.X
, there are currently no resources on extracting required details from version 3.0
onwards. We'll update this section once generally-available method is found. As of today, a workaround would be to intentionally install older version of Steam app, register 2FA and extract the required details first, after which it's possible to update the application to latest version - existing authenticator will continue to work.
В общем случае для импорта аутентификатора со смартфона под Android вам потребуется root-доступ. Рутинг отличается на разных устройствах, поэтому мы не можем сказать вам как получить root на вашем устройстве. Посетите форум 4PDA и найдите руководство для вашего устройства, а также общую о получении root-доступа. Если вы не смогли найти там руководство для вашего устройства, попробуйте поискать в google.
Официально невозможно получить доступ к защищённым файлам Steam без помощи root. Единственный официальный метод без root получения файлов Steam это создание незашифрованного бекапа папки /data
тем или иным способом, и получение необходимых файлов вручную на ПК, но поскольку это сильно зависит от производителя вашего телефона и не является стандартным для Android, мы не будем рассматривать здесь этот вариант. Если вам повезло иметь такую возможность, вы можете ей воспользоваться, но у большинства пользователей ничего подобного не будет.
Unofficially, it is possible to extract the needed files without root access, by installing or downgrading your Steam app to version 2.1
(or earlier), setting up mobile authenticator and then creating a snapshot of the app (together with the data
files that we need) through adb backup
. Однако, поскольку это ведёт к серьёзным проблемам с безопасностью и является совершенно неподдерживаемым, мы не будем развивать эту тему, Valve устранило эту дыру в безопасности в более новых версиях не просто так, и мы упомянули об этом только чтобы вы знали о такой возможности. Still, it might be possible to do a clean install of that version, link new authenticator, extract the required files, and then upgrade the app, which should be just enough, but you're on your own with this method anyway.
Если вы успешно получили root-доступ на вашем телефоне, то теперь вам понадобиться скачать любой root-проводник доступный в Play Маркет, такой как этот (или любой другой на ваш вкус, на самом деле). Вы также можете получить доступ к защищённым файлам через ADB (Android Debug Bridge) или любым другим доступным для вас методом, мы сделаем это через проводник поскольку это самый дружелюбный к пользователю способ.
Откройте ваш root-проводник и перейдите в папку /data/data
. Помните что папкаа /data/data
является защищённой и вы не сможете получить к ней доступ без root-прав. Когда перейдёте туда, найдите папку com.valvesoftware.android.steam.community
, и скопируйте её в папку /sdcard
, которая указывает на ваше встроенное внутреннее хранилище. После этого, у вас должно получиться подключить ваш телефон к ПК и скопировать эту папку из внутреннего хранилища как обычно. Если по какой-то причине папка не будет видна, хотя вы уверены что скопированы её в правильное место, попробуйте сначала перезагрузить свой телефон.
Теперь вы можете выбрать, хотите ли вы импортировать ваш аутентификатор сначала в WinAuth, а затем в ASF, или в ASF напрямую. Первый вариант проще и позволит вам продублировать аутентификатор также на вашем ПК, позволив вам подтверждать операции и создавать коды в 3 разных местах - на телефоне, на ПК и через ASF. Если вы хотите этого, просто откройте WinAuth, добавьте новый аутентификатор Steam и выберите пункт импорта из Android, затем следуйте инструкциям выбрав файлы которые вы получили выше. После окончания, вы можете импортировать аутентификатор из WinAuth в ASF, как описано в разделе, посвященном WinAuth, ниже.
If you don't want to or don't need to go through WinAuth, then simply copy files/Steamguard-<SteamID>
file from our protected directory, where SteamID
is your 64-bit Steam identificator of the account that you want to add (if more than one, because if you have only one account then this will be the only file). Вам нужно разместить этот файл в каталоге config
вашего ASF. Как только вы это сделаете - переименуйте этот файл в BotName.maFile
, где BotName
- имя вашего бота, для которого вы добавляете 2ФА ASF. После этого шага запустите ASF - он должен обнаружить файл с расширением .maFile
и импортировать его.
[*] INFO: ImportAuthenticator() <1> Конвертация .maFile в формат ASF...
[*] INFO: ImportAuthenticator() <1> Мобильный аутентификатор успешно импортирован!
На этом всё, если вы импортировали правильный файл с корректными данными, всё должно работать правильно, вы можете это проверить использовав команды 2fa
. Если вы где-то ошиблись, вы всегда можете удалить Bot.db
и начать всё с начала.
Для iOS вам понадобится ios-steamguard-extractor. Это возможно благодаря тому, что вы можете сделать нешифрованную резервную копию, скопировать её на ПК и использовать эту утилиту чтобы извлечь данные Steam, которые нельзя получить иным образом (во всяком случае без jailbreak, из-за шифрования iOS).
Перейдите к последней версии и скачайте программу. После того, как вы извлекли нужные данные, вы можете например импортировать их в WinAuth, а затем из WinAuth в ASF (хотя вы можете просто скопировать json-часть начиная с {
и заканчивая }
в файл BotName.maFile
и продолжать как обычно). Если вы спросите меня - я настоятельно рекомендую сначала импортировать в WinAuth и убедиться что и создание кодов и подтверждение операций работают правильно, чтобы знать всё ли хорошо. Если ваши учетные данные неверные, 2ФА ASF будет работать неправильно, поэтому лучше делать импорт в ASF в последнюю очередь.
Для вопросов и сообщения о проблемах перейдите в раздел issues.
Помните, что эта утилита неофициальная, и вы пользуетесь ею на свой страх и риск. Мы не предоставляем технической поддержки если это не работает - нам несколько раз сообщали что могут быть экспортированы неверные данные 2ФА - поэтому проверьте что в правильно работает подтверждение операций в чём-то типа WinAuth прежде чем импортировать данные в ASF!
Если у вас уже есть аутентифицатор, работающий в SDA, вы можете заметить что у вас уже есть файл steamID.maFile
в папке maFiles
. Скопируйте этот файл в папку config
вашего ASF. Убедитесь, что этот .maFile
в незашифрованном виде, поскольку ASF не умеет расшифровывать файлы SDA - незашифрованный файл должен начинаться с символа {
.
Теперь вам надо переименовать файл из steamID.maFile
в BotName.maFile
в вашей папке config
, где BotName
- имя бота для которого вы хотите добавить 2ФА ASF. Вы можете оставить всё как есть, ASF обнаружит этот файл автоматически после входа в Steam. Если вы поможете ASF, переименовав файл, ASF сможет использовать 2ФА ASF ещё до входа, а если нет - файл будет импортирован только после того как ASF успешно войдёт (поскольку ASF не знает steamID
вашего аккаунта до того как войдёт).
Если вы всё сделали правильно, запустите ASF, вы должны увидеть:
[*] INFO: ImportAuthenticator() <1> Конвертация .maFile в формат ASF...
[*] INFO: ImportAuthenticator() <1> Мобильный аутентификатор успешно импортирован!
С этого момента ваш 2ФА ASF должен быть работоспособен на этом аккаунте.
Сначала создайте новый пустой файл BotName.maFile
в папке config
вашего ASF, где BotName
это имя вашего бота, для которого вы хотите добавить 2ФА ASF. Помните, что имя должно быть BotName.maFile
а НЕ BotName.maFile.txt
, Windows по-умолчанию скрывает расширения для зарегистрированных типов файлов. Если имя файла будет неверным, ASF не обнаружит его.
Теперь запустите WinAuth как обычно. Кликните правой кнопкой мыши на иконке Steam и выберите "Show SteamGuard and Recovery Code". Поставьте отметку в поле "Allow copy". Вы должны увидеть уже знакомую вам JSON-структуру в нижней части окна, начинающуюся с {
. Скопируйте весь текст в файл BotName.maFile
, созданный на предыдущем этапе.
Если вы всё сделали правильно, запустите ASF, вы должны увидеть:
[*] INFO: ImportAuthenticator() <1> Конвертация .maFile в формат ASF...
[*] INFO: ImportAuthenticator() <1> Мобильный аутентификатор успешно импортирован!
С этого момента ваш 2ФА ASF должен быть работоспособен на этом аккаунте.
С этого момента все команды 2fa
будут работать как будто на вашем обычном устройстве 2ФА. Вы можете использовать одновременно 2ФА ASF и ваш аутентификатор (Android, iOS, SDA или WinAuth) для генерации кодов и подтверждения операций.
Если у вас есть аутентификатор на телефоне, вы можете по желанию удалить SteamDesktopAuthenticator и/или WinAuth, поскольку он вам больше не понадобится. Однако я советую оставить его просто на всякий случай, даже не говоря о том что пользоваться им гораздо удобнее чем обычным аутентификатором Steam. Не забывайте, что 2ФА ASF это НЕ замена обычному аутентификатору, и никогда не должна использоваться как единственный аутентификатор, поскольку в 2ФА ASF хранятся не все данные, которые должен иметь полноценный аутентификатор. Невозможно конвертировать 2ФА ASF назад в обычный аутентификатор, поэтому всегда имейте основной аутентификатор в другом месте, как например в WinAuth/SDA или на телефоне.
Если 2ФА ASF настроена, ASF будет автоматически подтверждать все обмены которые отправляет/получает ASF. Также будет возможно автоматически при необходимости создавать коды 2FA, например чтобы выполнить вход. В добавок к этому, наличие 2ФА ASF делает доступными команды 2fa
для вашего удобства. Это должно быть всё, если я ничего не забыл - проще говоря, ASF использует модуль 2ФА по мере необходимости.
Вам нужен код 2ФА для любого аккаунта, защищённого 2ФА, это также включает в себя каждый аккаунт с 2ФА ASF. Вам стоит создавать коды в аутентификаторе, который вы использовали для импорта, но вы можете также создавать временные коды с помощью команды 2fa
, отправив её через чат выбранному боту. Вы также можете использовать команду 2fa <BotNames>
чтобы сгенерировать временные коды для указанных ботов. Этого должно быть достаточно чтобы получить доступ к ботам через, например, браузер, но как я отметил выше - вам стоит использовать вместо этого более удобный аутентификатор (Android, iOS, SDA или WinAuth).
Да, ваш аутентификатор останется полностью работоспособным и вы можете использовать его одновременно с 2ФА ASF. В этом смысл всего процесса - мы импортируем данные вашего аутентификатора в ASF, чтобы ASF мог использовать их и подтверждать операции обмена, нужные вам.
Мобильный аутентификатор в ASF хранится в файле BotName.db
, в вашей папке config
, вместе с другой важной информацией относящейся к аккаунту. Если вы хотите удалить 2ФА ASF, читайте инструкцию ниже.
Просто остановите ASF и удалите файл BotName.db
соответствующий боту 2ФА ASF которого вы хотите удалить. Это удалит импортированный 2ФА, привязанный к ASF, но НЕ отвяжет аутентификатор от аккаунта. Если вместо этого вы хотите отвязать свой аутентификатор, то кроме удаления его из ASF (сначала), вам нужно отключить его в том аутентификаторе, которым вы пользуетесь (Android, iOS, SDA или WinAuth), или - если по какой-то причине вы не можете, использовать код восстановления, который вы получили при подключении аутентификатора, на сайте Steam. Невозможно удалить аутентификатор с помощью ASF, для этого вам надо использовать аутентификатор общего назначения, который у вас уже есть.
Я подключил аутентификатор через SDA/WinAuth, а затем импортировал его в ASF. Можно мне теперь отключить его и заново подключить к своему телефону?
Нет. ASF импортирует данные вашего аутентификатора чтобы им пользоваться. Если вы отключите аутентификатор, то 2ФА ASF перестанет работать, не зависимо от того, удалили вы его как сказано выше, или нет. Если вы хотите использовать аутентификатор одновременно на телефоне и в ASF (плюс возможно в SDA/WinAuth), то вам нужно импортировать аутентификатор с вашего телефона, а не создавать новый в SDA/WinAuth. У вас может быть подключен только один аутентификатор, поэтому ASF импортирует этот аутентификатор со всеми данными для использования в 2ФА ASF - это тот же самый аутентификатор, просто существующий в двух местах. Если вы решите отключить ваш мобильный аутентификатор - не важно каким способом - 2ФА ASF перестанет работать, поскольку скопированный ранее аутентификатор будет уже неверным. Чтобы использовать 2ФА ASF вместе с аутентификатором на телефоне, вы должны импортировать его с Android/iOS, как описано выше.
Лучше ли использовать для подтверждения всех операций 2ФА ASF по сравнению с WinAuth/SDA/Другим аутентификатором?
Да, по ряду причин. Первое, и самое главное - использование 2ФА ASF значительно увеличивает безопасность, поскольку модуль 2ФА в ASF будет следить чтобы ASF подтверждал автоматически только собственные обмены, так что даже если атакующий попытается запросить обмен, который вреден для вас, 2ФА ASF не примет такой обмен, поскольку он не был создан с помощью ASF. В добавок к безопасности, использование 2ФА ASF также даёт преимущества в производительности и оптимальности, поскольку 2ФА ASF подтверждает обмены сразу после того как они созданы, и только тогда, в противоположность поиску неподтвержденных операций каждые X минут как сделано например в SDA или WinAuth. Короче говоря, нет причин использовать сторонний аутентификатор если вы хотите автоматически подтверждать обмены, созданные ASF - именно для этого создана 2ФА ASF, и её использование никак не мешает вам подтверждать всё остальное в своём любимом аутентификаторе. Мы настоятельно рекомендуем использовать 2ФА ASF для всех действий ASF - это гораздо безопаснее чем прочие решения.
Если вы продвинутый пользователь, вы можете также создать maFile вручную. Это может быть использовано, если вы хотите импортировать аутентификатор из иных источников чем те, что описаны выше. Он должен иметь корректную JSON структуру, состоящую из:
{
"shared_secret": "STRING",
"identity_secret": "STRING"
}
В стандартных аутентификаторах имеется больше параметров - они полностью игнорируются ASF в процессе импорта, поскольку нам они не нужны. Вам не нужно их удалять - ASF требуется только корректная структура JSON с 2 обязательными полями, указанными выше, а все остальные поля (если они есть) - игнорируются. Разумеется, вам нужно заменить STRING
в этом примере на корректные для вашего аккаунта значения. Each STRING
should be base64-encoded representation of bytes the appropriate private key is made of.
- 🏡 Главная
- 🔧 Конфигурация
- 💬 ЧАВО
- ⚙️ Настройка (начать здесь)
- 👥 Фоновая активация ключей
- 📢 Команды
- 🛠️ Совместимость
- 🧩 Плагин ItemsMatcherPlugin
- 📋 Управление
- ⏱️ Производительность
- 📡 Удаленная связь
- 👪 Steam Family Sharing
- 🔄 Обмены
- ⌨️ Аргументы командной строки
- 🚧 Устаревание
- 🐳 Docker
- 🤔 Расширенное ЧАВО
- 🚀 Конфигурация для высокой производительности
- 🔗 IPC
- 🌐 Локализация
- 📝 Журналирование
- 💾 Конфигурация для малого ОЗУ
- 🕵🏼♂️ Плагин мониторинга
- 🔌 Плагины
- 🔐 Безопасность
- 🧩 SteamTokenDumperPlugin
- 📦 Сторонние разработки
- 📵 Двухфакторная аутентификация