为Akamai云平台上部署的资源配置2FA跳板机-上

云计算
当你在Akamai Connected Cloud云平台中部署了各类资源(云计算、云存储、SaaS、Docker……),需要进行管理时,该如何为访问过程启用2FA?​

为重要账户启用2FA,这几乎已经成为保护账户和数据安全的一种标准做法。无论登录常见应用或服务,或是访问企业内部资源,时不时都会需要进行2FA验证。那么当你在Akamai Connected Cloud云平台中部署了各类资源(云计算、云存储、SaaS、Docker……),需要进行管理时,该如何为访问过程启用2FA?

延伸阅读,点击链接了解 Akamai Cloud Computing

首先定义“跳板机”是什么

跳板机就是一台或一组服务器,其唯一目的是为基础设施的不同部分提供一个单一入口。

典型的配置是一台加固的Unix(或类Unix)机器,配置有SSH和本地防火墙。管理员从个人计算机以SSH方式连接到跳板机,随后通过SSH转发来访问目标机器,即可连接到DMZ中的目标机器。

使用SSH端口转发或基于SSH的隧道连接到目标主机,可以使用不安全协议管理服务器,而无需创建特殊的防火墙规则或在内部网络上暴露流量。

用到的软件组件

  • 用于服务器和用户管理的Cockpit Web界面
  • Google Authenticator插件
  • Yubikey(可选) – 本文未涉及
  • Termius作为SSH客户端(任何可支持2FA的SSH客户端均可使用)

用到的Akamai Connected Cloud Compute组件

  • 1个充当跳板机的Nanode
  • 一些已部署的服务器或服务。本例中将以MySQL数据库为例。
  • Linode Firewall
  • VLAN(可选)

还需要准备什么?

  • 装有Google Authenticator应用的手机
  • SSH公钥和私钥

如何使用?

简而言之,这种方法实际上就是在为SSH通道启用2FA。使用这种方法的好处是:可以在几乎任何使用TCP协议通信的服务之间创建隧道。网站?可以!数据库服务器?没问题!SSH协议?支持!Redis?小意思!……这样就好理解了吧。

Cockpit又是什么?Cockpit是一个基于Web的服务器图形界面,适用于所有人,尤其适合:

  • Linux新手(包括Windows管理员)
  • 熟悉Linux并希望以简单的图形方式管理服务器的用户
  • 主要使用其他工具但希望了解单个系统概况的专家管理员

如何设置运行?

最简单的方法是使用如下的StackScript。

#!/bin/bash
#<UDF name="HOSTNAME" label="The hostname for the new Linode.">
# HOSTNAME=
#<UDF name="MANAGEMENTUSER" label="Cockpit Management user." default="CockpitMGR">
# MANAGEMENTUSER=
#<UDF name="MANAGEMENTUSERPASSWORD" label="Cockpit management user password." default="ReplaceMeN0w!">
# MANAGEMENTUSERPASSWORD=
yum update -y
yum install cockpit nano wget cockpit-dashboard cockpit-packagekit bind-utils -y
systemctl enable --now cockpit.socket
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh epel-release-latest-7.noarch.rpm
yum install google-authenticator -y
#Create user
pass=$(echo $MANAGEMENTUSERPASSWORD | openssl passwd -crypt -stdin)
useradd -m -p $pass $MANAGEMENTUSER
usermod -aG wheel $MANAGEMENTUSER 
#Configure hostname SSH & PAM modules
hostnamectl set-hostname $HOSTNAME
sed -i '/preserve_hostname: false/c\preserve_hostname: true' /etc/cloud/cloud.cfg
sed -i '2s/^/auth required pam_google_authenticator.so\n/' /etc/pam.d/sshd
sed -i '2s/^/auth [success=done default=ignore] pam_access.so accessfile=/etc/security/access-local.conf\n/' /etc/pam.d/sshd
sed -i '/auth substack password-auth/c\#auth substack password-auth' /etc/pam.d/sshd
echo 'auth required pam_google_authenticator.so nullok' >> /etc/pam.d/cockpit
echo 'idmsync ALL=(ALL) NOPASSWD: ALL' | sudo EDITOR='tee -a' visudo
echo 'AuthenticationMethods publickey,keyboard-interactive' >> /etc/ssh/sshd_config
sed -i '/ChallengeResponseAuthentication no/c\ChallengeResponseAuthentication yes' /etc/ssh/sshd_config
sed -i '/SELINUX=enforcing/c\SELINUX=disabled' /etc/selinux/config
service sshd restart
#Branding stuff
#Other stuff
systemctl start NetworkManager.service
systemctl start cockpit
systemctl enable NetworkManager.service
firewall-cmd --znotallow=public --add-port=9090/tcp --permanent
firewall-cmd --reload 
shutdown -r now

系统会提示输入Cockpit管理用户名、密码和服务器根密码。

使用下面的脚本在Cloud Manager中新建一个StackScript,选择Centos 7作为目标镜像,为其命名,保存并按下“Deploy a new Linode”按钮。

稍等片刻,访问这个URL:https://IP_OF_YOUR_LINODE:9090,我们将看到一个Cockpit登录界面,类似下图所示。

这样就好了!

需要再次提醒大家注意,这种方式不仅操作简单,而且适用性非常广泛,无论云计算、云存储、数据库、Docker……你在Akamai Connected Cloud中部署的任何资源,只要使用TCP协议进行通信,就支持用这种方式启用2FA!

在下篇文章中,我们将介绍如何创建用户以及进行2FA身份验证的过程。敬请期待。

—————————————————————————————————————————————————

如您所在的企业也在考虑采购云服务或进行云迁移,

点击链接了解Akamai Linode的解决方案

责任编辑:张燕妮
相关推荐

2024-04-28 08:00:00

大型语言模型人工智能云平台

2009-05-05 11:00:09

windows端到端虚拟化

2010-05-10 10:02:23

云计算CRM

2022-08-12 12:02:43

网络钓鱼2FA

2016-10-09 15:09:52

Linux架构实现跳板机

2016-10-09 14:48:14

Linux整体架构跳板机

2022-06-23 07:05:46

跳板机服务器PAM

2023-04-04 12:20:28

静态资源配置

2022-07-08 07:02:10

Python动态码OTP

2023-12-21 17:48:59

2019-10-09 08:00:17

Kubernetes容器云平台

2009-06-04 20:19:16

Eclipse插件Jinto资源配置

2014-08-15 15:57:18

2022-07-26 23:45:29

Windows系统苹果

2022-06-28 15:07:59

恶意软件网络钓鱼网络攻击

2018-05-23 12:24:03

2024-02-19 15:42:29

2017-03-20 17:20:35

iOSTensorFlow

2015-11-26 17:32:08

Akamai/互联网

2011-12-01 11:36:42

云计算苹果谷歌
点赞
收藏

51CTO技术栈公众号