最佳实践来保护你的HPC云——第二部分
对于任何探索HPC在云中,安全是一个重要的话题。在前面的文章中,我们解决周边安全、网络访问控制和配置云vpc, vpn,和防火墙,同时显示它如何服务提供商相似办公系统可以帮助管理办公室的计算机系统。在本文中,我们将继续穿过多层安全模型如下图所示,身份验证和授权(授权),云提供商的水平和层次的实例和应用程序部署。bob电竞官方
在高级身份验证是验证一个演员的身份。授权,另一方面,用户或后发生过程进行验证,需要确定一个演员是否允许访问特定的资源或服务。与其他安全相关的主题一样,身份验证和授权是多方面的和跨多个云应用和应用服务。对于我们的目的,我们将缩小讨论关注的话题相关的HPC集群部署。
虽然我们掩护身份验证和授权的亚马逊网络服务(AWS)相同的概念适用于其他云提供商。我们首先讨论获得访问云高账户,和他们继续实例和应用程序级别的授权。
确保您的云账户(年代)
你想到保护访问机器实例之前,应用程序和数据,这是一个好主意去思考如何保护管理云服务使用的账户。bob电竞官方在大多数HPC环境中有多个用户和可能有多个管理员。即使你是唯一管理员,您最终会想委托进入其它国家在某种程度上让他们执行特定的任务。当多个用户参与管理云服务,用户权限管理和审计活动变得非常重要。
云的便利是一把双刃剑
在本地数据中心,一个流氓管理员通常可以只做有限的伤害。他们可能有根访问一些服务器,但不知道路由器、防火墙,或者备份位于放任如何访问它们。这就是为什么许多云计算和数据存储服务等安全系统的大力投资Verisure智能警报和其他措施。
在云环境中服务software-configured,恶意参与者提供顶级凭证可以快速大量的伤害。有时云管理员花那么多时间硬化反对外部威胁,他们忘记同样严重的内部威胁。
身份和访问管理
虽然术语跨云提供商不同,身份和访问管理(IAM)有助于组织控制用户如何访问各种云服务。谷歌提供了谷歌云我;亚马逊提供了AWS我和微软提供了各种实现的Azure活动目录。
有很多人管理云服务时,最糟糕的事情你可以做的是分享顶级登录凭证。更好的方法是定义我个人用户、组、角色、权限授予基于最小特权的概念,以便用户只能访问他们需要的设施。正确配置我帮助确保可审计的措施,并减少环境被意外或故意破坏的机会。
我的用户和组
云管理员时应该避免使用他们的组织的根级证书。相反,管理员应该创建我用户对每个人来说都需要访问管理控制台或应用程序需要访问AWS API。bob电竞官方或者,他们可以使用外部像Logicata托管服务提供商援助与AWS云服务。
用户可以登录访问AWS管理控制台,或者他们可以授予一个访问密钥ID,和一个秘密访问键(统称为一个访问键)需要获得AWS API或CLI。访问键如Atlair所使用的应用程序bob电竞官方Navops发射代表一个AWS用户执行操作。一个例子展示了我下面提供用户可以配置。
在这个例子中,五人有不同级别的访问相同的根级云账户。每个用户与一个或多个我组(覆盖),可以执行控制操作在不同的云服务。
比尔是高层管理员,但而不是使用root帐号登录到AWS他为自己创造了一群被称为super-admin有权限他每天需要做他的工作。如果比尔去度假,他可以暂时指派别人super-admin没有交出顶级的凭证。
弗里茨是集群管理员和开发人员。作为一名开发人员,他需要获得AWS服务集群管理员不需要(比如API网关管理和容器管理权限)。Gord和加里在集群上工作在不同的角色,但他们不需要登录访问到AWS控制台(注意,他们没有密码)。相反,他们已经得到的访问密钥,这样他们就可以运行特定站点脚本主要任务。抢劫是导致集群管理员,所以他控制台访问以及访问键。罗伯还管理Navops发射环境用于提供各种集群,所以他(比尔)需要更高的权限管理EC2, EBS, S3, VPC,各种AWS网络功能。
管理员可以将策略附加到每个我组。下面的图显示了政策上launch-admin小组Navops启动管理员。AWS提供了一组缺省策略模板(AmazonS3FullAccess和AmazonAPIGatewayAdministrator在下面的例子中)。管理员可以创建自定义策略,指定什么行动可以在更细粒度上进行。
管理员可以通过附加一个AWS提供政策等一群AmazonEC2FullAccess。一个访问顾问我组的功能界面显示了在日常生活中使用的特权。有了这些知识,管理员可以创建一个定制的政策(NavopsLaunchPolicy),只提供所需的最小的权限集的成员launch-admin组。
多因素身份验证
因为云管理员账户是如此敏感,AWS提供多因素身份验证(MFA)为每个我用户可以选择性地启用。如果启用了MFA,除了他们的登录凭证,用户需要输入一个6位数字作为数字代码基于时间同步的一次性密码算法。AWS支持各种各样的虚拟MFA设备(iOS和Android手机上运行),通用第二个因素(U2F)安全密钥在电脑上插入一个USB端口,和独立的硬件MFA设备。AWS以前支持MFA通过SMS文本消息但停止此服务选择更安全的MFA相反的方法。至少,管理员应该配置MFA来保护他们的根帐户。这是一个很好的实践,使MFA高低与提升特权。
我的角色
我的角色描述权限实体,既不是个人或团体。例如,促进云爆发解决方案可能需要给cloud-aware配置等软件Navops发射允许创建云实例,代表你的网络和存储。通过使用一个我的角色而不是指定个人用户凭证,环境更加安全,因为访问键不需要要求和存储的程序需要访问不同的云服务。
例如,如果一个普通AWS用户调用Navops发射提供或网格扩展引擎集群,Navops发射将适当要求AWS关键用户的ID和AWS授权密钥,确保他们提供资源。有任何软件程序处理和潜在的存储访问键是一个安全风险。AWS的角色,这个角色可以被附加到机实例本身。这允许Navops启动实例集群增长和收缩,而不需要知道处理属于管理员的访问键。一个视频演示解释如何使用我的角色可以用于Navops发射在这里。
大型组织可能有多个顶级AWS帐户。我的角色可以大大简化这些multi-account环境的管理提供cross-account访问。我们不会支付这个详细,但AWS提供了一个教程跨多个账户授权访问我的角色。一旦我们获得访问云高度管理员级别的,我们可以继续应用和机器实例级别的身份验证和授权。
AWS密钥对和公钥密码学
如果你一直运行内部HPC集群在防火墙后面,你可能已经实现了一个相对宽松的安全模型使用/ etc / passwd管理文件、NIS或LDAP登录凭证。虽然这基本的安全级别是好的在某些环境中,它可能不会减少在云中,不幸的是。更好的做法是使用密钥对身份验证和加密。身经百战的Linux管理员将熟悉密匙对和公钥密码术,但对另一些人来说,这些可能是新概念。
键本质上是长字符串(Amazon EC2默认使用2048位SSH密钥),和一些密码不同,他们是计算机生成的,几乎不可能的猜测。键都是成对的,公钥用于每一个人,只有老板和一个私钥。公钥可以别人,任何一份公开密匙的人都可以对消息进行加密,这样只有收件人对应的私钥可以阅读它。同样,私钥是小心谨慎,是由用户证明自己的身份。用户可以实际上是在用自己的私钥签署沟通,用公钥解密,这个消息作为身份证明。公钥密码术释放用户记住长,复杂的密码或更糟的是,写下来。
大多数云服务执行登录使用默认密钥对。例如,当创建实例Amazon EC2,用户需要先提供一个密钥对。AWS能够提供给用户密钥对随时和下载相关的私钥。AWS云存储公钥,用户下载他们的私钥,并将它存储在一个本地文件。私钥文件的内容看起来像下面的关键。
Amazon EC2部署一个machine实例时,实例配置,这样只能访问私有密匙的持有者。
云提供商通常会提供一个默认的登录(如行政ec2-user,centos或ubuntu)根据选定的Linux发行版机实例。用户登录到主机,他们将需要的IP地址或主机的DNS名称条款在AWS和私钥的本地副本。了解你的IP地址允许您实现更多安全措施值得找到关于你的管理员登录并探索这些修改。下面的例子显示了如何连接到一个AWS EC2主机通过secure shell (ssh)的公共互联网使用tensorflow.pem使用私钥存储在文件。
使用私钥管理登录过程是非常安全的。不可能有人能猜到你的密码,因为没有密码与账户相关联。
当你提供一个主机在AWS使用你的密钥,密钥对的公钥关联将存储在文件中/ . ssh / authorized_keys你的登录帐号(ubuntu在我们的示例中)。
当集群管理员部署集群,他们通常部署多个实例为方便使用相同的密钥对,这样他们可以登录到任何主机。AWS基础设置的,知识渊博的管理员可以创建额外的用户和使用操作系统级别的设施来生成新密钥(ssh - keygen),使安全和无密码登录访问集群主机之间更多的传统的用户名和密码。私钥保护Linux实例上的更多信息,请提供使用无密码ssh登录使用私钥。
在本系列的下一篇文章中,我们将讨论更多的话题与安全相关的话题值得信赖的情况下,加密存储,和其他安全相关的工具有助于HPC云管理员操作。