Metainformationen zur Seite
  •  

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
reverse_proxy_opnsense [2020/05/06 18:17] – [Übersicht zum Aufbau des Netzes] cbreverse_proxy_opnsense [2020/05/10 09:52] (aktuell) – [Quellen & Links] cb
Zeile 18: Zeile 18:
 Plane das Netzwerk und die Serveradressen! Die restlichen Maschinen außer OPNsense können bereits installiert sein, man kann sie ja dann in den virtuellen Netzen verschieben. Plane das Netzwerk und die Serveradressen! Die restlichen Maschinen außer OPNsense können bereits installiert sein, man kann sie ja dann in den virtuellen Netzen verschieben.
  
-IP-Adressen innerhalb des KVM-Servers:+Mögliche IP-Adressen innerhalb des KVM-Servers (hier meine heimische Konfiguration):
 ^ Maschine       ^ Interface zum Netz  ^ IPv4-Adr.\\ (immer privat)  ^ IPv6-Adr.\\ (public)  | Kommentar                                               | ^ Maschine       ^ Interface zum Netz  ^ IPv4-Adr.\\ (immer privat)  ^ IPv6-Adr.\\ (public)  | Kommentar                                               |
 | OPNsense       | LAN                 | 192.168.2.200               | dynamisch             | von Fritzbox via Präfix weitergegeben                   | | OPNsense       | LAN                 | 192.168.2.200               | dynamisch             | von Fritzbox via Präfix weitergegeben                   |
Zeile 34: Zeile 34:
  
 ==OPNsense: Installation und erste Konfiguration==  ==OPNsense: Installation und erste Konfiguration== 
-Stand: April 2020+(Stand: April 2020)
     * Konfigurieren der virtuellen Netze     * Konfigurieren der virtuellen Netze
     * OPNsense installieren als FreeBSD 11.2 auf KVM,     * OPNsense installieren als FreeBSD 11.2 auf KVM,
Zeile 90: Zeile 90:
       * Die Verschlüsselung beim Public-Service greift auf das von Letsencrypt gelieferte Zertifikat zurück - sobald es da ist. Man kann den Public-Service für Port 443 also erst danach aktivieren!       * Die Verschlüsselung beim Public-Service greift auf das von Letsencrypt gelieferte Zertifikat zurück - sobald es da ist. Man kann den Public-Service für Port 443 also erst danach aktivieren!
  
-Unnötig zu sagen, dass HAProxy natürlich deutlich komplexer ist, als hier dargestellt. auch Backend-Server können Regeln habenBenutzeranmeldung kann gemacht werden...+Unnötig zu sagen, dass HAProxy natürlich deutlich komplexer ist, als hier dargestellt. So können auch Backend-Server eigene Regeln haben, Conditions können komplexer sein, Benutzeranmeldung kann gemacht werden usw.
  
 Wenn es nicht funktioniert: Unten sind einige Fehler beschrieben. Wenn es nicht funktioniert: Unten sind einige Fehler beschrieben.
Zeile 112: Zeile 112:
     * Enable HTTP/2     * Enable HTTP/2
  
-Schließlich kann man noch in dem DNS-Server der Domain einen CAA-Eintrag machen:+Schließlich kann man noch in dem DNS-Server der Domain (wo immer man die verwaltet, z.B. INWX oder beim eigenen Provider) einen CAA-Eintrag machen:
     example.org. CAA 128 issue "letsencrypt.org"     example.org. CAA 128 issue "letsencrypt.org"
  
Zeile 118: Zeile 118:
 ===Fehler, die mir unterkamen und ihre Ursachen=== ===Fehler, die mir unterkamen und ihre Ursachen===
     * Letsencrypt kann das Zertifikat nicht aktualisieren     * Letsencrypt kann das Zertifikat nicht aktualisieren
