SSHアクセスのセキュリティ確保は、サーバーインフラストラクチャーの完全性とセキュリティを維持する上で重要です。サーバーアクセスのセキュリティを効果的に確保することに苦労している場合は、心配しないでください。Gravitational Teleportは、チームがSSHセキュリティを管理し強化する方法を革新する先進的なソリューションとして登場します。
このチュートリアルでは、Teleportの複雑さを解明し、サーバーインフラストラクチャーを保護するための基本を装備します。シームレスなアクセス管理から堅牢なセキュリティ機能まで、Teleportがサーバーアクセスをどのように確保するかを探ります。
Gravitational Teleportを使用してマスターサーバーセキュリティを強化しましょう!
前提条件
このGravitational Teleportチュートリアルに乗り出すには、特定の基礎知識とリソースが必要です。したがって、このチュートリアルに従うためには、以下に記載された前提条件が満たされていることを確認してください:
- 2つのLinuxサーバー:1つのサーバー(ホスト)はバスチオンホストとして使用され、もう1つのサーバーはTeleportでSSHアクセスを制限するために使用されます。-このチュートリアルでは、2つのUbuntu 22.04EC2インスタンスを使用します。
- ホストサーバーの許可された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
ですが、常にすべての リリース を確認できます。
注意:このチュートリアルでは、Advanced Package Tool(APT)パッケージマネージャーを使用しています。Teleportのインストールスクリプトが正常に機能しない場合は、パッケージマネージャーに合わせたインストール手順については、公式のTeleportドキュメントを参照してください。
上記のインストールスクリプトを実行した後、同様の出力が得られるはずです。

2. インストールが完了したら、次のsystemctl
コマンドを実行して、teleport
サービスのstatus
を確認してください。
以下に示すように、Teleportは現在アクティブではなく無効です。
Teleportサービスを有効にして起動する前に、次の手順でTeleportのいくつかの設定を行う必要があります。

3. 次に、次のteleport
コマンドを実行して、以下の操作を実行してください:
- Teleportのために
/etc/teleport.yaml
という構成ファイルを生成します。インストール中に設定されたTeleport Systemdサービスは、Teleportを起動するためにこのファイルが必要です。
- ACME証明書の登録と通知用のメールアドレスを指定してください(
<YOUR_EMAIL>
を置き換えてください)。--acme
フラグは、TeleportにLet’s Encryptから自動的に証明書を取得するよう指示します。
- Teleport
--cluster-name
を指定します。通常、TeleportプロキシサーバーのURLで表されます(<YOUR_TELEPORT_PROXY_URL>
を置き換えます)。
正しく構成されている場合、ターミナルで以下の出力が表示されます。

4. それでは、以下の各コマンドを実行してTeleportサービスを 有効
にして 開始
します。
これらのコマンドにはターミナルへの出力はありませんが、次の手順で変更を確認できます。
5. 最後に、以下の systemctl
コマンドを実行して、Teleportサービスの ステータス
を確認します。
以下の出力は、Teleportサービスがアクティブで実行されていることを確認しており、UIにアクセスして操作を行うことができることを示しています。

Teleport Web UIアクセスと管理者資格情報の設定
Teleportが稼働していますが、ユーザーアクセスをシームレスに管理したり、セッションを監視したり、サーバーインフラストラクチャを管理したりする方法はありますか?TeleportのウェブUIを使用して、ウェブブラウザから快適に操作できますが、まず、ウェブUIアクセスと管理者ユーザーの資格情報を設定する必要があります。
TeleportウェブUIアクセスと管理者資格情報を設定する手順については、次の手順に従ってください:
1. 「Ubuntu に Gravitational Teleport をインストールして構成する」セクションのステップ3で構成した Teleport プロキシ URL(例:https://teleport.example.com)にアクセスします。
成功すると、以下のTeleport ログインページが表示されます。残念ながら、まだサインインすることはできません。管理ユーザーと二要素認証(ステップ2)を設定する必要があります。

2. ホストサーバーで、次のTeleport CLI ツール(tctl
)コマンドを実行して、以下を実行します:
- 専用のTeleport
admin
ユーザーを作成します(add
)。 admin
ユーザーに、指定されたログイン(root
、ec2-user
、ubuntu
)でSSHホストにログインする権限を与えます。- 管理ユーザーに役割
access
とeditor
を割り当てます。
追加後、管理ユーザーの作成が成功したことを示す出力から生成された招待リンクをコピーします。

3. ステップ3でコピーした招待リンクに新しいブラウザータブで移動し、以下のように表示されるウェルカムページでGET STARTEDをクリックします。この操作により、管理ユーザーの設定を開始できます。

4. 次に、管理ユーザーのために強力なパスワードを入力し、確認し、NEXTをクリックして続行します。

5. 認証アプリを開き、QRコードをスキャンし、生成されたAuthenticator Codeを必要なフィールドに入力し、SUBMITをクリックします。
このプロセスにより、デバイス上で二要素認証を設定し、追加のセキュリティレイヤーを提供します。

6. 今、クラスターに移動して、Teleportアカウントにアクセスしてください。

ブラウザがTeleportのダッシュボードにリダイレクトされ、Teleportが実行されているホストサーバーが表示されます。現在、ホストサーバーがTeleportによって処理されている唯一の利用可能なリソースであることに注意してください。

Teleportを使用してリソースを追加および管理する
Teleportダッシュボードにアクセスできるようになりましたが、現在は利用可能なリソースが1つだけです。しかし、中央集権型プラットフォームは、複数のリソースを一元管理できるときに真価を発揮します。
Teleportの強力なリソース管理機能を使用すると、単一のインターフェイスから追加のサーバー、データベース、またはその他のインフラコンポーネントを簡単にオンボードできます。
Teleportを使用してリソースを管理するには、次の手順を実行します。
1. Teleportのダッシュボードで、新しいリソースの登録を開始するには、新しいリソースを登録(右上)をクリックします。

2. 追加できるリソースの多様性から1つを選択して、Teleportを使用してセキュリティアクセスを追加します。このチュートリアルの選択は、Ubuntu 14.04+ Serverです。

3. Teleportが生成したコマンドをコピーし、次の手順で実行します。

4. 次に、2番目のサーバーで端末を開き、ステップ3でコピーしたコマンドを実行して、サーバーをアクセス管理に追加します。
成功した場合、以下のスクリーンショットのような出力が表示されます。

5. 追加されたら、NEXTをクリックし、連続したプロンプトをNEXTとFINISHをクリックして完了してください。

最後に、Teleportダッシュボードに移動し、以下に示すように新しく追加されたインスタンスを確認できます。

結論
以上でございます。Gravitational Teleportのインストールと設定が成功裡に完了し、Teleport Web UIがセットアップされ、管理者の資格情報が確立されました。このチュートリアルを通じて、サーバーアクセスの保護と管理について貴重な洞察を得ることができました。
さて、この新しい知識をさらに活用してみませんか?ローカルマシンにTeleport CLI (tsh
) をインストールし、UIではなくCLI経由でTeleportサーバーに接続してみましょう。
さらに、Kubernetesクラスターなどのより多くのリソースに対するアクセス管理を実装してみましょう!
Source:
https://adamtheautomator.com/gravitational-teleport/