atomique
Goto Top

Apache 2.2 und SSL Probleme auf Webserver

Guten Abend zusammen!

Es geht hier um meinen Webserver der unter Debian 7 und mit Apache 2.2 läuft. Um die Kommunikation abzusichern habe ich mich nun an SSL versucht. Und hier stoße ich auf ein paar Probleme.

1. Eine grundlegende Frage zu SSL: Erstelle ich Zertifikate für jede Subsite? Denn das habe ich bis jetzt gemacht und ich habe ziemliche Probleme. Ein Zertifikat wird von einer anderen Seite genutzt usw.
2. Habe ich meine vHosts richtig eingerichtet? (der vHost von default besitzt einen Rewrite auf HTTPS und die anderen hören nur noch auf Port 443 ab.)


Erstmal zum Aufbau meiner Struktur (Webserver):

var/www/

seitenurl.tdl/
|
|__ owncloud/
|
|__ tinyrss/
|
|..... Weitere Subsites


Für jede Seite habe ich einen vhost erstellt /etc/apache2/sites-available/*.conf und diese aktiviert über a2ensite

vHost von default.conf:

<VirtualHost *:80>
        ServerName seitenurl.tdl
        Redirect permanent / https://seitenurl.tdl/
</VirtualHost>

<VirtualHost *:443>
        SSLEngine On
        SSLCertificateFile    /pfad/zu/zertifikat/default.cert.pem
        SSLCertificateKeyFile /pfad/zu/zertifikat/default.key.pem

        # HSTS (mod_headers is required) (15768000 seconds = 6 months)
        Header always add Strict-Transport-Security "max-age=15768000"  

        ServerName */
        DocumentRoot /var/www/
        <Directory /var/www/>
                Options FollowSymLinks MultiViews
                AllowOverride All
                Order deny,allow
                Allow from all
        </Directory>
</VirtualHost>

vHost von owncloud.conf:

<VirtualHost *:443>
        SSLEngine On
        SSLCertificateFile    /pfad/zu/zertifikat/owncloud.cert.pem
        SSLCertificateKeyFile /pfad/zu/zertifikat/owncloud.key.pem

        # HSTS (mod_headers is required) (15768000 seconds = 6 months)
        Header always add Strict-Transport-Security "max-age=15768000"  

        ServerName */owncloud
        DocumentRoot /var/www/
        <Directory /var/www/owncloud>
                Options FollowSymLinks MultiViews
                AllowOverride All
                Order deny,allow
                Allow from all
        </Directory>
</VirtualHost>

Weiteres zu meiner SSL Konfiguration - Ich habe:
SSLCompression            Off
SSLProtocol                   all -SSLv2 -SSLv3 -TLSv1
SSLCipherSuite              ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-A$
SSLHonorCipherOrder     on

in der SSL.conf eingestellt um das Ganze noch etwas abzusichern.

Ich würde mich sehr auf Tipps von euch freuen, hab jetzt echt schon ewig dran rum gebastelt. Wollte einfach nur meinen Webserver etwas absichern und verzweifle damit gerade etwas ^^

Vielen Dank!
Gruß Atomique

Ps.: Ich würde gerne bei einer kostenlosen Zertifikatslösung bleiben.

Content-ID: 264864

Url: https://administrator.de/forum/apache-2-2-und-ssl-probleme-auf-webserver-264864.html

Ausgedruckt am: 23.12.2024 um 07:12 Uhr

coltseavers
Lösung coltseavers 01.03.2015, aktualisiert am 06.03.2015 um 16:27:16 Uhr
Goto Top
Ahoi Atomique,

1.
Ob das Zertifikat selbst gebastelt ist oder nicht, ist erstmal egal. Die Problematik ist generell erstmal eine ganz andere.

