Echtes SSL Zertifikat nutzen. Apache SSL Einstellungen werden überschrieben

  • Da ich ein Anfrageformular für meine Ferienwohnung auf dem eingebauten Apache Server laufen habe, dürfen meine Gäste natürlich nicht einer Meldung über eine nicht sichere Verbindung genervt werden. Dazu musste ich bei meinem Hoster 1und1 eine Subdomain anlegen, die mit ihrem CNAME auf die Dyndns Adresse des NAS verweist. Die Subdomain soll hier mal "subdomain.meineDomain.de" heißen. In der Admistratoroberfläche meines NAS wurde für diese Subdomain ein Vhost eingerichtet. Für diese wurde das Zertifikat von Comodo ausgestellt.
    Ich habe mein privates Keyfile, das ich "subdomain.meineDomain.de.key" genannt habe und die beiden Dateien von Comodo: "subdomain.meineDomain.de.crt" (Zertifikat) und "subdomain.meineDomain.de.ca-bundle" (Zwischenzertifikat). Diese wurden in der Administratoroberfläche unter "Sicherheit" eingegeben.
    Solange man einen Desktopbrowser benutzt geht auch alles. (Bis auf die Auskunft von Chrome, daß eine veraltete Codier Suite genutzt wird). Ebenso ein Test bei diversen SSL Testseiten.
    Was nicht geht, ist ein Zugriff via eines Android Gerätes. Der Zugriff wird mit einer Warnmeldung geblockt ( NET::ERR_CERT_AUTHORITY_INVALID).
    Nachdem ich den die SSL Keys etc. auf einem Apache auf meinem alten Server erfolgreich gegen Android testen konnte, habe ich den Fehler im NAS gefunden. Hier werden im Verzeichniss /etc/stunnel bei der Installation der Keyfiles zwei Dateien angelegt: stunnel.pem und uca.pem . Stunnel.pem enthält den privaten Schlüssel und das crt File der Zertifizierungsstelle und die UCA.pem das CA File der Zertifizierungsstelle.
    In dieser Zusammensetzung wird es in der /mnt/HDA_ROOT/.config/apache/extra/apache-ssl.conf die in der apache.conf nachgeladen wird aufgerufen.
    Wie gesagt funktioniert dies mit Desktop Browsern gut, aber eben nicht mit Android (Iphone etc. kann ich nicht testen). Wenn ich nun nun, wie auf dem Testserver die apache-ssl.conf mit einem Editor so ändert, daß sie auf das private Keyfile und die beiden von Comodo gelieferten Dateien verweist und dann den Apache mit "/etc/init.d/Qhttpd restart" neu starte, sollte es funktionieren. Es geht aber nicht, da die Datei beim Neustart des Apache mit der ursprünglichen Datei überschrieben wird.
    Wie kann ich das verhindern?


    Ich habe es nun dennoch hinbekommen.
    Man muss die Datei "httpd-ssl-vhosts-user.conf" im Verzeichniss "/mnt/HDA_ROOT/.config/apache/extra" editieren. Dort kann man dann auch gleich noch eine vernünftige Verschlüsselung einstellen um die Warnmeldung im Chrome Browser zu eliminieren.


    Das ganze sieht dann so aus (https ist bei mir auf Port 8085 eingestellt und die Zertifizierungsdateien nach /etc/stunnel kopiert.)

    Code
    <VirtualHost *:8085>
    	ServerName subdomain.meineDomain.de
    	DocumentRoot "/share/Web/subdomain"
    	SSLEngine on
    	SSLCipherSuite 'ECDH+AESGCM EDH+AESGCM!aNULL !eNULL !EXPORT !LOW !MEDIUM !DES !3DES !RC4 !SEED !CAMELLIA !MD5 !PSK !DSS'
    	SSLCertificateFile "/etc/stunnel/subdomain.meineDomain.de.crt"
    	SSLCertificateKeyFile "/etc/stunnel/subdomain.meineDomain.de.key"
    	SSLCertificateChainFile "/etc/stunnel/subdomain.meineDomain.de.ca-bundle"
    </VirtualHost>


    Wenn ich dies nun abspeichere und den Apache neu starte funktioniert alles, auch unter Android. :D


    Ändere ich in der Administratoroberfläche nun aber etwas an den Vhost, so wird der Eintrag wieder mit den ursprünglichen Werten überschrieben.
    Wie kann ich das verhindern?
    Wie kann ich überhaupt verhindern, daß selbstgemachte Änderungen an den Files einen Neustart nicht überleben?