this post was submitted on 28 Oct 2023
1 points (100.0% liked)
Homelab
914 readers
2 users here now
Rules
- Be Civil.
- Post about your homelab, discussion of your homelab, questions you may have, or general discussion about transition your skill from the homelab to the workplace.
- No memes or potato images.
- We love detailed homelab builds, especially network diagrams!
- Report any posts that you feel should be brought to our attention.
- Please no shitposting or blogspam.
- No Referral Linking.
- Keep piracy discussion off of this community
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
No, it is not so difficult. But you need a bit of planning.
First of all, you need a way to distribute your ROOT certificate to your clients. That's more a question of automation.
Second, you need to prepare the topology with certain rules. Things like dedicated certificates for people (identity), services (server certificates for dedicated subdomains), machine clients (for mTLS and zero-trust), infrastructure stuff like BMC/IPMI, UPS, routers...
Basically, the rules are:
In case of multiple (dedicated) certificates, you want to make the split at the intermediate/signing level. The chain will help you enforce the rules.
You should decide which algorithm to use (RSA vs. ECC).
Finally, you need a piece of software that will create and sign the certificates for you. This software must authenticate you and check your request if it comforms to the rules above.
I'm using multiple instances of step-ca. Most of the famous certificate management solutions (the service side asking your authority for a certificate, including rekeying/renewal) support it. Which is good. Standard protocols are always better than in-house ~solutions~ workarounds.
To start building your CA:
openssl.conf
, sections, ASN.1step-ca
as a ROOT and you're good to go.You can also incorporate HSM if you have one. Just configure its
pkcs11
module in the OpenSSL and in thestep-ca
.As it is quite a complex topic, feel free to drop additional questions. 👍
Finally! A ~~worth opponent~~ fellow who also cares about having proper OIDs and AIA :)
Thank you, I’m actually currently building my CA. Planning for an offline root. Question, what free or not enterprise prices software options are there? I have entrust at work, looking for something I can use at home.
For my Root I use OpenSSL with the
pkcs11
module to keep the keys on a Yubikey, then I use Step CA as an intermediate/issuing.Planning to use Yubikey for one of my subCAs. Do you know a good writeup on OpenSSL+Yubikeys?
Also, which Yubikey slot do you use for storing the cert/pkey?
Ha! You run the same stack as I do. 🙂
I asked EODdoUbleU on the parent comment here, but could you please reply to that question as well?
Or create a repository on Github, point
ca.yourdomain.com
to Github Pages and publish there. Doing this solves the PKI chicken-and-egg problem for a homelab and doesn't tie up any resources to serve them.HTTP! Not HTTPS! No chicken and egg problem here.
"not so difficult"
Well thanks, I feel like a complete moron, because that's a level of complexity way beyond what I could do/manage.
It's a bunch of terms I don't know about, but I don't think it's very hard after you learn a bit more and understand the reasoning behind the steps.
I'd personally not want to host a personal CA without HA though, so I suppose I'm sticking with EFF for this one