Das längste Thema

  • Natürlich kann man Port 80 und 443 auf der FritzBox forwarden, denn das Admin Interface ist ja im Normalfall nur intern erreichbar.


    forum.netcup.de/system/attachment/6008/


    Und natürlich kann man ein SAN mit CNAMES drin erstellen. Beliebige, egal wem die Domain gehört und was dahinter sonst noch so kommt. Schließlich ist $SOFTWARE im Normalfall egal, ob da jetzt ne IP oder nen CNAME hinter hängt. Kümmert sich ja das DNS drum.


    Außerdem prüft http-01 einfach nur, ob die Domain auf meinen Server zeigt.


    Code
    acme.sh --issue \
        -d hi.netcup.forum.serverless.industries \
        -d hi.netcup.forum.perryflynn.de \
        -d hi.netcup.forum.nerdbridge.de \
        -d linse.anyserver.net \
        -w /var/www/html/

    forum.netcup.de/system/attachment/6005/



    (Eine Domain von den gezeigten gehört übrigens nicht mir, dass ist also auch kein Problem)


    Wobei ich gerade nicht kreativ genug bin einen Grund zu finden, wieso ich die DynDNS Adresse in das Cert mit reinnehmen sollte, wenn ich in der Anwendung ausschließlich den CNAME benutze. Auch das ist allen Anwendungen jenseits der DNS Auflösung vollkommen egal, weil die da eh nichts von mitbekommen.


    Das einzige was da wirklich eine Ausstellung verhindern kann, ist ein CAA Record der letencrypt.org explizit ausschließt.

  • geht ein Mischen von http-01 und dns-01 bei der Let's Encrypt Validierung bei nur einem Zertifikat?

    Zumindest die Clients die ich benutze können das nicht. Ob das Protokoll das vorsieht, keine Ahnung.


    Ich mache im Normalfall einfach alles via DNS, da acme.sh für all meine Domain Provider entsprechende Plugins bietet. Die Certs werden auf meinem Ansible Host erzeugt und regelmäßig auf die Systeme verteilt. Hab also normal nichtmal nen acme Client auf den Servern.

  • Warum soll das nicht gehen? Wenn man z.B. die HTTP-Challenge von Let's Encrypt verwendet, sollte es keine Probleme geben. Oder übersehe ich da etwas?

    Zumindest die Clients die ich benutze können das nicht.

    genau der eine Fall, dass man ein Wildcard SSL-Zertifikat haben will,

    bei dem im SAN auch noch ein Hostname sein soll, über welchen man keine Kontrolle im DNS hat,

    scheitert damit offensichtlich bei Let's Encrypt;

    Grüße / Greetings

    Walter H.


    RS, VPS, Webhosting - was man halt so braucht;)

  • bei dem im SAN auch noch ein Hostname sein soll, über welchen man keine Kontrolle im DNS hat,

    scheitert damit offensichtlich bei Let's Encrypt;

    Ah das hab ich überlesen. Ja das geht wirklich nicht. Da würde ich einfach zwei Zertifikate erzeugen, die vHost config in ein include file packen und einfach zwei vHosts mit unterschiedlichen Certs erstellen und jeweils den include da reinpacken.


    Wenn das nicht geht weils nicht um Webserver geht hast Du leider pech gehabt. Wildcard geht halt nur über dns-01.

  • Für eigene (Unter-)Domänen ("[x.y.]example.org") funktioniert das; "x.y.example.org. CNAME a.b.example.org." erfordert streng genommen nur die Aufnahme von "x.y.example.org" ins TLS-Zertifikat/SAN, denn Anfragen an "a.b.example.org" werden hierbei ja "im Namen"/unter Verwendung von x.y.example.org gesendet.

    genau das ist eben nicht so;

    (1) ein DNS CNAME heisst nur, dass die DNS-Auflsg. bis zur IP-Adresse eben üiber einen anderen Host laufen kann, und wie in Deinem Bsp. (ich setze jetzt eine maximale Indirektion von 1 voraus) die IP-Adresse von a.b.example.org

    (2) in Deinem Beispiel ist beides gültig: sowohl https://a.b.example.org/ als auch https://x.y.example.org/  und darum brauchst Du auch beides im SSL-Zert. (wenn nicht im Subject selbst dann zumindest in den SANs)

    (3) und wenn an Stelle von a.b.example.org jetzt x.y.myfritz.net steht gilt das selbe;

    (3) übernehme ich im Folgenden mal genau so, um es einfacher nachvollziehbar zu gestalten (und "Wildcard-kompatibel" zu halten).


    (1) ist soweit korrekt; wenn man einen Eintrag "server.vpn.example.org. CNAME 0123456789abcdef.myfritz.net." hat, werden bei Anfragen an einen autoritativen Nameserver alle CNAME-Verweise aufgelöst und bei Verwendung von "curl -4|-6 http[s]://server.vpn.example.org:port" letztlich die IPv4-/IPv6-Adresse(n) kontaktiert, welche ermittelt werden konnte(n), sofern es welche gibt.


    (2) Stimmt so nicht. Ich habe bspw. ein Wildcard-Zertifikat für *.vpn.example.org (+ vpn.example.org + example.org im Zertifikat und nichts anderes, s.u.), und wenn ich obigen curl-Befehl mit der richtigen Portnummer aufrufe, wobei der zugehörige Port an ein Endgerät weitergeleitet wird, welches mithilfe eines Webservers das entsprechende http[s]-Protokoll bedient, funktioniert alles wie erwartet. "0123456789.myfritz.net" wird ausschließlich beim DNS-Lookup ausgewertet (diese Auswertung ist insbesondere unabhängig von späteren Client-Anfragen); Client-Anfragen werden hier aber nach wie vor server.vpn.example.org verwenden (genau so ist CNAME ja definiert), was sich auch im Webserver-Log widerspiegelt. Nur genau dann, wenn direkt auf http[s]://0123456789.myfritz.net[:port] zugegriffen werden soll, brauche ich entweder ein separates oder kombiniertes (SAN-)TLS-Zertifikat.

    Code
    % openssl x509 -text -noout -in int-vpn-local_rsa_cert.pem | grep \.vpn | sed -e 's|ZENSIERT.de|example.org|g'
            Subject: CN = *.vpn.example.org
                    DNS:*.vpn.example.org, DNS:vpn.example.org, DNS:example.org
    %

    VServer IOPS Comparison Sheet: https://docs.google.com/spreadsheets/d/1w38zM0Bwbd4VdDCQoi1buo2I-zpwg8e0wVzFGSPh3iE/edit?usp=sharing

  • Natürlich kann man Port 80 und 443 auf der FritzBox forwarden, denn das Admin Interface ist ja im Normalfall nur intern erreichbar.


    forum.netcup.de/system/attachment/6008/
    forum.netcup.de/system/attachment/6005/

    Die Bilder sehe ich leider nicht?


    Und Port 80/443 habe ich bislang bei der gemieteten Fritz!Box 6490C auch dann nicht weiterleiten können, wenn ich mich auf den Kopf stelle (fördert lediglich die Durchblutung); inwieweit das an einer Firmware-Modifikation des Internet-Service-Providers liegen könnte, habe ich noch nicht eruiert. Beide Ports durchzuleiten ist für meine Zwecke bislang nicht wirklich erforderlich, weil ich primär mehrere Instanzen eines tang-Diensts hinter der Fritz!Box betreibe.

    VServer IOPS Comparison Sheet: https://docs.google.com/spreadsheets/d/1w38zM0Bwbd4VdDCQoi1buo2I-zpwg8e0wVzFGSPh3iE/edit?usp=sharing

  • Die Bilder sehe ich leider nicht?

    Interessant. Sind ganz normale Forum Attachments. Das eine zeigt meine Port Forwarding Settings, dass andere die Liste der SAN Einträge in meinem Test Cert.


    gemieteten Fritz!Box 6490C

    Dann wird dass das Problem sein. Mein Testanschluss besitzt eine gekaufte FritzBox an einem VDSL Anschluss der Telekom. Dort funktioniert das Freigeben von HTTP und HTTP ohne Probleme.

  • (2) Stimmt so nicht.

    Es stimmt doch; f. den Browser ist es unerheblich ob die IP-Adresse direkt von einem A/AAAA Record kommt od. von einem mit einer mehrfachen Indirektion referenzierten CNAME Eintrag;

    genau deswegen aufpassen, welche CNAME Records man setzt;


    veranstaltet jemand sowas ...

    Code
    host1.domain1.tld CNAME host2.domain2.tld
    host2.domain2.tld CNAME host3.domain3.tld
    ...
    hostm.domainm.tld CNAME hostn.domainn.tld  ; n = m + 1
    hostn.domainn.tld A  46.57.17.161
    hostn.domainn.tld AAAA  2001:2345:abcd:ef00::1

    dann braucht es auch entsprechendes im bzw. in den SSL-Zertifikat/-en;

    jedenfalls müssen alle möglichen Hostnamen serverseitig abgefangen werden¹,

    und es darf nicht zu einem undefiniertem Verhalten bei Verwendung von z.B. hostk.domaink.tld (mit 1 < k <= n) kommen;


    ¹ bei z.B. HTTP(S) genügt einfach eine 404 Seite, das macht ,am bein Apache beim default vHost;

    ein Weglassen von Hostnamen im SSL Zertifikat führt früher od. später sicher zu einem Zertifikatsfehler;


    denn: sich darauf zu verlassen, so wie Du es angedeutet hast, dass z.B. "0123456789.myfritz.net" od. hier host2 bis hostn

    nur beim DNS-Lookup ausgewertet wird/werden, ist ein schwerwiegender Fehler;8o


    darum: will man, dass z.B. "0123456789.myfritz.net" gar nicht zur Anwendung kommt, dann soll man gleich keinen CNAME darauf setzen;;)


    perryflynn ich sehe die Bilder auch nicht; ein Klick darauf bringt einen Forum Fehler "Seite nicht gefunden"

    Grüße / Greetings

    Walter H.


    RS, VPS, Webhosting - was man halt so braucht;)

  • Es stimmt doch; f. den Browser ist es unerheblich ob die IP-Adresse direkt von einem A/AAAA Record kommt od. von einem mit einer mehrfachen Indirektion referenzierten CNAME Eintrag;

    Ja, das steht so in meinem vorherigen Posting.

    veranstaltet jemand sowas ...

    Code
    host1.domain1.tld CNAME host2.domain2.tld
    host2.domain2.tld CNAME host3.domain3.tld
    ...
    hostm.domainm.tld CNAME hostn.domainn.tld  ; n = m + 1
    hostn.domainn.tld A  46.57.17.161
    hostn.domainn.tld AAAA  2001:2345:abcd:ef00::1

    dann braucht es auch entsprechendes im bzw. in den SSL-Zertifikat/-en;

    Nein, braucht man nicht. Wäre das der Fall, würde sich curl ja in meinem vorherigen Beispiel bitterlich beschweren! Da gibt es keine Fehlermeldung, wenn nur "http[s]://host1.domain1.tld[:port]" angesprochen wird; hier der anonymisierte Mitschnitt (aaa.bbb.ccc.ddd stammt vom DNS-A-Eintrag für 0123456789abcdef.myfritz.net):

    Einfach einmal selbst ausprobieren.

    VServer IOPS Comparison Sheet: https://docs.google.com/spreadsheets/d/1w38zM0Bwbd4VdDCQoi1buo2I-zpwg8e0wVzFGSPh3iE/edit?usp=sharing

  • (War zu langsam für eine Ergänzung des Postings.)

    jedenfalls müssen alle möglichen Hostnamen serverseitig abgefangen werden¹,

    und es darf nicht zu einem undefiniertem Verhalten bei Verwendung von z.B. hostk.domaink.tld (mit 1 < k <= n) kommen;

    Es gibt in diesem Zusammenhang kein undefiniertes Verhalten. Entweder die DNS-Auflösung liefert eine/mehrere IPs zurück, dann wird/werden diese kontaktiert, oder es gibt keine IP, dann wird eine Fehlermeldung erzeugt (anwendungs-/protokollabhängig). Wird die IP-Adresse kontaktiert und tritt dabei ein Fehler auf, ist auch das vollständig definiert. Alles durch entsprechende RFCs geregelt (auch, was "Brüche" in "CNAME-Ketten" anbelangt).

    VServer IOPS Comparison Sheet: https://docs.google.com/spreadsheets/d/1w38zM0Bwbd4VdDCQoi1buo2I-zpwg8e0wVzFGSPh3iE/edit?usp=sharing

  • m_ueberall Du hast was übersehen;8o

    darum formulier ich meine Aussage etwas anders ...

    alle im DNS existierenden Records, welche zu einer definierten IP(v6) Adresse führen müssen auf diesem Host bei entsprechenden

    Abfragen des entsprechenden Protokolls zu einem definierten Verhalten führen;


    Nein, braucht man nicht. Wäre das der Fall, würde sich curl ja in meinem vorherigen Beispiel bitterlich beschweren!

    doch man braucht es, Dein Beispiel geht an der aufgezeigten Problematik vorbei;


    und bei Verwendung von "curl -4|-6 http[s]://server.vpn.example.org:port" letztlich die IPv4-/IPv6-Adresse(n) kontaktiert, welche ermittelt werden konnte(n), sofern es welche gibt.

    das ist ja nur die halbe Wahrheit; im HTTP-Protokoll hast ja auch noch "Host: ...", und das spielt hier rein; :P

    und da kann streng genommen jeder beliebige Hostname vorkommen,

    aber auf jeden Fall alle welche im DNS auf die IP-Adresse des Hosts verweisen;

    also hättest bei Deinem Zertifikat mit folgendem auf jedem Fall ein Problem

    curl -4|-6 http[s]://0123456789.myfritz.net:port


    darum sagte ich ja

    will man, dass z.B. "0123456789.myfritz.net" gar nicht zur Anwendung kommt, dann soll man gleich keinen CNAME darauf setzen;

    und um es etwas abgehärtet zu betrachten, auch keinen A/AAAA Record mit "0123456789.myfritz.net" im DNS haben;;)

    Grüße / Greetings

    Walter H.


    RS, VPS, Webhosting - was man halt so braucht;)

  • Grrr. Ich könnte meine Nextcloud News App gerade an die Wand klatschen. Zeigt plötzlich die Feeds nicht mehr an. Wenn ich sie aber neu abonnieren will, dann heisst es, dass der Feed bereits existiert. Wie setze ich das notfalls zurück, so dass ich neu abonnieren kann? Oder habe ich irgendwo eine Einstellung übersehen/versehentlich geändert? Das hat jetzt mindestens eine Woche lang fuktioniert, eher länger. Und vor einer halben Stunde war plötzlich alles weg.

  • Hmm, sehe gerade, die Feeds sind wohl in der Datenbank gespeichert. Aber bevor ich da versuche zu reparieren bzw Einträge zu löschen, setzte ich lieber die ganze News-App zurück, dafür gibts ja eine Anleitung in der Admin-Doku. Aber jetzt nicht mehr. Warum passiert so ein Mist eigentlich immer dann, wenn man keine Zeit hat? :evil::rolleyes:

  • Um diese Diskussion abzuschließen – Das ist überhaupt kein Problem. Um das Beispiel wieder aufzugreifen: entweder man entschließt sich dazu, ein passendes Zertifikat zu installieren oder eben nicht:

    […] Nur genau dann, wenn direkt auf http[s]://0123456789.myfritz.net[:port] zugegriffen werden soll, brauche ich entweder ein separates oder kombiniertes (SAN-)TLS-Zertifikat.

    Fehlermeldungen sind ein definiertes Verhalten(!!!111einself), denn niemand ist gezwungen, auf Anfragen "sinnvoll in den Augen des Anfragenden" zu reagieren (analog zu "Pings" oder klassisch bei Telefonanrufen); die einfachst-mögliche Lösung hierfür ist es, das Standardverhalten auszunutzen, auf welcher Protokoll-Ebene auch immer (denn der Anfragende ist dafür verantwortlich, was er mit jedwedem Ergebnis, welches er erhält, umgeht). Im Nachfolgenden sind aaa,bbb,ccc,ddd,nnnnn wie üblich numerisch:

    Zitat

    % curl --resolve gibt.es.gar.nicht:nnnn:aaa.bbb.ccc.ddd -4 https://gibt.es.gar.nicht:nnnn

    curl: (51) SSL: no alternative certificate subject name matches target host name 'gibt.es.gar.nicht'

    % curl -4 https://aaa.bbb.ccc.ddd:nnnn

    curl: (51) SSL: no alternative certificate subject name matches target host name 'aaa.bbb.ccc.ddd'

    (Es steht dem Anfragenden hierbei frei, das abrufbare passende Zertifikat zu verwenden oder von der Nutzung abzusehen.)

    Analog lassen sich selbst-signierte TLS-Zertifikate einsetzen, welche alles abdecken (auch IP-Adressen), wobei es wiederum dem Nutzer überlassen ist, ob er das akzeptiert, oder – etwas aufwendiger – man lässt alle Aufrufe ins Leere laufen (Timeout als definierte Fehlersituation auf der Seite des Anfragers).

    VServer IOPS Comparison Sheet: https://docs.google.com/spreadsheets/d/1w38zM0Bwbd4VdDCQoi1buo2I-zpwg8e0wVzFGSPh3iE/edit?usp=sharing

  • So einfach kommst du aus dieser Diskussion nicht raus, Don Quijote. :)

    /me reicht noch einen Link nach für den letzten Satz im letzten Posting (https://github.com/Lochnair/xt_tls"xt_tls is an extension for netfilter/IPtables that allows you to filter traffic based on TLS hostnames") und schließt panisch die Browser-Reiter mit https://forum.netcup.de auf allen Geräten… 8o

    VServer IOPS Comparison Sheet: https://docs.google.com/spreadsheets/d/1w38zM0Bwbd4VdDCQoi1buo2I-zpwg8e0wVzFGSPh3iE/edit?usp=sharing

  • Jetzt gibt es bei netcup sogar schon 0-Betragsprovisionen auf 0-Betragsrechnungen:


    Provision ist zu hoch für aktuelle Rechnung:

    0,00 EUR

    Provision fuer Rechnung nc-xxxxxxxxx, Betrag: 0

    Wir versuchen die Provision mit kommender Rechnung zu verrechnen.

    Für private Kunden darf Provision nicht ausgezahlt werden.



    Wie krass ist das denn? Wenn das die Greta wüsste...

  • Hmm, sehe gerade, die Feeds sind wohl in der Datenbank gespeichert. Aber bevor ich da versuche zu reparieren bzw Einträge zu löschen, setzte ich lieber die ganze News-App zurück, dafür gibts ja eine Anleitung in der Admin-Doku. Aber jetzt nicht mehr. Warum passiert so ein Mist eigentlich immer dann, wenn man keine Zeit hat? :evil::rolleyes:

    War wohl irgendeine Tabelle kaputt. Ich habe einfach mal probiert, die drei Tabellen im Zusammenhang mit der News-App reparieren zu lassen, bevor ich alles zurücksetze. Jetzt ist alles wieder da. Vertrauenerweckend ist freilich anders. :rolleyes: