OpenSSL richtig konfigurieren

Rund um die Sicherheit des Systems und die Applikationen
User avatar
Joe User
Project Manager
Project Manager
Posts: 11139
Joined: 2003-02-27 01:00
Location: Hamburg

OpenSSL richtig konfigurieren

Post by Joe User » 2013-01-21 19:40

Moin,

in diesem HowTo beschreibe ich die Konfiguration von OpenSSL und die Erstellung einer eigenen CA (Certification Authority) zum Erzeugen selbstsignierter SSL-Zertifikate.

Folgende Optionen müssen in der /etc/ssl/openssl.cnf im Abschnitt [ req_distinguished_name ] angepasst beziehungsweise ergänzt werden.

Code: Select all

countryName_default             = DE
stateOrProvinceName_default     = Bundesland
localityName_default            = Stadt
0.organizationName_default      = Organization
organizationalUnitName_default  = Administration
commonName_default              = srv.example.org
emailAddress_default            = admin@example.org

Folgende Optionen müssen im Abschnitt [ CA_default ] angepasst werden.

Code: Select all

default_days    = 3650                  # how long to certify for
default_crl_days= 30                    # how long before next CRL
default_md      = sha256                # which md to use.

Folgende Optionen müssen im Abschnitt [ req ] angepasst werden.

Code: Select all

default_bits            = 4096


Als Nächstes wird ein eigenes CA Zertifikat erstellt und selbst signiert. Dabei verwenden wir srv.example.org als Common Name und übernehmen ansonsten jeweils die Default-Werte und wählen selbstverständliche sehr sichere Passworte. Die Option A challenge password sollte jedoch leer gelassen werden, andernfalls kann es zu Problemen mit einigen Diensten kommen.

Code: Select all

cd /etc/ssl
mv -f demoCA demoCA_back
mkdir -p demoCA
mkdir -p demoCA/certs
mkdir -p demoCA/crl
mkdir -p demoCA/newcerts
mkdir -p demoCA/private
touch demoCA/index.txt
echo `openssl rand -hex 8 | tr "[:lower:]" "[:upper:]"` > demoCA/serial && cp demoCA/serial demoCA/crlnumber

openssl genrsa -aes256 -out demoCA/private/cakey.pem 4096
openssl req -sha256 -new -key demoCA/private/cakey.pem -out demoCA/careq.pem
openssl ca -days 3650 -md sha256 -selfsign -extensions v3_ca -batch -keyfile demoCA/private/cakey.pem -in demoCA/careq.pem -out demoCA/cacert.pem
openssl ca -gencrl -keyfile demoCA/private/cakey.pem -cert demoCA/cacert.pem -out cacrl.pem
openssl crl -inform PEM -in cacrl.pem -outform DER -out crl.pem

openssl genrsa -aes256 -out srv.example.org_key.pem 4096
openssl req -sha256 -new -key srv.example.org_key.pem -out srv.example.org_req.pem
openssl ca -days 3650 -md sha256 -policy policy_anything -in srv.example.org_req.pem -out srv.example.org_cert.pem
openssl rsa -in srv.example.org_key.pem -out srv.example.org_keyrsa.pem



Gruss,
Joe User


Letzte Aktualisierung: 21.01.2013
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

MarcoMi
Posts: 4
Joined: 2013-08-20 17:50
Location: Nürnberg

Re: OpenSSL richtig konfigurieren

Post by MarcoMi » 2013-08-20 18:05

Ich weiß ja nicht, ob es schon zu spät ist, aber ich würde auf jeden Fall behaupten, dass schon hier der Fehler liegt:

Code: Select all
default_days = 3650 # how long to certify for
default_crl_days= 30 # how long before next CRL
default_md = sha256 # which md to use


Da würde ich auf alle Fälle nochmal drüber schauen!
Schöne Grüe

euer Marco aus Nürnberg :)

User avatar
Joe User
Project Manager
Project Manager
Posts: 11139
Joined: 2003-02-27 01:00
Location: Hamburg

Re: OpenSSL richtig konfigurieren

Post by Joe User » 2013-08-20 18:20

Kannst Du den "Fehler" bitte etwas näher erläutern, damit ich den Post überarbeiten kann.
Danke vorab.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

francwalter
Posts: 1
Joined: 2014-02-20 23:04

Re: OpenSSL richtig konfigurieren

Post by francwalter » 2014-02-20 23:08

Ich glaube der Einwand von "Marco aus Nürnberg" ist Quatsch. Das schaut auf jeden Fall richtig aus, kein Fehler.
franc

