Срок действия токена истек: что это значит и как его обновить
Срок действия токена – это период времени, в течение которого учетные данные, выданные пользователю для доступа к системе, остаются действительными. Когда срок действия истекает, то означает, что пользователь больше не может использовать свои учетные данные для доступа к системе, и ему необходимо запросить новый токен или повторно войти в систему.
Токены используются для обеспечения безопасности и контроля доступа к различным ресурсам. Они представляют собой уникальные идентификаторы, которые привязаны к конкретному пользователю и действуют в течение определенного времени. Когда срок действия токена истекает, это означает, что временные учетные данные пользователя больше не являются действительными.
Часто срок действия токена устанавливается на определенный период времени для увеличения безопасности системы. Если токен остается действительным в течение длительного времени, у пользователей может возникнуть риск злоупотребления их учетными данными, если их данные попадут в чужие руки. Поэтому многие системы требуют периодической смены токенов для обеспечения безопасности и сохранения конфиденциальности информации.
Что значит просроченный токен?
Просроченный токен означает, что время его действия истекло. В контексте информационной безопасности, токен представляет собой уникальную строку символов, которая используется для авторизации и идентификации пользователя. Токен может иметь ограниченный срок действия, после которого он становится недействительным.
Существует несколько причин, по которым токен может стать просроченным:
- Временные ограничения: Токен может быть установлен с определенным сроком действия, после которого он становится недействительным. Это сделано с целью повышения безопасности и предотвращения злоупотреблений с токеном.
- Инверсия токена: В некоторых случаях, токен может быть инвертирован, чтобы избежать его использования после определенного времени. Это может быть полезно в случае, если токен попадает в несанкционированные руки и может быть использован злоумышленником.
- Обновление токена: Если пользователь запросил обновление токена, то старый токен может быть автоматически аннулирован и заменен новым. Это обычно используется для предотвращения несанкционированного доступа к аккаунту пользователя.
Если токен становится просроченным, то пользователю будет необходимо повторно авторизоваться или запросить новый токен для доступа к защищенным ресурсам. Просроченный токен обеспечивает дополнительный уровень безопасности, так как значительно ограничивает время, в течение которого злоумышленник может получить доступ к системе или данным пользователя.
Понятие срока действия токена
Срок действия токена — это временной период, в течение которого токен является действительным или может быть использован для доступа к определенным ресурсам или функциям.
Токен — это уникальный идентификатор, который выдается пользователю или приложению для аутентификации и авторизации при работе с различными сервисами или системами. Как правило, токен представляет собой строку символов или чисел, которая передается вместе с запросом на сервер для подтверждения легитимности запроса.
Срок действия токена определяется для обеспечения безопасности системы. При установлении срока действия токена учитываются различные факторы, такие как: уровень конфиденциальности данных, риски несанкционированного доступа, требования к взаимодействию между сервисами и другие факторы. Обычно, срок действия токена задается в настройках системы и может быть разным для разных типов токенов.
Когда срок действия токена истекает, он становится недействительным и не может быть использован для доступа к ресурсам. Это имеет смысл с точки зрения безопасности, так как даже в том случае, если третья сторона получит доступ к устаревшему токену, она не сможет выполнить никаких действий.
При истечении срока действия токена, пользователь или приложение должны повторно проходить процесс аутентификации и получать новый токен для продолжения работы с системой или доступа к защищенным ресурсам.
Почему токен может просрочиться?
Токен – это специальный код или строка символов, который используется для аутентификации и авторизации пользователя. Когда вы входите в свою учетную запись или запрашиваете доступ к определенным функциям или ресурсам, сервер генерирует токен и предоставляет его вам. Токен обычно имеет ограниченное время действия, после которого он считается недействительным или просроченным.
Существует несколько причин, по которым токен может просрочиться:
- Ограничение по времени: Для безопасности и защиты данных, токены обычно имеют установленный период времени, в течение которого они могут использоваться. Это может быть несколько минут, часов или дней, в зависимости от политики безопасности системы. Когда время действия токена истекает, он больше не может быть использован для авторизации.
- Смена пароля или учетной записи: Если пользователь сменяет пароль или учетную запись, ранее сгенерированный токен может быть считан недействительным. Это происходит для защиты от несанкционированного доступа к аккаунту.
- Выход пользователя: Если пользователь выходит из своей учетной записи или завершает сеанс, токен теряет свою действительность. Это позволяет предотвратить возможность продолжения доступа к аккаунту или данным после выхода пользователя.
Когда токен становится недействительным или просроченным, для получения доступа к нужным ресурсам или функциям пользователю придется пройти повторную аутентификацию и получить новый токен. Это обеспечивает дополнительный уровень безопасности и защиты персональных данных.
Как это влияет на безопасность?
Срок действия токена – это период времени, в течение которого токен является действительным и может использоваться для доступа к защищенным ресурсам или выполнения определенных операций. Когда срок действия токена истекает, он становится недействительным, и пользователь должен получить новый токен, чтобы продолжить использование сервиса.
Истекший токен представляет угрозу для безопасности, так как злоумышленники могут использовать его для несанкционированного доступа к чужому аккаунту или защищенным ресурсам. Поэтому очень важно настроить корректные и безопасные сроки действия токенов.
Если срок действия токена слишком долгий, то даже если пользователь забыл выйти из системы, злоумышленники могут использовать его токен в течение этого времени. Если срок действия токена слишком короткий, пользователь постоянно будет вынужден вводить учетные данные для получения нового токена, что может вызывать неудобства и ослабить безопасность, если пользователь начнет использовать слабые пароли или писать их где-то на видном месте.
Рекомендуется использовать разумные сроки действия токенов, обеспечивающие безопасность и удобство использования системы. Также стоит регулярно аудитировать активность токенов, чтобы выявлять подозрительную активность или несанкционированный доступ и принимать соответствующие меры.
Какое решение проблемы?
Если у вас возникла ошибка «Срок действия токена истек», значит, время действия вашего токена истекло, и вам необходимо сгенерировать новый токен для доступа к ресурсам.
Для решения этой проблемы вам потребуется выполнить следующие действия:
- Авторизуйтесь снова: Перейдите на страницу авторизации и введите свои данные для входа. Убедитесь, что ваш логин и пароль введены верно, и нажмите кнопку «Войти».
- Обновите токен: После успешной авторизации вы получите новый токен. Этот токен будет иметь новый срок действия, который позволит вам использовать его для доступа к ресурсам.
- Используйте новый токен: Скопируйте новый токен и используйте его для авторизации и доступа к ресурсам. Убедитесь, что вы используете актуальный токен, чтобы избежать ошибки «Срок действия токена истек» в будущем.
Если вы не можете выполнить эти действия самостоятельно, обратитесь в службу поддержки или администратора системы для получения помощи и генерации нового токена.
Важно помнить, что срок действия токена ограничен по соображениям безопасности. Регулярное обновление токена поможет защитить ваши данные и предотвратить несанкционированный доступ к вашему аккаунту.
Задание максимального времени истечения токена
Токен используется для аутентификации участников портала. Когда пользователь пытается взаимодействовать с порталом, он вводит свое имя и пароль. ArcGIS Enterprise проверяет введенные учетные данные, создает токен и выдает его пользователю.
Токен в ArcGIS – это строка зашифрованной информации, содержащая имя пользователя, время окончания действия токена и другую специальную информацию. После передачи пользователю токена он может работать с порталом, до тех пор пока срок действия токена не истечет. По истечении этого срока пользователю придется снова вводить свои учетные данные.
На портале используются три разных типа токенов:
- Токен ArcGIS — токен, сгенерированный через конечную точку sharing/rest/generateToken .
- Токен доступа OAuth — токен, сгенерированный в процессе аутентификации OAuth2.
- Токен обновления OAuth — токен, используемый для создания новых токенов доступа OAuth по истечении срока их действия.
При создании нового токена рекомендуется указывать срок действия для токена. Максимальное значение, которое можно выбрать, зависит от типа генерируемого токена.
- Токен ArcGIS — 14 дней (20,160 минут)
- Токен доступа OAuth, при создании с типами предоставления Implicit или Client Credentials — 14 дней (20,160 минут)
- Токен доступа OAuth, при создании с типом предоставления Authorization Code — 30 минут
- Токен обновления OAuth — 90 дней (129,600 минут)
Если указано время истечения срока, превышающее эти значения, токен все равно будет сгенерирован, но его срок действия будет соответствовать максимальному значению, которое может быть создано для этого типа токена. Если время истечения срока действия не указано при создании токена, используется значение по умолчанию, которое варьируется для каждого типа токена:
- Токен ArcGIS — 120 минут
- Токен доступа OAuth, при создании с типами предоставления Implicit или Client Credentials — 120 минут
- Токен доступа OAuth, при создании с типом предоставления Authorization Code — 30 минут
- Токен обновления OAuth — 2 недели (20,160 минут)
Эти максимальные значения и значения по умолчанию не могут быть увеличены и могут быть уменьшены путем установки свойства maxTokenExpirationMinutes в ArcGIS Portal Administrator Directory . Значение свойства maxTokenExpirationMinutes применяется к каждому типу токена. Если это значение меньше максимального значения, но больше значения по умолчанию, будет затронуто только максимальное значение, а значение по умолчанию останется прежним. Если значение меньше максимального значения и значения по умолчанию, будут затронуты оба значения, а максимальное значение и значение по умолчанию будут соответствовать тому, что определено в maxTokenExpirationMinutes .
Хотя эти значения могут подходить для вашей организации, важно учитывать последствия безопасности для токена. Токен с более длительным сроком действия менее защищен. Ведь токен, перехваченный злоумышленником, тоже будет действовать, пока не истечет этот срок. И наоборот, более короткое время истечения является более безопасным, но менее удобным, поскольку участникам может потребоваться вводить свои имя пользователя и пароль чаще.
Чтобы изменить максимальное время истечения токена для всех трех типов токенов, выполните следующие действия. Указанное вами значение применяется ко всем участникам портала; вы не можете указать разные значения для конкретных участников или только для администраторов.
- Войдите в ArcGIS Portal Directory в качестве администратора вашей организации.
Token CSRF как защита от CSRF-атак
Эта статья научит вас, как исправить ошибку «CSRF token истёк», которую вы можете получить при посещении сайта, и больше расскажет о CSRF-атаках в целом.
Что такое CSRF
CSRF (от англ. cross-site request forgery) или межсайтовая подделка запроса – это форма атаки на любой сайт или веб-приложение. С помощью подделки запросов мошенник обманом заставляет пользователя выполнять нежелательные действия на, казалось бы, проверенной платформе.
Как работает CSRF-атака
Межсайтовая подделка запроса будет работать только в том случае, если потенциальная жертва авторизована. Благодаря этому злоумышленник может обойти процесс аутентификации, чтобы войти в веб-приложение.
Выполнение CSRF-атаки состоит из двух основных частей.
- Злоумышленник заставляет жертву щёлкнуть на ссылку или загрузить веб-страницу. Он намеренно заманивает пользователя перейти по ссылке, используя методы социальной инженерии.
- Отправляет «поддельный» или выдуманный запрос в браузер жертвы. Вредоносная ссылка отправит запрос в веб-приложение, однако будет включать в себя значения, которые выгодны злоумышленнику.
Этот запрос определяется как незаконный, поскольку жертва не знает, что он отправляется. Но для веб-сервера это выглядит так, как будто пользователь отправил его, потому что он включает в себя файлы cookie, которые необходимы веб-серверу для проверки личности жертвы.
Примеры CSRF-атаки
Для того, чтобы получить ответ от сервера, в протоколе применяют различные методы HTTP-запросов. Наиболее часто используемые – это GET, POST, PUT, PATCH и DELETE.
Они используются и для создания межсайтовой подделки запроса.
Пример GET CSRF-атаки:
В следующем примере показано, как выглядит типичный GET-запрос для банковского перевода в размере 1000 долларов.
GET https://randombank.ru/transfer.do?account=RandPerson&amount=$1000 HTTP/1.1
Злоумышленник может изменить ссылку таким образом, что она приведёт к переводу 1000 долларов на его личный счет. Вредоносный запрос будет выглядеть так:
GET https://randombank.ru/transfer.do?account=SomeAttacker&amount=$1000 HTTP/1.1
Если задействованное приложение ожидает GET-запрос, злоумышленник может разместить на своем веб-сайте тег, который вместо ссылки на изображение отправит поддельный запрос.
Пример POST CSRF-атаки:
Вы выиграли приз!
- Пользователь входит на сайт www.shopshop.ru с помощью своих логина и пароля.
- Сервер авторизует пользователя, а ответ от сервера включает файл cookie аутентификации.
- Не выходя из системы, пользователь посещает вредоносную веб-страницу. Этот сайт содержит HTML-форму, указанную выше.
- Пользователь нажимает кнопку отправки. Браузер отправляет файл cookie аутентификации вместе с запросом.
- Сервер обрабатывает запрос, учитывая, что пользователь уже находится в аккаунте, поэтому злоумышленник получает доступ ко всему, что разрешено делать авторизованному пользователю.
Что такое токен CSRF
Токен CSRF – это уникальное и непредсказуемое значение, которое сервер генерирует для защиты уязвимых перед CSRF ресурсов.
После выполнения запроса приложение на стороне сервера сравнивает два маркера, найденные в сеансе пользователя и в самом запросе. Если токен отсутствует или не соответствует значению в сеансе пользователя, запрос отклоняется, сеанс пользователя завершается, а событие регистрируется как потенциальная атака CSRF. Так злоумышленнику практически невозможно создать полный действительный запрос, чтобы заманить жертву.
Таким образом, можно выделить основные признаки токена CSRF:
- уникальность при каждом запросе;
- непродолжительное время жизни,
- непредсказуемость и устойчивый к подбору.
Ошибки CSRF: почему возникают и как их исправить?
Сообщения «Неверный токен CSRF» или «Срок действия токена CSRF истёк» означает, что ваш браузер не смог создать безопасный файл cookie или не смог получить доступ к этому файлу cookie для авторизации вашего входа в систему.
Это может быть вызвано плагинами, расширениями, блокирующими рекламу, а также самим браузером, если ему не разрешено устанавливать файлы cookie.
Есть несколько причин, по которым вы можете получать сообщения об ошибках:
- срок действия старого токена действительно истёк, так как прошло более 24 часов;
- уже был отправлен новый токен, в связи с чем старый стал недействительным;
- плагины или расширения блокируют запросы;
- браузеру не разрешено устанавливать файлы cookie.
Иногда нужно лишь обновить свою страницу или вновь войти в систему, и всё будет готово для продолжения вашей работы. Если это не помогает, есть способы исправить это в разных браузерах.
Как исправить ошибки CSRF в браузерах
- В правом верхнем углу экрана щёлкните на значок с тремя точками и в меню выберите Настройки.
- В панели слева откройте вкладку Конфиденциальность и безопасность.
- Выберите Файлы cookie и другие данные сайтов.
- Пролистайте до раздела «Специальные настройки» и щёлкните Добавить рядом с графой «Сайты, которые всегда могут использовать файлы cookie».
- Чтобы включить сайт в этот список, введите название нужного сайта по форме [*.]ваш.сайт и затем нажмите Добавить.
- В разделе Посмотреть все разрешения и данный сайтов найдите nic.ru и удалите все записи, связанные с сайтом.
- Перезагрузите браузер и вновь войдите на сайт.
- Откройте меню в правом верхнем углу экрана и щёлкните Настройки.
- В параметрах перейдите в раздел Файлы cookie и разрешения сайтов.
- Нажмите «Управляйте файлами cookie и данными сайта…».
- Нажмите Добавить рядом со словом «Разрешить», чтобы внести сайт в список и позволить браузеру сохранять с него файлы cookie.
- Введите [*.]ваш.сайт и подтвердите своё решение, нажав Добавить.
- Перейдите во вкладку Посмотреть все файлы cookie и данные сайта и удалите всё, связанное с выбранным сайтом.
- Перезагрузите браузер.
- Откройте меню, щёлкнув на значок с тремя линиями в верхнем углу экрана, и перейдите в Настройки.
- В левой панели выберите вкладку Сайты и найдите в ней опцию Расширенные настройки сайтов.
- Пролистайте вниз до раздела Cookie-файлы. Откройте Настройки сайтов под ним.
- Нажмите Добавить.
- Введите [*.]ваш.сайт и подтвердите своё решение, нажав Добавить.
- Вернитесь на предыдущую страницу и перейдите в Cookie-файлы и данные сайтов. Кнопка находится рядом с Настройками сайтов.
- Удалите все данные о сайте.
- Перезагрузите браузер.
- В левой панели экрана щёлкните на значок Настроек.
- Выберите раздел Безопасность, а затем нажмите Файлы cookie и прочие данные сайтов.
- В разделе «Настраиваемое поведение» у параметра Сайты, которые всегда могут использовать файлы cookie щёлкните Добавить.
- Введите [*.]ваш.сайт и подтвердите своё решение, нажав Добавить.
- Чуть выше выберите опцию Все файлы cookie и данные сайта и удалите все данные о сайте.
- Перезагрузите ваш браузер и вновь откройте сайт.
- Откройте Настройки Safari в верхней части экрана или с помощью сочетания клавиш Cmd + ,.
- Перейдите на вкладку Конфиденциальность и убедитесь, что для параметра «Файлы cookie и данные веб-сайтов» не установлено значение «Блокировать все файлы cookie».
- Затем нажмите Управлять данными веб-сайта…, найдите [ваш.сайт] и удалите все записи, связанные с сайтом.
- Перезагрузите Safari и проверьте сайт на наличие ошибки.
Заключение
Файлы cookie изначально уязвимы перед CSRF-атаками, поскольку они автоматически отправляются с каждым запросом. Это позволяет злоумышленникам легко создавать вредоносные запросы, которые приводят к межсайтовым подделкам запросов. Хотя извлечение конфиденциальной информации не является основной целью атаки CSRF, это может оказать неблагоприятное воздействие на используемое приложение.
В этой статье вы узнали больше о явлении CSRF-атак, токенах, а также о том, что именно защищает вас от уловок современных злоумышленников и что делать, если появляются ошибки «Токен-CSRF истёк» или «Неверный токен CSRF».
Авторизация клиентов
Взаимодействие с сервисом требует клиентской авторизации. Авторизация клиентов обеспечивается с применением протокола OAuth 2.0.
Для получения токена необходимо отправить POST-запрос (x-www-form-urlencoded) на URL:
Среда | URL |
---|---|
тестовая | https://api.edu.cdek.ru/v2/oauth/token?parameters |
боевая | https://api.cdek.ru/v2/oauth/token?parameters |
Разрешенные параметры и их возможные значения:
grant_type: тип аутентификации, доступное значение: client_credentials;
client_id: идентификатор клиента, равен Account;
client_secret: секретный ключ клиента, равен Secure password.
В ответ на запрос доступа будет возвращена следующая информация:
access_token: jwt-токен;
token_type: тип токена (всегда принимает значение «bearer»);
expires_in: срок действия токена (по умолчанию 3600 секунд);
scope: область действия токена (доступ к объектам и операциям над ними);
jti: уникальный идентификатор токена.
Далее при обращении к методам сервиса полученный токен передается в заголовке запроса в следующем виде:
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzY29wZSI6WyJvcmRlcjphbGw.
KEY | VALUE |
---|---|
grant_type | client_credentials |
client_id | EMscd6r9JnFiQ3bLoyjJY6eM78JrJceI |
client_secret | PjLZkKBHEiLK3YsjtNrt3TGNG0ahs3kG |