使用Gravitational Teleport保护服务器访问

确保 SSH 访问安全对于维护服务器基础架构的完整性和安全性至关重要。如果您正在努力有效地保护服务器访问权限,不要担心。Gravitational Teleport 出现作为一种领先的解决方案,彻底改变了团队管理和加固 SSH 安全性的方式。

在本教程中,您将揭开 Teleport 的复杂性,为您提供保护服务器基础架构所需的基本知识。从无缝访问管理到强大的安全功能,您将探索 Teleport 如何保护您的服务器访问权限。

通过 Gravitational Teleport 掌握服务器安全,加固您的基础架构!

先决条件

开始进行这个 Gravitational Teleport 教程需要一定的基础知识和资源。因此,请确保满足以下列出的先决条件,以便跟随本教程:

  • 两台 Linux 服务器:一台服务器(主机)用作堡垒主机,另一台用于使用 Teleport 限制 SSH 访问 – 本教程使用两台 Ubuntu 22.04 EC2 实例。
  • 允许主机服务器的 HTTPS 入口流量(请参阅您的云提供商的文档)。

💡 注意:本教程使用AWS EC2实例。所需更改已应用于安全组>入站规则。请参阅AWS文档了解如何配置安全组入站规则

  • A registered domain name with DNS A record pointing to your host server’s IP address.
  • A multi-factor authenticator app such as Authy, Google Authenticator, or Microsoft Authenticator.

在Ubuntu上安装和配置Gravitational Teleport

在完成DNS设置之后,您必须为您的Ubuntu服务器配备强大的安全功能——Gravitational Teleport。就像一座大门敞开的城堡,如果没有适当的安全措施,您的服务器将容易受到未经授权的访问和潜在的违规行为威胁。

Gravitational Teleport确保了强大的防御,只允许授权的个人访问您的服务器要塞。

要安装和配置Gravitational Teleport,请执行以下操作:

1. SSH登录主机服务器,运行以下命令更新软件包管理器的存储库,并安装Teleport。在撰写本文时,最新版本为15.1.9,但您可以随时查看所有发布版本

curl https://goteleport.com/static/install.sh | bash -s 15.1.9

💡 注意:本教程使用高级包管理工具(APT)。如果 Teleport 安装脚本无法正常工作,请访问官方 Teleport 文档以获取适合您包管理器的安装说明。

在运行上述安装脚本后,您应该会得到类似的输出。

Installing Teleport on Ubuntu

2. 安装完成后,请执行以下systemctl命令来验证teleport服务的status

systemctl status teleport

如下所示,Teleport 目前未激活且已禁用。

在启用和启动 Teleport 服务之前,您必须按照以下步骤为 Teleport 设置一些配置。

Checking the Teleport service status

3. 接下来,运行此teleport命令以完成以下操作:

  • 生成名为/etc/teleport.yaml的配置文件供 Teleport 使用。安装期间设置的 Teleport Systemd 服务需要此文件来启动 Teleport。
  • 指定电子邮件地址(替换<YOUR_EMAIL>)以用于 ACME 证书注册和通知。--acme标志告诉 Teleport 自动从Let’s Encrypt获取证书。
  • 指定Teleport --cluster-name,通常由Teleport代理服务器的URL表示(替换<YOUR_TELEPORT_PROXY_URL>)。
sudo teleport configure -o /etc/teleport.yaml \--acme --acme-email=<YOUR_EMAIL> \--cluster-name=<YOUR_TELEPORT_PROXY_URL>

如果配置正确,您将在终端上看到以下输出。

Configuring Teleport

4. 现在,运行下面的每个命令来启用启动Teleport服务。

这些命令不会在终端上输出任何内容,但您将在下一步中验证更改。

# 启用Teleport服务以在引导时自动启动sudo systemctl enable teleport# 启动Teleport服务sudo systemctl start teleport

5. 最后,运行以下systemctl命令来确认Teleport服务的状态

systemctl status teleport

