This is a command-line tool to take the FedRAMP System Security Plan template and fill it with OpenControls data.
Requires Go 1.6+.
-
Install the templater:
For Ubuntu/Debian:
sudo apt-get install libxml2-dev go get github.com/opencontrol/fedramp-templater
For OsX (assuming you have HomeBrew installed)
brew install libxml2 brew install pkg-config mkdir -p /usr/local/lib/pkgconfig sudo ln -s /usr/local/Cellar/libxml2/2.9.4_2/lib/pkgconfig/libxml-2.0.pc /usr/local/lib/pkgconfig/libxml-2.0.pc go get github.com/moovweb/gokogiri
At the time of documenting these steps, the version of libxml2 installed is 2.9.4_2.
It may different when you are performing these steps. If it is you will need to look inside of /usr/local/Cellar/libxml2 and see what version is installed and then modify the symbolic link command based on the version you have installed.
-
Also make sure that your go environment variables are configured to build the FedRAMP package.
For OsX add the following to your .bash_profile (assuming you are using bash)
export GOPATH="$HOME/go" export GOBIN=$GOPATH/bin export PATH=$PATH:$GOBIN
Note that installation issues are usually caused by the install of Gokogiri, and if you run into issues you may find some help at this issue and with the update to the GokoGiri README
-
Follow the Compliance Masonry instructions to:
- Install Compliance Masonry
- Create an OpenControl project
- Collect the OpenControl dependencies
-
Please use the FedRAMP-System-Security-Plan-Template-v2.1.docx uploaded here in the repo, that has the bugs fixed, for fedramp-templater to work. (Original Document v2.1.)
-
Run
# To Fill the SSP. fedramp-templater fill <openControlsDir> <inputDoc> <outputDoc> # i.e. fedramp-templater fill opencontrols/ FedRAMP-System-Security-Plan-Template-v2.1.docx FedRAMP-Masonry-Template-v2.1.docx # To diff the SSP with the YAML fedramp-templater diff <openControlsDir> <inputDoc> fedramp-templater diff opencontrols/ FedRAMP-System-Security-Plan-Template-v2.1.docx
The output document will be the same as the input one, albeit filled in with the data from your OpenControls files.
**NOTE: Please use the FedRAMP-System-Security-Plan-Template-v2.1.docx uploaded here that has the bugs fixed for fedramp-templater to work.