-      * -> überprüfe, dass die URL (die mit /.well-known beginnt) von außen per HTTP (Port 80) erreichbar ist+      * -> überprüfe, dass die URL (die mit /.well-known beginnt) von außen per HTTP (Port 80) erreichbar ist - z.B. mit [[curl|cURL]].
       * -> findet für diese URL eine Weiterleitung zu https statt, so ist entweder       * -> findet für diese URL eine Weiterleitung zu https statt, so ist entweder
         * eine solche im HAProxy eingerichtet worden (dann ergänze die Rule so, dass beim acme-challenge-Verfahren nicht weitergeleitet wird) oder         * eine solche im HAProxy eingerichtet worden (dann ergänze die Rule so, dass beim acme-challenge-Verfahren nicht weitergeleitet wird) oder
         * oben der Haken bei "Disable web GUI redirect rule" nicht gesetzt worden!         * oben der Haken bei "Disable web GUI redirect rule" nicht gesetzt worden!
-    * HAProxy lässt sich nicht starten+    * HAProxy lässt sich nicht starten (Kontrolle im Dashboard)
       * -> Teste die Konfiguration mit dem Button       * -> Teste die Konfiguration mit dem Button
       * -> Sind bei abgeschaltetem HAProxy die Ports 80 und 443 wirklich frei? D.h. nicht erreichbar?       * -> Sind bei abgeschaltetem HAProxy die Ports 80 und 443 wirklich frei? D.h. nicht erreichbar?
Zeile 131: Zeile 131:
     * Kein HTTPS-Zugriff mit Firefox möglich, mit anderen Browsern klappt es:     * Kein HTTPS-Zugriff mit Firefox möglich, mit anderen Browsern klappt es:
       * -> In Letsencrypt OCSP Must Staple angeklickt? Sonst eine gute Idee, wird aber von HAProxy nicht unterstützt und Firefox beschwert sich zu Recht. Also Haken weg, Zertifikat neu ausstellen lassen, fertig.       * -> In Letsencrypt OCSP Must Staple angeklickt? Sonst eine gute Idee, wird aber von HAProxy nicht unterstützt und Firefox beschwert sich zu Recht. Also Haken weg, Zertifikat neu ausstellen lassen, fertig.
 +===Mozilla SSL-Konfiguration===
 +    * [[https://ssl-config.mozilla.org/#server=haproxy&version=2.21&config=intermediate&openssl=1.1.1f&ocsp=false|SSL Configuration Generator]]
 +    * Liefert eine Liste empfehlenswerter Verschlüsselungstechniken (Cipher).
 +    * "intermediate" dürfte für die meisten Anwender praktikabel sein.
 +    * Man sollte die Einstellungen z.B. jährlich aktualisieren...
 +    * Derzeit (April 2020) lautet sie: 
 +
 +         ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
 +         
 ===Quellen & Links=== ===Quellen & Links===
 Deutsche Anleitungen: Deutsche Anleitungen:
Zeile 141: Zeile 150:
     * Patric Green: [[https://blog.bagro.se/lets-encrypt-with-haproxy-on-opnsense/|Let's Encrypt with HAProxy on OPNsense]]     * Patric Green: [[https://blog.bagro.se/lets-encrypt-with-haproxy-on-opnsense/|Let's Encrypt with HAProxy on OPNsense]]
  
-Mozilla SSL-Konfiguration: 
-    * [[https://ssl-config.mozilla.org/#server=haproxy&version=2.21&config=intermediate&openssl=1.1.1f&ocsp=false|SSL Configuration Generator]] 
-    * Liefert eine Liste empfehlenswerter Verschlüsselungstechniken (Cipher). 
-    * "intermediate" dürfte für die meisten Anwender praktikabel sein. 
-    * Man sollte die Einstellungen z.B. jährlich aktualisieren... 
-    * Derzeit (April 2020) lautet sie:  
  
-         ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384 
                    
 {{tag>OPNsense Reverse-Proxy Firewall Letsencrypt HAProxy HTTP HTTPS Portnummer Dyn-DNS Fritzbox Zertifikat SSL-Offloading HowTo}} {{tag>OPNsense Reverse-Proxy Firewall Letsencrypt HAProxy HTTP HTTPS Portnummer Dyn-DNS Fritzbox Zertifikat SSL-Offloading HowTo}}