下面的输出确认了Teleport服务处于活动状态,并正在运行,这意味着您可以访问UI并执行操作。

Verifying the Teleport service is active and running

设置Teleport Web UI访问和管理员凭据

Teleport已经启动,但是如何无缝管理用户访问、监视会话和监视服务器基础设施?您可以通过其Web UI在Web浏览器中与Teleport交互,但首先,您必须设置Web UI访问和管理员用户凭据。

要设置Teleport Web UI访问和管理员凭据,请按照以下步骤操作:

访问您在“在Ubuntu上安装和配置Gravitational Teleport”部分第三步中配置的Teleport代理URL(即,https://teleport.example.com)。

如果成功,您将看到下面的Teleport登录页面。不幸的是,您目前还不能登录。您必须设置一个管理员用户和双因素身份验证(第二步)。

Accessing the Teleport sign-in page

在您的主机服务器上,运行以下Teleport CLI工具(tctl)命令来执行以下操作:

  • 创建一个专用的Teleport 管理员 用户。
  • 允许管理员用户使用指定的登录名登录SSH主机:rootec2-userubuntu
  • 为管理员用户分配角色访问编辑
sudo tctl users add admin --roles=access,editor --logins=root,ec2-user,ubuntu 

添加后,从成功添加管理员用户的输出中复制生成的邀请链接。

Creating a dedicated Teleport admin user

在新的浏览器选项卡中导航到您在第三步中复制的邀请链接,然后单击欢迎页面上的GET STARTED。此操作可让您开始设置管理员用户。

Accessing the Teleport sign-in page

接下来,为管理员用户提供并确认一个强密码,然后单击NEXT以继续。

Setting the admin password

打开您的身份验证器应用程序,扫描QR码,输入生成的身份验证器代码到必填字段中,然后单击SUBMIT

此过程可让您在设备上设置双因素身份验证,提供额外的安全层。

Setting up two-factor authentication

现在,点击转到群集以访问您的Teleport帐户。

Accessing the Teleport dashboard

您的浏览器将重定向到Teleport仪表板,显示您Teleport运行的主机服务器,如下所示。请注意,您的主机服务器是Teleport当前处理的唯一可用资源。

Overviewing the Teleport dashboard

使用Teleport添加和管理资源

您现在可以访问您的Teleport仪表板,其中只有一个可用资源。但是,当您可以在其中管理多个资源时,集中式平台真正发挥作用。

借助Teleport强大的资源管理功能,您可以轻松地将其他服务器、数据库或其他基础设施组件纳入,所有操作都可以通过单一界面完成。

要使用Teleport管理资源,请按照以下步骤进行:

1. 在Teleport仪表板上,点击注册新资源(右上角),以开始注册新资源。

Enrolling a new resource

2. 从您可以使用Teleport添加安全访问的众多资源中选择一个。本教程选择的是Ubuntu 14.04+服务器,如下所示。

Selecting a resource to add for access management

3. 复制Teleport生成的命令,您将在下一步中运行该命令。

Copying the generated command

4. 现在,在第二个服务器中打开终端,并运行您在第三步中复制的命令,以添加服务器以进行访问管理。

如果成功,您将看到如下屏幕截图中的输出。

Adding a second server to Teleport

5. 添加后,点击下一步,并通过点击下一步完成完成后续提示。

Proceeding with configuring the new resource

最后,导航到您的 Teleport 仪表板,您将看到新添加的实例,如下图所示。

Confirming the new Teleport instance is successfully added

结论

就是这样——成功安装和配置了 Gravitational Teleport,设置了 Teleport Web UI,并建立了管理员凭据。在本教程中,您已经获得了有关有效保护和管理服务器访问的宝贵见解!

现在,为什么不将这些新获得的知识提升一级呢?在您的本地计算机上专门安装 Teleport CLI(tsh),并通过 CLI 而不是 UI 连接到您的 Teleport 服务器。

为更多资源实施访问管理,如 Kubernetes 集群等等!

Source:
https://adamtheautomator.com/gravitational-teleport/