PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache 2 und SSL



-=Miko=-
22.01.08, 21:57
Hi,

ich habe mitlerweile zig Tutorials durch aber ich bekomme SSL auf meinem Apache2 Server nicht zum laufen. Ich bekomme immer den gleichen Fehler vom Browser: -12263.

Egal was ich mache. Ich habe jetzt mitlerweile sicherlich 10 Tutorials durch und habe eigentlich auch mein Apache 2 Buch zu rate gezogen aber es will einfach nicht funktionieren.

In dem Log der Domain bei der SSL aktiviert ist taucht auch nichts verdächtiges auf. Die ganzen Tutorials die ich durchgewühlt habe beschreiben eigentlich auch alle das gleiche. Nur ein paar Einstellungen von SSL waren mehr oder weniger vorhanden.

Laut den Fehlercodes heißt das ja ein Fehler im Zertifikat aber das kann ich mir fast nicht vorstellen da ich beim Common Name schon alle möglichen Domainnamen ausprobiert habe.

Beim Apache Start gibt es auch keinen Fehler.

Mod ssl ist auch aktiviert und die Konfigurationsdatei muss auch korrekt sein sonst würd er ja Fehler ausspucken.

Ich habe keine Idee was ich mehr ausprobieren soll. Ich bin sicherlich kein Linux Einsteiger und es muss doch möglich sein irgendwie das Problem zu analysieren. Aber auch in den Logs habe ich nichts gefunden.

Anscheinend liegt das Problem wirklich auf Clientseite. Könnte es sein dass meine SSL Version zu alt ist (v 2.2.3).

Ich habe es mit Epiphany und Mozilla getestet beide geben den gleichen Fehlercode aus. Kann es sein dass sie eine bestimmte SSL Option brauchen damit sie mit dem Server kommunizieren.

btw: Auf dem Server läuft Debian und auf dem Desktop zum Testen auch.

Über einen Tipp, Denkanstoss, ein gutes Tutorial oder irgendwas was mir hilft wäre ich sehr dankbar.

Schöne Grüße
Miko

Dateien:

Meine SSL Config:


<IfModule mod_ssl.c>

SSLRandomSeed startup builtin
SSLRandomSeed startup file:/dev/urandom 512
SSLRandomSeed connect builtin
SSLRandomSeed connect file:/dev/urandom 512

AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl

SSLPassPhraseDialog builtin

SSLSessionCache shmcb:/var/run/apache2/ssl_scache(512000)
SSLSessionCacheTimeout 300

SSLMutex file:/var/run/apache2/ssl_mutex
</IfModule>


Das Zertifikat und die Key Datei habe ich mit folgenden Befehlen erstellt:


# openssl genrsa -out server.key -des3 1024
# openssl req -new -x509 -days 1460 -key server.key -out server.crt
# openssl rsa -in server.key -out server_neu.key



Hier der Virtual host eintrag in der http.conf:

<VirtualHost _default_:443>
ServerName DOMAIN
DocumentRoot PFAD
SSLEngine on
SSLCertificateFile PFAD ZUM .crt
SSLCertificateKeyFile PFAD ZUM .key
LogLevel emerg
CustomLog PFAD combined
ErrorLog PFAD
</VirtualHost>


In der ports.conf habe ich natürlich Listen 443 eingefügt.

marce
23.01.08, 09:01
im error-Log oder ssl*-Log steht nichts?

Überprüfe das Zertifikat mit openssl. Wo hast Du es denn her? Selbst gemacht? Welche Parameter/Konfiguration hast Du verwendet? Wie hast Du den Apache installiert? Mit welchen Parametern?

edit: noch 'n Link gefunden: http://www.mozilla.org/projects/security/pki/nss/ref/ssl/sslerr.html

SSL_ERROR_RX_RECORD_TOO_LONG
-12263
"SSL received a record that exceeded the maximum permissible length." This generally indicates that the remote peer system has a flawed implementation of SSL, and is violating the SSL specification.

meinereinerseiner
23.01.08, 09:11
Hi,

das hast du wohl beim zertifikat erstellen mist gebaut. lösch mal den ganzen kram aus dem /etc/apache2/ssl bzw. certs und baue dir ein neues, wenns dann auch nich geht, schreibe mal, wie du es erstellst und wie deine ssl-config aussieht.


tom

-=Miko=-
23.01.08, 15:40
Erstmal Danke für die schnellen Antworten und die Hilfe.

