一种面向云化系统的密码管理方法及系统与流程

文档序号:12693898阅读:269来源:国知局
一种面向云化系统的密码管理方法及系统与流程

本发明涉及云化系统运维领域。



背景技术:

随着电信运营商不断的发展,系统逐渐云化,除核心数据库外,应用接入底层和服务集成层逐步向X86服务器进行迁移,由此带来服务器数量以十几倍的速度剧增,并且一般企业内部管理制度要求服务器密码每隔90天必须修改一次,因此所有应用的密码相关配置都需要修改,维护工作量增加了数十倍,而维护资源有限且无法随之倍增,现有的运维手段和工具将面临着严峻的挑战。



技术实现要素:

本发明所要解决的技术问题是针对现有技术的不足,提供一种面向云化系统的密码管理方法及系统,实现服务器和数据库密码的批量修改,在密码修改后云化系统无需修改任何配置,减少密码修改对系统的影响,并且最大程度的保障密码安全。

本发明解决上述技术问题的技术方案如下:

一种面向云化系统的密码管理方法,包括以下步骤:

S1,接收应用的注册请求后注册所述应用;

S2,设置与所述应用关联的密码类型;

S3,为应用生成密码文件,将所述密码文件更新到部署所述应用的主机上;

S4,主机上的加解密服务接收应用获取密码的请求,根据所述获取密码的请求从所述密码文件中获取与所述应用相关联的密码类型相对应的密码返回给应用。

本发明的有益效果是:本实施例中的密码管理方法使用密码文件的方式,减少了对应用的配置,根据应用的请求自动从密码文件中获取密码,有效防止密码在使用时由于人为疏忽导致泄漏,大大提高了对应用的运维效率,也提高了使用密码的安全性;减少了修改应用配置的运维工作量,提高了云化系统的运维效率,并且提高了密码管理安全性。

在上述技术方案的基础上,本发明还可以做如下改进:

进一步,所述S3还包括:定期修改与所述应用关联的密码类型相对应的密码,并在修改完成后为应用重新生成密码文件且将密码文件更新到部署所述应用的主机上。

采用上述进一步方案的有益效果是:对主机和数据库的密码进行修改后,自动更新应用的密码文件,则省去了对应用中配置的密码进行修改的过程。实现了主机(服务器)和数据库的密码的批量修改,并且在密码修改后云化系统内的应用无需修改任何配置,减少密码修改对云化系统内应用的影响,并且保障了密码安全,提高了运维效率。

进一步,所述S3中所述生成密码文件的过程包括:设置用来验证应用权限的授权信息,为每个应用分配密钥信息,用密钥信息对与应用关联的密码类型相对应的密码加密后得到密码信息,并将所述授权信息、密钥信息和密码信息放入所述应用的密码文件中;所述授权信息包括以下内容:主机信息、有权访问所述加解密服务的应用文件列表信息和授权有效期限信息。

采用上述进一步方案的有益效果是:对密码进行加密保存成密码信息,引入授权信息用来验证应用是否有获取密码的权限,进一步提高了云化系统的密码管理安全性。

进一步,所述S4还包括:所述加解密服务接收应用获取密码的请求后,获取所述密码文件中的授权信息,根据获取到的授权信息验证应用权限,验证通过后获取密码返回给应用,验证不通过则不获取密码且向应用返回错误信息。

采用上述进一步方案的有益效果是:获取密码前先对应用的权限进行验证,提高了密码管理的安全性。

进一步,所述S4中所述获取密码返回给应用的过程包括:所述加解密服务从所述密码文件中获取所述密钥信息和密码信息,根据密钥信息解密密码信息得到明文密码,将明文密码返回给应用。

采用上述进一步方案的有益效果是:密码文件中的密码是经过加密后保存成密码信息的,最大限度了提高了密码管理的安全性。

一种面向云化系统的密码管理系统,包括:

应用管理模块,用于接收应用的注册请求后注册所述应用;

密码管理模块,用于设置与所述应用关联的密码类型,为应用生成密码文件,将所述密码文件更新到部署所述应用的主机上;

加解密模块,用于设在部署应用的主机上,接收应用获取密码的请求,根据所述获取密码的请求从所述密码文件中获取与所述应用相关联的密码类型相对应的密码返回给应用。

本发明的有益效果是:本实施例中的密码管理系统使用密码文件的方式,减少了对应用的配置,根据应用的请求自动从密码文件中获取密码,有效防止密码在使用时由于人为疏忽导致泄漏,大大提高了对应用的运维效率,也提高了使用密码的安全性;减少了修改应用配置的运维工作量,提高了云化系统的运维效率,并且提高了密码管理安全性。

