Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SSH から Teleport へ
Search
gree_tech
PRO
October 13, 2023
Technology
0
2.3k
SSH から Teleport へ
GREE Tech Conference 2023で発表された資料です。
https://techcon.gree.jp/2023/session/TrackA-6
gree_tech
PRO
October 13, 2023
Tweet
Share
More Decks by gree_tech
See All by gree_tech
コミュニケーションに鍵を見いだす、エンジニア1年目の経験談
gree_tech
PRO
0
140
REALITY株式会社における開発生産性向上の取り組み: 失敗と成功から学んだこと
gree_tech
PRO
2
1.8k
『ヘブンバーンズレッド』におけるフィールドギミックの裏側
gree_tech
PRO
2
630
セキュリティインシデント対応の体制・運用の試行錯誤 / greetechcon2024-session-a1
gree_tech
PRO
1
640
『アナザーエデン 時空を超える猫』国内海外同時運営実現への道のり ~別々で開発されたアプリを安定して同時リリースするまでの取り組み~
gree_tech
PRO
1
600
『アサルトリリィ Last Bullet』におけるクラウドストリーミング技術を用いたブラウザゲーム化の紹介
gree_tech
PRO
1
700
UnityによるPCアプリの新しい選択肢。「PC版 Google Play Games」への対応について
gree_tech
PRO
1
1.1k
実機ビルドのエラーによる検証ブロッカーを0に!『ヘブンバーンズレッド』のスモークテスト自動化の取り組み
gree_tech
PRO
1
710
"ゲームQA業界の技術向上を目指す! 会社を超えた研究会の取り組み"
gree_tech
PRO
1
860
Other Decks in Technology
See All in Technology
Bet "Bet AI" - Accelerating Our AI Journey #BetAIDay
layerx
PRO
4
1.8k
ZOZOTOWNの大規模マーケティングメール配信を支えるアーキテクチャ
zozotech
PRO
0
430
Serverless Meetup #21
yoshidashingo
1
130
Instant Apps Eulogy
cyrilmottier
1
110
OPENLOGI Company Profile for engineer
hr01
1
38k
마라톤 끝의 단거리 스퍼트: 2025년의 AI
inureyes
PRO
1
760
AIに頼りすぎない新人育成術
cuebic9bic
3
320
Claude Codeから我々が学ぶべきこと
oikon48
10
2.8k
2時間で300+テーブルをデータ基盤に連携するためのAI活用 / FukuokaDataEngineer
sansan_randd
0
160
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 1
ks91
PRO
0
150
Cloud WANの基礎から応用~少しだけDeep Dive~
masakiokuda
3
110
夏休みWebアプリパフォーマンス相談室/web-app-performance-on-radio
hachi_eiji
0
230
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
96
6.2k
How GitHub (no longer) Works
holman
314
140k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
The Invisible Side of Design
smashingmag
301
51k
Typedesign – Prime Four
hannesfritz
42
2.8k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Making the Leap to Tech Lead
cromwellryan
134
9.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Transcript
SSH から Teleport へ グリー株式会社 ネットワーク/インフラ/セキュリティエンジニア 吉浜 丈広
1. 自己紹介 2. Teleport とは 3. そもそもなぜ Teleport? 4. Teleport
を導入すると 5. 今後の話 はじめに 本日の内容 2
• 吉浜 丈広(よしはま たけひろ) • 2016 年にグリー株式会社へ新卒入社 • DC 内外のネットワーク管理・運用が主担当
• サーバ、ミドルウェアの検証・管理・運用 • ゲームや VR 配信のサーバサイド開発 • syslog, LDAP, Teleport 等の管理・運用、 インシデント時の対応 • ネットワーク/インフラ/セキュリティエンジニア はじめに 自己紹介 3
• Gravitational Inc. が提供しているアプリケーション • 複数のプロトコルに対応し、認証、監査ログの取得等の機能もある Proxy • 商用版とオープンソース版 Teleport
とは ざっくり概要 画像出典:Gravitational, inc. gravitational/teleport. Github. https://github.com/gravitational/teleport 4
• Teleport には auth, proxy, node の 3 種類の役割がある •
バイナリ自体は共通で設定で役割を決める • auth:認証を提供。proxy からアクセス可能な必要あり • proxy:全ての認証・ユーザ接続が経由。ユーザからアクセス可能な必要あり • node:SSH でのアクセス先。proxy からアクセス可能な必要あり Teleport とは ざっくり概要〜SSH代替の場合〜 利用者 proxy auth node1 node2 tsh ssh node2 認証 tunnel tunnel reverse ssh tunnle 5
そもそもなぜ Teleport ? 既存環境の構成 データセンター 利用者 サービス1 サービス2 サービス3 管理用
LDAP Syslog 踏み台 鍵生成・登録 権限申請 システム 管理者 サーバ1 サーバ2 サーバ3 2 factor 各サービス用踏み台サーバ群 6
そもそもなぜ Teleport ? 既存環境の構成 データセンター 利用者 サービス1 サービス2 サービス3 管理用
LDAP Syslog 踏み台 鍵生成・登録 権限申請 システム 管理者 サーバ1 サーバ2 サーバ3 2 factor 各サービス用踏み台サーバ群 踏み台サーバは約 140 台くらい サービス毎に異なる AWS アカウントで管理 アカウント毎に踏み台サーバが 1 つある 一度登録した鍵はずっと使える 一つの鍵でアクセス権のある全てのサーバへログイン可能 公開鍵は LDAP で管理 サーバへのアクセス権は Linux グループで管理 7 1 2 4 3
そもそもなぜ Teleport ? 既存環境の構成〜利用者の場合(初回のみ)〜 データセンター 利用者 サービス1 サービス2 サービス3 管理用
LDAP Syslog 踏み台 鍵生成・登録 権限申請 システム 管理者 サーバ1 サーバ2 サーバ3 2 factor 各サービス用踏み台サーバ群 鍵の生成、アクセス権申請、 秘密鍵のダウンロード 公開鍵の登録、Linux グループへの追加 8 1 2
そもそもなぜ Teleport ? 既存環境の構成〜利用者の場合〜 データセンター 利用者 サービス1 サービス2 サービス3 管理用
LDAP Syslog 踏み台 鍵生成・登録 権限申請 システム 管理者 サーバ1 サーバ2 サーバ3 2 factor 各サービス用踏み台サーバ群 認証 SSH 二要素認証 SSH 9 1 3 2 4
そもそもなぜ Teleport ? 既存環境の構成〜利用者の場合〜 データセンター 利用者 サービス1 サービス2 サービス3 管理用
LDAP Syslog 踏み台 鍵生成・登録 権限申請 システム 管理者 サーバ1 サーバ2 サーバ3 2 factor 各サービス用踏み台サーバ群 認証 SSH 二要素認証 SSH 10 1 3 2 4
そもそもなぜ Teleport ? 既存環境の構成〜管理者の場合〜 データセンター 利用者 サービス1 サービス2 サービス3 管理用
LDAP Syslog 踏み台 鍵生成・登録 権限申請 システム 管理者 サーバ1 サーバ2 サーバ3 2 factor 各サービス用踏み台サーバ群 監査ログ参照 各サーバは Syslog サーバへログを転送する 11
❌ 監査ログの利便性が低い • 踏み台から各サーバへは共通アカウントを利用 • 複数サーバに跨って sshd / sudo 等のログから辿る必要あり
❌ 鍵の管理が大変 • 公開鍵登録・権限申請用の自社アプリケーションを運用 • 秘密鍵がある端末からしかログインできない • 秘密鍵が漏洩した場合やクライアントが侵害された際のリスクが高い ❌ 利用者にとって不便な点 • 踏み台サーバへのアクセスはオフィスから or VPN 必須 • ログイン時の二要素認証めんどくさい、、、 • ログインサーバの FQDN なんだっけ、、、 そもそもなぜ Teleport ? 既存環境の問題点 12
⭕ 監査ログの利便性が高い • teleport ではターミナルの入出力を全て記録・リプレイ可能 • teleport node/proxy で記録可能 ⭕
鍵の管理が楽 • ユーザ認証時に毎回有効期限付きの秘密鍵を発行( ssh-agent 自動登録) • 鍵に有効期限があるので漏洩時のリスク低減 • 商用版だと SAML 認証が使えるので既存 AD と連携した SSO で利用可能 ⭕ 利用者にとって便利な点 • 二要素認証不要 • WebSSH 機能により Web ブラウザから SSH 可能 • Web/cli クライアントからサーバ一覧可能 そもそもなぜ Teleport ? Teleport の問題点に対するアプローチ 13
Teleport を導入すると 導入後の環境構成 データセンター 利用者 各サービス用踏み台サーバ群 サービス1 サービス2 サービス3 管理用
LDAP 踏み台 鍵生成・登録 権限申請 システム 管理者 サーバ1 サーバ2 サーバ3 Teleport auth/proxy cognito lambda 14
Teleport を導入すると 導入後の環境構成 データセンター 利用者 各サービス用踏み台サーバ群 サービス1 サービス2 サービス3 管理用
LDAP 踏み台 鍵生成・登録 権限申請 システム 管理者 サーバ1 サーバ2 サーバ3 Teleport auth/proxy cognito lambda Teleport の auth、proxy サーバを追加 踏み台サーバへ Teleport node を設定 踏み台サーバへ Teleport node を設定 cognito を追加し ID Provider として既存の AD を設定。 lambda を連携し、認証時に LDAP から Linux グループ情報 を取得し、アクセス権情報として利用 15 1 2 2 3
Teleport を導入すると 導入後の環境構成〜利用者の場合(初回ログイン時)〜 データセンター 利用者 各サービス用踏み台サーバ群 サービス1 サービス2 サービス3 管理用
LDAP 踏み台 鍵生成・登録 権限申請 システム 管理者 サーバ1 サーバ2 サーバ3 Teleport auth/proxy cognito lambda 認証、期限付き鍵生成 アクセス権情報取得 SAML 認証 16 1 2 3
Teleport を導入すると 導入後の環境構成〜利用者の場合〜 データセンター 利用者 各サービス用踏み台サーバ群 サービス1 サービス2 サービス3 管理用
LDAP 踏み台 鍵生成・登録 権限申請 システム 管理者 サーバ1 サーバ2 サーバ3 Teleport auth/proxy cognito lambda SSH アクセス reverse SSH tunnel SSH 17 1 1 2
Teleport を導入すると 導入後の環境構成〜利用者の場合〜 データセンター 利用者 各サービス用踏み台サーバ群 サービス1 サービス2 サービス3 管理用
LDAP 踏み台 鍵生成・登録 権限申請 システム 管理者 サーバ1 サーバ2 サーバ3 Teleport auth/proxy cognito lambda SSH アクセス reverse SSH tunnel SSH 18 2 1 1
Teleport を導入すると 導入後の環境構成〜管理者の場合〜 データセンター 利用者 各サービス用踏み台サーバ群 サービス1 サービス2 サービス3 管理用
LDAP 踏み台 鍵生成・登録 権限申請 システム 管理者 サーバ1 サーバ2 サーバ3 Teleport auth/proxy cognito lambda 監査ログ参照 19
Teleport を導入すると 利用者の例〜WebSSH〜 20
Teleport を導入すると 利用者の例〜tsh〜 21
Teleport を導入すると 管理者の例 22
• ターミナルの入出力記録により監査ログの利便性向上 • SSO でのサーバアクセスにより鍵の管理が不要に • 二要素認証やアクセス元 IP 制限が不要に •
鍵の有効期限があるためリスク低 • パブリックアクセスが必要なのは Teleport proxy のみのためリスク低 • 踏み台サーバへの Elastic IP が不要に • 既存の権限管理方法は変えず、管理者・利用者の利便性向上! • Teleport auth/proxy サーバの運用というデメリットはあるが メリットの方が大きい Teleport を導入すると まとめ 23
今回のタイトルは SSH から Teleport へ つまり、完全移行 今後の話 そういえば 24
今回のタイトルは SSH から Teleport へ つまり、完全移行 出来てません😭 今後の話 そういえば 25
• tsh クライアントに対応していない • 開発時はコンソールだけでなくエディタや IDE で接続して利用もある • デプロイ等で利用するシステムアカウントの移行も要検証 •
Teleport に障害が起きたらどうするの? • cognito/lambda が死んだらどうするの? • AD が死んだらどうするの? 今後の話 課題はいろいろ残ってる 26
None