H3C交换机系统时间设置存在漏洞

1. 背景说明

由于在编写《主机房网络延伸实施方案》,调试H3C S5120S-28P-EI交换机时,发现交换机设置成现在的时间后,导致本地用户通过ssh或者console口不能登录,只能通过重启机器才能再次登录。而交换机重启之后,交换机的时间统一重写写入系统时间为2000年。该时间肯定跟我们目前的时间不一致,不利于以后排查问题。

2. 排查导致不可登录造成的原因

2.1登录报错

Failed to log in because the login idle timer expired

通过分析报错造成的原因是由于交换机启用了以下策略

password-control enable

password-control aging 365

password-control composition type-number 3 type-length 1

password-control history 2

password-control login-attempt 10 exceed lock-time 1

password-control complexity user-name check

###以上策略是为了交换机登录安全所设置

由于设置密码有效期为365天(此时间为可设置的最长有效时间),如果用户是2000年创建的,突然把系统设置成2017年,就导致该用户不能登录了。经过测试,在系统时间为2017年时新建用户,是可以登录的。但是,如果交换机重启之后,系统时间被重写成2000年时,该用户登录过一次,在把系统设置成2017年时,该用户也不能登录。这样会导致以后如果更新系统时间为当前时间,跟用户创建时间之间超过365天时,导致用户不可登录,只能通过重启交换机解决。(考虑到交换机在机房,且交换机不可能随便重启,固存在较大安全隐患)

如果undo password-control enable

本地用户就可以登录,但是如果这样的话,交换机在登录方面的安全策略都被取消了,存在安全隐患。不建议这样做。

3. 跟售后技术支持沟通反馈

3.1确定交换机能否保存系统时间的问题

跟h3c售后技术支持沟通之后,h3c所有中低端交换机(包括我们现在所用H3C S5500-28C-EI和我目前测试的H3C S5120S-28P-EI)都不具备保存系统时间的功能,及交换机重启之后,时间统一被设置2000年某月某日,该时间沟通过,不能重新设置。沟通过,h3c交换机只有少许的某些高端交换机才有保存系统时间功能。

3.2在不采用同步现在当时时间是否存在未知隐患的问题

如果不采用同步目前的时间的做法,跟售后技术支持沟通后,得出不影响交换机的使用,不影响生成树协议的使用

4. 沟通之后的解决办法

4.1取消password-control策略

取消该项策略,用户可以登录,存在安全隐患,不建议使用。

4.2不采用同步现在时间,及使用本系统固有时间(2000年某年某月)

该做法时间时钟跟目前的真实时间不一致,不利用debug排查后来问题,勉强能用。

4.3采购能够保存系统时间的高端交换机

采购能够保存系统时间的高端交换机,就不存在上述问题,缺点,可能费用要比现在要高。

5. 参考

经测试配置好ntp服务器后,在以下几个条件满足的情况下,可以成功登陆

①-交换机重启之后,通过配置的ntp服务器同步到当前时间(意味着ntp服务器是好的,且能同步到当前时间)

②-在交换机重启之后,时间未同步到当前时间,不能通过console登陆,以免造成该用户最后登陆成功登陆时间为2000年

③-登陆的用户最近的一次成功登陆的时间必须不能提前于当前时间的365天(交换机重启前,用户最后成功登陆交换机的时间不得早于当前时间的365天)

综上所述,为避免ssh 登陆不上交换机,必须保证以下几个条件

①-必须保证创建的用户为当前或者不得早于当前时间365天。

②-重启交换机之前必须有用户在365天内登陆成功的记录。

③-在交换机为完成或者不能完成时间同步的条件下,不得用console连接交换机,防止该用户在交换机同步完时间后,远程ssh登陆不进系统。

