-
-
Notifications
You must be signed in to change notification settings - Fork 1k
Security ru RU
ASF на данный момент поддерживает 4 типа паролей: PlainText
, AES
, ProtectedDataForCurrentUser
и отсутствие пароля (null
/ ""
).
Для использования зашифрованного пароля вам нужно сначала зайти в Steam как обычно с PlainText
, а затем сгенерировать зашифрованный пароль с помощью команды password
. Выберите метод шифрования который вам нравится, затем запишите полученный зашифрованный пароль в параметр конфигурации бота SteamPassword
, и наконец не забудьте изменить параметр PasswordFormat
на значение соответствующее выбранному методу шифрования.
Это самый простой и небезопасный метод хранения пароля, задаётся значением 0
в параметре PasswordFormat
. ASF ожидает что в параметре SteamPassword
будет открытый текст - пароль, который вы используете для входа в Steam в явном виде. Это самый простой для использования вариант, и 100% совместим со всеми вариантами установки, и поэтому используется по умолчанию.
AES это стандарт шифрования, считающийся безопасным по современным стандартам, задаётся значением 1
в параметре PasswordFormat
. ASF ожидает что в параметре SteamPassword
будет base64-кодированная последовательность, которая после декодирования даст AES-зашифрованный массив байт, который можно будет расшифровать используя вектор инициализации и код шифрования ASF.
Описанный выше метод гарантирует безопасность при условии что атакующему неизвестен встроенный ключ AES-шифрования, используемый для для шифрования и расшифровки паролей. ASF позволяет вам задать ключ с помощью аргумента командной строки --cryptkey
, который вам следует использовать для максимальной безопасности. Если вы решите опустить его, ASF будет использовать свой собственный ключ, который известен и жёстко запрограммирован в приложении, и кто угодно может расшифровать пароль зашифрованный ASF. Это всё равно требует некоторых усилий и не так просто сделать, однако это возможно, и поэтому вам всегда следует использовать шифрование AES
со своим собственным --cryptkey
, который вы храните в секрете. Метод шифрования AES, используемый в ASF, предоставляет безопасность, которая должна удовлетворить желание сбалансировать простоту PlainText
и сложность ProtectedDataForCurrentUser
, однако настоятельно рекомендуется использовать его с пользовательским --cryptkey
.
На данный момент самый безопасный метод хранения пароля который предоставляет ASF, гораздо более безопасный чем AES
, описанный выше, и задаётся значением 2
в параметре PasswordFormat
. Главное достоинство этого метода это одновременно и главный его недостаток - вместо использования ключа шифрования (как в методе AES
) данные шифруются с помощью учетных данных пользователя, вошедшего в систему, а это значит что расшифровка данных возможна только на той же машине где они зашифрованы, и в добавок к этому только тем пользователем, который выполнил шифрование. Это гарантирет, что даже если вы отправите весь файл Bot.json
кому-то ещё - он не сможет расшифровать пароль без доступа к вашему ПК. Это прекрасная мера безопасности, но одновременно имеет серьёзный недостатк, заключающийся в недостатке совместимости, поскольку зашифрованный этим методом пароль будет несовместим с любым другим пользователем или машиной, включая вашу собственную, если вы решите, например, переустановить операционную систему. Однако это всё же самый лучший метод хранения паролей, и если вы беспокоитесь о безопасности PlainText
, и не хотите вводить пароль каждый раз при отсутствии пароля, то это лучший вариант для вас, поскольку вам не обязательно иметь доступ к конфигурационным файлам с любой машины кроме собственной.
Обратите пожалуйста внимание, эта опция доступна только на машинах под управлением ОС Windows.
Единственный метод гарантирующий 100% безопасность и обеспечивающий что никто не сможет украсть ваш пароль Steam. Чтобы воспользоваться этим методом просто установите параметру SteamPassword
в качестве значения пустую строку (""
) или null
. ASF при необходимости запросит ваш пароль Steam, и не будет его нигде сохранять, только хранить в памяти запущенного процесса, пока вы его не закроете. Хотя это самый безопасный метод работы с паролями, но и самый неудобный, поскольку вам нужно вручную вводить пароль при каждом запуске ASF (когда он требуется). Если для вас это не проблема, это самый лучший вариант с точки зрения безопасности.
Если вам не важна совместимость, и вас устраивает как работает метод ProtectedDataForCurrentUser
, то это рекомендуемый вариант хранения пароля в ASF, поскольку он обеспечивает наилучшую безопасность. Метод AES
это хороший выбор для людей, которые хотят использовать свои конфигурационные файлы на любой машине, а PlainText
это самый простой метод хранения пароля, если вы не против что любой может посмотреть его в файле JSON.
Не забывайте, что все эти 3 метода считаются небезопасными если у атакующего есть доступ к вашему ПК. ASF должен иметь возможность расшифровать зашифрованный пароль, а если одна программа работающая на машине может это сделать, то любая программа работающая на той же машине тоже способна это сделать. ProtectedDataForCurrentUser
это самый безопасный вариант, поскольку даже другой пользователь на том же ПК не сможет его расшифровать, но даже его можно расшифровать если кто-то украдёт ваши учётные данные и информацию о машине в добавок к конфигурационным файлам ASF.
Для тех, кто редко запускает ASF, или тех, кому не сложно вводить пароль при каждом запуске ASF, отсутствие пароля будет самым безопасным методом, поскольку пароль Steam нигде не сохраняется.
ASF не содержит никаких средств для расшифровки уже зашифрованных паролей, поскольку методы расшифровки используются только для внутреннего доступа к данным внутри процесса. Если вы хотите отменить процедуру шифрования, например чтобы перенести ASF на другую машину при использовании ProtectedDataForCurrentUser
, то просто переключите PasswordFormat
в значение 0
(PlainText) и заполните соответственно SteamPassword
. Затем вы можете запустить ASF как обычно, и начать процедуру с начала.
- 🏡 Главная
- 🔧 Конфигурация
- 💬 ЧАВО
- ⚙️ Настройка (начать здесь)
- 👥 Фоновая активация ключей
- 📢 Команды
- 🛠️ Совместимость
- 🧩 Плагин ItemsMatcherPlugin
- 📋 Управление
- ⏱️ Производительность
- 📡 Удаленная связь
- 👪 Steam Family Sharing
- 🔄 Обмены
- ⌨️ Аргументы командной строки
- 🚧 Устаревание
- 🐳 Docker
- 🤔 Расширенное ЧАВО
- 🚀 Конфигурация для высокой производительности
- 🔗 IPC
- 🌐 Локализация
- 📝 Журналирование
- 💾 Конфигурация для малого ОЗУ
- 🕵🏼♂️ Плагин мониторинга
- 🔌 Плагины
- 🔐 Безопасность
- 🧩 SteamTokenDumperPlugin
- 📦 Сторонние разработки
- 📵 Двухфакторная аутентификация