“登录超时”设置和功能的原因是什么?

2023-11-23

如果应用程序将用户重定向到 Keycloak 登录页面,并且该页面停留的时间超过“登录超时”(默认 5 分钟),那么当用户输入用户名和密码(而不是登录)时,她会看到以下内容:

您登录的时间太长。登录过程从头开始。

login page timed out

为了避免这种情况,可以将“领域设置→令牌→登录超时”更改为例如10000天,也就是27年,这应该可以确保这种情况在现实中永远不会发生。

但在我们继续有效地禁用此超时之前,我们想问:此超时的目的是什么?显然有人不厌其烦地实施了它,但它能防止什么?禁用它会产生什么(安全?)后果?


据我所知,它主要用作避免的附加机制会话固定攻击。例如,在一家公司中,用户去喝咖啡并让计算机保持打开状态,然后hacker看到机会并在浏览器 URL 中手动设置 当前登录session ID(或者只是复制它)。现在,如果系统的配置方式为session ID之间不改变prepos登录阶段。然后,在受害者成功通过身份验证后,黑客将能够使用受害者当前所在的会话,而无需插入任何身份验证;

超时时间越长,发生此类攻击的机会窗口就越宽。登录超时只是避免此类问题的另一层保护,因为它是会话过期、在登录前和登录后阶段之间更改会话 ID 等。

更正式地说,人们可以读入(source).

初始登录超时这种额外的保护机制试图强制更新 会话ID预认证,避免了之前的场景 使用过的(或手动设置的)会话ID由下一个受害者重复使用 例如,在会话固定攻击中,同一台计算机。

并从OWASP.org

会话固定是一种允许攻击者劫持 有效的用户会话。该攻击探索了攻击方式的局限性 Web 应用程序管理会话 ID,更具体地说是 易受攻击的网络应用程序。验证用户身份时,不会 分配新的会话 ID,从而可以使用现有会话 ID。该攻击包括获取有效的会话 ID(例如通过 连接到应用程序),诱导用户进行身份验证 他自己使用该会话 ID,然后劫持经过用户验证的会话 ID 通过了解所使用的会话 ID 来进行会话。攻击者必须 提供合法的 Web 应用程序会话 ID 并尝试使 受害者的浏览器使用它。

关于会话固定攻击如何工作以及如何预防它的相当好的解释here and here.

现在我不是安全专家,但我想说,如果您有其他预防机制(例如更改会话 ID),那么您should没事的。然而,另一方面,您真的需要那么多时间来登录吗?这就是一个烦恼再次刷新?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“登录超时”设置和功能的原因是什么? 的相关文章

