Munki Software Management Tool for Macs, Security Whitepaper

Prepared by Allister Banks, September, 2015

Background This whitepaper explains the function Munki performs, and some current implementation details. With ongoing input from Facebook, Dropbox, and Google, the Munki open source software management tool (created and maintained by Greg Neagle at Walt Disney Animation Studios) streamlines administration and provide customers with benefits that encourage usage. Nothing surpasses it for platform-specific, Mac-native software interaction.

Executive Summary

2

Explanation of Features and Concepts

2

Enforcement and Deployment

3

Conclusion

4 1

Executive Summary Rapid and programmatic installation, update, removal, and assignment of software sets Munki apart from other tools that purport to deliver software to Macs. It comprises of a client app that can enable standard users to perform installs or updates, work around poorly-packaged software like Adobe products, and most everything except Mac App Store software can be maintained through it. This allows customers ‘one-stop-shopping’ and a go-to app instead of each product or vendor bothering them individually. It can set a countdown date to forcibly log a machine off if installation is required, and is built around a model that employs controls to test software in the ‘one-some-many’ model. Uninstallation's can remove unused or licensed software that should be reassigned. Server-side, it just requires a set of folders on any generic web server, and can be secured with per-computer certificates to allow or revoke access granularly.

Explanation of Features and Concepts Munki has a rich ecosystem of tools for all aspects of admin interaction, and it ships with command-line utilities that can automate various tasks. The administrator can remotely make configuration changes, check the flat files that make up those settings into version control, and deploy them in a staged rollout to get feedback as needed. The most fundamental concept to understand are its customer-facing application Managed Software Center, and the files stored server-side, like manifests, Catalogs, and Pkginfo files.



Managed Software Center

As pictured on the cover, the Managed Software Center application provides a software storelike portal to offer optional software and provide self-service uninstalls as well. Pending actions like installs, updates, or removals that are enforced by the administrator would appear on the top-right ‘Updates’ tab, Self-service type interactions are on the first Software tab, and there are options to customize the sidebar links, images to brand it for the organization, and other links like in the footer or Help menu.



Manifests

One way to put it is a manifest is a list of the software-related configurations you’d like to specify for one or many computers, which may not even need to be displayed in Managed Software Center. Instead of going into many of the specifics regarding it, the most important things to know are that this is where you take the inventory of what munki can interact with and specify how it will carry out its designated tasks. It can ‘manage’ the installation, update, or removal of software or configuration profiles, or allow software to be optionally installed.

It needs to include a ‘catalog’, which is how you can specify how ‘bleeding-edge’ a selection of the software is that you’d like to deliver, as we’ll cover in a moment. Manifests have the ability to be

2

specified per-workstation, and then include others, so each individual machine can inherit from a standard set, and the majority of configurations only need to be set in one place. Often people include manifests named for a department or function



Catalogs and Pkginfo Files

There is the risk of instability or undesired behavior when pushing out software as soon as it is released from a vendor. To group software into versioned ‘branches’ or ‘tracks’ that refer to how recently a piece of software was released, catalogs exist to specify how much risk is acceptable for the manifest that will consult it for software. A ‘waterfall’ or ‘cooling-off’ process of releasing the software can be followed by first importing a new release of software into the ‘unstable’ catalog, then ‘promoting’ it to the ‘testing’ catalog after a pre-determined time period, and finally the ‘production’ catalog.

Software is commonly distributed inside of an archive of some kind, to be dragged-and-dropped into the root Applications folder. This requires administrator rights if the software is not from the Mac App Store, which would in turn require an Apple ID. Munki runs as root and can therefore enable standard users to choose the best time for them to run updates, and get updates from many different sources taken care of all at once.

Similar to MSI format on Windows, Macs install files that end in ‘.pkg’. Munki’s ‘Pkginfo’ files track the metadata about a software payload or release, and can be helpful when correcting or otherwise ensuring necessary actions are performed after installation or for an uninstallation. They can also create relationships between software, so that updates are automatically recognized without further specification, and uninstallation likewise can track down related software to remove. This means less taking packages apart & rebuilding them every time a new update comes out.

Enforcement and Deployment

A common concern for administrators is the lack of uptake on critical updates, which Munki can assist with through the use of the Force Install After Date pkginfo key1. After a countdown, users can be forcefully logged out of the computer so that an installation session can proceed. This is used very infrequently, since many updates can be applied via another pkginfo option, ‘unattended install’. While you would think it could cause instability to update software while it is running, Flash has enough issues that it is common to use unattended install instead of constantly interrupting users.

Since Munki runs and checks into a server continuously and uses information about its current state anyway, there are various products that piggy-back on its client runs to send inventory information so you can tell exact install coverage. With that inventory format, folks have even detected outdated firmware versions, as detailed in a post on the AFP548 community blog2.

1

https://github.com/munki/munki/wiki/Pkginfo-Files#force-install-after-date

2

https://www.afp548.com/2015/03/05/thunderstrike-need-to-know/

3



PCI DSS

Having these methods of enforcing a patch and checking its application at the same time, Munki goes hand-in-hand with the PCI-DSS requirement 6.2b to apply critical patches within one to three months of release3.



NIST 800-53

