Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
|
fortgeschrittene:ssl [2018/10/12 00:16] ingo_wichmann [Als root Vorgabewerte setzen] |
fortgeschrittene:ssl [2025/11/14 12:52] (aktuell) |
||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | TODO: Lösung auf Basis von CFSSL, Boulder oder Consul evaluieren (( https://www.heise.de/select/ix/2019/1/1545992707007070 )) | ||
| + | |||
| + | ====== Links ====== | ||
| + | * [[https://crt.sh|Log aller ausgestellten Zertifikate]] | ||
| + | * [[https://www.feistyduck.com/library/openssl-cookbook/online/|OpenSSL Cookbook by Ivan Ristić/Feisty Duck]] | ||
| + | |||
| ====== OpenSSL ====== | ====== OpenSSL ====== | ||
| ===== Diffie Hellman Schlüsselaustausch vorbereiten ===== | ===== Diffie Hellman Schlüsselaustausch vorbereiten ===== | ||
| Zeile 10: | Zeile 16: | ||
| * welche Bitlänge haben die Diffie Hellman Parameter? | * welche Bitlänge haben die Diffie Hellman Parameter? | ||
| + | Doku: | ||
| + | * https://blog.zeit.de/mathe/allgemein/daten-verschluesselung-mathe/ | ||
| + | * https://weakdh.org/sysadmin.html | ||
| ===== Selbstsignierte Server Zertifikate bauen ===== | ===== Selbstsignierte Server Zertifikate bauen ===== | ||
| - | openssl req -new -newkey rsa -nodes -subj /C=DE/ST=NRW/L=Essen/O=Linuxhotel/CN=notebook15.linuxhotel.de -keyout serverkey.pem -out serverreq.csr | + | openssl req -new -newkey rsa:4096bits -sha512 -x509 -nodes -subj /C=DE/ST=NRW/L=Essen/O=Linuxhotel/CN=notebook15.linuxhotel.de -keyout server.key -out server.crt |
| ((https://bettercrypto.org empfiehlt 4096 Bit)) | ((https://bettercrypto.org empfiehlt 4096 Bit)) | ||
| Zeile 32: | Zeile 41: | ||
| TODO: ca und intermediate-ca bauen. ca signiert nur intermediate-ca. intermediate-ca signiert server-zertifikate. | TODO: ca und intermediate-ca bauen. ca signiert nur intermediate-ca. intermediate-ca signiert server-zertifikate. | ||
| - | Verzeichnisse und Dateien fuer die CA: | + | ''/etc/ssl/openssl.cnf'' : ( SuSE 10.2, ab Debian 4.0 ) |
| + | |||
| + | ''/etc/pki/tls/openssl.cnf'' : ( ab CentOS 5 ) | ||
| + | |||
| + | die folgenden Zeilen anpassen | ||
| + | <file> | ||
| + | [ ca ] | ||
| + | default_ca = CA_default | ||
| + | |||
| + | … | ||
| + | |||
| + | [ CA_default ] | ||
| + | dir = ./ca.linuxhotel.de | ||
| + | certs = $dir/certs | ||
| + | crl_dir = $dir/crl | ||
| + | database = $dir/index.txt | ||
| + | new_certs_dir = $dir/newcerts | ||
| + | certificate = $dir/cacert.pem | ||
| + | private_key = $dir/private/cakey.pem | ||
| + | serial = $dir/serial | ||
| + | default_days = 365 | ||
| + | |||
| + | … | ||
| + | |||
| + | # TODO: brauchen wir das? | ||
| + | #[ policy_match ] | ||
| + | #countryName = optional | ||
| + | #stateOrProvinceName = optional | ||
| + | #organizationName = optional | ||
| + | |||
| + | … | ||
| + | |||
| + | [ v3_ca ] | ||
| + | … | ||
| + | basicConstraints = critical,CA:false | ||
| + | </file> | ||
| + | |||
| + | Verzeichnisse und Dateien für die CA: | ||
| su - ca | su - ca | ||
| mkdir -p ca.linuxhotel.de/{private,newcerts} | mkdir -p ca.linuxhotel.de/{private,newcerts} | ||
| Zeile 456: | Zeile 502: | ||
| //openssl s_server muss noch laufen// | //openssl s_server muss noch laufen// | ||
| openssl s_client -connect localhost:4433 -CAfile /home/ca/ca.linuxhotel.de/cacert.pem | openssl s_client -connect localhost:4433 -CAfile /home/ca/ca.linuxhotel.de/cacert.pem | ||
| + | |||
| + | ====== Debian Snakeoil ====== | ||
| + | Voraussetzung: FQDN korrekt im DNS eingetragen | ||
| + | |||
| + | Debian: ''ssl-cert'' | ||
| + | |||
| + | Zertifikat anzeigen: | ||
| + | openssl x509 -in /etc/ssl/certs/ssl-cert-snakeoil.pem -text | less | ||
| ====== Links and Doku ====== | ====== Links and Doku ====== | ||
| Zeile 463: | Zeile 517: | ||
| * [[ http://www.cacert.org | caCert: kostenlose, Web-of-trust-basierte Zertifikate ]] | * [[ http://www.cacert.org | caCert: kostenlose, Web-of-trust-basierte Zertifikate ]] | ||
| * [[ http://portecle.sourceforge.net/ | portecle: GUI application for creating, managing and examining keystores, keys, certificates, certificate requests, certificate revocation lists and more. ]] | * [[ http://portecle.sourceforge.net/ | portecle: GUI application for creating, managing and examining keystores, keys, certificates, certificate requests, certificate revocation lists and more. ]] | ||
| - | * http://math.cmu.edu/~svasey/old-homepage-archive-2013/projects/software-usage-notes/ssl_en.html | ||