• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Apache und SSL

jumanji

Member
Hallo Zusammen,

wahrscheinlich sitzt das Problem vor dem Computer ;) Habe ich auch das Forum durchsucht und nix passendes gefunden.

Ich habe hier Suse 10.0 und eine externe feste IP. Ich habe mit openssl und dem Befehl:

openssl req -new -nodes -keyout ip-adresse.key -out ip-adresse.csr

einen Schlüssel generiert. Die Variable -D SSL habe ich in den SysConfig-Daten aktiviert. Den Key und Csr habe ich in der vhost-ssl.conf eingetragen:

SSLCertificateFile /etc/apache2/ssl.csr/ip-adresse.csr

SSLCertificateKeyFile /etc/apache2/ssl.key/ip-adresse.key

In der http.conf habe ich den verweis auf die vhos-ssl.conf eingetragen:

Include /etc/apache2/vhosts.d/vhost-ssl.conf

Start ich den Apche erhalte ich immer die Meldung:

Starting httpd2 (prefork) startproc: exit status of parent of /usr/sbin/httpd2-prefork: 1
failed



Im error.log steht folgendes:

[Wed Jun 07 15:52:14 2006] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
[Wed Jun 07 15:52:14 2006] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec2)
[Wed Jun 07 15:52:14 2006] [notice] Apache/2.2.0 (Linux/SUSE) configured -- resuming normal operations
[Wed Jun 07 15:55:12 2006] [notice] caught SIGTERM, shutting down
[Wed Jun 07 16:16:17 2006] [error] Init: Unable to read server certificate from file /etc/apache2/ssl.csr/213.146.121.38.csr
[Wed Jun 07 16:16:17 2006] [error] SSL Library Error: 218529960 error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Wed Jun 07 16:16:17 2006] [error] SSL Library Error: 218595386 error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error
[Wed Jun 07 16:18:19 2006] [error] Init: Unable to read server certificate from file /etc/apache2/ssl.csr/213.146.121.38.csr
[Wed Jun 07 16:18:19 2006] [error] SSL Library Error: 218529960 error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Wed Jun 07 16:18:19 2006] [error] SSL Library Error: 218595386 error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error
[Wed Jun 07 16:28:47 2006] [error] Init: Unable to read server certificate from file /etc/apache2/ssl.csr/213.146.121.38.csr
[Wed Jun 07 16:28:47 2006] [error] SSL Library Error: 218529960 error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Wed Jun 07 16:28:47 2006] [error] SSL Library Error: 218595386 error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error

Liest sich, als wenn das Zertifikate nicht gelesen werden kann. Hat jemand eine Idee, Tip, Hilfe, Link, Lösung :!:

Vielen Dank im Voraus für die Hilfe.
 

nbkr

Guru
Du hast nur einen Certifikate Signing Request (csr) kein Zertifikat. Den CSR musst jetzt zu einer CA schicken die den signiert und so ein Zertifikat daraus macht. Alternativ kannst Du den auch selbst signieren. Da fangen die Browser aber an zu meckern. Der Verschlüsselung tut das aber keinen Abbruch.
 
OP
jumanji

jumanji

Member
nbkr schrieb:
Du hast nur einen Certifikate Signing Request (csr) kein Zertifikat. Den CSR musst jetzt zu einer CA schicken die den signiert und so ein Zertifikat daraus macht. Alternativ kannst Du den auch selbst signieren. Da fangen die Browser aber an zu meckern. Der Verschlüsselung tut das aber keinen Abbruch.

Hi nbkr,

vielen Dank für die schnelle Antwort. Ich hatte das vermutet, aber wir absolut nicht sicher ob es evtl. daran liegen kann. Hab zwar Apache aufgesetzt aber noch nie mit SSL, da bisher nicht von nöten. Nun sollen Kunden auf unseren intern Webserver zugreifen und von der Oracle-DB Daten abfragen. Da das ganze offiziell mit Zertifikat laufen soll, habe ich erst einmal auf einem Testsystem rumprobiert. Hatte gedacht, könnte evtl. auch so gehen. Dachte, mal ganz naiv ausgedrückt, die hauen in das csr einfach einen Stempel rein und gut ist. Ich erhalte das Ding wieder zurück und baue das csr wieder ein :oops: Also das csr hin zur CA und dann gibts das richtige Zertifikat und das baue ich dann ein :idea:
 

nbkr

Guru
Ja, csr zur CA und man bekommt ein Zertifikat. Wie das jetzt aber genau geht hängt von der gewünschten CA ab. Habe ich auch nocht nicht gemacht. Die CAs die bei den Browsern kein Mecker verursachen verlangen für sowas nämlich Kohle.
 
OP
jumanji

jumanji

