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
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
890
パスワードに関する最近の動向
kenchan0130
1
640
運用していくアプリケーション開発のヒント
kenchan0130
0
410
FOLIO のこれまでの情報セキュリティへの取り組みについて / Scramble! #2 Security
kenchan0130
1
1.5k
運用を続けていくための Scala の書き方 / scala.rookies#1
kenchan0130
3
1.3k
イノベーションを止めずに、端末管理と運用を行う方法 / builderscon tokyo 2018
kenchan0130
14
5.7k
イノベーションを止めずに、端末管理と運用を行う方法 発表ノート付き/ builderscon tokyo 2018
kenchan0130
1
650
教育・企業におけるデバイス管理について
kenchan0130
2
1.6k
教育・企業におけるデバイス管理について 発表ノート付き
kenchan0130
0
610
Other Decks in Technology
See All in Technology
Agile and AI Redmine Japan 2026
hiranabe
3
330
Bucharest Tech Week 2026 - Guardians of the Cloud-Native Galaxy
edeandrea
PRO
0
120
20260619 私の日常業務での生成 AI 活用
masaruogura
1
230
AIネイティブな開発のサプライチェーンリスク対策 〜激動の開発現場でリスクに立ち向かう〜【ZennFes】
cscengineer
PRO
2
140
コミュニティの有益性 ~JAWS Days 2026 での体験を通して~ / The Benefits of a Community ~Through My Experience at JAWS Days 2026~
seike460
PRO
0
190
IaC コードを資産へ:AWS CDK 社内ライブラリと横断展開 / aws-summit-japan-2026
gotok365
5
1.2k
自分が詳しくない領域でAIを使う #プロヒス2026
konifar
15
5.5k
不要なレビューをAIにまかせて AIコーディングの環境改善を加速した
shoota
1
230
OTel × Datadog で 「AI活用」を計測し、改善に繋げる
shihochan
2
440
2026TECHFRESH畢業分享會 - Lightning Talk - E起 See See : 電商推薦讀心術? 數據說了算
line_developers_tw
PRO
0
1.3k
【Cyber-sec+】経営層を"動かす"ための考え方
hssh2_bin
0
200
データサイエンスを価値につなげるプロジェクト設計 〜 DS一年目が現場で得た気づき 〜
ysd113
1
280
Featured
See All Featured
KATA
mclloyd
PRO
35
15k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
580
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.4k
How to build a perfect <img>
jonoalderson
1
5.7k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
240
ラッコキーワード サービス紹介資料
rakko
1
3.7M
Thoughts on Productivity
jonyablonski
76
5.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Design in an AI World
tapps
1
250
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
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