apache/2.2.22: https://<VirtualHost> ja, aber Zugriff auf https://<public ipadress> unterbinden

Hinweis: In dem Thema apache/2.2.22: https://<VirtualHost> ja, aber Zugriff auf https://<public ipadress> unterbinden gibt es 4 Antworten. Der letzte Beitrag () befindet sich ganz unten auf dieser Seite.
  • Hallo,


    ich habe einen Apache in Version 2.2.22 am Laufen und so aufgesetzt, dass er ganz normal auf http (also port 80) bei ipAdresse und virtual host reagiert.
    Nun wollte ich den Server so erweitern, dass auch https (port 443) unterstützt wird.
    Dies ist mir soweit gelungen, dass die entsprechenden Zertifikate vorliegen und auch für domain1 und domain2 übertragen werden und somit der Zugriff auf die entsprechenden Seiten funktioniert.


    Was mich jetzt noch stört ist, dass wenn man einen Zugriff auf meine öffentliche ipAdresse https://<xxx.xxx.xxx.xxx> macht, im Browser z.B. Firefox eine Fehlermeldung angezeigt wird dass das übertragene Zertifikat nicht passt und nur für die Domains domain1, domain2, ... ausgestellt wurde.


    Dies würde ich nun gerne noch unterbinden, dass das Zertifikat in diesem Fall bei Zugriff per ipAdresse übertragen wird und somit auch die Information über die gehosteten virtuellen Adressen.


    Zusammengefasst:
    http://<ipAdresse> - ja
    https://<ipAdresse> - soll stumm bleiben
    http:// bzw https://<virt.Server> - soll funktionieren


    ps: ich habe auch bereits mit 'SSLStrictSNIVHostCheck off/on' experimentiert, jedoch ohne den entsprechenden Erfolg.


    Gedanken: Ich denke, dass ich mit einer passenden Konfiguration einer default-ssl Einstellung, wie versucht, für den Apache auch nicht unbedingt weiterkommen werde, da das Zertifikat bereits im Vorfeld übertragen wird bevor irgendwelche Konfigurationen wie redirects zum tragen kommen ... ich andererseits für eine ipAdresse kein Zertifikat ausgestellt bekomme und diese sich zudem ja alle 24h ändert.


    Also: wie bekomme ich mein https Zugriff auf die ip Adresse Stumm und behalte gleichzeitig die Anfragen für die virtuellen hosts am Laufen.


    Grüße & Danke
    ?(

    honi soit qui mal y pense :: lärnt L.i.n.u.x zu buchstabieren

    Für den Inhalt des Beitrages 117682 haftet ausdrücklich der jeweilige Autor: TuxSv748

  • Gar nicht.
    Certs sind an Domainnamen gebunden.


    Und ein Cert für eine IP Adresse wirst du sicher nicht kriegen.
    Dazu müsste dein Provider dir eine feste IP, die selbst schon kostest, falls sie überhaupt angeboten wird.
    Ich selbst habe so ein Cert noch nie gesehen, obwohl manche munkeln, so etwas könne man machen. (Ich bezweifle das eher)
    Jedenfalls wäre ein solches Cert wohl richtig teuer.


    Schalte einfach den Webserver für die IP-Adresse aus.

  • @Berichtigung, danke erst mal soweit.


    Vielleicht liest das ja noch jemand die nächsten Tage und hat mir noch den einen oder anderen Tip, evtl kommen apache-ich-https auch gar nicht zueinander, denn was mich stört sind 2 Punkte.


    1) unter http/port 80 kann ich mir virtuelle hosts einrichten und behalte das Wissen über die domains bei mir, bzw. demjenigen dem ich es mitteile. Sobald ich den Apache für https/port 443 einrichte posaunt mir der Indianer das hinaus sobald man per https://<ipadresse> darauf zugreift. Direkt sichtbar im Browser und evtl. nicht zu unterbinden (?)


    2) Scheint das Cert selbst zu sein, oder die Weise wie ich es generiert habe. In meinem Fall per acme.sh script, das auch dafür sorgen sollte diese rechtzeitig bei Ablauf zu erneuern. Hierbei habe ich 3 domains angegeben, für 2 domains wurden die Daten *.cer, *.ket etc auf Platte geschrieben, warum eine Domain fehlt muss ich noch ergründen. Auf jeden Fall scheinen in jedem Cert die Informationen über alle 3 domains enthalten zu sein - oder ist das nur mein Eindruck? Ich schließe zumindest darauf, da mir der Indianer bei Zugriff auf https://<ipadresse> ein solches Zertifikat liefert und darin alle 3 domains aufgeführt sind.



    Meine Haustüre sagt ja auch nicht, der Schlüssel passt hier nicht, aber es gibt noch die 3 anderen Türen wo er passt. 8o



    ?(

    honi soit qui mal y pense :: lärnt L.i.n.u.x zu buchstabieren

    Für den Inhalt des Beitrages 117723 haftet ausdrücklich der jeweilige Autor: TuxSv748

  • ...Sobald ich den Apache für https/port 443 einrichte posaunt mir der Indianer das hinaus sobald man per https://<ipadresse> darauf zugreift....

    Dann solltest du einfach deinen Apache sauber konfigurieren. Wenn du deine Konfig nicht mitteilst, kann man auch nicht helfen.


    Und statt "posaunt hinaus" würden wir lieber eine Kopie der Ausgabe dieser Posaunen lesen.



    Scheint das Cert selbst zu sein, oder die Weise wie ich es generiert habe. In meinem Fall per acme.sh script, das auch dafür sorgen sollte diese rechtzeitig bei Ablauf zu erneuern.

    Welches acme.sh? (Es gibt Tonnen davon.)



    Hierbei habe ich 3 domains angegeben, für 2 domains wurden die Daten *.cer, *.ket etc auf Platte geschrieben, warum eine Domain fehlt muss ich noch ergründen. Auf jeden Fall scheinen in jedem Cert die Informationen über alle 3 domains enthalten zu sein - oder ist das nur mein Eindruck? Ich schließe zumindest darauf, da mir der Indianer bei Zugriff auf https://<ipadresse> ein solches Zertifikat liefert und darin alle 3 domains aufgeführt sind.
    Meine Haustüre sagt ja auch nicht, der Schlüssel passt hier nicht, aber es gibt noch die 3 anderen Türen wo er passt.

    Welche drei Domains? Poste ein ls -Al /etc/letsencrypt
    acme.sh wirst du wohl mit Letsencrypt verwenden.
    Dort gibt es keine Certs für IP- Adressen. Ganz sicher nicht.


    Und nein: Die Certs verschiedener Domains sind verschieden. Sie wissen nichts voneinander.
    Was dein Apache liefert, legt deine (hier fehlende) Konfig fest. Sonst niemand.

  • GitHub - Neilpang/acme.sh: A pure Unix shell script implementing ACME client protocol


    mir ist noch eingefallen, dass ich im Rahmen der Installation dieses script mehrmals aufgerufen habe mit unterschiedlichen Optionen, weil es nicht gleich beim ersten Mal funktioniert hat.
    Darunter mit der Option '--apache -d <domain1> -d <domain2> -d <domain3>'
    Später mit u.a. mit der option(en) '-d <domain1> -w /etc/apache2/ssl/<domain1> -d <domain2> -w /etc/apache2/ssl/<domain2> -d <domain3> -w /etc/apache2/ssl/<domain3>', und die jeweils in der VirtualHost Section händisch eingetragen.


    /etc/letsencrypt
    existiert nicht, die Daten wurden vom script anderweitig abgelegt, bzw. von mir der Pfad /etc/apache2/ssl/<domain>/. angegeben zum Erzeugen



    Ich geh momentan davon aus, dass jeder Aufruf weitere Certs hinzugefügt hat und insb. der erste Aufruf mit --apache Option noch weiterhin aktiv ist und durch die weiteren Aufrufe des Scripts nicht deaktiviert wurde. Das würde erklären, dass ich bei Aufruf https://<ipadresse> das Cerf mit allen 3 domains geliefert bekomme.


    z.B. eine VirtualHost Section, meine eigentliche domain ist durch <***> ersetzt

    Ok, ich denke ich muss den Server erst mal putzen, d.h. versuchen insb. das per --apache Option erzeugte Cert/Daten mit den 3 domains wieder loszuwerden, dann dürfte sich das ein oder andere Problem damit schon erledigt haben.


    (ps: scheint nicht beschrieben zu sein wie ich zuviel beantragte Certs durch mehrfache acme.sh Aufrufe wieder aus dem System entfernen kann)


    :)

    honi soit qui mal y pense :: lärnt L.i.n.u.x zu buchstabieren

    4 Mal editiert, zuletzt von TuxSv748 ()

    Für den Inhalt des Beitrages 117733 haftet ausdrücklich der jeweilige Autor: TuxSv748