Save 37% off PRO during our Black Friday Sale! »

A Patch Deep Dive

9d350fa2294e1192f8f12b0ebf1a1d8b?s=47 Jamf
October 25, 2018

A Patch Deep Dive

Presentation from JNUC 2018, the world's largest rally of Apple IT administrators.

Session:
A Patch Deep Dive

Presented by:
Duncan McCracken, Mondada Pty Ltd
Luckie Vang, Jamf

View all session slides, recordings and more at https://www.jamf.com/events/jamf-nation-user-conference/2018/.

9d350fa2294e1192f8f12b0ebf1a1d8b?s=128

Jamf

October 25, 2018
Tweet

Transcript

  1. None
  2. © JAMF Software, LLC Duncan McCracken Co-Founder / Technical Director

    Mondada Pty Ltd Luckie Vang Test Engineer Jamf
  3. © JAMF Software, LLC A Patch Deep Dive Presentation agenda:

    About Version Control Jamf Patch History External Patch Endpoints Connecting to an External Source External Patch Source Projects
  4. © JAMF Software, LLC A Patch Deep Dive Presentation agenda:

    Structure of a Patch Definition Creating Patch Definitions Pre-supplied Patch Definitions
  5. © JAMF Software, LLC About Version Control Not as simple

    as it seems on the surface
  6. © JAMF Software, LLC About Version Control • Where is

    the information stored? Not as simple as it seems on the surface
  7. © JAMF Software, LLC About Version Control • Default Location


    <App Bundle>.app/Contents/Info.plist • Default Key
 CFBundleShortVersionString Where is the information stored?
  8. © JAMF Software, LLC About Version Control • Except for

    when it isn’t • In the Context of Jamf: Extension Attribute Where is the information stored?
  9. © JAMF Software, LLC About Version Control • Where is

    the information stored? • Standards in version strings Not as simple as it seems on the surface
  10. © JAMF Software, LLC About Version Control • What does

    a version string look like? Standards in version strings
  11. © JAMF Software, LLC About Version Control • What does

    should a version string look like? • Major . Minor . Build [ . Revision ] Standards (or lack of) in version strings
  12. © JAMF Software, LLC About Version Control • Lack of

    standards in version strings • Where the information is stored • Comparison vs Lookup Not as simple as it seems on the surface
  13. © JAMF Software, LLC About Version Control • Comparison gives

    a Relative State Comparison vs Lookup
  14. © JAMF Software, LLC About Version Control • Comparison gives

    a Relative State • Comparison requires consistency Comparison vs Lookup
  15. © JAMF Software, LLC About Version Control • Comparison gives

    a Relative State • Comparison requires consistency • Comparison works most of the time Comparison vs Lookup
  16. © JAMF Software, LLC About Version Control • Lookup doesn't

    care about consistency Comparison vs Lookup
  17. © JAMF Software, LLC About Version Control • Lookup doesn't

    care about consistency • Lookup is reactive Comparison vs Lookup
  18. © JAMF Software, LLC About Version Control • Lookup doesn't

    care about consistency • Lookup is reactive • Lookup works all the time Comparison vs Lookup
  19. © JAMF Software, LLC Jamf Patch History • Patch Reporting

    in Jamf Pro 9.96 The Road So Far…
  20. © JAMF Software, LLC Jamf Patch History • Patch Reporting

    in Jamf Pro 9.96 • Patch Management in Jamf Pro 10.0 The Road So Far…
  21. © JAMF Software, LLC Jamf Patch History • Patch Reporting

    in Jamf Pro 9.96 • Patch Management in Jamf Pro 10.0 • External Patch Sources in Jamf Pro 10.2 The Road So Far…
  22. © JAMF Software, LLC External Patch Endpoints https://www.jamf.com/jamf-nation/articles/497

  23. © JAMF Software, LLC External Patch Endpoints • API -

    API communication https://www.jamf.com/jamf-nation/articles/497
  24. © JAMF Software, LLC External Patch Endpoints • API -

    API communication • /software https://www.jamf.com/jamf-nation/articles/497
  25. © JAMF Software, LLC

  26. © JAMF Software, LLC External Patch Endpoints • API -

    API communication • /software • /software/{ids} https://www.jamf.com/jamf-nation/articles/497
  27. © JAMF Software, LLC

  28. © JAMF Software, LLC External Patch Endpoints • API -

    API communication • /software • /software/{ids} • /patch/{id} https://www.jamf.com/jamf-nation/articles/497
  29. © JAMF Software, LLC

  30. © JAMF Software, LLC

  31. © JAMF Software, LLC Connecting to an External Source •

    The Java Keystore must trust the SSL Cert Things to Remember
  32. © JAMF Software, LLC Connecting to an External Source •

    The Java Keystore must trust the SSL Cert • The Endpoint must have at least one definition Things to Remember
  33. © JAMF Software, LLC Connecting to an External Source •

    The Java Keystore must trust the SSL Cert • The Endpoint must have at least one definition • Patch Definitions for 3rd-party sources can't be code-signed Things to Remember
  34. © JAMF Software, LLC External Patch Source Projects • Patch

    Server for Jamf Pro
 https://patchserver.readthedocs.io/en/latest/ Take a Look at These
  35. © JAMF Software, LLC

  36. © JAMF Software, LLC External Patch Source Projects • Patch

    Server for Jamf Pro
 https://patchserver.readthedocs.io/en/latest/ • Kinobi Open Source
 https://kinobi.io/ Take a Look at These
  37. © JAMF Software, LLC

  38. © JAMF Software, LLC Structure of a Patch Definition •

    Jamf Pro External Patch Source Endpoints
 https://www.jamf.com/jamf-nation/articles/497 References
  39. © JAMF Software, LLC Structure of a Patch Definition •

    Kinobi: Understanding Patch Definitions
 https://github.com/mondada/kinobi/wiki/ Understanding-Patch-Definitions References
  40. © JAMF Software, LLC

  41. © JAMF Software, LLC Structure of a Patch Definition •

    Corresponds to the Jamf Pro Database Patch Data Structure
  42. © JAMF Software, LLC Structure of a Patch Definition •

    Corresponds to the Jamf Pro Database • Modular and extensible Patch Data Structure
  43. © JAMF Software, LLC Structure of a Patch Definition •

    Corresponds to the Jamf Pro Database • Modular and extensible • Not everything is used Patch Data Structure
  44. © JAMF Software, LLC Structure of a Patch Definition •

    Corresponds to the Jamf Pro Database • Modular and extensible • Not everything is used • Some duplication of information Patch Data Structure
  45. © JAMF Software, LLC Structure of a Patch Definition •

    Software Title • patch • components • extensionAttributes Object Types
  46. © JAMF Software, LLC Structure of a Patch Definition •

    killApps • criteria (used for multiple things) Object Types
  47. © JAMF Software, LLC Structure of a Patch Definition •

    name • publisher • appName • bundleId Software Title
  48. © JAMF Software, LLC Structure of a Patch Definition •

    lastModified • currentVersion • id Software Title
  49. © JAMF Software, LLC Structure of a Patch Definition •

    requirements • patches • extensionAttributes Software Title
  50. © JAMF Software, LLC Structure of a Patch Definition •

    version • releaseDate • standalone • minimumOperatingSystem patch
  51. © JAMF Software, LLC Structure of a Patch Definition •

    reboot patch
  52. © JAMF Software, LLC Structure of a Patch Definition •

    killApps • components • capabilities • dependencies patch
  53. © JAMF Software, LLC Structure of a Patch Definition •

    name • version components
  54. © JAMF Software, LLC Structure of a Patch Definition •

    criteria components
  55. © JAMF Software, LLC Structure of a Patch Definition •

    key • value • displayName extensionAttributes
  56. © JAMF Software, LLC Structure of a Patch Definition •

    bundleId • appName killApps
  57. © JAMF Software, LLC Structure of a Patch Definition •

    name • operator • value • type Criteria
  58. © JAMF Software, LLC Structure of a Patch Definition •

    name • operator • value • type Criteria • and
  59. © JAMF Software, LLC Creating Patch Definitions Hand-cutting the JSON

  60. © JAMF Software, LLC Creating Patch Definitions Kinobi Editor

  61. © JAMF Software, LLC

  62. © JAMF Software, LLC

  63. © JAMF Software, LLC

  64. © JAMF Software, LLC

  65. © JAMF Software, LLC

  66. © JAMF Software, LLC

  67. © JAMF Software, LLC

  68. © JAMF Software, LLC

  69. © JAMF Software, LLC

  70. © JAMF Software, LLC

  71. © JAMF Software, LLC

  72. © JAMF Software, LLC

  73. © JAMF Software, LLC

  74. © JAMF Software, LLC

  75. © JAMF Software, LLC

  76. © JAMF Software, LLC

  77. © JAMF Software, LLC

  78. © JAMF Software, LLC

  79. © JAMF Software, LLC

  80. © JAMF Software, LLC

  81. © JAMF Software, LLC

  82. © JAMF Software, LLC

  83. © JAMF Software, LLC

  84. © JAMF Software, LLC

  85. © JAMF Software, LLC

  86. © JAMF Software, LLC

  87. © JAMF Software, LLC

  88. © JAMF Software, LLC

  89. © JAMF Software, LLC

  90. © JAMF Software, LLC

  91. © JAMF Software, LLC

  92. © JAMF Software, LLC

  93. © JAMF Software, LLC

  94. © JAMF Software, LLC

  95. © JAMF Software, LLC

  96. © JAMF Software, LLC

  97. © JAMF Software, LLC

  98. © JAMF Software, LLC

  99. © JAMF Software, LLC

  100. © JAMF Software, LLC

  101. © JAMF Software, LLC

  102. © JAMF Software, LLC

  103. © JAMF Software, LLC Creating Patch Definitions • Validate Extension

    Attributes Pro Tips
  104. © JAMF Software, LLC Creating Patch Definitions • Validate Extension

    Attributes • Use Advanced Searches in Jamf Pro Pro Tips
  105. © JAMF Software, LLC Creating Patch Definitions • Validate Extension

    Attributes • Use Advanced Searches in Jamf Pro • Smart Groups without parenthesis Pro Tips
  106. © JAMF Software, LLC Pre-supplied Patch Definitions • Community Patch


    https://communitypatch.readthedocs.io/ If [insert annoying part] all seems too much…
  107. © JAMF Software, LLC Pre-supplied Patch Definitions • Community Patch


    https://communitypatch.readthedocs.io/ • Kinobi Subscription
 https://kinobi.io/kinobi/ If [insert annoying part] all seems too much…
  108. © JAMF Software, LLC One More Thing… NetSUS 5.0

  109. © JAMF Software, LLC NetSUS 5.0 • Improved UI •

    Enable / Disable Services • Additional System Management • Better Sanity Checking New Features
  110. © JAMF Software, LLC NetSUS 5.0 • File Sharing •

    Multiple NBIs • SUS Catalog Selection • And many more New Features
  111. © JAMF Software, LL THANK YOU!