Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
数多のセキュリティリスクを抱えたDBを改善した話
Search
Kyohei Kushihara
November 27, 2025
Technology
80
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
数多のセキュリティリスクを抱えたDBを改善した話
Kyohei Kushihara
November 27, 2025
Other Decks in Technology
See All in Technology
宣言型部分更新は何を解決しどこへ向かうのか
shuta13
1
400
ソフトウェア ファクトリー - 再現性のあるソフトウェアの工場づくり / Software factory
iktakahiro
5
4.4k
ハードウェアコンペでもAI駆動開発が進んでいる話
iotengineer22
1
720
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
3
900
Refining Active Record
shugo
0
130
[AWS 秋のクラウドオペレーション祭り 2026]AWS DevOps Agentで変わるリリースと運用対応 ~リリース管理機能と Directed actions のご紹介~
furuton
4
1.3k
[JAWS-UG彩の国埼玉#12]そろそろ準備する?re:Invent2026をやさしく解説 / reinvent2026-sainokuni
sh_fk2
1
250
Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
1
420
go-sqletch
moznion
0
140
Getting Started with Google Antigravity
glaforge
0
270
スプシの手作業からの解脱 ~更新はClaude Codeに、見せ方と使い方はGASアプリに任せる~
kentarofujii
0
130
AI時代に必要な脅威モデリング― 変化の速度に負けない理解とリスク判断
masakane55
5
1.3k
Featured
See All Featured
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
890
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
320
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
From π to Pie charts
rasagy
1
400
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
Embracing the Ebb and Flow
colly
88
5.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
Product Roadmaps are Hard
iamctodd
55
13k
Raft: Consensus for Rubyists
vanstee
142
7.8k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
What the history of the web can teach us about the future of AI
inesmontani
PRO
2
740
Transcript
数多のセキュリティリスクを抱えた DBを改善した話
自己紹介 • 櫛原(くしはら) 京平 • インフラ(クラウド) • AWS/GCP/Alibaba • 好きなAWSサービス
◦ Step Functions
ローカル->DBへの接続、どうしてますか • DBへの接続経路は? ◦ SSH鍵を利用して踏み台サーバを経由して接続 ◦ Session Managerを利用して踏み台サーバを経由して接続 • DB接続方法は?
◦ パスワード認証を利用して接続 ◦ IAMデータベース認証を利用して接続 …etc
弊社のこれまでの接続方法 SSH鍵接続を利用して 弊社の接続方式は「エジパパ 方式」でした ※こんな方式名はでないので本日限りで忘れてください 常時起動している パブリックサブネットの踏み台サーバから パスワード認証を利用して DB接続を行っていた
エジパパ方式の欠点 • SSH鍵を利用しており漏洩リスクがある ◦ 22番ポートを解放している • 常時インターネットから接続できる経路がある • DBパスワードの漏洩リスクがある •
DB接続情報所有者がサイレントにDB接続できる
このLTで伝えたいこと (特にレガシーシステム) 前述したDB接続のセキュリティリスクを緩和し、 DBに格納されている情報が抜かれにくいインフラを目指して 弊社が採用した方式を聞いてください!! そして、世に存在しているエジパパを解放したい
目次 • 採用した接続方法 • 実際の運用方法 • インフラ構成について • この方式を実際に利用してみて
採用した接続方法
弊社の接続方式 Session Managerを利用して、 必要な時に起動する プライベートサブネットの踏み台サーバから パスワード認証を利用して ← 運用起因 DB接続を行う DBパスワード認証を利用したのは、
SREチームで利用している MySQL GUIクライアントツールが IAM認証に未対応であったため
エジパパ方式と比較したメリット • SSH鍵が不要 ◦ 22番ポートを解放する必要がない • 踏み台サーバがインターネットに常時晒されない • 踏み台サーバの利用履歴がSlack上に残る
具体的な使用方法について
踏み台の起動① Slackから踏み台を起動 • 対象のプロジェクト • 必要な権限 • 対象者 提示されたコマンドを ローカルPCで実行する
SSM ポートフォワード② 自作のスクリプトによって、 Session Managerを利用したポートフォワードを行う ※この状態でローカルPCとAuroraが疎通できる状況
コマンドの裏側 内部的に下記のようなコマンドを実行し、ポートフォワードを行う aws ssm start-session --target "$instance_id" \ --document-name AWS-StartPortForwardingSessionToRemoteHost
\ --parameters "{\"host\":[\"$rds_endpoint\"],\"portNumber\":[\"3306\"],\"localPortNumber\":[\"3306\"]}"
DBとの接続を確立③
インフラ構成について
インフラ構成 • Slack • Lambda • Step Functions ◦ 権限付与
◦ ユーザー管理 ◦ サーバ作成・終了
この方式を実際に利用してみて
メリット • 誰がどんな権限でDB接続しているのか明瞭になった • 踏み台サーバへの経路がほぼ絶たれた安心感 • 常時 DBへの書き込み権限を所有しているユーザーが減った
デメリット • Slack or AWSの障害が発生すると利用できない • 自前のスクリプトを実行したり、若干手間が増えた
• ぜひ これを機に確認してみてください • システムで解決したり、 運用でカバーしている などあると思います この後の懇親会で、(話せる範囲で)運用方法を教えてください! 皆さんの接続方式はなんですか?