NIST security controls are often the most rigorous and attested cybersecurity requirements for any organization to implement. NIST controls, specifically 800-53, are recognized as the framework for companies wanting to implement requirements that need cybersecurity compliance for the federal government information systems and processing for both cloud and on-premises systems. NIST 800-53 consists of between ~100-400 controls requirements across 17 different control families depending on the FISMA rating (high, moderate, or low) of that system. For companies wanting to implement NIST security controls, specifically the technical controls including AC/AU/IA/SC as well other operational controls such as SA/SI, the process of hardening and implementing the control requirements can be a time consuming and technically challenging process. If companies are not familiar with the technical inner workings and requirements of these controls, they may face significant findings which can generate numerous POAMs that would require remediation. Worst still is the potential for a company, if given enough control deficiencies, potentially not being granted an ATO (authority to operate).
Mac OS, especially, if they were to be included as a part of a FISMA boundary require special know how and intricate knowledge that other OS’s and technical personnel may not possess. NIST has introduced a Mac OS Security compliance tool to address these compliance requirements for organizations. The Mac OS Security Compliance Project was recently released that allows organizations to automate security compliance hardening and guidelines for Mac OS.
By downloading the tool from GitHub and running it against your Mac OS baseline configuration, the tool will perform an assessment of the overall compliance level for NIST 800-53 against your present configuration. When run against your baseline configuration, the tool will output the compliance configuration of the various components used within the configuration against the various controls contained within 800-53.
The tool is configurable to be run against against low, medium, and high FISMA ratings of 800-53 to be tailored to your organization’s threshold requirements. Run the tool following these simple steps.
Installation
git clone https://github.com/usnistgov/macos_security.git
pip3 install -r requirements.txtCreate an AsciiDoc (Guide)
To create an asciidoc guide, run the create_guide.py script. The first argument given must be the baseline desired to create the asciidoc guide.
python3 create_guide.py -h
usage: create_guide.py [-h] [-o OUTPUT] baseline
Given a baseline, create an AsciiDoc guide.
positional arguments:
baseline Baseline YAML file used to create the guide.
optional arguments:
-h, --help show this help message and exit
-o OUTPUT, --output OUTPUTExample:
python3 create_guide.py ../baselines/moderate.yaml -o ../build/MyBaselineGuide.adocUse Script Generator
The script_generator.py script will generate a compliance script that can perform reporting, scanning and remediation base on the YAML rules provided in the baseline. The script will be placed in the build directory that and named after the baseline specified, i.e. moderate_compliance.sh.
python3 script_generator.py -h
usage: script_generator.py [-h] baseline
Given a baseline, create a compliance script.
positional arguments:
baseline Baseline YAML file used to create the guide.
optional arguments:
-h, --help show this help message and exitExample:
python3 script_generator.py ../baselines/moderate.yamlGenerate Management Profiles
The profile_generator.py script will generate mobileconfig files for all YAML rules in the baseline that can be enforced by a configuration profile.
python3 profile_generator.py -h
usage: profile_generator.py [-h] baseline
Given a baseline, create mobileconfig files for that baseline.
positional arguments:
baseline Baseline YAML file used to create the guide.
optional arguments:
-h, --help show this help message and exitExample:
python3 profile_generator.py ../baselines/moderate.yamlExport to Microsoft Excel
The yaml-to-xls.py script will generate a Microsoft Excel spreadsheet as another form of documentation.
If run with the -o option, the script will create a guide in a custom location. Otherwise, it will default to output the guide.xls in the build directory.
python3 yaml-to-xls.py -h
usage: yaml-to-xls.py [-h] [-o OUTPUT] baseline
Given a baseline, create an Excel Spreadsheet for documentation.
positional arguments:
baseline Baseline YAML file used to create the guide.
optional arguments:
-h, --help show this help message and exit
-o OUTPUT, --output OUTPUTExample:
python3 yaml-to-xls.py ../baselines/moderate.yaml -o ../build/MySheet.xlsBaseline
This will identify the control on a particular baseline. Currently, it identifies low, moderate, and high baselines for FISMA, using the 800-53_baselines.yaml, found in the includes directory.
It currently has no options to pass.
Example:
python3 baseline_identify.pyOnce the tool is run, it will generate a greppable output format that lists your compliance level with the associated finding. The findings for each output requirement also map to the DISA STIG and CCI/CCE for DOD specific systems and requirements. Once the output is generated, it can be used by your compliance and security personnel to go through and determine what gaps exist in your baseline Mac OS configuration.
For even greater compliance and continuous monitoring purposes, the tool can be scripted to be automatically run at pre-defined thresholds with your preferred tool such as cron or automater whenever new builds of your Mac OS configuration changes or need to be updated. Even if your organization does not require the robust requirements for NIST 800-53, it can be used to increase your cybersecurity resiliency and determine gaps in your compliance posture. NIST 800-53 controls map to several other cybersecurity frameworks which do not have this level of automation such as Soc 2 Type 2, CSF, or NIST 800-171 which can be applied if needed.
So go ahead and download the tool to determine your compliance posture for your Mac OS configuration today!
AI Usage Transparency Report
Pre-AI Era · Written before widespread use of generative AI tools
AI Signal Composition
Score: 0.04 · Low AI Influence
Summary
The NIST security controls are a set of rigorous and attested cybersecurity requirements for organizations to implement.
Related Posts
Leaving Flickr: Migrating 20,000+ Photos to Synology and Taking Back Control
There’s a certain kind of friction you start to notice when you’ve been using a service for a long time. Not enough to make you leave immediately, but enough to make you pause. Flickr had been that kind of service for me. It quietly held years of photos, uploads from old phones, albums I hadn’t looked at in ages, and a massive "Auto Upload" collection that had grown into something I didn’t fully understand anymore.
How I Finally Passed the PMP Exam (After 12 Years of Waiting)
Back in 2013, I registered for a PMI membership with every intention of pursuing my PMP certification. I downloaded the handbook, bookmarked the eligibility requirements, and even told a few friends that I was going to do it "soon." At the time, I thought getting certified would be a straightforward process, but little did I know what lay ahead in terms of studying and preparation.
10 Things You Didn't Know You Could Do With Apple Configurator (That Save Mac Admins Hours)
Most of us treat Apple Configurator like a fire extinguisher: break glass, DFU, restore, move on. But it can do a lot more, and when you know the edges, you can turn a bricked morning into a ship-it afternoon. Below are ten things I regularly use (or wish I’d used sooner) that demonstrate its capabilities beyond just emergency recovery.
The Evolution of Apple Certification: A Journey Through Versions, Challenges & Growth
When I recently passed the Apple Certified Support Professional (ACSP) exam again, I paused to reflect — not just on this milestone, but on the long path I’ve walked through Apple’s certification landscape. My first certification dates back to macOS 10.5, and over the years, I’ve earned credentials across nearly every version since. In that time, the exams — and Apple itself — have transformed significantly.
Secure Software, Secure Career: How I Passed the CSSLP
After passing the CISSP earlier this year, I decided to follow it up with the **Certified Secure Software Lifecycle Professional (CSSLP)** certification. For those unfamiliar, CSSLP is an ISC2 certification that focuses specifically on secure software development practices across the full SDLC—from requirements and design to coding, testing, deployment, and maintenance. My goal in pursuing this certification was to further develop my skills in ensuring the security of software throughout its entire lifecycle.
Managing Bring Your Own Device (BYOD) for Android with Microsoft Intune
Alright, so today we're going to be talking about the management of bring your own device BYOD for Android devices. There's a lot of information out there for the management of iOS devices and you can do that with pretty much any Apple MDM on the market. We just happen to use Jamf where I work, but you could use anything from Braavos to SimpleMDM to Kanji or JumpCloud. Mosyle is also a great option.
BYO with me in 2025: iOS with User Enrollment in JAMF Pro
It really depends on your company's needs. For example, many companies need to hire 1099 contractors and in such a case they come with their own devices but not the correct security settings or enforcements. Remember BYOD is a security construct. The idea here is that you should be securing the company's sensitive data in all forms. This may involve implementing policies for contractor-owned devices, ensuring that all devices accessing company data meet minimum security standards, and regularly reviewing and updating these standards to stay ahead of emerging threats.
Securing BYOD Email Access: Exploring Strategies in Microsoft 365
In today’s mobile-first world, organizations increasingly rely on Bring Your Own Device (BYOD) programs to empower employees while optimizing costs. However, this flexibility introduces unique challenges, particularly around securing email access. To mitigate risks, we are implementing a comprehensive strategy to block email access on non-company devices by default and ensure only sanctioned apps can access organizational email accounts. This approach will help prevent unauthorized access and data breaches, aligning with our commitment to maintaining the security and integrity of company communications.
How I Conquered the CISSP Exam: 9 Months, Top Resources, and Proven Strategies
Passing the CISSP (Certified Information Systems Security Professional) exam is no small feat. It’s known for its breadth, depth, and ability to test not just your knowledge but your practical understanding of cybersecurity. After nine months of intense preparation, I’m thrilled to say I’ve joined the ranks of CISSP-certified professionals! Here's a detailed account of my experience, including the resources I used, some tips that helped me along the way, and what I learned from the process itself.
Get more out of scripting than you may expect
Expect is an extension to the Tcl scripting language written by Don Libes. The program automates interactions with programs that expose a text terminal interface. Expect, originally written in 1990 for the Unix platform, has since become available for Microsoft Windows and other systems. Its functionality allows users to interact with these programs through scripted commands, eliminating the need for manual input.