注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Aspirer's blog

停止维护,新博客地址:http://aspirer.wang/

 
 
 

日志

 
 

Linux云主机初始登录密码修改方案  

2014-06-26 14:47:33|  分类: 学习心得 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
目前我们的虚拟机创建后的密码是在制作镜像时指定的,所以存在一个安全风险,一旦一台云主机的密码被破解,所有云主机都面临安全风险,不过由于我们已经禁用了ssh方式密码登录,大部分虚拟机都位于内网,这种风险目前看来比较小,但为了更加安全,以及满足公有云用户潜在的需求,所以后续可能需要支持用户自定义登录密码,或者修改初始密码为随机值,为此我这两天分析了一下相关实现方案,下面是一些总结。
 
类似风险还有VNC登录没有加密,用户只要获取经过认证的VNC窗口链接,即可使用用户名密码登录虚拟机,较好的方案是对VNC本身加密,首先要通过VNC的认证之后,才能接触到虚拟机console,这个问题已经有初步方案,还没安排实现。
 
Windows虚拟机的初始密码修改暂时没有分析,不过应该有如下几种:
1)cloudbase-init支持,类似下面的cloudinit方案 (推荐方案)
2)镜像制作的时候指定下次登录时密码过期,强制用户修改
3)使用agent修改
 
下面的方案在debian7上验证通过,并且仅可以在虚拟机创建前修改,创建后无法修改。
 
方案1:
使用类似文件注入的adminPass注入,不需要在虚拟机里面安装agent或cloudinit,
需要注意的事项:
1)cloudinit配置文件不能lock_passwd,也即配置为false,disable_root:false,或者不安装cloudinit
2)修改nova.conf,libvirt_inject_password = True
使用方法:创建虚拟机时在api传入adminPass参数,如不传则随机生成,并在响应结果中返回,但不会保存在nova数据库,用户必须牢记。
 
方案2:
创建虚拟机的api中传入user-data参数,配合cloudinit修改虚拟机密码:
虚拟机里面cloudinit的/etc/cloud/cloud.cfg配置文件中要有如下内容:
cloud_config_modules:
 - set-passwords
 
可以修改默认用户,根据/etc/cloud/cloud.cfg配置文件中的
users:
   - default
default_user:
   name:root
来确定默认用户是那个。
 
user-data内容:
注意#cloud-config是内容格式的标识,不是注释,不能删除
#cloud-config
password: mysecret
chpasswd: { expire: False }
ssh_pwauth: True
最后一行可删除,禁用ssh密码登陆。
 
或者批量修改用户密码:
#cloud-config
chpasswd:
  list: |
      root:xxxx
      debian:yyyy
  expire: False
前提是要修改用户必须存在。
 
 
#cloud-config
chpasswd:
 list: |
   user1:password1
   user2:RANDOM
 expire: True
ssh_pwauth: [ True, False, "" or "unchanged" ]
 
其中RANDOM表示随机生成密码,expire表示是否在首次登陆的时候过期,如果为True,则用户首次登陆的时候必须修改密码。
ssh_pwauth默认值是不修改ssh密码认证方式,也即保持镜像制作时的配置。
如果ssh_pwauth设置为False,则密码认证方式只能通过VNC登录,不能ssh。

使用方法:nova boot 加上--user-data userdata.yaml参数,userdata.yaml内容见上面的#cloud-config
 
  评论这张
 
阅读(1005)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018