H3C交换机系统时间设置漏洞的更多相关文章

  1. python有超时的windows系统时间设置代码

    手边的笔记本用久了,cmos电池可能又没电了.每次开机时间都不对,导致访问一些有https的网页会出现警告信息. 于是找了找通过python脚本设置系统时间的方法,发现了两种,其一是调用socket直 ...

  2. Linux系统时间设置(转载)

    Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟.系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的时钟, ...

  3. Talend 将Oracle中数据导入到hive中,根据系统时间设置hive分区字段

    首先,概览下任务图: 流程是,先用tHDFSDelete将hdfs上的文件删除掉,然后将oracle中的机构表中的数据导入到HDFS中:建立hive连接->hive建表->tJava获取系 ...

  4. Linux 系统时间设置

    from:https://blog.csdn.net/yjh314/article/details/51669238 今早看到一台机器时间对不上,本以为系统时间与网络北京时间不同步,就在终端命令执行网 ...

  5. centos 系统时间设置

    在我们使用CentOS系统的时候,也许时区经常会出现问题,有时候改完之后还是会出错,下面我们就来学习一种方法来改变这个状况.如果没有安装,而你使用的是 CentOS系统 那使用命令 yum insta ...

  6. H3C交换机恢复出厂设置

    reset saved-configuration reboot 恢复出厂设置后查看当前配置: ..............................

  7. linux 下系统时间设置C语言实现

    #include <stdio.h> #include <stdlib.h> #include <time.h> #include <sys/time.h&g ...

  8. CentOS 6.9系统时间和硬件时间设置(转)

    总结一下hwclock,这个容易晕: 1)/etc/sysconfig/clock 文件,只对 hwclock 命令有效,且只在系统启动和关闭的时候才有用(修改了其中的 UTC=true 到 UTC= ...

  9. Linux系统时间同步方法小结

    在Windwos中,系统时间的设置很简单,界面操作,通俗易懂,而且设置后,重启,关机都没关系.系统时间会自动保存在BIOS时钟里面,启动计算机的时候,系统会自动在BIOS里面取硬件时间,以保证时间的不 ...

随机推荐

  1. Oculus Rift, HTC Vive, SONY PSVR的全面对比

    http://blog.csdn.net/xoyojank/article/details/50927572 这次有幸参加了GDC 2016, 终于把三大设备体验了个遍, 也试玩了很多不错的VR游戏. ...

  2. [Xcode 实际操作]九、实用进阶-(9)陀螺仪设备的使用

    目录:[Swift]Xcode实际操作 本文将演示陀螺仪设备的使用. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit //导入需要用到的C ...

  3. 多线程 GCD队列组

    //  DYFViewController.m //  623-08-队列组 // //  Created by dyf on 14-6-23. //  Copyright (c) 2014年 ___ ...

  4. C#Sqlite增删改查

    说到使用数据库的话,无非也就是对数据的增加,删除和修改以及查询.前文已经 创建好了程序,现在我们就可以来具体实现Sqlite的数据操作,增删改查. 第一步,创建连接字符串来连接数据库: private ...

  5. struts2学习笔记 day01

  6. github 收藏项目的方法

    1,Watching 需要收藏的项目 2,查看收藏的项目

  7. Hungary Algorithm国外板子

    Codeforces 1107一题除了dp做法还有二分带权匹配O(n^3)做法,国外网友的板子时间非常优秀,但矩阵设定的事情并不是很懂-- //Codeforces 1107F const int m ...

  8. springMVC-上传图片

    SpringMVC文件上传与下载 上传图片 配置多媒体文件解析器 配置虚拟目录 在tomcat上配置图片虚拟目录,在tomcat下conf/server.xml中添加: <Context doc ...

  9. springMVC-接收数据-参数绑定

    接收数据-参数绑定 #Method Arguments概观 Same in Spring WebFlux The table below shows supported controller meth ...

  10. [译]Understanding ECMAScript6 迭代器与生成器(未完)

    迭代器在许多编程语言中被作为一种更易处理数据集合的方式被使用.在ECMAScript6中,JavaScript添加了迭代器,将其作为此语言的一个重要特征.当再加上新的方法和新的集合类型(比如集合与映射 ...