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. Java对象池示例

    单例模式是限制了一个类只能有一个实例,对象池模式则是限制一个类实例的个数.对象池类就像是一个对象管理员,它以Static列表(也就是装对象的池子)的形式存存储某个实例数受限的类的实例,每一个实例还要加 ...

  2. 怎么解决UIScrollView把uitableviewcell的点击事件屏蔽了

    [self.contentView addSubview:self.scrollView]; self.scrollView.userInteractionEnabled = NO; [self.co ...

  3. rpm、yum(转)

    rpm http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/10/08/2203153.html yum http://www.cnblogs ...

  4. java关于方法参数传递的相关问题讨论

    我们知道,java中定义变量的目的有两个: 1.防止被垃圾回收机制回收,毕竟如果没有明确指向真实物理内存的'代号'很大可能会被java垃圾回收机制当作垃圾回收. 2.便于引用,方便处理. packag ...

  5. SecureCRT无法连接虚拟机Linux—虚拟网卡(NAT方式)IP(169.254.xx.xx)无效问题

    搞了一晚上,终于解决了http://blog.csdn.net/zengxianyang/article/details/50394809

  6. Spring+Quartz配置定时任务

    一.Quartz介绍 在企业应用中,我们经常会碰到时间任务调度的需求,比如每天凌晨生成前天报表,每小时生成一次汇总数据等等.Quartz是出了名的任务调度框架,它可以与J2SE和J2EE应用程序相结合 ...

  7. 利用串口的硬件buf收发数据

    很多单片机的串口可以设置硬件接收和发送的buf,这样可以减少中断的次数和cpu的浪费,方法就是:发送时根据串口波特率(通讯格式N-8-1)和硬件buf缓冲的字节数计算定时器的间隔(小于1000*buf ...

  8. SVM为什么需要核函数

    生存?还是毁灭?——哈姆雷特 可分?还是不可分?——支持向量机 之前一直在讨论的线性分类器,器如其名(汗,这是什么说法啊),只能对线性可分的样本做处理.如果提供的样本线性不可分,结果很简单,线性分类器 ...

  9. Linux下自动化测试环境的搭建

    1.安装Linux虚拟机,详情参考  https://blog.csdn.net/qq_22770715/article/details/78558374     https://www.cnblog ...

  10. Asp.net开发必备51种代码

    1.//弹出对话框.点击转向指定页面 Response.Write("<script>window.alert('该会员没有提交申请,请重新提交!')</script> ...