随机推荐

  • “视觉继承”的现状如何

    我们有一个应用程序 它必须灵活地向用户显示其主表单 根据用户的不同 表单应该略有不同 也许这里或那里有一个额外的按钮 或者其他一些细微差别 为了停止编写代码来显式删除或添加控件等 我转向视觉继承来解决问题 在我认为是一种整洁 干净和逻辑的
  • 有没有办法在Python中创建类属性?

    由于某种原因 以下内容不起作用 gt gt gt class foo object property classmethod def bar cls return asdf gt gt gt foo bar
  • SimpleDateFormat toPattern 在 java 9 中的行为有所不同

    DateFormat dateFormat DateFormat getDateInstance DateFormat SHORT new Locale SV SE SimpleDateFormat dateFormat toPattern
  • std::string::npos == -1 总是 true 吗?

    标题相对来说是不言自明的 我认识到与其他答案的相似之处 但所有这些答案都有不同的运算符安排 因此也有不同的转换规则 所以我需要一个能够澄清这个特殊情况的答案 如果有人可以指出标准中解释这一点的部分 我会很乐意投票并接受答案 NO 这并不总是
  • 在 Rails 4 中使用单个表单保存多条记录

    我有一个模型叫Family which belongs to user我想让用户能够在一个表单中添加多个家庭成员 该表单位于 views families new html erb 因此用户会看到一张为一个 user id 创建 3 个家庭
  • SKPaymentTransactionObserver 在应用程序切换时未收到回调

    我设置了应用内购买 以便当用户单击购买按钮时 会出现 请稍候 视图并将付款添加到付款队列中 这总是会导致队列观察者立即回调 表示交易进入 购买 状态 当用户在弹出确认购买对话框之前返回主屏幕然后取消时 就会出现我的问题 如果我在主屏幕上等待
  • 在 Razor 中使用 Html.EditorForModel 渲染时,ASP.Net [HiddenInput] 数据属性不起作用?

    我有以下模型 public class Product HiddenInput DisplayValue false public int ProductID get set Required ErrorMessage Please ent
  • 如何在 QWidget 周围添加边框?

    我在用PyQT4为潜在客户创建示例应用程序 我正在寻找某种方法来在特定小部件周围放置边框 请给我一些寻找的指示 更新 class CentralWidget QtGui QWidget def init self mainWindow su
  • 如何获取android中所有非系统应用程序的列表

    我正在开发一个应用程序 我想在其中获取所有非系统应用程序的列表 这是我的代码部分 TextView tv new TextView this this setContentView tv ActivityManager actvityMan
  • 在 ARM 上的 Linux 中写入和读取内存映射设备寄存器

    我正在尝试按照以下步骤读取和写入 ARM9 SAM9X25 上的寄存器 http infocenter arm com help index jsp topic com arm doc faqs ka3750 html我以以下代码结束 in
  • 在代理上启用 ssl 后,服务器发送的事件停止工作

    我在他面前做了一个基于Tomcat和Nginx的Web项目 必须努力工作才能使其无错误地运行 但是 当我将 ssl 添加到 nginx 时 停止工作的服务器发送事件 如果我直接访问后端服务器 它可以工作 所以 nginx 的某个地方有问题
  • 返回 `p->first` 和 `p->second` 的 C++ 函数对象

    是否有一个内置函数对象返回p gt first and p gt second 这样我就可以愉快地写作了 transform m begin m end back inserter keys get first transform m be
  • 在android中使用OpenCV进行人脸识别?

    我能够使用 open cv 检测人脸 但我不知道如何处理人脸识别 我用谷歌搜索了很多 但没有找到任何可以指导我的文章或博客 有人可以帮我在android上开发人脸识别应用程序吗 您始终可以使用 JavaCV 它是本机 OpenCV 函数的一
  • 如何在Matlab中定义结构体

    我知道结构可以通过多种方式定义 例如 向变量添加字段 p color red 2 p color green 4 p color blue 7 通过赋值定义标量结构 S struct a 0 b 1 c 2 我想要做的是创建一个结构定义 如
  • 使用 Expression[] 调用 (params object[])

    我正在尝试从 Linq Expression 树中调用 String Format 这是一个简单的例子 var format Expression Constant 0 1 var company Expression Property i
  • MySQL 错误 1093 - 无法在 FROM 子句中指定更新的目标表

    我有一张桌子story category在我的数据库中 条目已损坏 下一个查询返回损坏的条目 SELECT FROM story category WHERE category id NOT IN SELECT DISTINCT categ
  • 在 matplotlib 标签中添加下标文本

    这是我的第一个问题 我是 python 菜鸟 所以可能还会有更多后续 我想用 matplotlib 创建一个图形 在标签中 我想包含一个化学式 其中涉及下标 我认为同样适用于上标 无论如何 我不知道标签应该是什么样子 import nump
  • 从烧瓶中的 before_request() 返回

    我是 Flask 的新手 目前正在将现有的 WSGI 应用程序转换为通过 Flask 运行 从长远来看 这会让生活变得更轻松 所有请求都 POST 到特定路由 但是当前应用程序在执行路由之前检查发布数据 以查看是否需要运行请求 即发布数据中
  • 图像的亮度和模糊度之间的关系

    我想知道是否有人可以解释亮度 或强度 和图像模糊度之间的关系 我想使用强度作为参数对模糊图像进行过滤排名 检查频域中的强度级别 对图像进行 FFT 如果频率高 图像就不会模糊 如果所有强度都处于低频 则图像会模糊 或者 计算图像的拉普拉斯梯
  • “登录超时”设置和功能的原因是什么?

    如果应用程序将用户重定向到 Keycloak 登录页面 并且该页面停留的时间超过 登录超时 默认 5 分钟 那么当用户输入用户名和密码 而不是登录 时 她会看到以下内容 您登录的时间太长 登录过程从头开始 为了避免这种情况 可以将 领域设置