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
ID管理のクラウドサービスExtic におけるセキュリティの取り組み
Search
VAddy
December 01, 2016
Technology
1
1.3k
ID管理のクラウドサービスExtic におけるセキュリティの取り組み
2016年11月30日 VAddyユーザーミートアップ Vol.4 資料
ID管理のクラウドサービスExtic におけるセキュリティの取り組み
エクスジェン・ネットワークス株式会社
野村 健太郎
VAddy
December 01, 2016
Tweet
Share
More Decks by VAddy
See All by VAddy
開発者のためのWebセキュリティ診断入門
vaddy
0
490
Other Decks in Technology
See All in Technology
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
13k
Copilot coding agentにベットしたいCTOが開発組織で取り組んだこと / GitHub Copilot coding agent in Team
tnir
0
200
サイバーエージェントグループのSRE10年の歩みとAI時代の生存戦略
shotatsuge
4
1k
AWS CDK 入門ガイド これだけは知っておきたいヒント集
anank
5
760
AIエージェントが書くのなら直接CloudFormationを書かせればいいじゃないですか何故AWS CDKを使う必要があるのさ
watany
18
7.6k
20250718_ITSurf_“Bet AI”を支える文化とコストマネジメント
helosshi
0
100
ABEMAの本番環境負荷試験への挑戦
mk2taiga
5
1.3k
QuickSight SPICE の効果的な運用戦略~S3 + Athena 構成での実践ノウハウ~/quicksight-spice-s3-athena-best-practices
emiki
0
290
組織内、組織間の資産保護に必要なアイデンティティ基盤と関連技術の最新動向
fujie
0
280
スタックチャン家庭用アシスタントへの道
kanekoh
0
120
対話型音声AIアプリケーションの信頼性向上の取り組み
ivry_presentationmaterials
3
1.1k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.7k
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
Faster Mobile Websites
deanohume
308
31k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Thoughts on Productivity
jonyablonski
69
4.7k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
970
Code Review Best Practice
trishagee
69
19k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
Optimizing for Happiness
mojombo
379
70k
Transcript
IDཧͷΫϥυαʔϏε Extic ʹ͓͚Δ ηΩϡϦςΟͷऔΓΈ 201611݄30 ΤΫεδΣϯŋωοτϫʔΫεגࣜձࣾ ଜ ݈ଠ VAddy ϢʔβʔϛʔτΞοϓ
Vol.4
࣍ • ࣗݾհ • IDaaS Ͱ͋Δ Extic ͷհ • SCIM
ͷհ • Extic ʹ͓͚ΔηΩϡϦςΟͷऔΓΈʹ͍ͭͯ 2
ࣗݾհ • ଜ ݈ଠ(@nomnux) • ॴଐɿΤΫεδΣϯŋωοτϫʔΫε(ג) • ೝূؔ࿈ͷࣄʹैࣄ͔ͯ͠Ε͜Ε10 • ͖ͳݴޠɿPython
• ࠷ۙͷ͓ؾʹೖΓɿDockerɺAnsible • ͖ͳόΠΫϝʔΧʔɿSUZUKI (ླەอ࣋ऀ)
Extic հ
ͷલʹ࣭Ͱ͢
ʮIDaaSʯ ͬͯ·͔͢ʁ
IDaaS ? • ฉ͍ͨ͜ͱ͋Δ • ͍ͬͯΔ(Ϣʔβʔͱͯ͠) • ։ൃ͍ͯ͠Δ 7
IDaaS ؔ࿈Ωʔϫʔυ • LDAP • ϓϩϏδϣχϯά • ϑΣσϨʔγϣϯ • SAML
• OAuth • OpenID / OpenID Connect • SCIM (※ೖྗϝιουͰͳ͍Ͱ͢) 8
IDaaS ͱ • Identity as a Service • ʮID ཧʯʮγϯάϧαΠϯΦϯʯΛ
Ϋϥυ্ͷαʔϏεͱͯ͠ఏڙ͢Δ ͷ • ւ֎ɾࠃͰ༷ʑͳ IDaaS ࣄۀऀ͕αʔ ϏεΛల։͍ͯ͠Δ 9
IDaaS ͰͰ͖Δ͜ͱ 10 G Suite Office 365 ཧऀ ID ϓϩϏδϣχϯά
ΦϯϓϨAD/LDAP
IDaaS ͰͰ͖Δ͜ͱ 11 G Suite Office 365 γϯάϧαΠϯΦϯ(SSO) ར༻ऀ ϩάΠϯ
Extic • EXGEN Trusted Identity Center • EXGEN ͕࡞ͬͨ IDaaS
• ࠓͷͱ͜Ζจڭ͚ 12
Extic ͷػೳ • ID ϓϩϏδϣχϯά • G SuiteɺOffice 365 •
ΦϯϓϨͷ ADɾLDAP (ΤʔδΣϯτΛΦϯϓϨʹಋೖ) • γϯάϧαΠϯΦϯ (Ճ༧ఆ) • SAML • Shibboleth IdP (Ճ༧ఆ) • ֶज़ೝূϑΣσϨʔγϣϯ͚ 13
σϞ
SCIM ͷ͝հ
SCIM 16 SCIM Client SCIM Server JSON HTTP
ɹSCIM • System for Cross-domain Identity Management • http://www.simplecloud.info/ •
ID ཧ༻ͷ API (REST API) ͷ༷ • ϢʔβʔใάϧʔϓใΛ JSON Ͱදݱ͠ɺHTTP ϦΫΤετͰର αʔϏε(SCIM Server)ʹૹ৴͢Δ • Extic ͰҰ෦ͷػೳͰ SCIM(ͬΆ͍) REST API Λ࣮͍ͯ͠Δ • ࣮ྫ • https://api.slack.com/scim 17
SCIM ͷ JSON 18 { "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], "userName": "
[email protected]
", "displayName":
"NIHON Taro", "nickName": "taro" }
SCIM Ͱར༻͢Δ HTTP ϝιου 19 ૢ࡞ HTTP ϝιου Ճ POST
ߋ৽ PUT (શଐੑߋ৽) PATCH (Ұ෦ଐੑߋ৽) আ DELETE औಘɾݕࡧ GET
SCIM ͷϦΫΤετ 20 $ curl \ -H “Authorization: *****” \
-H "Content-Type: application/scim+json" \ -X "POST" \ -d ‘{ JSON Λॻ͘(লུ) }’ \ https://scimsv.example.jp/v2/Users ϢʔβʔՃͷྫ
Extic ʹ͓͚Δ ηΩϡϦςΟͷऔΓΈ
ཧ • ͓٬͞Μͷ ID/PW Λ༬͔ΔͷͰηΩϡϦςΟେࣄ • ՄೳͳݶΓ(༧ࢉ͕ڐ͢ݶΓ)ઐϕϯμʔʹΑΔ੬ ऑੑݕࠪΛ࣮ࢪ͍ͨ͠ • VAddy
ͷΑ͏ͳݕࠪπʔϧΛ։ൃϓϩηεʹΈ ࠐΜͰසൟ(Ϗϧυຖ)ʹηΩϡϦςΟςετ͍ͨ͠ 22
ݱ࣮ • ઐϕϯμʔʹΑΔසൟͳݕࠪίετతʹແཧ • ϦϦʔεલʹݕࠪΛड͚ͨͱͯ͠ɺͦ͜Ͱ੬ऑੑ ͕ݟ͔ͭͬͯमਖ਼ʹ͕͔͔࣌ؒΔͷͰɺखΓ ͕େ͖͘ɺϦϦʔε͕ΕΔ • ϏϧυຖʹηΩϡϦςΟςετΛ࣮ࢪͯ݁͠ՌΛ ֬ೝ͖͠Εͳ͍
• ϩάͷ֬ೝେࣄ(ޙड़) 23
ݕࠪπʔϧɾαʔϏεൺֱ 24 VAddy skipfish OWASP ZAP ઐϕϯμʔ ༻қ த ߴ
ָ ݕ߲ࠪ গ ଟ ଟ API ͷݕࠪ O X(?) O ݕࠪ࣌ؒ ʙ ݁Ռͷ֬ೝ (ϩά·Ͱ֬ೝ) ͪΐͬͱ େม ͔ͳΓେม (ઈతͳྔ…) ָ
VAddy ͷϝϦοτ • ࣮ߦ͕؆୯ • खܰ͞େࣄ • ࣄલʹΫϩʔϧ͢Δ͜ͱͰɺݕࠪର URL ͕ߜΒΕΔ
• ݕࠪ࣌ؒͷॖɺϩά֬ೝͷݮ • API ͷݕ͕ࠪՄೳ • ׂΓΓ • ݕ߲ࠪΛ֦ॆ͍ͨ͠߹ଞͷπʔϧΛ͑Α͍ 25
ݱ࣮తͳηΩϡϦςΟςετܭը 26 ʑͷ։ൃ ෆ۩߹मਖ਼ ܰඍͳػೳՃ େنػೳՃ ఆظతͳશݕࠪ ηΩϡϦςΟςετ VAddy VAddyɾͦͷଞπʔϧ
ͦͷଞπʔϧɾઐϕϯμʔ ઐϕϯμʔ
ࠓޙͷ՝ • ࣗಈԽ • ΞϓϦͷσΟϓϩΠ ➡ ݕ࣮ࠪߦ ➡ ݕࠪ݁Ռ֬ೝ ͷࣗ
ಈԽ • ը໘ͷΫϩʔϧख࡞ۀͰΑ͍ • ࣗಈԽ͍ͨ͠ͱ͜ΖͰ͋Δ͕ɺͪΐͬͱେม… • ݱঢ়ɺͦ͜·Ͱը໘ଟ͘ͳ͍ͷͰɺΫϩʔϧ ख࡞ۀͰͳΜͱ͔ͳΔ 27
VAddy ಋೖͷཪ
น • VAddy ͷεΩϟϯ݁ՌͰ੬ऑੑແ͠ͱग़·ͨ͢ɻ͜ΕͰ҆৺Ͱ ͢ɻ • ͲΜͳݕࠪΛͯ͠Δͷ͔ϩάݟͯ֬ೝͯ͠ΈΑ͏ͣ • (ɹƅшƅ) •
ηογϣϯ͕ඞཁͳը໘ͷεΩϟϯͰΤϥʔฦͬͯͶ?… • (ͭд⊂)ŠƄŢŠƄŢ • ηογϣϯҡ࣋Ͱ͖ͯͳ͍ ➡ ηογϣϯ͕ඞཁͳը໘(ϩάΠϯը໘ Ҏ֎)ͷݕ͕ࠪͰ͖ͯͳ͍(T_T) 29
ਆରԠ • (E) VAddy ͔ΒͷεΩϟϯ࣌ʹηογϣϯҡ࣋Ͱ͖ͯͳ͍Α͏ Ͱ͢(T_T) • (૬ੑͱ͔͋ΔͩΖ͏͠ɺͲ͏ͯ͠εΩϟϯͰ͖ͳ͔ͬͨ Β VAddy
͖͋ΒΊΑ͏…) • (V) ରԠ͠·ͨ͠ʂ • (E) ͍͢·ͤΜɺࠓ CSRF ରࡦͷτʔΫϯ͕… • (V) ରԠ͠·ͨ͠ʂʂ 30
ͦͷଞʹ େม͓ੈʹͳΓ·ͨ͠… • (E) go-vaddy ίϚϯυͷΓ͕ظͱҧ͍·ͨ͠… • (V) मਖ਼͠·ͨ͠ʂ •
(E) API ͷΫϩʔϧ࣌ʹඌʹΫΤϦετϦϯά͚ͭΔͷ໘͍͘͞Ͱ ͢… • (V)͚ͭͳͯ͘Α͘͠·ͨ͠ʂ • (E) ͪΌΜͱΫϩʔϧͰ͖ͯΔͷ͔Ͳ͏͔ෆ҆Ͱ͢… • (V) ը໘ͰΫϩʔϧ݁ՌΛ֬ೝͰ͖ΔΑ͏ʹ͠·ͨ͠ʂ 31
ޙஊ • VAddy ͷεϐʔσΟʔͳରԠָ͕ͯ͘͠ɺ͍͍ͭͭηΩϡϦςΟ ςετʹ಄ • Docker ΛͬͯίϚϯυҰൃͰςετڥ࡞ΕΔΑ͏ʹͨ͠Γ • Nginx
ͷϩάग़ྗΛڧԽͨͯ͘͠ lua ॻ͘ͷʹ಄ͨ͠Γ • ຊۀ(Πϯϑϥ֦ுɺػೳՃ)ʹࢧো͕Ͱͩ͢… • (্࢘)ʮηΩϡϦςΟେࣄ͕ͩɺͦΖͦΖۭؾಡΊʯ • VAddy ͠Β͓͘༬͚ʹ… 32
ڭ܇ • ϩάͷ֬ೝॏཁ • πʔϧͷݕࠪ݁ՌΛӏವΈʹͤͣɺͪΌΜͱ Web αʔόʔΞϓϦͷϩά֬ೝ͢Δ • ηΩϡϦςΟςετґଘʹҙ •
ʮηΩϡϦςΟେࣄͰ͔͢Βʂʯͱ͔ݴ͍ͭͭɺ ʮςετΛޮతʹߦ͏ͨΊͷڥߏஙʯͱ͔ʹ ಄͠ͳ͍Α͏ʹҙ… 33
͋Γ͕ͱ͏͍͟͝·ͨ͠