ddm3ve
Moderator
Moderator
Posts: 1187
Joined: 2011-07-04 10:56

Re: OpenSSL richtig konfigurieren

Post by ddm3ve » 2014-04-12 13:52

Ich erholte eine komische Meldung mit den wie oben generierten Zertifikaten:

Gültig ab: Donnerstag, 10. April 2014 11:20:29 Mitteleuropäische Sommerzeit
Nur gültig bis:Sonntag, 7. April 2024 11:20:29 Mitteleuropäische Sommerzeit
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11139
Joined: 2003-02-27 01:00
Location: Hamburg

Re: OpenSSL richtig konfigurieren

Post by Joe User » 2014-04-12 15:10

Ist doch richtig: -days 3650 = ( 10 Jahre minus 3 Schaltjahrestage )
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

ddm3ve
Moderator
Moderator
Posts: 1187
Joined: 2011-07-04 10:56

Re: OpenSSL richtig konfigurieren

Post by ddm3ve » 2014-04-12 17:39

Gültig bis Sonntag 07.04.2014 ? 10Jahre wäre ja 2024 oder nicht?

Ähe ja .... Du hast recht. War wohl gestern zu ante die Pascherei vom Server.
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.

Rogue
Posts: 6
Joined: 2014-11-26 11:50

Re: OpenSSL richtig konfigurieren

Post by Rogue » 2014-11-26 13:11

Guten Morgen,

gute Arbeit muss ich ja mal sagen Joe User...
nur eine kleine neben Frage...

welche Daten müssen hier ergänz werden?
Oder soll es 1:1 übernommen werden...

commonName_default = srv.example.org
emailAddress_default = admin@example.org

?????

gruß

User avatar
Joe User
Project Manager
Project Manager
Posts: 11139
Joined: 2003-02-27 01:00
Location: Hamburg

Re: OpenSSL richtig konfigurieren

Post by Joe User » 2014-11-26 14:45

Der ganze Block muss entsprechend der eigenen Daten (wie sie später in den Zertifikaten stehen sollen, sofern sie beim Erstellen nicht überschrieben werden) angepassst werden.

Für das RootForum könnte es dann zum Beispiel so aussehen:

Code: Select all

countryName_default             = DE
stateOrProvinceName_default     = Hamburg
localityName_default            = Hamburg
0.organizationName_default      = RootForum Community
organizationalUnitName_default  = Administration
commonName_default              = devnull.rootforum.org
emailAddress_default            = admin@rootforum.org
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

ddm3ve
Moderator
Moderator
Posts: 1187
Joined: 2011-07-04 10:56

Re: OpenSSL richtig konfigurieren

Post by ddm3ve » 2015-11-12 14:41

Hallo in die Runde,

was muss ich ggf. beachten, wenn ich mutlidomainzertifikate benötige?

Hintergrund: Es gibt eine Reihe an Domains und vor allem hierzu unzählige Subdomains.
Für jede einzelne Domain / Subdomas ein Zertifikat zu bestellen ist suboptimal, zum einen, was die Pflege an geht, zum anderen natürlich auch was die kosten betrifft.

Welche multidomain Lösungen gibt es und wie müsste hierfür der csr generiert werden, damit das auch zuverlässig klappt.

Besonderheit hier ist, dass wir natürlich noch nicht alle Domains kennen / subdomains sich gelegentlich immer wieder ändern.
Müssen diese im Common Name all enthalten sein, der gibt es da etwas einfacheres und ggf. IP gebundenes?
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.

ddm3ve
Moderator
Moderator
Posts: 1187
Joined: 2011-07-04 10:56

Re: OpenSSL richtig konfigurieren

Post by ddm3ve » 2016-09-05 15:52

Servus, hast Du eigentlich ein Diffie-Hellman (DH) auch schon berücksichtigt?
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11139
Joined: 2003-02-27 01:00
Location: Hamburg

Re: OpenSSL richtig konfigurieren

Post by Joe User » 2016-09-06 03:07

Inwiefern? Das Generieren von DH-Params?


Ich sollte den ersten Post wohl demnächst mal auf OpenSSL 1.0.2 aktualisieren...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

ddm3ve
Moderator
Moderator
Posts: 1187
Joined: 2011-07-04 10:56

Re: OpenSSL richtig konfigurieren

Post by ddm3ve » 2016-09-06 12:24

Sowohl als auch, sprich auch die Konfiguration des Apachen.
Je nach ssl Version und natürlich apache Version muss das auch unterschiedlich gelöst werden.
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.