Member
nbkr schrieb:
Ja, csr zur CA und man bekommt ein Zertifikat. Wie das jetzt aber genau geht hängt von der gewünschten CA ab. Habe ich auch nocht nicht gemacht. Die CAs die bei den Browsern kein Mecker verursachen verlangen für sowas nämlich Kohle.

Ich weiß, es ist eigntlich nur Abzocke und gibt keine Grund dafür. Nur handelt es sich um sensible Daten und unsere Kunden (Ärzte) sind da sehr empfindlich, wenn da irgendwie Snake Oil etc steht :wink: Es geht auch eher darum, das der Browser nicht meckert. Hatte da auch preislich was gutes (wie mans nimmt) für 149 € gefunden. Verisign nimmt ja absolute Wucherpreise. Sofern ich das Zertifikat habe werde ich mal schauen, ob die Meldung dann weg ist. Brauch ich dann eh wohl nur in /etc/apache2/ssl.crt kopieren. Was ist eigentlich mit /etc/apache2/ssl.prm ?
 
Hi @ all,

ich habe nen riesen Problem auf einem SuSE 10 Server Apache mit SSl Verschlüsselung zu realisieren.

Zunächst will ich euch einmal aufzeigen, was ich getan habe um die Verschlüsslung zu aktivieren.

Step 1:
Code:
openssl genrsa -out my_ssl_server.key -des3 2048
Step 2:
Code:
openssl req -new -key my_ssl_server.key -out my_ssl_server.csr
Step 3:
Code:
openssl x509 -in my_ssl_server.csr -out my_ssl_server.crt -req -signkey my_ssl_server.key -days 365
Step 4:
Code:
openssl -in my_ssl_server.key -out my_ssl_server_ohne_pw.key
Step 5:
Code:
 cp my_ssl_server_ohne_pw.key /etc/apache2/ssl.key/my_ssl_server.key
cp my_ssl_server.crt /etc/apache2/ssl.crt/my_ssl_server.crt
Step 6:
Code:
In der Datei /etc/apache2/listen.conf habe ich den Eintrag Listen 443 zu dem vorhandenen Eintrag Listen 80 hinzugefügt
Step 7:
Code:
Anschließend habe ich das Template vhost-ssl.template im Verzeichnis /etc/apache2/vhosts.d/ folgendermaßen abgeändert und unter  vhost-ssl.conf gespeichert.
Auskommentierung von <IfDefine SSL> <IfDefine !NOSSL> und der entsprechnenden Tags am ende der Datei.

<VitrualHost 192.168.0.1:443>
  DocumentRoot "/srv/www/htdocs/test"
  ServerName 192.168.0.1
  ErrorLog /var/log/apache2/error_log
  TransferLog /var/log/apache2/access_log

  SSLEnging on

  SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

  SSLCertificateFile /etc/apache2/ssl.crt/my_ssl_server.crt

  SSLCertificateKeyFile /etc/apache2/ssl.key/my_ssl_server_ohne_pw.key

...
einige standard Einträge
...

</VirtualHost>


Wenn ich nun den Apache neustarte kommt folgende Fehlermeldung:
Syntax OK
Starting http2 (prefork) (98)Address already in use: make_sock: could not bind to address [::]:443 no listening sockets available, shutting down
Unable to open logs
startproc: exit status of parent of /usr/sbin/http2-prefork: 1 failed


Hat jemand eine Idee. Ich verzweifle langsam an diesem Apache. Habe auch schon mal einen Server mit Suse 10.1 ausprobiert, leider das selbe Problem.

PS: Die einzelnen Steps habe ich von der Page http://www.kfactory.de/howto.php?ht=2
 

stka

Guru
Server Zertifikate kann man auch kostenlos erhalten und mit etwas Mühe auch selber erstelle. Es gibt die CAcert (www.cacert.org) dort kann man sich registrieren. Wenn man genug Punkte (100) gesammelt hat, kann man die Zertifikate der CEcert selber vergeben.
Auf dem Linux-Tag konnte man sich gleich von drei verschiedene Leuten beglaubigen lassen und somit die 100 Punkte sammeln. (Habe ich auch gemacht, wer weiß wofür das gut ist)
Ein kleines Problem gibt es noch, die Browser kennen das root Zertifikat der CAcert noch nicht, man muß also das root Zertifikat in den Browser selber eintragen, was aber keine Problem ist.
Wenn man dann die Punkte hat, kann man über die Webseite der CAcert erst die Domaine und dann den Server zertifizieren.
 

Ludi

Member
krustykiller schrieb:
Hi @ all,

Step 4:
Code:
openssl -in my_ssl_server.key -out my_ssl_server_ohne_pw.key


da fehlt das "rsa", also:

openssl rsa -in ...

im prinzip klappt es, mach einfach dein normales /srv/www/htdocs mit SSLEngine usw. ohne vhost
 
Oben