在上述技术方案的基础上,本发明还可以做如下改进:

进一步,所述密码管理模块还用于定期修改与所述应用关联的密码类型相对应的密码,并在修改完成后为应用重新生成密码文件且将密码文件更新到部署应用的主机上。

采用上述进一步方案的有益效果是:对主机和数据库的密码进行修改后,自动更新应用的密码文件,则省去了对应用中配置的密码进行修改的过程。实现了主机(服务器)和数据库的密码的批量修改,并且在密码修改后云化系统内的应用无需修改任何配置,减少密码修改对云化系统内应用的影响,并且保障了密码安全,提高了运维效率。

进一步,所述密码管理模块还用于设置用来验证应用权限的授权信息,为每个应用分配密钥信息,用密钥信息对与应用关联的密码类型相对应的密码加密后得到密码信息,并将所述授权信息、密钥信息和密码信息放入所述应用的密码文件中;所述授权信息包括以下内容:主机信息、有权访问所述加解密模块的应用文件列表信息和授权有效期限信息。

采用上述进一步方案的有益效果是:对密码进行加密保存成密码信息,引入授权信息用来验证应用是否有获取密码的权限,进一步提高了云化系统的密码管理安全性。

进一步,所述加解密模块还用于接收应用获取密码的请求后,获取所述密码文件中的授权信息,根据获取到的授权信息验证应用权限,验证通过后获取密码返回给应用,验证不通过则不获取密码且向应用返回错误信息。

采用上述进一步方案的有益效果是:获取密码前先对应用的权限进行验证,提高了密码管理的安全性。

进一步,所述加解密模块还用于从所述密码文件中获取所述密钥信息和密码信息,根据密钥信息解密密码信息得到明文密码,将明文密码返回给应用。

采用上述进一步方案的有益效果是:密码文件中的密码是经过加密后保存成密码信息的,最大限度了提高了密码管理的安全性。

附图说明

图1为本发明实施例1中一种面向云化系统的密码管理方法流程图;

图2为本发明实施例2中一种面向云化系统的密码管理系统在云化系统中的应用结构图。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

实施例1

如图1所示,一种面向云化系统的密码管理方法,包括以下步骤:

S1,接收应用的注册请求后注册应用;

S2,设置与应用关联的密码类型;

S3,为应用生成密码文件,将密码文件更新到部署应用的主机上;

S4,主机上的加解密服务接收应用获取密码的请求,根据获取密码的请求从密码文件中获取与应用相关联的密码类型相对应的密码返回给应用。

具体的,应用主动进行注册,提交应用主机信息、应用名称等,该应用就可以使用本实施例中面向云化系统的密码管理方法。与应用关联的密码类型一般有主机密码和数据库密码等,应用需要访问主机和数据库中的资源时,都需要在应用中配置需要访问的主机和数据库的密码。

本实施例中的密码管理方法使用密码文件的方式,减少了对应用的配置,根据应用的请求自动从密码文件中获取密码,有效防止密码在使用时由于人为疏忽导致泄漏,大大提高了对应用的运维效率,也提高了使用密码的安全性;减少了修改应用配置的运维工作量,提高了云化系统的运维效率,并且提高了密码管理安全性。

进一步,S3还包括:定期修改与应用关联的密码类型相对应的密码,并在修改完成后为应用重新生成密码文件且将密码文件更新到部署应用的主机上。

具体的,一般在运维领域为了维护主机和数据库的安全,需要定期修改主机和数据库的密码,本实施例中采取定期自动修改主机和数据库的密码的方式,密码根据安全策略随机生成,一般设定主机密码长度为8位,数据库密码为10位,密码必须包含大小写字母+数字+特殊字符。

该改进中,对主机和数据库的密码进行修改后,自动更新应用的密码文件,则省去了对应用中配置的密码进行修改的过程。实现了主机(服务器)和数据库的密码的批量修改,并且在密码修改后云化系统内的应用无需修改任何配置,减少密码修改对云化系统内应用的影响,并且保障了密码安全,提高了运维效率。

进一步,S3中生成密码文件的过程包括:设置用来验证应用权限的授权信息,为每个应用分配密钥信息,用密钥信息对与应用关联的密码类型相对应的密码加密后得到密码信息,并将授权信息、密钥信息和密码信息放入应用的密码文件中;授权信息包括以下内容:主机信息、有权访问加解密服务的应用文件列表信息和授权有效期限信息。

