Schlagwort-Archive: CentOS

In eigener Sache: Serverumzug

Am vergangenen Wochenende ist dieses und ein weiteres Blog, mitsamt einer Fever- und einer Tweetnest-Installation auf (m)einen neuen Server umgezogen. Das alte CentOS 5 hat ausgedient, da ich auf CentOS 7 und dabei gleich noch auf neue (virtuelle) Hardware umgestiegen bin. Das ganze ist jetzt natürlich schneller, breiter, tiefer und schwärzer mit Glitzer – versteht sich ja von selbst.

Picture of Rack-Server-Front
Symbolfoto, by CWCS Managed Hosting  under CC-by-2.0, no changes

Fallstricke an die ich mich zunächst gewöhnen musste waren u.a. dass jetzt selinux aktiviert ist und ich mich mit diesen Kontexten mal vertraut machen musste, die PHP-Installation die ich auf das Upstream nicht verfügbare 5.6er heben wollte und die erstmal nicht so wollte wie ich und einige andere Kleinigkeiten.

Alles in allem rennt das jetzt erstmal – ich wollte den Blogs noch ein Piwik reindrehen, das scheitert aktuell noch an einer Kleinigkeit die ich aber auch noch gefixed kriegen werde.

Danach folgen dann die beiden Schwergewichte: sneakpod.de & cocktailpodcast.de – da wollte ich erst ran wenn ich sicher bin dass WordPress und mein Standard-Zoo von Plugins auf der neuen Kiste rund läuft. Sollten euch Merkwürdigkeiten in den kommenden Tagen auffallen, bitte gern in den Kommentaren melden – ich bastel derweil mal weiter.

mod_ssl – Apache liefert das falsche Cert aus

Ich hab gestern zum ersten Mal einer meiner Webseiten ein SSL Zertifikat verpasst. So rein theoretisch weiß man ja wie das funktioniert und entsprechend hab ich das dann auch gemacht.

  • Key erzeugen (auf’m Server natürlich, einige Anbieter bieten an das bei ihnen zu tun – don’t even think about it!)
  • CSR (Zertifizierungsanfrage) erzeugen
  • bei einer CA registrieren und die Identität bestätigen lassen (auf der einfachsten Stufe geht’s da nur darum zu beweisen dass man Zugriff auf das Webmaster-Mailpostfach der Domain hat und auf die Domain selbst)
  • CSR zur CA hochladen und das Zertifikat wieder runterladen.

Soweit so einfach, danach hält man ein von der CA beglaubigtes Zertifikat in Händen mit dem man nun, zusammen mit dem Private Key (der hoffentlich den Server nicht verlassen hat, außer vielleicht in ein sicheres Backup unterm Sofa ;) ), die entsprechende Domain SSL-fit machen kann.

Dazu brauchte (in meinem Fall) der Apache noch das entsprechende Modul mod_ssl. War bei meiner CentOS-Installation noch nicht mit installiert, also

yum install mod_ssl

schnell nachgeholt.

Nun muss das Zertifikat noch eingebunden werden. Apache erwartet dafür einfach einen weiteren Virtual Host-Block, neben dem für Port 80 einen weiteren für 443.

<VirtualHost *:443>
    SSLEngine on
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP

    SSLCertificateFile      /etc/ssl/certs/example.com.crt
    SSLCertificateKeyFile   /etc/ssl/private/example.com.key

    ServerName      "example.com"
    DocumentRoot    "/var/www/example.com"
</VirtualHost>

Etwa so.

aber!

…aber, was ich nicht wusste – bzw. worauf ich zunächst reingefallen bin. Der oben ausgeführte Befehl um mod_ssl zu installieren führt dazu das schon so ein Block angelegt wird. Im Includeverzeichnis /etc/httpd/conf.d/ legt der Installer bereits eine ssl-Datei an, die hat schon den kompletten Virtual Host-Block und referenziert 2 self-signed Zertifikate. Dummerweise ((Alphabet, Zufall, keine Ahnung – Pech jedenfalls)) bekam dieser Block Vorrang vor dem Meinen, den ich in die Datei für meine Domain geschrieben hatte. Der Effekt war, dass man zwar per SSL zugreifen konnte, aber alle Browser meckern wegen des selbst signierten Zertifikates und vertrauen der Seite nicht.

Auch wenn es so aussah als würde sich der Apache plötzlich einfach ein anderes Cert ausdenken, so hab ich den Bock dann doch noch gefunden. Vielleicht hilft dieser Artikel hier irgendwem der in den gleichen Fehler rennt.