Wie in meinem Post bereits erwähnt habe ich mir die Fehlercodes schon angeschaut. Der Apache ist ganz normal über das Repository installiert.

Ich habe das Zertifikat sicherlich schon 30 - 50 mal neu gemacht.

Meine SSL Config:


<IfModule mod_ssl.c>

SSLRandomSeed startup builtin
SSLRandomSeed startup file:/dev/urandom 512
SSLRandomSeed connect builtin
SSLRandomSeed connect file:/dev/urandom 512

AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl

SSLPassPhraseDialog builtin

SSLSessionCache shmcb:/var/run/apache2/ssl_scache(512000)
SSLSessionCacheTimeout 300

SSLMutex file:/var/run/apache2/ssl_mutex
</IfModule>


Wie auch geschrieben steht in den Logdateien des Virtual Hosts nichts drinnen. Wo gibts ein SSL Log? Wie überprüfe ich das Zertifikat mit Openssl?

Das Zertifikat und die Key Datei habe ich mit folgenden Befehlen erstellt:


# openssl genrsa -out server.key -des3 1024
# openssl req -new -x509 -days 1460 -key server.key -out server.crt
# openssl rsa -in server.key -out server_neu.key


Den letzten Befehl um die Verschlüsselung loszuwerden. Aber auch mit der verschlüsselten Key Datei funktioniert es nicht.

Eigentlich standen diese Befehle in jedem der Tutorials so drinnen. Also gabs nicht gerade viel Spielraum für Fehler.

edit:
Achja und hier noch mein Virtual host eintrag in der http.conf:

<VirtualHost _default_:443>
ServerName DOMAIN
DocumentRoot PFAD
SSLEngine on
SSLCertificateFile PFAD ZUM .crt
SSLCertificateKeyFile PFAD ZUM .key
LogLevel emerg
CustomLog PFAD combined
ErrorLog PFAD
</VirtualHost>


In der ports.conf habe ich natürlich Listen 443 eingefügt. Ansonsten habe ich bei der <Virtual Host> Direktive nur die ServerIP stehen.

marce
23.01.08, 16:31
LogLevel emerg


und da wunderst Du dich, dass Du keine Logeinträge bekommst?

Ich empfehle erst mal zum einen vernünftige Werte und dann eben auch noch die entsprechenden Logs einschalten. Mehr dazu in der Apache und ModSSL-Doku.

-=Miko=-
23.01.08, 16:55
Was stimmt an den Werten nicht?

Ich habe ein ganzes Buch zu Apache 2 und auch die Betreffenden Teile gelesen.

Ich hab das Loglevel mal auf warn gestellt.

Trotzdem nur:
[warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)

Selbst bei debug tauchen nur standard Nachrichten auf.

Ich meinte aber eigentlich auch dass im Access Log nichts auftaucht.

-=Miko=-
24.01.08, 21:10
Hat keiner mehr eine Idee?

Ich poste auch mal die Dateien im Hauptpost.

marce
25.01.08, 07:14
zum einen könntest Du die ssl-Spezifischen Logs einschalten, z.B. in der Art von
CustomLog /usr/local/apache_ssl/logs/ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"


... da geht aber noch mehr. Daher auch: Doku lesen.

Dann könntest Du die warning evtl. beachten, die Daten des Zertifikats noch mal überprüfen - da liegt vermutlich nämlich der Hase im Pfeffer.

Ansonsten: Nimm doch erst mal das Standard-Zertifikat, welches der Apache mitliefert und schau, ob es damit geht. Wenn dem ok ist dann weisst Du immerhin, dass SSL an sich tut und kannst dann das nochmals mit dem eigenen probieren...

-=Miko=-
25.01.08, 13:05
Das mit dem Log werde ich ausprobieren, Danke.

Wo ist das standard zertifikat? Das wär eventuell ein guter Ansatz um das Problem zu lokalisieren.

marce
25.01.08, 13:18
vermutlich hast Du das überschrieben - das sollte eigentlich mit der Standardinstallation vorhanden sein...

-=Miko=-
25.01.08, 13:30
In welchem ordner. Für meine Zertifikate habe ich einen neuen angelegt.

marce
25.01.08, 13:31
wie hast Du denn den Apache installiert?

-=Miko=-
27.01.08, 13:00
Der war schon vorinstalliert über apt-get.

marce
28.01.08, 07:31
dann sollte es unter /etc/ssl oder /etc/httpd/ssl (in der Art) liegen - frag' doch mal apt-get bzw. dkpg, welche Dateien es wohin installiert hat...