具体的,为每个应用分配不同的密钥,应用的密码文件中的保存的密码信息是经过加密保存的,提高了运维的安全性;密码文件中还保存有验证应用权限的授权信息,用来在应用每次请求获取密码时验证应用的该次请求是否有权限。

例如,在被管的linux主机和数据库创建密码管理用户,将密码管理用户命名为cloud,在主机上为应用创建密码文件,文件名为“.pwcf”(小写,含“.”)存放于主机/etc/目录下,属主为cloud用户,设定密码文件的读写权限为644。

密码文件可以如下定义:

数据库用户密码配置

[自定义] 段名称采用应用自定义方式,多应用之间不可以重复

DBURL=XX1 XX1:用户访问数据库时的url(统一资源定位符)

DBUSER=XX2 XX2:密文,数据库用户名

DBPASSWD=XX3 XX3:密文,数据库用户对应密码

主机用户密码配置

[自定义] 段名称采用应用自定义方式,多应用之间不可以重复

HOSTIP=YY1 YY1:主机IP地址

HOSTUSER=YY2 YY2:密文,主机用户名

HOSTPASSWD=YY3 YY3:密文,平台用户对应的密码

授权信息配置

[APP_应用ID] 段名采用APP_+应用ID

HOSTIP=ZZ1 ZZ1:密文,主机IP地址

KEY=ZZ2 ZZ2:应用密钥

EXPIREDATE=ZZ3 ZZ3:密文,授权过期时间

FILES=ZZ4 ZZ4:密文,授权文件列表(多个),应用文件的绝对路径

以上即为密码文件中内容和格式的一个示例。

该改进中,对密码进行加密保存成密码信息,引入授权信息用来验证应用是否有获取密码的权限,进一步提高了云化系统的密码管理安全性。

进一步,S4还包括:加解密服务接收应用获取密码的请求后,获取密码文件中的授权信息,根据获取到的授权信息验证应用权限,验证通过后获取密码返回给应用,验证不通过则不获取密码且向应用返回错误信息。

具体的,加解密服务从密码文件中获取授权信息,验证主机权限、文件权限以及授权是否过期。权限认证通过后,从密码文件中获取密码返回给应用。如上一步改进中列举的密码文件定义所示,授权信息也可以采用密文的形式保存,加解密服务根据密钥获取到授权信息,验证授权信息中应用对应的主机I P地址是否与应用本次请求的来源主机I P地址相符,判断主机权限,根据授权过期时间判断应用访问密码的权限是否在有效期,通过授权文件列表信息,判断应用本次请求使用的应用文件是否有权获取密码。

该改进中,获取密码前先对应用的权限进行验证,提高了密码管理的安全性。

进一步,S4中获取密码返回给应用的过程包括:加解密服务从密码文件中获取密钥信息和密码信息,根据密钥信息解密密码信息得到明文密码,将明文密码返回给应用。

具体的,由于为每个应用分配的密钥不同,即使拿到其他应用的密码文件也无法通过权限验证,且无法解密出明文密码,使管理更加有调理,安全性更高。

该改进中,密码文件中的密码是经过加密后保存成密码信息的,最大限度了提高了密码管理的安全性。

实施例2

如图2所示,一种面向云化系统的密码管理系统,包括:

应用管理模块,用于接收应用的注册请求后注册应用;

密码管理模块,用于设置与应用关联的密码类型,为应用生成密码文件,将密码文件更新到部署应用的主机上;

加解密模块,用于设在部署应用的主机上,接收应用获取密码的请求,根据获取密码的请求从密码文件中获取与应用相关联的密码类型相对应的密码返回给应用。

具体的,应用主动注册到密码管理系统,提交应用主机信息、应用名称等,该应用就可以使用本实施例中面向云化系统的密码管理系统,与应用关联的密码类型一般有主机密码和数据库密码等,应用需要访问主机和数据库中的资源时,都需要在应用中配置需要访问的主机和数据库的密码。

本实施例中的密码管理系统使用密码文件的方式,减少了对应用的配置,根据应用的请求自动从密码文件中获取密码,有效防止密码在使用时由于人为疏忽导致泄漏,大大提高了对应用的运维效率,也提高了使用密码的安全性;减少了修改应用配置的运维工作量,提高了云化系统的运维效率,并且提高了密码管理安全性。

进一步,密码管理模块还用于定期修改与应用关联的密码类型相对应的密码,并在修改完成后为应用重新生成密码文件且将密码文件更新到部署应用的主机上。

具体的,一般在运维领域为了维护主机和数据库的安全,需要定期修改主机和数据库的密码,本实施例中密码管理模块定期自动修改主机和数据库的密码的方式,密码根据安全策略随机生成,一般设定主机密码长度为8位,数据库密码为10位,密码必须包含大小写字母+数字+特殊字符。

