[doch nicht gelöst] Apache - SSL mit IP/Domainname

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
mrserious
Beiträge: 266
Registriert: 22.06.2013 12:12:03

[doch nicht gelöst] Apache - SSL mit IP/Domainname

Beitrag von mrserious » 13.08.2016 10:46:04

Hallo,

wir betreiben einen Apache, auf dem ein paar PHP-Sachen laufen, unter Anderem eine CalDAV-Installation.
Das ganze soll nur per SSL funktionieren.
Eingerichtet ist alles, es funktioniert auch. Ein Domainname ist vorhanden.
Aber: Aufgrund von DNS-Problemen (im Netz eines anderen Betreibers, bitte keine Diskussion darüber, wir haben bereits alle Optionen durchgespielt) müssen einige Clients (iPhones) auf den Server per IP zugreifen.
HTTPS läuft nicht auf dem Standard-Port.
Das Problem ist: Nutzen wir statt der Domain die IP-Adresse, wollen die iPhones das Zertifikat nichtmehr akzeptieren und können eine Verbindung nur per HTTP einrichten. Für uns natürlich nicht akzeptabel.

Was tun?
Kann man da etwas an der Apache-Konfiguration ändern?
Ich habe bereits <virtualhost $IP:443> probiert, aber das führt ebenfalls zu Problemen.

Debian 64bit, stable.

Code: Alles auswählen

<virtualhost *:443>
        SSLEngine On
        SSLCertificateFile /etc/apache2/ssl/apache.pem
        DocumentRoot /var/www/cloud
</virtualhost>
Zuletzt geändert von mrserious am 15.08.2016 13:38:27, insgesamt 2-mal geändert.

Mozie
Beiträge: 31
Registriert: 20.05.2015 13:09:39

Re: Apache - SSL mit IP/Domainname

Beitrag von Mozie » 13.08.2016 14:25:20

Hi,

das liegt an den SSL Zertifikat. Du hast sicherlich die Domain angegeben und nicht die IP.
Bei einem SSL Zertifikat wird der eingegebene Domainname (im Browser) mit dem Domainnamen des Zertifikates verglichen.

Einige Browser akzeptieren es nach einer Meldung, wenn die Domains nicht übereinstimmen.
Andere Programme können da aber wirklich Probleme bereiten.

Hoffe ich konnte etwas helfen.

MFG Micha

mrserious
Beiträge: 266
Registriert: 22.06.2013 12:12:03

Re: Apache - SSL mit IP/Domainname

Beitrag von mrserious » 13.08.2016 16:11:44

Konntest du, denn jetzt habe ich einen Anhaltspunkt ;-)


Habe soeben ein neues Zertifikat erstellt, als FQDN die reine IP des Servers eingetragen.
Leider funktioniert's auf dem iPhone aber nicht...
Zuerst habe ich den Domain-Namen eingetragen gelassen. Dann kam natürlich die Meldung, das (neue) Zertifikat könne nicht verifiziert werden.
Das lief dann aber problemlos.
Bloß: Sobald ich die Domain durch die IP ersetze, funktioniert's nicht mehr...
Muss ich zusätzlich den Port angeben? Bisher ist es in der Form "123.456.789.101", muss ich es so angeben: "123.456.789.101:1234" ?

Edit: Habe es nun in folgender Form eingegeben: "https://123.456.789.101:1234"
Funktioniert aber ebenfalls nicht.

Edit2: Auch bei Eingabe garkeiner Domain funktioniert's nicht.

Edit3: Auch nicht in der Form "https://123.456.789.101"

Mozie
Beiträge: 31
Registriert: 20.05.2015 13:09:39

Re: Apache - SSL mit IP/Domainname

Beitrag von Mozie » 13.08.2016 22:25:42

Wenn du die IP im Browser aufrufst, was passiert dann?
Wenn du virtualhosts nutzt, dann musst du einen Namen angeben.

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

Re: Apache - SSL mit IP/Domainname

Beitrag von Cae » 14.08.2016 05:09:43

Der Standard dazu sieht vor, dass man den subjectAltName setzt [1]. Da und auch sonst (z.B. im common name) ist grundsaetzlich der Host-Teil einer URL anzugeben, keine Ports, kein Protokolll, kein Pfad. Schau' dir [2] dazu an, wenn das unklar ist.

Ich habe allerdings eher den Eindruck, dass du da lustig rumprobierst, aber daran scheiterst, dass die Endgeraete deine CA nicht kennen und/oder ihr nicht vertrauen.

Gruss Cae

