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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
kenchan0130
September 06, 2019
Technology
1.4k
0
Share
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
870
パスワードに関する最近の動向
kenchan0130
1
640
運用していくアプリケーション開発のヒント
kenchan0130
0
400
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
640
教育・企業におけるデバイス管理について
kenchan0130
2
1.6k
教育・企業におけるデバイス管理について 発表ノート付き
kenchan0130
0
600
Other Decks in Technology
See All in Technology
AI時代 に増える データ活用先
takahal
0
230
[OAWTT26][THR1028] Oracle AI Database 26ai へのアップグレード:ベストプラクティスと最新情報
oracle4engineer
PRO
1
100
20260423_執筆の工夫と裏側 技術書の企画から刊行まで / From the planning to the publication of technical book
nash_efp
3
390
扱える不確実性を増やしていく - スタートアップEMが考える「任せ方」
kadoppe
0
300
AI駆動1on1〜AIに自分を育ててもらう〜
yoshiakiyasuda
0
120
ぼくがかんがえたさいきょうのあうとぷっと
yama3133
0
190
ハーネスエンジニアリングをやりすぎた話 ~そのハーネスは解体された~
gotalab555
4
1.7k
実践ハーネスエンジニアリング:TAKTで実現するAIエージェント制御 / Practical Harness Engineering: AI Agent Control Enabled by TAKT
nrslib
10
4.5k
[最強DB講義]推薦システム | 基礎編
recsyslab
PRO
1
170
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
74k
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
16k
M5Stack CoreS3とZephyr(RTOS)で Edge AIっぽいことしてみた
iotengineer22
0
150
Featured
See All Featured
Google's AI Overviews - The New Search
badams
0
970
Why Our Code Smells
bkeepers
PRO
340
58k
We Have a Design System, Now What?
morganepeng
55
8.1k
Exploring anti-patterns in Rails
aemeredith
3
320
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.2k
Six Lessons from altMBA
skipperchong
29
4.2k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
Amusing Abliteration
ianozsvald
1
150
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
270
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
170
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.5k
Color Theory Basics | Prateek | Gurzu
gurzu
0
290
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