该改进中,对主机和数据库的密码进行修改后,自动更新应用的密码文件,则省去了对应用中配置的密码进行修改的过程。实现了主机(服务器)和数据库的密码的批量修改,并且在密码修改后云化系统内的应用无需修改任何配置,减少密码修改对云化系统内应用的影响,并且保障了密码安全,提高了运维效率。

进一步,密码管理模块还用于设置用来验证应用权限的授权信息,为每个应用分配密钥信息,用密钥信息对与应用关联的密码类型相对应的密码加密后得到密码信息,并将授权信息、密钥信息和密码信息放入应用的密码文件中;授权信息包括以下内容:主机信息、有权访问加解密模块的应用文件列表信息和授权有效期限信息。

具体的,为每个应用分配不同的密钥,应用的密码文件中的保存的密码信息是经过加密保存的,提高了运维的安全性;密码文件中还保存有验证应用权限的授权信息,用来在应用每次请求获取密码时验证应用的该次请求是否有权限。

例如,在被管的linux主机和数据库创建密码管理用户,将密码管理用户命名为cloud,在主机上为应用创建密码文件,文件名为“.pwcf”(小写,含“.”)存放于主机/etc/目录下,属主为cloud用户,设定密码文件的读写权限为644。

密码文件可以如下定义:

数据库用户密码配置

[自定义] 段名称采用应用自定义方式,多应用之间不可以重复

DBURL=XX1 XX1:用户java访问数据库时的url

DBUSER=XX2 XX2:密文,数据库用户名

DBPASSWD=XX3 XX3:密文,数据库用户对应密码

主机用户密码配置

[自定义] 段名称采用应用自定义方式,多应用之间不可以重复

HOSTIP=YY1 YY1:主机IP地址

HOSTUSER=YY2 YY2:密文,主机用户名

HOSTPASSWD=YY3 YY3:密文,平台用户对应的密码

授权信息配置

[APP_应用ID] 段名采用APP_+应用ID

HOSTIP=ZZ1 ZZ1:密文,主机IP地址

KEY=ZZ2 ZZ2:应用密钥

EXPIREDATE=ZZ3 ZZ3:密文,授权过期时间

FILES=ZZ4 ZZ4:密文,授权文件列表(多个),应用文件的绝对路径

以上即为密码文件中内容和格式的一个示例。

该改进中,对密码进行加密保存成密码信息,引入授权信息用来验证应用是否有获取密码的权限,进一步提高了云化系统的密码管理安全性。

进一步,加解密模块还用于接收应用获取密码的请求后,获取密码文件中的授权信息,根据获取到的授权信息验证应用权限,验证通过后获取密码返回给应用,验证不通过则不获取密码且向应用返回错误信息。

具体的,加解密模块从密码文件中获取授权信息,验证主机权限、文件权限以及授权是否过期。权限认证通过后,从密码文件中获取密码返回给应用。如上一步改进中列举的密码文件定义所示,授权信息也可以采用密文的形式保存,加解密模块根据密钥获取到授权信息,验证授权信息中应用对应的主机IP地址是否与应用本次请求的来源主机IP地址相符,判断主机权限,根据授权过期时间判断应用访问密码的权限是否在有效期,通过授权文件列表信息,判断应用本次请求使用的应用文件是否有权获取密码。

该改进中,获取密码前先对应用的权限进行验证,提高了密码管理的安全性。

进一步,加解密模块还用于从密码文件中获取密钥信息和密码信息,根据密钥信息解密密码信息得到明文密码,将明文密码返回给应用。

具体的,由于为每个应用分配的密钥不同,即使拿到其他应用的密码文件也无法通过权限验证,且无法解密出明文密码,使管理更加有调理,安全性更高。

该改进中,密码文件中的密码是经过加密后保存成密码信息的,最大限度了提高了密码管理的安全性。

本发明中统一管理是基于密码文件、密钥、加解密服务(模块)实现的,从管理上可以将三者分开管理和保存,保障密码的安全性。所有云化应用必须通使用加解密服务(模块)、密钥及密码文件才能获取相应密码,在使用过程中应用程序不得在应用中单独配置密码。当密码修改后会生成新的密码文件,并下发到应用部署主机上。能够减少运维工作量,提高运维效率,保障密码安全,保障云化系统稳定运行。为保证安全性,防止反编译,加解密服务(模块)使用C语言开发,密码文件为加密内容,解密时需要经过认证授权验证,通过后才可以拿到明文密码。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1