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
Local Administrator Password Solution for macOS...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
kenchan0130
September 06, 2019
Technology
1.4k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Local Administrator Password Solution for macOS with Jamf Pro / コーポレートエンジニア・カジュアルトーク #2 実例LT
コーポレートエンジニア・カジュアルトーク #2 実例LT (
https://corp.connpass.com/event/143310/
) で発表した資料です。
kenchan0130
September 06, 2019
More Decks by kenchan0130
See All by kenchan0130
組織デバイスのための効率的なアプリケーション更新戦略
kenchan0130
0
920
パスワードに関する最近の動向
kenchan0130
1
660
運用していくアプリケーション開発のヒント
kenchan0130
0
420
FOLIO のこれまでの情報セキュリティへの取り組みについて / Scramble! #2 Security
kenchan0130
1
1.6k
運用を続けていくための Scala の書き方 / scala.rookies#1
kenchan0130
3
1.3k
イノベーションを止めずに、端末管理と運用を行う方法 / builderscon tokyo 2018
kenchan0130
14
5.8k
イノベーションを止めずに、端末管理と運用を行う方法 発表ノート付き/ builderscon tokyo 2018
kenchan0130
1
660
教育・企業におけるデバイス管理について
kenchan0130
2
1.7k
教育・企業におけるデバイス管理について 発表ノート付き
kenchan0130
0
630
Other Decks in Technology
See All in Technology
野良MCPサーバーを排除せよ!MCPサーバーのガバナンス
yukiogawa
1
240
1週間、Opus封印でお願いします
kintotechdev
0
190
推論基盤と Scale-Up Interconnect の現状と制約から俯瞰する技術動向
markunet
2
230
Obsidian Vault Architectures
x5gtrn
PRO
0
160
AWS Continuum for Penetration Testing に Deep Dive してみる
asanoharuki
1
1.4k
「Learning Outcome」を書きたくない私が、Learning Outcomeと折り合いをつけるまで
mhlyc
0
240
VLA-JEPA: Enhancing Vision-Language-Action Models with Latent World Models
takmin
0
330
(swiftc) NonCopyableとライフタイム修飾子
teamhimeh
0
130
アカウント統制の健康診断
kenichinakamura
1
200
Agent × Maestro で始める モバイル E2E 端末準備からテスト実行・結果確認まで
sansantech
PRO
0
210
自宅サーバと脆弱性
masakiokuda
1
120
バフェットコード開発チームの心得(v1.1)
shoe116
0
110
Featured
See All Featured
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
580
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
Being A Developer After 40
akosma
PRO
92
590k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
350
GitHub's CSS Performance
jonrohan
1033
470k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Unsuck your backbone
ammeep
672
58k
Become a Pro
speakerdeck
PRO
31
6.3k
My Coaching Mixtape
mlcsv
0
360
Testing 201, or: Great Expectations
jmmastey
46
8.4k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Transcript
Local Administrator Password Solution for macOS with Jamf Pro 2019/09/06
コーポレートエンジニア・カジュアルトーク #2 Copyright © 2019 FOLIO Co., Ltd. All Rights Reserved. 1
⼤⻄ 正恭 (Tadayuki Onishi) 2 ⾃⼰紹介 Software Engineer Twitter: @kenchan0130
Blog: kenchan0130.github.io
3 ⾃⼰紹介
Local Administrator Password Solution 4
ローカル管理者アカウントのパスワード 集中管理ツール、通称 LAPS 5 Local Administrator Password Solution • 端末ごとに異なるパスワード
• パスワードの定期的な変更 主な機能 PC A G&vlXKXLQ Name Password PC A G&vlXKXLQ PC B 411ssTe$1 PC B 411ssTe$1
• イメージ展開などによるキッティング 効率化 • ヘルプデスク業務効率化 6 LAPSが⽣まれた経緯 管理者アカウントパスワードの同⼀化 マルウェアによるPass the
Hash攻撃 PC A Pass12345 PC B Pass12345 Internal Network
• イメージ展開などによるキッティング 効率化 • ヘルプデスク業務効率化 6 LAPSが⽣まれた経緯 管理者アカウントパスワードの同⼀化 マルウェアによるPass the
Hash攻撃 PC A Pass12345 PC B Pass12345 Internal Network
• イメージ展開などによるキッティング 効率化 • ヘルプデスク業務効率化 6 LAPSが⽣まれた経緯 管理者アカウントパスワードの同⼀化 マルウェアによるPass the
Hash攻撃 PC A Pass12345 PC B Pass12345 Internal Network
• イメージ展開などによるキッティング 効率化 • ヘルプデスク業務効率化 6 LAPSが⽣まれた経緯 管理者アカウントパスワードの同⼀化 マルウェアによるPass the
Hash攻撃 PC A Pass12345 PC B Pass12345 Internal Network へへへ、どうせ Pass12345 やろ
https://channel9.msdn.com/events/Ignite/2015/BRK2334 7 Active Directoryを使⽤したLAPS
1. パスワード期限、変更要求 2. 新規パスワードの作成 3. Active Directoryへ同期 4. 端末のパスワードの変更 8
Active Directoryを使⽤したLAPS 端末上でエージェントが動作 PC A 411ssTe$1 PC A szieRsk&s szieRsk&s に変更 szieRsk&s に変更
macOSのLocal Administrator Password Solution 9
10 macOSでLAPSを実現できるのか?
Active Directoryと統合できるLAPSツール 11 https://github.com/joshua-d-miller/macOSLAPS • Active Directoryの属性を使⽤ • Swift製の署名されたバイナリ •
独⾃のデーモンで動作
Active Directoryを使⽤するのは レガシーなのではないか? 12
オンプレミスのActive Directory依存 13 macOSLAPSのペインポイントとなる点 不安定なmacOSのAD Bind
macOSのLocal Administrator Password Solutionを再構築 14
インベントリデータベース アプリケーション エージェント/デーモン 15 LAPSに必要な要素分解 端末に紐付いたパスワードの把握 パスワードの更新と同期 アプリケーションを定期的に端末で実⾏
Appleの端末の管理ツール 16 Jamf Proとは • Appleが提供しているMDMを使い やすくする • エージェントを仕込み、MDMで⼿ が届かない部分を補完(macOS
のみ)
Jamf Proの拡張属性 インベントリデータベース Jamf Proのスクリプト アプリケーション Jamf Proのポリシー エージェント/デーモン 17
Jamf Proの仕組みに当てはめる
Jamf Proの拡張属性 インベントリデータベース Jamf Proのスクリプト アプリケーション Jamf Proのポリシー エージェント/デーモン 18
Jamf Proで実現するための課題
Jamf Proと統合できるLAPSツール 19 https://github.com/NU-ITS/LAPSforMac • Jamf Proに最適化 • Shell製のスクリプト •
アクティブに開発されていない
保存するパスワードが暗号化されていない T2チップ対応が不⼗分 整合性担保率が低い 20 NU-ITS/LAPSforMacのデメリット
NU-ITS/LAPSforMacの課題解決 21 https://github.com/taniguti/LAPSforMac • NU-ITS/LAPSforMacのFork • 暗号化サポート • T2チップサポート •
⼀定⽔準の整合性の担保
設定⽅法 (時間があれば) 22
設定⽅法 1. 拡張属性の追加 23 設定 > コンピュータ管理 > 拡張属性 >
新規 後で使う 1-1. 属性名(表⽰名)
設定⽅法 2. APIユーザーの作成 24 設定 > Jamf Pro ユーザアカウントとグループ >
新規 後で使う 2-1. ユーザ名 2-2. パスワード
設定⽅法 2. APIユーザーの作成 24 設定 > Jamf Pro ユーザアカウントとグループ >
新規 後で使う 2-1. ユーザ名 2-2. パスワード
設定⽅法 3. スクリプトの登録 25 設定 > コンピュータ管理 > スクリプト >
新規
設定⽅法 3. スクリプトの登録 25 設定 > コンピュータ管理 > スクリプト >
新規
設定⽅法 4. パスワードの暗号化 26 後で使う 4-1. Jamf ProのAPIユーザパスワードのsaltphrase 4-2. Jamf
ProのAPIユーザのencryptedString 4-3. 端末の管理者アカウントの初期パスワードのsaltphrase 4-4. 端末の管理者アカウントのencryptedString $ git clone https://github.com/taniguti/LAPSforMac.git $./LAPSforMac/admintools/EncryptString.sh "YOUR_JAMF_API_USER_PASSWORD" # alt='xxxxxxxxx' # passphrase='yyyyyyyyyy' # saltphrase='xxxxxxxxx:yyyyyyyyyy' # encryptedString='zzzzzzzzzzzzzzzzzzzzzzzzz' $ ./LAPSforMac/admintools/EncryptString.sh "YOUR_DEVICE_ADMIN_USER_INITIAL_PASSWORD" # alt='xxxxxxxxx' # passphrase='yyyyyyyyyy' # saltphrase='xxxxxxxxx:yyyyyyyyyy' # encryptedString='zzzzzzzzzzzzzzzzzzzzzzzzz'
設定⽅法 5. 暗号化⽤ソルトとパスフレーズ⽣成 27 後で使う 5-1. saltphrase $ ./LAPSforMac/admintools/EncryptString.sh dummy
# alt='ooooooooooo' # passphrase='pppppppppppp' # saltphrase='ooooooooooo:pppppppppppp' # encryptedString='qqqqqqqqqqqqqqqqqqq'
設定⽅法 6. ポリシーの登録 28 コンピュータ > ポリシー > 新規
設定⽅法 6. ポリシーの登録 28 コンピュータ > ポリシー > 新規
設定⽅法 6. ポリシーの登録 28 コンピュータ > ポリシー > 新規
設定⽅法 6. ポリシーの登録 28 コンピュータ > ポリシー > 新規 Jamf
ProのAPIユーザ名 (2-1) Jamf ProのAPIユーザの暗号化済みパスワード (4-2) 端末の管理者アカウント名 端末の管理者アカウントの暗号化済み初期パスワード (4-4) 拡張属性名 (1-1) Jamf ProのAPIユーザパスワードのソルトとパスフレーズ (4-1) 端末の管理者アカウント初期パスワードのソルトとパスフレーズ (4-3) 拡張属性に保存するパスワードの暗号化ソルトとパスフレーズ (5-1)
Q & A 29
THANK YOU