我正在处理一个不是我要配置的服务器。如果两台机器之间没有流量通过,我和这台服务器之间的某处会在 5 分钟后终止任何连接。这包括在服务器上运行命令的活动连接;具体来说,我已经演示了使用 SSH 连接(运行超过 5 分钟不打印任何输出的 bash 命令)和 SQL 数据库(运行持续超过 5 分钟的 SQL 命令)会发生这种断开连接。当然,如果我去阅读一些东西并且在 5 分钟内不发送任何命令,它也会断开连接。
对于 SSH 设置,负责服务器的小组建议我启用客户端保持活动状态。他们没有为数据库连接提供任何建议。
不过,我完全糊涂了。这里有什么安全优势?对于 SSH,我可以从客户端完全绕过他们的设置,他们甚至建议这样做。(后者意味着甚至不能有“通过默默无闻的安全性”的论点,因为它不会是晦涩难懂的,因为每个用户都需要知道它。并不是说我认为这会阻止攻击,即使它是晦涩难懂的,尤其是因为我什至在他们推荐之前就自己发现了。)对于两者来说,这显然会降低可用性。我可能会看到在几个小时不活动后断开活动会话可能是有益的(尽管我并没有立即清楚长时间打开会话的可能威胁。),但每5 分钟?这意味着我什至无法阅读DBA。在我没有断开连接的情况下处理我的 SQL 时发布。这对我来说听起来很荒谬,还是我错过了什么?
澄清
评论中提到了一些观点,所以我想澄清一下。
- 我能够始终如一地重现 5 分钟的超时。我使用每隔几秒记录一个时间戳服务器端的命令,在断开连接后,记录的最后一个时间戳总是在第一个时间戳之后 5 分钟。因此,断开连接从来都不是零星的。
- 在我写这篇文章后不久,系统/网络管理员回应说这确实是故意的。我引用,“几周前在 F5 上设置的 5 分钟时间限制会产生更多影响?” 我不确定 F5 是什么。一些谷歌搜索表明这是一个非常昂贵的开关,这对应于试图为我的数据库连接找到解决方法的人,后来提到了开关设置。
(我不相信这些信息会使任何答案无效。)