重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1120|回复: 0
打印 上一主题 下一主题

[系统安全] 非活跃会话自动断开连接机制

[复制链接]
跳转到指定楼层
楼主
发表于 2022-7-11 18:10:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
场景:服务器经常被网络中各系统的很多个用户访问,某些用户使用完毕后忘记登出会话.
留下一个处于连接状态的session是一件非常危险的事情,作为一名系统管理员,如果去检查每个系统用户是否有登出,这根本不现实,要知道网络中有成百上千台机器.
此时就需要设置用户在本机或通过SSH登陆服务器超过一定时间不活跃便自动断开连接的机制.
以下为实验过程.
实验系统:rhel 8.4
以下介绍三种实现方法.
方法 1
编辑~/.bashrc~/.bash_profile文件:
$ vi~/.bashrc
$ vi~/.bash_profile
将下面行加入其中:
TMOUT=100
说明:用户在停止动作 100 秒后自动登出.
运行下面命令让更改生效:
$ source~/.bashrc
$ source~/.bash_profile
现在让会话闲置100,会看到下面这段信息,并且用户会自动退出会话.
[oracle@dbserver~]$ timed out waiting for input: auto-logout
[root@dbserver~]#
不过该设置可以轻易地被用户所修改,因为~/.bashrc文件被用户自己所拥有.
要修改或者删除超时设置,只需要删掉上面添加的行,然后执行source~/.bashrc命令让修改生效.
此外,用户也可以运行下面命令来禁止超时:
$ exportTMOUT=0
或,
$ unsetTMOUT
若想阻止用户修改该设置,使用方法2.
方法2
root用户登录,创建一个名为autologout.sh的新文件.
# vi/etc/profile.d/autologout.sh
加入下面内容:
TMOUT=60
readonlyTMOUT
exportTMOUT
添加可执行权限:
# chmod+x /etc/profile.d/autologout.sh
现在登出或重启系统,非活动用户就会在60秒后自动登出.
说明:该修改对当前已开启的会话不会产生影响,只会对新开的session生效.
普通用户即使想保留会话连接但也无法修改该配置,他们会在60秒后强制退出.
这两种方法本地登录的用户和远程系统上通过SSH登录的用户都有效.
下面实现只自动登出非活动的SSH会话,而不自动登出本地服务器上的会话.
方法3
编辑/etc/ssh/sshd_config文件
# vi/etc/ssh/sshd_config
添加/修改下面行:
ClientAliveInterval60
ClientAliveCountMax0
保存并退出该文件,重启 sshd 服务.
#systemctl restart sshd
现在,在远程系统通过ssh登录该系统,60秒后ssh会话就会自动关闭.
出现以下信息:
[oracle@dbserver~]$
Socketerror Event: 32 Error: 10053.
Connectionclosing...Socket close.
Connectionclosed by foreign host.
Disconnectedfrom remote host(192.168.133.120) at 12:32:49.

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-5-8 04:39 , Processed in 0.095967 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表