Skip to content

How to Generate Baselines

Generating a baseline creates the YAML file that defines which security rules apply to your environment. This file is required before you can generate guidance documents, configuration profiles, or compliance scripts.


  1. List available baselines

    Terminal window
    ./scripts/generate_baseline.py -l
  2. Generate your baseline

    Terminal window
    ./scripts/generate_baseline.py -k BASELINE_NAME

    Example:

    Terminal window
    ./scripts/generate_baseline.py -k 800-53r5_moderate
  3. Find your file

    The baseline is saved to:

    build/baselines/BASELINE_NAME.yaml

Add the -t flag to customize the baseline for your organization:

Terminal window
./scripts/generate_baseline.py -k 800-53r5_moderate -t

This starts an interactive process where you can:

  • Include or exclude specific rules
  • Set organization-specific values (like password length or timeout periods)

Custom values are saved to custom/rules/ for reuse.


FlagDescription
-hShow help message
-lList all available baselines
-k NAMEGenerate baseline for the specified framework
-tEnable interactive tailoring
-cShow NIST 800-53 controls covered by the baseline

  • Directorymacos_security/
    • Directorybuild/
      • Directorybaselines/
        • BASELINE_NAME.yaml - The generated baseline file
    • Directorycustom/
      • Directoryrules/
        • *.yaml - Custom values (if you used -t)