zoukankan      html  css  js  c++  java
  • [转]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
  • 相关阅读:
    关于fragment点击能穿透问题
    Eclipse的PHP插件PHPEclipse安装和使用
    Eclipse的PHP插件PHPEclipse安装和使用
    解决在极光推送的时候会出现一个 JPush提示:缺少统计代码
    解决在极光推送的时候会出现一个 JPush提示:缺少统计代码
    Spring学习总结(17)——Spring AOP权限管理
    Gradle学习总结——抓重点学Gradle
    WebService学习总结(6)——WebService常用接口
    Spring学习总结(16)——Spring AOP实现执行数据库操作前根据业务来动态切换数据源
    Spring学习总结(15)——Spring AOP 拦截器的基本实现
  • 原文地址:https://www.cnblogs.com/wuling129/p/4877681.html
Copyright © 2011-2022 走看看