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
Local Administrator Password Solution for macOS...
Search
kenchan0130
September 06, 2019
Technology
0
1.2k
Local Administrator Password Solution for macOS with Jamf Pro / コーポレートエンジニア・カジュアルトーク #2 実例LT
コーポレートエンジニア・カジュアルトーク #2 実例LT (
https://corp.connpass.com/event/143310/
) で発表した資料です。
kenchan0130
September 06, 2019
Tweet
Share
More Decks by kenchan0130
See All by kenchan0130
組織デバイスのための効率的なアプリケーション更新戦略
kenchan0130
0
610
パスワードに関する最近の動向
kenchan0130
1
570
運用していくアプリケーション開発のヒント
kenchan0130
0
340
FOLIO のこれまでの情報セキュリティへの取り組みについて / Scramble! #2 Security
kenchan0130
1
1.4k
運用を続けていくための Scala の書き方 / scala.rookies#1
kenchan0130
3
1.2k
イノベーションを止めずに、端末管理と運用を行う方法 / builderscon tokyo 2018
kenchan0130
14
5.3k
イノベーションを止めずに、端末管理と運用を行う方法 発表ノート付き/ builderscon tokyo 2018
kenchan0130
1
590
教育・企業におけるデバイス管理について
kenchan0130
2
1.4k
教育・企業におけるデバイス管理について 発表ノート付き
kenchan0130
0
540
Other Decks in Technology
See All in Technology
ユーザーストーリーマッピングから始めるアジャイルチームと並走するQA / Starting QA with User Story Mapping
katawara
0
210
RECRUIT TECH CONFERENCE 2025 プレイベント【高橋】
recruitengineers
PRO
0
160
Goで作って学ぶWebSocket
ryuichi1208
1
1.2k
Building Products in the LLM Era
ymatsuwitter
10
5.5k
組織貢献をするフリーランスエンジニアという生き方
n_takehata
1
1.3k
Developers Summit 2025 浅野卓也(13-B-7 LegalOn Technologies)
legalontechnologies
PRO
0
730
Swiftの “private” を テストする / Testing Swift "private"
yutailang0119
0
130
ビジネスモデリング道場 目的と背景
masuda220
PRO
9
530
Raycast AI APIを使ってちょっと便利な拡張機能を作ってみた / created-a-handy-extension-using-the-raycast-ai-api
kawamataryo
0
100
Developer Summit 2025 [14-D-1] Yuki Hattori
yuhattor
19
6.2k
Cloud Spanner 導入で実現した快適な開発と運用について
colopl
1
690
プロダクトエンジニア構想を立ち上げ、プロダクト志向な組織への成長を続けている話 / grow into a product-oriented organization
hiro_torii
1
210
Featured
See All Featured
RailsConf 2023
tenderlove
29
1k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Scaling GitHub
holman
459
140k
Code Review Best Practice
trishagee
67
18k
GraphQLとの向き合い方2022年版
quramy
44
13k
Automating Front-end Workflow
addyosmani
1368
200k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.6k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Become a Pro
speakerdeck
PRO
26
5.1k
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