RSA server certificate does NOT match server name!?

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
ccc
Beiträge: 1185
Registriert: 16.01.2005 01:08:53

RSA server certificate does NOT match server name!?

Beitrag von ccc » 14.04.2010 10:49:46

hi

Ich habe apache2 mit SSL auf dem Etch installiert, aber bekomme in /var/log/apache2/error.log die folgende Meldungen:

Code: Alles auswählen

[Wed Apr 14 10:41:58 2010] [warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Wed Apr 14 10:41:58 2010] [warn] RSA server certificate CommonName (CN) `chris' does NOT match server name!?
[Wed Apr 14 10:41:58 2010] [warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Wed Apr 14 10:41:58 2010] [warn] RSA server certificate CommonName (CN) `chris' does NOT match server name!?
Debian Squeeze / Wheezy / Gnome2 / XFCE / LXDE, FreeBSD kde-lite

pluvo

Re: RSA server certificate does NOT match server name!?

Beitrag von pluvo » 14.04.2010 11:04:01

Hi!

Das ist eine Warnung, weil deine CN-Angabe nicht deinem FQDN (Fully Qualified Domain Name) entspricht.

Code: Alles auswählen

hostname -f

ccc
Beiträge: 1185
Registriert: 16.01.2005 01:08:53

Re: RSA server certificate does NOT match server name!?

Beitrag von ccc » 14.04.2010 11:21:04

Vielen Dank, habe angepaast und jetzt sind diese Meldungen verschwunden.

Code: Alles auswählen

# hostname -f                    
localhost.myserver.net

# make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
Debian Squeeze / Wheezy / Gnome2 / XFCE / LXDE, FreeBSD kde-lite

Benutzeravatar
pangu
Beiträge: 1400
Registriert: 15.11.2011 20:50:52
Lizenz eigener Beiträge: GNU General Public License
Wohnort: /proc/1

Re: RSA server certificate does NOT match server name!?

Beitrag von pangu » 13.02.2012 11:56:08

ich häng mich hier mal dran. Ich hab mir auf meiner Squeeze-Kiste (Apache2+mod_ssl) mit
"openssl req -newkey rsa:2048 -x509 -days 3650 -nodes -keyout /etc/apache2/ssl/mywebsite.key -out /etc/apache2/ssl/mywebsite.crt"
ein selbstsigniertes SSL Zertifikat ohne Passphrase erstellt. In der /etc/apache2/sites-available/mywebsitessl habe ich u.a. stehen:
[...]
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/mywebsite.crt
SSLCertificateKeyFile /etc/apache2/ssl/mywebsite.key
[...]
Im Apache2-Logfile erscheint mir nun beim Apache2-Start für diesen vHost die Fehlermeldung
[warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)

Wieso aber? Ich hab doch kein CA Certificate, wieso meckert er? Muss ich evtl. vor Erstellung des Zertifikates in der /etc/ssl/openssl.cnf irgendwas abändern in BasicConstraints Zeilen? Da gibt's aber mehrere hab ich gesehen.

Dann habe ich einfach mal den Wrapper "make-ssl-cert" verwendet. Natürlich vorher die .crt .key die ich zuvor generiert hatte wieder gelöscht. Dann setze ich den Befehl ab:
make-ssl-cert /usr/share/ssl-cert/ssleay.cnf neuerversuch.crt
und ändere meine ../sites-available/vhostdatei ab, damit die neuerversuch.crt verwendet wird.

Komischerweise taucht jetzt die Fehlermeldung nicht auf, dafür krieg ich jetzt wie der Threadersteller die "... does NOT match server name!?" Fehlermeldung. Wenn ich hostname eingebe, dann krieg ich als Antwort von meinem Debian-Squeeze-System "kiste". Wenn ich hostname -f eingebe, kriege ich als Antwort vom System "kiste.intranet.website.de". Ich hab mit dem make-ssl-cert mehrfach versucht diverse CommonNames einzugeben, denn das wird ja beim Absetzen des oben gezeigten make-ssl-cert Befehls abgefragt. Egal ob ich nur "kiste" eingebe, oder meinen FQDN, oder auch einfach nur localhost...ich erhalte hier in diesem Beipsiel die Fehlermeldung, dass der server name nicht stimmt. Ich hab den Servernamen mit phpinfo() auch überprüft. Dort steht als servername genauso "kiste" . Gross- und kleinschreibung stimmen auch.

