当前位置: 首页 > news >正文

[转]CentO下限制SSH登录次数

应公司内部网站等级测评的需求,正逐渐加强系统安全防护。

设备默认 3 次验证失败自动退出,并且结束会话;网络登录连接超时自动退出时间 5 分钟;

第一种方法:已验证。

1.ssh超时时间设置
# cd /etc/profile.d/  #创建两个空白文件autologout.csh 、autologout.sh用来保存TMOUT配置 
# touch autologout.csh 
# touch autologout.sh 
# vi autologout.sh       #编辑autologout.sh
#auto out in 5 minutes   
TMOUT=300            #超时时间,单位为s   
readonly TMOUT      #设置TMOUT变量只读   
export TMOUT        #设置环境TMOUT  

# vi autologout.csh   #编辑autologout.csh

set -r autologout 2  

# chmod  +x autologout.*     #可执行权限,其实单给u+x就行了。 

断开Client,重新登录终端5分钟不使用ssh就会自动断开连接.

2. ssh认证次数限制:

/etc/ssh/sshd_config 

MaxAuthTries=3   这仅是超过3次验证错误断开连接。

 

第二种方法:(试验中还是有问题出现)

原理:通过系统的pam认证实现。

1.备份/etc/pam.d/system_auth文件,更改: 

#%PAM-1.0  
# This file is auto-generated.  
# User changes will be destroyed the next time authconfig is run.  
auth        required      pam_env.so  
auth        required      pam_unix.so nullok try_first_pass  将原来的sufficient改为required
#auth        requisite     pam_succeed_if.so uid >= 500 quiet 注释掉此行 
auth        required      pam_tally.so deny=3 unlock_time=300  增加一行,失败超过3次限制5分钟后登录
#auth        required      pam_deny.so    注释掉此行
 
account     required      pam_unix.so  
account     sufficient    pam_succeed_if.so uid < 500 quiet  
account     required      pam_permit.so  
account     required      pam_tally2.so   增加一行  
 
password    requisite     pam_cracklib.so try_first_pass retry=3 
password    sufficient    pam_unix.so md5 shadow nullok try_first_pass use_authtok  
password    required      pam_deny.so  
 
session     optional      pam_keyinit.so revoke  
session     required      pam_limits.so  
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid  
session     required      pam_unix.so 

2. 建议sshtest帐户,进行密码错误登录验证。查看tail  /var/log/secure |grep sshtest记录:

Feb 22 15:21:11 SN524 sshd[4900]: Failed password for sshtest from 192.168.40.130 port 53995 ssh2
Feb 22 15:21:17 SN524 sshd[4900]: pam_tally(sshd:auth): user sshtest (503) tally 7, deny 3
Feb 22 07:21:19 SN524 sshd[4903]: Disconnecting: Too many authentication failures for sshtest
Feb 22 15:21:19 SN524 sshd[4900]: Failed password for sshtest from 192.168.40.130 port 53995 ssh2
Feb 22 15:22:05 SN524 sshd[4906]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.40.130  user=sshtest

帐户已被锁住,无法登录,等待5分钟后才能重新登录.

3、禁止root通过ssh远程登录
vi /etc/ssh/sshd_config
找到PermitRootLogin,将后面的yes改为no,把前面的注释#取消,这样root就不能远程登录了!
可以用普通账号登录进去,要用到root的时候使用命令su root 切换到root账户
=======================================================================
4、限制用户的SSH访问
假设我们只要root,user1和user2用户能通过SSH使用系统,向sshd_config配置文件中添加
vi /etc/ssh/sshd_config
AllowUsers rootuser1user2
=======================================================================
5、配置空闲超时退出时间间隔
用户可以通过ssh登录到服务器,你可以设置一个空闲超时时间间隔。
打开sshd_config配置文件,设置为如下。
vi /etc/ssh/sshd_config
ClientAliveInterval 600
ClientAliveCountMax 0
上面的例子设置的空闲超时时间间隔是600秒,即10分钟,
过了这个时间后,空闲用户将被自动踢出出去(可以理解为退出登录/注销)。
=======================================================================
6、限制只有某一个IP才能远程登录服务器
vi /etc/hosts.deny #在其中加入sshd:ALL
vi /etc/hosts.allow #在其中进行如下设置:sshd:192.168.1.1 #(只允许192.168.1.1这个IP远程登录服务器)
最后重启ssh服务:/etc/init.d/sshd restart

 

转载于:https://www.cnblogs.com/wuling129/p/4877681.html

相关文章:

  • 《软件工艺师:专业、务实、自豪》一3.2 维基百科对软件工艺的定义
  • SIM卡
  • angular select 默认值
  • Java日期的格式String类型GMT,GST换算成日期Date种类
  • 寸土必争——光复驱动缓存侵占的空间
  • PXE装机
  • 轻松搞定RabbitMQ(四)——发布/订阅
  • 操作系统学习(一)--概述启动过程
  • StatusBar、ActionBar tips
  • String类:String类的简介和字符串常用接口
  • freemarker遇见的BUG1
  • 棋盘覆盖问题
  • Theano - 导数
  • Windows系统查看并清理缓存
  • 数据结构
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • happypack两次报错的问题
  • HTTP中的ETag在移动客户端的应用
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • Map集合、散列表、红黑树介绍
  • underscore源码剖析之整体架构
  • vue的全局变量和全局拦截请求器
  • 初识 webpack
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 关于Java中分层中遇到的一些问题
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 记一次删除Git记录中的大文件的过程
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 为视图添加丝滑的水波纹
  • 学习JavaScript数据结构与算法 — 树
  • MyCAT水平分库
  • 带你开发类似Pokemon Go的AR游戏
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • ​力扣解法汇总946-验证栈序列
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • (2)Java 简介
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (学习日记)2024.01.09
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .Net 4.0并行库实用性演练
  • .NET Core中Emit的使用
  • .net 程序发生了一个不可捕获的异常
  • .NET 将多个程序集合并成单一程序集的 4+3 种方法
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .net 生成二级域名
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .NET6使用MiniExcel根据数据源横向导出头部标题及数据
  • .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
  • /usr/local/nginx/logs/nginx.pid failed (2: No such file or directory)
  • @JsonSerialize注解的使用
  • [<MySQL优化总结>]