[1] https://tools.ietf.org/html/rfc2818#section-3.1 Ctrl-F "IP address"
[2] https://de.wikipedia.org/wiki/Uniform_R ... tor#Aufbau
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

mrserious
Beiträge: 266
Registriert: 22.06.2013 12:12:03

Re: Apache - SSL mit IP/Domainname

Beitrag von mrserious » 14.08.2016 16:44:25

Der Fehler ist mittlerweile entdeckt:
Mit dem Zertifikat ist alles iO (momentan steht aber tatsächlich Protokoll, IP und Portnummer drin).
Aber in der PHP-Programmierung war noch ein Fehler, weshalb das iPhone die Verbindung nicht annehmen wollte...
Hatte also garnichts mit Apache zu tun.

mrserious
Beiträge: 266
Registriert: 22.06.2013 12:12:03

Re: [doch nicht gelöst] Apache - SSL mit IP/Domainname

Beitrag von mrserious » 15.08.2016 13:40:37

So, das Problem schien gelöst, ist es jedoch nicht.
Im Browser oder per Thunderbird mit CalDAV funktioniert alles einwandfrei.
Nicht jedoch auf dem iPhone oder auf Mac OS Rechnern.
Ich habe an FQDNs in dem Zertifikat inzwischen alles mögliche probiert (momentan ist sie in der Form http://www.meinedomain.com).

Zu sagen ist noch: Auf dem Anschluss liegt leider auf den Ports 80/443 ein anderer Webserver (physikalisch anderes Gerät, andere DMZ), der unsere Hauptdienste zur Verfügung stellt.

Apache wirft mir folgende Fehlermeldung:

Code: Alles auswählen

[Mon Aug 15 13:35:19.813830 2016] [ssl:warn] [pid 2768] AH01906: 192.168.1.2:443:0 server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Mon Aug 15 13:35:19.813872 2016] [ssl:warn] [pid 2768] AH01909: 192.168.1.2:443:0 server certificate does NOT include an ID which matches the server name
wobei 192.168.1.2 die IP des Servers in der DMZ ist.

Der einzige konfigurierte Host schaut wie folgt aus:

Code: Alles auswählen

<virtualhost *:443>
        ServerName meine-domain.com:9101
        SSLEngine On
        SSLCertificateFile /etc/apache2/ssl/apache.pem
        SSLCertificateKeyFile /etc/apache2/ssl/apache.key
        DocumentRoot /var/www/nextcloud
        CustomLog /var/log/apache2/nextcloud_apache.log combined
        ErrorLog /var/log/apache2/nextcloud_apache_error.log
</virtualhost>
Ihr seht: Es ist eine NextCloud. Deren trusted-Domains Array schaut aus wie folgt:

Code: Alles auswählen

  'trusted_domains' => 
  array (
    0 => '12.34.56.78:9101',
    1 => '12.34.56.78',
    2 => 'meine-domain.com:9101',
    3 => 'meine-domain.com',
  ),
Einige Clients greifen über das LAN auf die DMZ zu. Kommen also aus verschiedenen internen LAN-Bereichen, z.B. 10.0.0.0/24.


Edit: Das Zertifikat inkl. der IP zu erstellen bekomme ich nicht hin (also subjectAltName). Habe verschiedene Anleitungen ausprobiert, aber bisher funktioniert keine davon...
Leider ist es halt unbedingt nötig, über die IP auf die Seite zugreifen zu können. Auf den Domainnamen kann ich also verzichten.

mrserious
Beiträge: 266
Registriert: 22.06.2013 12:12:03

Re: [doch nicht gelöst] Apache - SSL mit IP/Domainname

Beitrag von mrserious » 15.08.2016 16:20:39

Edit: Die Meldung

Code: Alles auswählen

[Mon Aug 15 15:04:41.962248 2016] [ssl:warn] [pid 4206] AH01909: 192.168.1.2:443:0 server certificate does NOT include an ID which matches the server name
Konnte ich dadurch eliminieren, dass ich den ServerName auf die richtige (äußere!) IP gesetzt habe.

mrserious
Beiträge: 266
Registriert: 22.06.2013 12:12:03

Re: [doch nicht gelöst] Apache - SSL mit IP/Domainname

Beitrag von mrserious » 15.08.2016 20:36:38

Edit:

Mittlerweile konnte ich einen subjectAltName hinzufügen... es funktioniert denoch nicht.

Code: Alles auswählen

Attributes:
        Requested Extensions:
            X509v3 Subject Alternative Name: 
                IP Address:12.34.56.78
            X509v3 Basic Constraints: 
                CA:FALSE
            X509v3 Key Usage: 
                Digital Signature, Non Repudiation, Key Encipherment

Antworten