不活动后ssh会话超时?

Ins*_*yte 7 linux unix shell pci-dss

PCI-DSS 3.0 要求 8.1.8 规定:“如果会话空闲时间超过 15 分钟,则要求用户重新进行身份验证以重新激活终端或会话。” PCI-DSS 2.0 要求 8.5.15 也是如此。

处理在 bash 提示符下空闲的 ssh 会话的第一种也是最明显的方法是强制执行只读的全局$TMOUT900。不幸的是,这仅涵盖坐在 bash 提示符下的会话。PCI 规范的精神还需要终止运行 top/vim/etc 的会话。

我曾考虑编写一个 */1 cron 作业来解析“/usr/bin/w”的输出并杀死相关的 shell,但这似乎是一个生硬的工具。有什么想法可以实际执行规范要求并锁定终端吗?我看过awayvlock; 它们似乎都非常适合自愿锁定您的终端,但我需要一个强制锁定的 cron/守护进程任务。

fre*_*eit 4

您能否将“exec screen -R”放入 .bash_profile 并将“idle 900 lockscreen”放入 .screenrc 来解决此问题?如果屏幕会话仍然存在,则会自动重新连接到屏幕会话;如果不存在,则会创建一个新会话;但如果屏幕空闲时间达到 900 秒,则会锁定屏幕。

我相信用户可以禁用空闲,但......

或者:只是简单的“exec screen”和 .screenrc 中的“autodetach off”,以便它们的会话在断开连接时终止。