Last year I added in a 'create' mode where it sets up a self signed root CA, and issues certs using that. The other logic (convert, sync, combine) is obviously all the same still.
Ask HN: What's your solution for SSL on internal servers?
71–79 of 79 posts
Re: Ask HN: What's your solution for SSL on internal servers?
#72Earlier quoted context omitted.
It appears to me the issue is browser warning dialogs that imply it is always very dangerous. There should be either more context explained in those dialogs or a recognition of/mode for sites that are supposed to be self signed.
There is a long history to this. The original browser warnings were along the lines of your suggestion. Then it was discovered that regular users just clicked through the warning when an attacker MITM'ed their bank. There followed decades of making the warning ever more scary sounding and ever more difficult to bypass.
Re: Ask HN: What's your solution for SSL on internal servers?
#73Earlier quoted context omitted.
It appears to me the issue is browser warning dialogs that imply it is always very dangerous. There should be either more context explained in those dialogs or a recognition of/mode for sites that are supposed to be self signed.
(Untested idea) I'd suggest creating your own Root CA with an expire-date far in the future. Install it's public key as a trusted certificate and all derived certificates should not prompt any issues anymore
Then I thought, WTF am I doing?. I realized that I was making computers that would circumvent the world's security apparatus. Of course it won't hurt if I make no errors of practice or judgement but, am I really smart enough to handle highly radioactive material.
I ripped it all out. It makes me shudder thinking about it.
Re: Ask HN: What's your solution for SSL on internal servers?
#74Earlier quoted context omitted.
It can be tricky to get self-signed certificates put into all the various places where they need to be. OS level certificate stores, browsers, mobile devices, curl, python/requests, VPN clients, etc. There's always some weird exception case.
Yeah, I think OP probably mostly does web development through the browser, where there’s just one trust store to worry about. As soon as you need some automation involving backend services or even just curl and some scripts, this gets tougher. (And please please don’t use `curl -k` to disable checks… if such scripts accidentally make their way to production, you may as well not use TLS at all.)
A certificate has two main functions: identity of the server and encryption. Not checking the chain leaves you with encryption, which is likely what your need.
A self-signed certificate is as good as any other when it comes to encryption.
Re: Ask HN: What's your solution for SSL on internal servers?
#75Re: Ask HN: What's your solution for SSL on internal servers?
#76DNS alias mode: * https://dan.langille.org/2019/02/01/acme-domain-alias-mode/ * https://github.com/acmesh-official/acme.sh/wiki/DNS-alias-mo... * https://www.eff.org/deeplinks/2018/02/technical-deep-dive-se... You want the name "internal.example.com". In your external DNS you create a CNAME from "_acme-challenge.internal.example.com" and point it to (e.g.) "internal.example. net " or "internal. dns-auth .example.com"…
Re: Ask HN: What's your solution for SSL on internal servers?
#77Earlier quoted context omitted.
Yeah, I think OP probably mostly does web development through the browser, where there’s just one trust store to worry about. As soon as you need some automation involving backend services or even just curl and some scripts, this gets tougher. (And please please don’t use `curl -k` to disable checks… if such scripts accidentally make their way to production, you may as well not use TLS at all.)
About the -k: why? A certificate has two main functions: identity of the server and encryption. Not checking the chain leaves you with encryption, which is likely what your need. A self-signed certificate is as good as any other when it comes to encryption.
Re: Ask HN: What's your solution for SSL on internal servers?
#78Earlier quoted context omitted.
About the -k: why? A certificate has two main functions: identity of the server and encryption. Not checking the chain leaves you with encryption, which is likely what your need. A self-signed certificate is as good as any other when it comes to encryption.
If you're in a situation where encryption matters to you, you're in a situation where the identity of the remote end ought to matter to you as well. If someone's able to snoop the traffic between you and the remote end, it's dangerous to assume they won't also be able to MITM you.
You may trust the CA enough to not check further, but if you want to make sure that the endpoint you are talking with is the one you expect, you should check the identity of the certificate on the server. And it is the same for a self-signed certificate as from a CA-issued one.
Re: Ask HN: What's your solution for SSL on internal servers?
#79Earlier quoted context omitted.
If you're in a situation where encryption matters to you, you're in a situation where the identity of the remote end ought to matter to you as well. If someone's able to snoop the traffic between you and the remote end, it's dangerous to assume they won't also be able to MITM you.
A self-signed certificate provides an identity the same way as a CA-signed one. The only difference is that it is in a CA chain. You may trust the CA enough to not check further, but if you want to make sure that the endpoint you are talking with is the one you expect, you should check the identity of the certificate on the server. And it is the same for a self-signed certificate as from a CA-issued one.
And what you're saying about CA certs has no resemblance to reality. People don't look at certs by matching their public keys exactly to what they expect... they trust certificate authorities to make that determination for them. But again, `curl -k` does neither so I don't think your point applies regardless.