Also wie krieg ich diese Fehlermeldungen nun weg?
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: RSA server certificate does NOT match server name!?

Beitrag von Cae » 13.02.2012 22:43:05

Server Name bezeichnet in dem Zusammenhang den FQDN des Systems, nicht den Hostnamen. Den müsstest du openssl an der richtigen Stelle bekannt geben. make-ssl-cert generate-default-snakeoil macht genau das. Übrigens ist es leicht einsehbar, weil Bash-Skript.

Gruß Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

Benutzeravatar
pangu
Beiträge: 1400
Registriert: 15.11.2011 20:50:52
Lizenz eigener Beiträge: GNU General Public License
Wohnort: /proc/1

Re: RSA server certificate does NOT match server name!?

Beitrag von pangu » 14.02.2012 10:17:34

Ok, danke. Jetzt hab ich verstanden, warum der Apache2 meckert :p und zwar redet er die ganze Zeit vom ServerName, der in diesem vHost eingetragen ist. Dort verwende ich nämlich einen anderen Namen, aus Unterscheidungsgründen. Die vHost sieht nämlich so aus:

Beginn vHost:
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerName hopsala.tralala
[...usw...]
Da ich das auch so weiterhin behalten wollte (ich hoffe es kommt nicht anderen Prozessen in die Wege?!) bin ich hergegangen und habe mir das von make-ssl-cert verwendete Template /usr/share/ssl-cert/ssleay.cnf editiert. Die ursprüngliche Zeile habe ich schnell auskommentiert und kopiert und anschliessend angepasst, indem ich einfach meinen gewünschten CN reingeschrieben habe.

[ req_distinguished_name ]
#commonName = @HostName@
commonName = hopsasa.tralala

Dann meine bisher vorhandenen zwei erstellten Keys sicherheitshalber vorher gelöscht, und mit "make-ssl-cert generate-default-snakeoil" nochmals erstellt.

Et voilá --> Problem GELÖST :)
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.

fhederdos
Beiträge: 1
Registriert: 06.04.2012 11:37:54

Re: RSA server certificate does NOT match server name!?

Beitrag von fhederdos » 06.04.2012 13:49:09

pangu hat geschrieben: Et voilá --> Problem GELÖST :)
Sehe ich das richtig, dass du einfach in
/usr/share/ssl-cert/ssleay.cnf
den Virtual Host als commonName einträgst (Obwohl dein fqdn ein anderer ist) und dann einen key und ein csr File erstellst.

Du änderst also für jeden vHost diesen common name, oder?
Das funktioniert ganz ohne irgendwelche SNI - Anweisungen?
Ist die Verifizierung dadurch nicht beeinträchtigt? Also Funktioniert das auch mit echten Zertifikaten, oder nur mit selbst erstellten?

Benutzeravatar
pangu
Beiträge: 1400
Registriert: 15.11.2011 20:50:52
Lizenz eigener Beiträge: GNU General Public License
Wohnort: /proc/1

Re: RSA server certificate does NOT match server name!?

Beitrag von pangu » 06.04.2012 18:28:55

Das war eine Behelfslösung von mir, kein eleganter Weg. Wie cae schon sagte, wenn du make-ssl-cert verwendest kannst du dir das Skript mal genauer anschauen mit einem Editor deiner Wahl. Da wird ja openssl verwendet, und dessen config ist die angegeben Configdatei. Standardmässig liest das System den FQDN Host aus und verwendet diesen.

Dieser Beitrag von mir liegt länger zurück, und das war damals wie gesagt eine Behelfslösung von mir. Du kannst ganz einfach das Skript "make-ssl-cert" verwenden, dass du unter /usr/sbin findest.

Frohes Osterfest,
Pangu.
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.

Antworten