Ensuring users can run with standard privileges and only install reviewed and approved software from a central repository ensures compliance with NIST CM-7, and CM-11 baselines. CM-84 in particular calls out the flexibility of how Munki’s model allows customizations if a small group of hosts need a particular configuration, and CM-10 addresses the major advantage of open source software: you can review the code yourself, and as Munki is Apache licensed there are no issues about patents or copyright-related issues.

As Munki configurations are stored as flat files that can be put into version control, keeping the previous state of a deployment (as per CM-2(3)5) is a part of the workflow that can be rolled back to in case of issues, although disallowing rollbacks is another feature.



Securing Communication with the Munki Service

Following HIPAA As specified in the Administrative Simplification 164.312(a)6, Munki’s inventory runs can be leveraged as an event around which to send collected log data to an analysis endpoint. Commonly the simple web server Munki needs can be configured to only grant access over https with client certificates per-device through the use of a Certificate Authority. This allows revocation of a client that goes missing, denying further access of resources.

Conclusion Munki has the advantage of a rapid yet stable release cycle, which makes its software ready for use months before new OS versions are released, and many workarounds to combat the instability introduced by vendors who don’t understand the Mac platform well. Customers get better notifications, one-stop shopping and application of updates, while admins get secure and optimized management and maintenance experience.

3

https://www.pcisecuritystandards.org/documents/PCI_DSS_v3-1.pdf pg. 53

4

http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-53r4.pdf pg. F-73

5

http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-53r4.pdf pg. F-65

6

http://www.hhs.gov/ocr/privacy/hipaa/administrative/combined/hipaa-simplification-201303.pdf pg. 67

4

Munki Software Management Tool for Macs, Security ... -

customers 'one-stop-shopping' and a go-to app instead of each product or ... 'Updates' tab, Self-service type interactions are on the first Software tab, and there ...

352KB Sizes 10 Downloads 183 Views

Recommend Documents

Munki Software Management Tool for Macs, Security ... -
apart from other tools that purport to deliver software to Macs. It comprises of a client ... App Store, which would in turn require an Apple ID. Munki runs as root ...

software license management tool freeware.pdf
software license management tool freeware.pdf. software license management tool freeware.pdf. Open. Extract. Open with. Sign In. Main menu.

Metrics Tool for Software Development Life Cycle - IJRIT
configuration, Transaction rate, Online data entry, Enduser efficiency, Online update, Complex processing, ..... The cyclomatic complexity (CC) may be computed according to the following formula: CC(G) .... Display Login Successful Message.

Metrics Tool for Software Development Life Cycle - IJRIT
Abstract. Software metrics provides a quantitative measure that enables software people to gain insight into the efficacy of the software projects. These metrics data can then be analyzed and compared to determine and improve the quality of the softw

NN-based software tool for wireless communications ...
from the phone speaker (analog signal) has to be digitalized with an Analog/Digital ... wireless communication system using NN-based models [5] is receiving increasing attention for a ..... Ed Artech House, Boston, 2005. [16] G. Stegmayer ...

Metrics Tool for Software Development Life Cycle - IJRIT
Abstract. Software metrics provides a quantitative measure that enables software people to gain insight into the efficacy of the software projects. These metrics ...

Cisdem AppCrypt for Mac - License for 2 Macs
Our company offers tips and updates found on remarkable products as well as where to purchase ... Apple macOS and Mac OS X Apps - Discover & Download .

PESSOA: A tool for embedded control software synthesis
control systems, the synthesis of controllers enforcing simple specifications, and ...... Pessoa with a Matlab file containing an operational model for the concurrent ...

Metrics Tool for Software Development Life Cycle - IJRIT
users to calculate the various metrics during the life cycle of a project. .... The value for each system characteristic is summed to derive a Total Degree of Influence (TDI); this ... application experience work to a set of less than rigid requireme

CDE: A Tool for Creating Portable Experimental Software ... - Philip Guo
Jun 4, 2012 - The best way to get a sense of how CDE works is through an example. .... age file can be 10 to 100 times larger than a CDE package because it ...

The AVISPA Tool for the Automated Validation of Internet Security ...
A number of (semi-)automated protocol analysis tools have been proposed,. e.g. [1 ... user interface (www.avispa-project.org/software) that supports the editing.

A Framework for Tool-based Software Architecture ...
studies, which offer lessons learned from the analysis of software systems. 2.1. ..... illustration, all of these tools are widely available and the comparisons in Tables 3, 4 and ... in MS-word, PDF, etc. ... A free profiling tool provided by IBM.

SOFTWARE METRICS: An Essential Tool for ...
Metrics also cover the aspect of evaluating the final software product and a lot more. .... For example, the marketing department generally takes a user view.

Pedagogical Pattern Collector software tool
least equal complexity, such as: engineering, medicine, music etc., have successfully overcome this 'shared ... The Pedagogical Design Pattern (PDP) captures the generic description of the pedagogical essence, the ... teaching-‐learning activity st

Software Security for Health Care -- prepared for Hewlett-Packard by ...
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Main menu.

Big Macs & Healthy Teens.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Big Macs ...

Secure Security Software
An OTP can also be used to authenticate over a clear-text channel, such as a .... To see the vulnerability in action, one would need to login using the username ...

A proactive tool for medical information management ...
Download Personal Medical Records: A proactive tool for medical information management including surgery and recovery Full eBook. Books detail.