2.
Generell können noch nicht alle Apache2.2- und OpenSSL-Versionen SNI (http://de.wikipedia.org/wiki/Server_Name_Indication).
Du musst mindestens Apache 2.2.12 sowie OpenSSL0.9.8.f installiert haben. Das solltest Du einmal checken.

3.
Du kannst für jede (Sub)Domain ein einzelnes Zertifikat erstellen - das geht schon in Ordnung.
Alternativ kannst Du ein Wildcard-Zertifikat basteln (*.domain.tld), da sind dann alle Subdomains auf einmal abgedeckt, aber nicht domain.tld selbst.
Oder Du baust ein Multidomainzertifikat, damit kannst Du dann mehrere DomainNamen auf einmal abdecken. Jede Subdomain sowie die TLD müssen dann aber separat aufgezählt werden: mail.domain1.tld, ftp.domain1.tld, domain1.tld, seite1.domain2.tld usw.

Der Vorteil bei einzelnen Zertifikaten ist, dass die Domains und deren Zertifikate immer unabhängig bleiben. Du kannst sie nach und nach hinzufügen oder entfernen. Bei Multidomainzertifikaten musst Du immer das Zertifikat anpassen, sobald z.b. ne neue Subdomain oder TLD hinzukommt.
Ist Geschmackssache und kommt auch auf die Anzahl der Domains an.


4.
Ersetze in Deiner Config mal die * durch konkrete Werte. Das ist zwar bei dem VirtualHost-Container nicht unbedingt erforderlich, verbessert aber für Dich die Lesbarkeit und erleichtert das Verständnis.
Unter ServerName muss eine Domain stehen, die auch im Zertifikat steht. Wenn Du hingegen einen * einträgst entstehen Unklarheiten - könnte eine Ursache für Deine Probleme sein. Wenn Du nämlich z.B. 5 Container hast mit einem * im ServerName - welcher ist dann der richtige für eine spezielle Domain? Soll sich der Server dann irgendeine aussuchen? Also in jedem Container unter ServerName die Domains eintragen. Damit hast Du ne klare Zuordnung.
Ausserdem kein Unterverzeichnis im ServerName angeben.
Im ServerName stehen afaik nur die Domains (evtl plus Subdomains)
Das Unterverzeichnis hat da nichts zu suchen. Wenn das Unterverzeichnis jmd im Browser aufruft und es auch existiert, dann wird der user auch ohne den Eintrag unter Servername dort hingelangen. Wenn der User beim Aufruf der TLD seitenurl.tld direkt in das Unterverzeichnis gelangen soll, trägst Du das Unterverzeichnis unter DocumentRoot mit ein:

<VirtualHost *:443> => <VirutalHost 1.1.1.1:443>

ServerName owncloud.domain.tld
DocumentRoot /var/www/owncloud
<Directory /var/www/owncloud>

Den Krempel in der SSL-Conf würd ich erstmal weglassen, und das Dingen mit den Standardeinstellungen zum Laufen bringen. Wenn das dann geht, kannst Du immer noch das Feintuning aktivieren.

Viel Erfolg!

Gruß,
Colt Seavers
atomique
atomique 01.03.2015 um 13:43:01 Uhr
Goto Top
Hallo face-smile

vielen Dank ersteinmal für deine umfassende Antwort! Ich habe nun einmal meine vHosts angepasst an deine Lösung. Die vHosts selber funktionieren. Nun ist das Problem, dass ich immernoch nur ein Zertifikat nutzen kann (Wie ich gestern im Netz rausgefunden habe nutzt er wenn er sich nicht sicher ist, das erste Zertifikat (nach Alphabet). Nun habe ich als Übergangslösung eine 000-default.conf angelegt und ein entsprechendes Zertifikat mit Namen 000-default. Nun nutzt er ja aber nur dieses Zertifikat. Ist das nun eine Lösung die ich hinnehmen sollte? Eigentlich sollte er doch durch SNI erkennen, dass ich eine andere URL nutze und dann das entsprechende Zertifikat auswählen bevor der Handshake durchgeführt wurde..

Noch ein paar Infos: Ich nutze keine subdomain, sondern domain.tld/owncloud.. Das habe ich glaube ich vergessen zu schreiben.. oder spielt das keine Rolle?

Die Versionen die ich nutze:
- Apache: 2.2.22
- OpenSSL: 1.0.1e

Die neue Konfiguration der vHosts:

owncloud.conf
<VirtualHost domain.tld:443>
        SSLEngine On
        SSLCertificateFile /pfad/owncloud.cert.pem
        SSLCertificateKeyFile /pfad/owncloud.key.pem

        ServerName domain.tld
        DocumentRoot /var/www/owncloud
        <Directory /var/www/owncloud>
                Options FollowSymLinks MultiViews
                AllowOverride All
                Order deny,allow
                Allow from all
        </Directory>
</VirtualHost>

000-default.conf
 
<VirtualHost domain.tld:80>
       ServerName domain.tld
       Redirect permanent / https://domain.tld/
</VirtualHost>

<VirtualHost domain.tld:443>
        SSLEngine On
        SSLCertificateFile /pfad/000-default.cert.pem
        SSLCertificateKeyFile /pfad/000-default.key.pem

        ServerName domain.tld
        DocumentRoot /var/www
        <Directory /var/www/>
                Options FollowSymLinks MultiViews
                AllowOverride All
                Order deny,allow
                Allow from all
        </Directory>
</VirtualHost>

Ich habe auch den SSL Kram erstmal auskommentiert. Also die Ciphersuites usw.. Aktiviere ich später.. Hast du / habt ihr noch ne Idee warum er immernoch nur das erste Zertifikat auswählt?

Gruß Atomique
BirdyB
BirdyB 01.03.2015 um 15:21:06 Uhr
Goto Top
Zitat von @atomique:

owncloud.conf
> <VirtualHost domain.tld:443>
>         SSLEngine On
>         SSLCertificateFile /pfad/owncloud.cert.pem
>         SSLCertificateKeyFile /pfad/owncloud.key.pem
> 
>         ServerName domain.tld
>         DocumentRoot /var/www/owncloud
>         <Directory /var/www/owncloud>
>                 Options FollowSymLinks MultiViews
>                 AllowOverride All
>                 Order deny,allow
>                 Allow from all
>         </Directory>
> </VirtualHost>
> 

000-default.conf
 
> <VirtualHost domain.tld:80>
>        ServerName domain.tld
>        Redirect permanent / https://domain.tld/
> </VirtualHost>
> 
> <VirtualHost domain.tld:443>
>         SSLEngine On
>         SSLCertificateFile /pfad/000-default.cert.pem
>         SSLCertificateKeyFile /pfad/000-default.key.pem
> 
>         ServerName domain.tld
>         DocumentRoot /var/www
>         <Directory /var/www></Directory>
>                 Options FollowSymLinks MultiViews
>                 AllowOverride All
>                 Order deny,allow
>                 Allow from all
>         </Directory>
> </VirtualHost>
> 

Ich habe auch den SSL Kram erstmal auskommentiert. Also die Ciphersuites usw.. Aktiviere ich später.. Hast du / habt ihr noch
ne Idee warum er immernoch nur das erste Zertifikat auswählt?
Jep, habe ich: Du hast 2 Mal den gleichen ServerName und die gleiche Definition des vHosts angegeben. In diesem Fall greift immer die erste gefundene Variante. Ich würde es mal mit Subdomains ausprobieren und wenn es dann unbedingt als Subdirectory sein soll mit Rewrite arbeiten.
Gruß
Beste Grüße!

Berthold
atomique
atomique 01.03.2015 aktualisiert um 16:48:07 Uhr
Goto Top
Okay, ich versuche das mal mit den Subdomains! Hier einfach im CN des Zertifikats owncloud.domain.tld und in der conf beim ServerName owncloud.domain.tld eingeben, richtig?

Vielen Dank!

Edit:

Ich hab das jetzt mal versucht umzusetzen. Er findet auch die subdomain aber nutzt ständig das eine Zertifikat (In diesem Fall 000-default). Ich verzweifel langsam..

Gruß Atomique
coltseavers
coltseavers 01.03.2015 um 23:07:42 Uhr
Goto Top
Hi ho,

das ist schonmal richtig soweit.
Vorher hast Du versucht es mit Unterverzeichnissen zu lösen, und Unterverzeichnisse kann man in Zertifikaten nicht eintragen - deshalb konnte das so auch nicht gehen.

Korrekt ist deshalb der Weg mit den Subdomains. Du kommst der Lösung als näher! face-smile
Wenn Du die Subdomain nun im Zertifikat stehen hast, das Zertifikat im virtuellen Container eingebunden hast, und die Subdomain als ServerName eingetragen hast, dann kann nicht mehr viel fehlen.

Hast Du in Zeile 1 der owncloud.conf auch die Subdomain eingetragen? Ich schreibe in die VirtualHost-Container immer die IP, nicht die TLD, deshalb weiss ich nicht, ob es auf die TLD ankommt, die man dort einträgt.

Bitte nochmal die beiden Config-Dateien posten.

PS:
Ich habe bei meinem Apache unter <VirtualHost ...:80/443> immer die IP stehen, nicht die Domain.
Der Container könnte ja für mehrere Domains zuständig sein. Da Du aber immer nur eine Domain dort eintragen kannst, ist das mal wieder nicht eindeutig.
Dafür reicht dann wirklich die ServerName-Direktive - dort kann man dann auch sämtliche Domains eintragen, für die der Container zuständig ist.
Ausserdem kannst Du so in Deinem Apache (bei Bedarf) dann auch mal mehrere IPs verarbeiten.
atomique
atomique 01.03.2015 um 23:26:46 Uhr
Goto Top
Guten Abend!

ich hab jetzt nochmal etwas rumgebastelt und bin nun auf folgendem Stand:

- Ich habe alles als Subdomain eingerichtet
owncloud.domain.tld
ttrss.owncloud.tld
....
- Ich habe ein Wildcard-Zertifikat erstellt (CN=*.domain.tld)

Das funktioniert soweit auch alles und ich bin nur noch am Feintunen!

Dazu noch ein paar Fragen:
Ich beschäftige mich gerade mit Redirect / Rewrite und naja wie soll ich sagen. Das Ganze ist mir im Moment noch etwas zu hoch, bin da wohl etwas schwer von Begriff im Moment, könnten aber auch die Folgen meiner stundenlangen Arbeit sein :D

- Ich möchte, dass alle Subdomains die ich nicht habe auf eine leere Seite geleitet werden. (Meinetwegen an error.domain.tld)
- Ich möchte, dass alle Seiten von domain.tld (die es ja nicht mehr gibt) an error.domain.tld weitergeleitet werden.
- Außerdem soll alles auf https geleitet werden..!

Der Stand meiner Configdateien:

000-default.conf
 
<VirtualHost domain.tld:80>
        ServerName domain.tld

	# Dieser Teil leitet alle Subdomains auf HTTPS weiter (funktioniert)
        RewriteEngine On
        RewriteCond %{HTTP_HOST} ^(.+)\.*\.tld$
        RewriteRule ^(.*)$ https://%1.tld$1 [R=302,L]

	# Dieser Teil ist geplant gewesen um alle Seiten die domain.tld betreffen weiterzuleiten
        Redirect domain.tld/* https://error.domain.tld/
</VirtualHost>

Ich habe im Zusammenhang mit diesen Wildcard-Zertifikaten gelesen, dass meine domain.tld nun nicht mehr abgesichert ist vom SSL-Zertifikat. Deshalb möchte ich, dass die Nutzung dieser Domain nicht mehr möglich ist. (Und die der Unterseiten mit domain.tld/*)

owncloud.conf
<VirtualHost domain.tld:443>
        ServerName owncloud.domain.tld
        SSLEngine On
        SSLCertificateFile /pfad/wildcard.cert.pem
        SSLCertificateKeyFile /pfad/wildcard.key.pem

        DocumentRoot /var/www/owncloud
        <Directory /var/www/owncloud>
                Options FollowSymLinks MultiViews
                AllowOverride All
                Order deny,allow
                Allow from all
        </Directory>
</VirtualHost>

Ausschnitt von apache2.conf in /etc/apache2
..
NameVirtualHost domain.tld:443
SSLStrictSNIVHostCheck off

Ich hab unten in der Apache2.conf noch diese zwei Zeilen eingefügt. Nun funktioniert alles soweit. Wie gesagt nur noch das mit der Weiterleitung wäre toll. Da komm ich gerade aber nicht wirklich weiter. Hast du / habt ihr mir da vielleicht noch nen kleinen Schubser in die richtige Richtung?

Vielen vielen Dank an euch! Wäre niemals soweit gekommen ohne eure Hilfe!

Gruß Atomique

P.s.: Ich hab das mit den IPs / Namen erstmal so gelassen weil es endlich ging :D
BirdyB
Lösung BirdyB 01.03.2015, aktualisiert am 06.03.2015 um 16:27:42 Uhr
Goto Top
*schubs*
Alles was du nicht explizit definiert hast landet in der Default-Config... Also: Default-Config auf die Fehlerseite zeigen lassen und fertig.
Für die Umleitung würde ich einfach in den vHosts selbst den HTTPS-Rewrite setzen...

Beste Grüße!

Berthold
atomique
atomique 01.03.2015 um 23:57:23 Uhr
Goto Top
Ich probiere es Morgen nach der Arbeit gleich einmal aus und gebe dann Feedback!

Bis dann!
Gruß Atomique
atomique
atomique 05.03.2015 um 23:09:49 Uhr
Goto Top
Guten Abend zusammen!

Ich habe es leider erst heute geschafft mich weiter damit zu beschäftigen! -

Folgenden Stand habe ich:

Meine Anfragen von domain.tld leitet es nun weiter auf https://error.domain.tld.. und ich habe es so eingerichtet, dass er alle Anfragen in https wandelt.

Jetzt gibt es noch zwei Probleme:
- Alle Seiten die es als subdomain nicht gibt, aber ein https vorangestellt haben werden an die nächste willkürliche seite kopiert. Beispiel: Seite https://aa.domain.tld gibt es nicht, sie leitet aber auf eine andere https seite weiter.
- Ich bekomme nun beim starten des Apaches eine bzw. mehrere Meldungen: [warn] NameVirtualHost subsite.domain.tld:80 has no VirtualHosts

Jemand noch eine Idee?

owncloud.conf
<VirtualHost owncloud.domain.tld:80>
        ServerName owncloud.domain.tld
        RewriteEngine On
        RewriteCond %{HTTPS} !=on
        RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
</VirtualHost>

<VirtualHost owncloud.domain.tld:443>
        ServerName owncloud.domain.tldde
        SSLEngine On
        SSLCertificateFile /home/rootdir/ca/certs/wildcard.ggr.cert.pem
        SSLCertificateKeyFile /home/rootdir/ca/keys/wildcard.ggr.key.pem

        DocumentRoot /var/www/owncloud
        <Directory /var/www/owncloud>
                Options FollowSymLinks MultiViews
                AllowOverride All
                Order deny,allow
                Allow from all
        </Directory>
</VirtualHost>

000-default.conf
<VirtualHost domain.tld:80>
        ServerName domain.tld
        RedirectPermanent / https://error.domain.tld/
</VirtualHost>

Übrigens hab ich in der /etc/hosts alle Subdomains bekannt gemacht. (IP -> Subdomain)

Irgendwie klappt das Ganze nicht so ganz wie ich mir das vorstelle. Ist das einfach nicht möglich oder denke ich zu kompliziert? Ich komm irgendwie nicht auf einen grünen Zweig und ich steh langsam echt auf dem Kriegsfuß mit SSL und Apache :D

Gruß und einen schönen Abend an euch
Atomique
BirdyB
BirdyB 05.03.2015 um 23:15:40 Uhr
Goto Top
Zitat von @atomique:

Guten Abend zusammen!

Ich habe es leider erst heute geschafft mich weiter damit zu beschäftigen! -

Folgenden Stand habe ich:

Meine Anfragen von domain.tld leitet es nun weiter auf https://error.domain.tld.. und ich habe es so eingerichtet, dass er alle
Anfragen in https wandelt.

Jetzt gibt es noch zwei Probleme:
- Alle Seiten die es als subdomain nicht gibt, aber ein https vorangestellt haben werden an die nächste willkürliche
seite kopiert. Beispiel: Seite https://aa.domain.tld gibt es nicht, sie leitet aber auf eine andere https seite weiter.

Logisch, du hast ja auch keinen default-Host für HTTPS definiert...
in der 000-default.conf noch ergänzen:
<VirtualHost domain.tld:443>
        ServerName domain.tld
        RedirectPermanent / https://error.domain.tld/
</VirtualHost>

- Ich bekomme nun beim starten des Apaches eine bzw. mehrere Meldungen: [warn] NameVirtualHost subsite.domain.tld:80 has no
VirtualHosts

Jemand noch eine Idee?


Übrigens hab ich in der /etc/hosts alle Subdomains bekannt gemacht. (IP -> Subdomain)

Irgendwie klappt das Ganze nicht so ganz wie ich mir das vorstelle. Ist das einfach nicht möglich oder denke ich zu
kompliziert? Ich komm irgendwie nicht auf einen grünen Zweig und ich steh langsam echt auf dem Kriegsfuß mit SSL und
Apache :D

So schwer ist es eigentlich nicht... Nur wenn ein Host nicht definiert ist, sucht sich der Apache den nächsten passenden vHost aus...

Gruß und einen schönen Abend an euch

Dito!

Atomique

Berthold
atomique
atomique 05.03.2015 um 23:32:05 Uhr
Goto Top
Hi Berthold!

Das habe ich schon probiert gehabt.. Ich bekam dann aber einen "ERR_SSL_PROTOCOL_ERROR".. Wenn ich eine Seite im Browser aufrufe.. Dann bin ich davon ausgegangen, dass das nicht funktioniert face-smile

Gruß Atomique
BirdyB
Lösung BirdyB 05.03.2015, aktualisiert am 06.03.2015 um 16:27:50 Uhr
Goto Top
Hallo Atomique,

mir ist auch grade aufgefallen, dass du die Zertifikate natürlich dort auch angeben musst... Sry, war ein langer Tag...
<VirtualHost domain.tld:443>
        ServerName domain.tld
        RedirectPermanent / https://error.domain.tld/
	SSLEngine On
	SSLCertificateFile /bla/zertifikat.crt
	SSLCertificateKeyFile /bla/key.key
</VirtualHost>
atomique
atomique 06.03.2015 aktualisiert um 12:52:43 Uhr
Goto Top
Hallo zusammen!

@BirdyB: Bin froh, dass du mir so geduldig hilfst! Kein Problem!

Ich habe es nun geschafft, dass alle Umleitungen funktionieren und auch Errorpages angezeigt werden wenn es die Seite nicht gibt. Das funktioniert ganz gut soweit! Vielen Dank! Ein kleines "Problem" gibt es aber noch:

Wenn ich den Apache2 nun neustarte über

service apache2 restart

Dann kommen folgende Meldungen (kommt pro Subdomain die ich eingerichtet habe):

[Fri Mar 06 11:45:11 2015] [warn] NameVirtualHost error.domain.tld:80 has no VirtualHosts

Hier nochmal meine momentane Konfiguration:

000-default.conf
<VirtualHost domain.tld:80>
        ServerName domain.tld
        RedirectPermanent / https://error.domain.tld/
</VirtualHost>

<VirtualHost domain.tld:443>
        ServerName domain.tld
        RedirectPermanent / https://error.domain.tld/

        SSLEngine On
        SSLCertificateFile /pfad/wildcard.cert.pem
        SSLCertificateKeyFile /pfad/wildcard.key.pem
</VirtualHost>

owncloud.conf
<VirtualHost owncloud.domain.tld:80>
        ServerName owncloud.domain.tld

	# Rewrite auf HTTPS
        RewriteEngine On
        RewriteCond %{HTTPS} !=on
        RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
</VirtualHost>

<VirtualHost owncloud.domain.tld:443>
        ServerName owncloud.domain.tld
        SSLEngine On
        SSLCertificateFile /pfad/wildcard.cert.pem
        SSLCertificateKeyFile /pfad/wildcard.key.pem

        DocumentRoot /var/www/owncloud
        <Directory /var/www/owncloud>
                Options FollowSymLinks MultiViews
                AllowOverride All
                Order deny,allow
                Allow from all
        </Directory>
</VirtualHost>

Also nochmal zusammenfassend:

- Ich weiß, dass ich hier mehrmals auf Port 80 lausche, aber wie kann ich das umgehen? Ich muss das doch quasi tun um später auf HTTPS umzuschreiben oder nicht?

- In Zeile 1 der owncloud.conf --> Ist das richtig mit der Subdomain? Da bin ich mir noch nicht ganz sicher ob das so in Ordnung ist. Ich habe jetzt auch erstmal die IP dort draußen gelassen, da das so ganz gut funktioniert hat.

- Gibt es noch irgendwelche Vorschläge um die Konfiguration zu verbessern?


Vielen vielen Dank!

Gruß Atomique

EDIT:

Was vielleicht ganz wichtig ist für mein Problem mit den VirtualHosts:

Ich habe in der port.conf folgendes stehen:
NameVirtualHost error.domain.tld:80
NameVirtualHost owncloud.domain.tld:80
... 
# Für jeden verwendeten Host eine Direktive
BirdyB
BirdyB 06.03.2015 um 13:20:28 Uhr
Goto Top
Kurzer Beitrag von Unterwegs:
Wo hast du denn die error.domain.töd definiert? Die sucht der Apache nämlich...
Wenn du die Fehlermeldung vermeiden möchtest, musst du noch den entsprechenden vHost anlegen...
atomique
atomique 06.03.2015 um 13:41:34 Uhr
Goto Top
Zitat von @BirdyB:
Wo hast du denn die error.domain.töd definiert?

Ich habe die Dateien in /etc/apache2/sites-available definiert und sie dann per "a2ensite" aktiviert (Dann wird ein symbolischer Link von "sites-available" in "sites-enabled" gelegt.

Wenn du die Fehlermeldung vermeiden möchtest, musst du noch den entsprechenden vHost anlegen...

Die vHosts sind ja aber schon in "sites-available" hinterlegt.. habe pro vHost eine Datei angelegt und dann die virtuellen Hosts pro Subdomain darin definiert face-smile

Gruß Atomique
atomique
atomique 06.03.2015 aktualisiert um 16:29:04 Uhr
Goto Top
Sodele

Ich mach jetzt hier mal absichtlich keinen EDIT mehr, da ich das Problem nun weitgehend gelöst habe! Vielen Vielen Dank für eure Hilfe, Ihr habt mich echt weiter gebracht!

Meine Lösung für die Nachwelt, wer weiß ob es nochmal jemanden gibt der in die Verlegenheit kommt:

/etc/apache2/ports.conf
...
NameVirtualHost domain.tld:80
Listen 80

<IfModule mod_ssl.c>
	NameVirtualHost domain.tld:443
    	Listen 443
</IfModule>
...

Ich habe jetzt nur noch zwei NameVirtualHosts! Funktioniert super und er meckert nicht mehr! Außerdem habe ich die Subdomains aus der Definition des vHosts genommen (Siehe Bspsw.: owncloud.conf)

/etc/apache2/apache2.conf
# Options
Options -Indexes

#SNI
SSLStrictSNIVHostCheck off

# ErrorSites
ErrorDocument 404 https://error.domain.tld/

/etc/apache2/sites-available/000-default.conf (Aktiviert mit a2ensite)
<VirtualHost domain.tld:80>
        ServerName domain.tld
        RedirectPermanent / https://error.domain.tld/
</VirtualHost>

<VirtualHost domain.tld:443>
        ServerName domain.tld

        RedirectPermanent / https://error.domain.tld
        SSLEngine On
        SSLCertificateFile /pfad/wildcard.cert.pem
        SSLCertificateKeyFile /pfad/wildcard.key.pem

        # HSTS (mod_headers is required) (15768000 seconds = 6 months)
        Header always add Strict-Transport-Security "max-age=15768000"  
</VirtualHost>

/etc/apache2/sites-available/owncloud.conf (Aktiviert mit a2ensite)
<VirtualHost domain.tld:80>
        ServerName owncloud.domain.tld
        RewriteEngine On
        RewriteCond %{HTTPS} !=on
        RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
</VirtualHost>

<VirtualHost domain.tld:443>
        ServerName owncloud.domain.tld
        SSLEngine On
        SSLCertificateFile /pfad/wildcard.cert.pem
        SSLCertificateKeyFile /pfad/wildcard.key.pem

        # HSTS (mod_headers is required) (15768000 seconds = 6 months)
        Header always add Strict-Transport-Security "max-age=15768000"  

        DocumentRoot /var/www/owncloud
        <Directory /var/www/owncloud>
                Options FollowSymLinks MultiViews
                AllowOverride All
                Order deny,allow
                Allow from all
        </Directory>
</VirtualHost>

Für weitere Subsites nehme ich einfach die owncloud.conf und wandle sie auf die Begebenheiten der neuen Verzeichnisse usw ab. Hier noch die veränderten Inhalte aus der ssl.conf (/etc/apache2/mods-available/ssl.conf):

# SSLCompression
SSLCompression Off

# modern configuration, tweak to your needs
SSLProtocol             all -SSLv2 -SSLv3 -TLSv1
SSLCipherSuite          ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-EC$
SSLHonorCipherOrder     on

Mit diesen Einstellungen bekomme ich beim SSL-Labstest Note B. Problem ist, dass ich keine Zwischenzertifikate verwende und auch nicht "Trusted" bin. Was ja klar ist.

Falls dazu noch jemand einen Verbesserungsvorschlag hat, her damit. Ich markiere das Thema aber jetzt erstmal als gelöst.

Vielen Dank nochmal für die Hilfe, die war echt Gold wert!
Ein super Wochenende an euch!

Gruß Atomique