It shouldn’t be a new topic to secure your data while sending it across public lines like the internet. This usually happens using server certificates, which are made once and never touched again – if self signed. In my case I wanted to do it better and got me a certificate from CACert.org. At least it is a good exercise to do before changing to a big and expensive one.
The procedure itself isn’t something new – the only difference is that you don’t sign the certificate yourself. We start (as usual) with a certificate request:
openssl req -nodes -new -keyout server.key -out server.csr
This request – filed so server.csr is now passed on to CACert, who now generates and signs the certificate for us. Using it on our server isn’t a big deal as long as our clients got the root certificate to validate it. If they don’t, it is very easy to get it:
wget -nv https://www.cacert.org/certs/root.crt -O /etc/ssl/certs/CAcert.org_Root_Certificate.pem
The rest is pretty straight forward. Here is an example for doing it with postfix:
# TLS PART START
smtp_tls_CAfile = /etc/postfix/tls/root.crt
smtp_tls_cert_file = /etc/postfix/tls/server.pem
smtp_tls_key_file = /etc/postfix/tls/key.pem
smtp_tls_session_cache_database = btree:$data_directory/smtp_tls_session_cache
smtp_use_tls = yessmtpd_tls_CAfile = /etc/postfix/tls/root.crt
smtpd_tls_cert_file = /etc/postfix/tls/server.pem
smtpd_tls_key_file = /etc/postfix/tls/key.pem
smtpd_tls_session_cache_database = btree:$data_directory/smtpd_tls_session_cache
smtpd_use_tls = yessmtpd_tls_received_header = yes
smtpd_tls_ask_ccert = yes
smtpd_tls_loglevel = 1tls_random_source = dev:/dev/urandom
# TLS PART END
After doing a reload, we can proceed to the test which has been passed by my system already. As anything is set up and shouldn’t need to be changed until a new certificate comes in, I’m done and so I sit there saying ’safe paths‘ to my files passing by.
Toei Rei says:
Uhm…. was bringt dir der Stunt mit den Zertifikaten? Ich meine – was macht CaCert besser als selbst signiert, da sie ja deine ID doch nicht so wirklich bestätigen bzw auch nicht offiziell im Browser enthalten sind?
Stargazer says:
Ganz einfach: Ich habe zumindest den Hauch einer Chance, wenn etwas schief geht mein Zertifikat als ungültig zu erklären. Mit anderen Worten – es zu revoken.
Ist zwar nicht viel, aber aus sicherheitstechnischer Sicht durchaus viel mehr als man erwarten kann, da das CA-Root bei vielen Linux Distributionen mitgeliefert wird.
Toei Rei says:
Du hoffst drauf, dass CACert bald offiziell in den Browsern als Root-CA enthalten ist?
Stargazer says:
Da ich nur wenige Dinge via SSL anbiete und die Leute mich persönlich kennen sollte es kein Problem sein, denen ein CACert Root-CA Zertifikat nachzuinstallieren. Was die Aufnahme betrifft bin ich eher skeptisch
Toei Rei says:
CAcert ist seit etwa 2005(?) dran da eine Aufnahme hinzubiegen. Ich weiss nicht, ob wir das noch erleben. Was ich übersehen habe ist, dass viele Linux-Distributionen die CA schon standardmässig dabei haben und man dadurch zumindest am Geek-Sektor einen gewissen Schutz bieten kann…