For educational reasons I've decided to create my own CA. Here is what I learned.
Lets get some context first.
| #! /usr/bin/python | |
| """ | |
| This simple script makes it easy to create server certificates | |
| that are signed by your own Certificate Authority. | |
| Mostly, this script just automates the workflow explained | |
| in http://www.tc.umn.edu/~brams006/selfsign.html. | |
| Before using this script, you'll need to create a private |
| import base64 | |
| import json | |
| import requests | |
| import six | |
| import time | |
| import uuid | |
| DEFAULT_TIMEOUT = 30 | |
| LOCK_PREFIX = '/locks/' |
Currently, there is an explosion of tools that aim to manage secrets for automated, cloud native infrastructure management. Daniel Somerfield did some work classifying the various approaches, but (as far as I know) no one has made a recent effort to summarize the various tools.
This is an attempt to give a quick overview of what can be found out there. The list is alphabetical. There will be tools that are missing, and some of the facts might be wrong--I welcome your corrections. For the purpose, I can be reached via @maxvt on Twitter, or just leave me a comment here.
There is a companion feature matrix of various tools. Comments are welcome in the same manner.
| #!/bin/bash | |
| # Justin Miller 08/04/16 | |
| # Setup auditd | |
| # command example: | |
| # aureport --tty | |
| # | |
| # to view root commands: | |
| # ausearch -ue 0 | |
| # to view user commands: | |
| # ausearch -ua <userid> |
| #!/bin/bash | |
| fqdn=sso-demo.test.ibmcloud.com | |
| user=ibmcloud | |
| # Install the OpenID Connect apache module | |
| # not necessary, but will resolve any config errors when installing the module | |
| sudo apt-get install libjansson4 libhiredis0.10 libcurl3 -y | |
| sudo apt-get install -f -y | |
| # TODO: figure out why v1.8.4 and 1.8.5 won't install |
| #!/bin/bash | |
| # OpenVPN configuration Directory | |
| OPENVPN_CFG_DIR=/etc/openvpn | |
| # Directory where EasyRSA outputs the client keys and certificates | |
| KEY_DIR=/etc/openvpn/easy-rsa/keys | |
| # Where this script should create the OpenVPN client config files | |
| OUTPUT_DIR=/etc/openvpn/client-config |
| #!/bin/bash | |
| export TKN=$(curl -X POST 'http://localhost:8080/auth/realms/master/protocol/openid-connect/token' \ | |
| -H "Content-Type: application/x-www-form-urlencoded" \ | |
| -d "username=admin" \ | |
| -d 'password=admin' \ | |
| -d 'grant_type=password' \ | |
| -d 'client_id=admin-cli' | jq -r '.access_token') | |
| curl -X GET 'http://localhost:8080/auth/admin/realms' \ |