abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 22:22 | Bezpečnostní upozornění

    Dellu byla odcizena databáze zákazníků (jméno, adresa, seznam zakoupených produktů) [Customer Care, Bleeping Computer].

    Ladislav Hagara | Komentářů: 0
    dnes 21:11 | Zajímavý článek

    V lednu byl otevřen editor kódů Zed od autorů editoru Atom a Tree-sitter. Tenkrát běžel pouze na macOS. Byl napevno svázán s Metalem. Situace se ale postupně mění. V aktuálním příspěvku Kdy Zed na Linuxu? na blogu Zedu vývojáři popisují aktuální stav. Blíží se alfa verze.

    Ladislav Hagara | Komentářů: 1
    dnes 14:33 | Pozvánky

    O víkendu 11. a 12. května lze navštívit Maker Faire Prague, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    včera 21:55 | Nová verze

    Byl vydán Fedora Asahi Remix 40, tj. linuxová distribuce pro Apple Silicon vycházející z Fedora Linuxu 40.

    Ladislav Hagara | Komentářů: 16
    včera 20:22 | IT novinky

    Představena byla služba Raspberry Pi Connect usnadňující vzdálený grafický přístup k vašim Raspberry Pi z webového prohlížeče. Odkudkoli. Zdarma. Zatím v beta verzi. Detaily v dokumentaci.

    Ladislav Hagara | Komentářů: 4
    včera 12:55 | Nová verze

    Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.

    JZD | Komentářů: 0
    7.5. 18:55 | IT novinky

    Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).

    Ladislav Hagara | Komentářů: 10
    7.5. 18:33 | IT novinky

    Apple představil (keynote) iPad Pro s čipem Apple M4, předělaný iPad Air ve dvou velikostech a nový Apple Pencil Pro.

    Ladislav Hagara | Komentářů: 4
    7.5. 17:11 | Nová verze

    Richard Biener oznámil vydání verze 14.1 (14.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 14. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.

    Ladislav Hagara | Komentářů: 0
    7.5. 13:44 | Komunita

    Free Software Foundation zveřejnila ocenění Free Software Awards za rok 2023. Vybráni byli Bruno Haible za dlouhodobé příspěvky a správu knihovny Gnulib, nováček Nick Logozzo za front-end Parabolic pro yt-dlp a tým Mission logiciels libres francouzského státu za nasazování svobodného softwaru do praxe.

    Fluttershy, yay! | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (63%)
     (8%)
     (13%)
     (16%)
    Celkem 145 hlasů
     Komentářů: 10, poslední včera 17:35
    Rozcestník

    Dotaz: ProxyPassReverse a SSL certifikát

    7.11.2021 15:16 P. Marek
    ProxyPassReverse a SSL certifikát
    Přečteno: 592×

    Dobré odpoledne,

    Když chci použít reverzní proxy a požadavek poslat na jiný server jak je to s ssl certifikátem?

    a) musí být v konfiguraci odkud se volá ProxyPassReverse a v konfiguraci na koncovém stroji již být nemusí

    b) nemusí být v konfiguraci odkud se volá ProxyPassReverse ale musí být v konfiguraci na koncovém stroji

    a) musí být jak v konfiguraci odkud se volá ProxyPassReverse tak musí být v konfiguraci na koncovém stroji

    Děkuji za objasnění


    Řešení dotazu:


    Odpovědi

    7.11.2021 16:56 X
    Rozbalit Rozbalit vše Re: ProxyPassReverse a SSL certifikát
    Vsechny varianty jsou mozne.
    7.11.2021 17:29 P. Marek
    Rozbalit Rozbalit vše Re: ProxyPassReverse a SSL certifikát
    Díky za informaci, nyní zkouším variantu b) ale dostanu chybu v prohlížeči: "Připojení tohoto webu není zabezpečené. Server www.example.com odeslal neplatnou odpověď."

    Nevíte prosím co je tam špatně?

    Na hlavní serveru na který chodí veškerá komunikace 80 a 443 mám
    
    <VirtualHost *:443>
       ServerName example1.com
       SSLProxyEngine on
       ProxyPreserveHost On
       ProxyPass / 192.168.0.51:443/
       ProxyPassReverse / 192.168.0.51:443/
    </VirtualHost>
    
    <VirtualHost *:443>
       ServerName example2.com
       SSLProxyEngine on
       ProxyPreserveHost On
       ProxyPass / 192.168.0.52:443/
       ProxyPassReverse / 192.168.0.52:443/
    </VirtualHost>
    
    Na serveru 192.168.0.51 mám
    
    <VirtualHost *:443>
       ServerName example1.com
       DocumentRoot /var/www/html/example1.com
       SSLEngine on
       SSLCertificateFile /etc/ssl/example1.com/cert.pem
       SSLCertificateKeyFile /etc/ssl/example1.com/privkey.pem
       SSLCertificateChainFile /etc/ssl/example1.com/chain.pem
    </VirtualHost>
    
    Na serveru 192.168.0.52 mám
    
    <VirtualHost *:443>
       ServerName example2.com
       DocumentRoot /var/www/html/example2.com
       SSLEngine on
       SSLCertificateFile /etc/ssl/example2.com/cert.pem
       SSLCertificateKeyFile /etc/ssl/example2.com/privkey.pem
       SSLCertificateChainFile /etc/ssl/example2.com/chain.pem
    </VirtualHost>
    Výpis error.log
    [Sun Nov 07 17:18:08.766379 2021] [mpm_event:notice] [pid 4109:tid 140184108125504] AH00493: SIGUSR1 received.  Doing graceful restart
    [Sun Nov 07 17:18:08.775992 2021] [mpm_event:notice] [pid 4109:tid 140184108125504] AH00489: Apache/2.4.51 (Debian) OpenSSL/1.1.1k configured -- resuming normal operations
    [Sun Nov 07 17:18:08.776025 2021] [core:notice] [pid 4109:tid 140184108125504] AH00094: Command line: '/usr/sbin/apache2'
    7.11.2021 23:41 čavo | skóre: 13
    Rozbalit Rozbalit vše Re: ProxyPassReverse a SSL certifikát
    V každom prípade musí byť na stroji kde ukončuješ spojenie z internetu (alebo odkiaľ sa pripájaš), teda tam kde konfiguruješ ProxyPass. ProxyPassReverse je barlička, ktorá opravuje odpovede 301 a 302, teda presmerovvanie spojenia.

    Teda a je správne. Na cielovom nemusí byť, ale môže. Dokonca na cielový môžeš smerovať na port 80 bez https, ale musíš si zabezpečiť odovzdanie Hlavičiek, aby cieľ vedel generovať správne odpovede.
    Řešení 1× (Jеdna)
    Jendа avatar 8.11.2021 01:00 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: ProxyPassReverse a SSL certifikát
    Nevím jak v Apache, ale normálně reverzní proxy umí směrovat třeba podle SNI přímo to šifrované spojení bez jeho terminace.
    8.11.2021 02:32 P. Marek
    Rozbalit Rozbalit vše Re: ProxyPassReverse a SSL certifikát
    Nejraději bych volil tu variantu B, aby na tom proxy serveru nebyl žádný certifikát a byl jenom až na každém koncovém serveru 192.168.0.51, 192.168.0.52 atd.. ale vůbec nic jsem nenašel jako to nastavit.
    Řešení 1× (Jеdna)
    Jendа avatar 8.11.2021 03:20 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: ProxyPassReverse a SSL certifikát
    Potřebuješ najít něco jako apache proxy by sni without ssl termination (alternativně s haproxy místo apache).
    8.11.2021 13:49 P. Marek
    Rozbalit Rozbalit vše Re: ProxyPassReverse a SSL certifikát
    Díky, haproxy jsem nainstaloval ale potřebný návod jsem nenašel, jak jsem psal níže, je to všechno s ssl certifikátem.
    Jendа avatar 8.11.2021 19:02 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: ProxyPassReverse a SSL certifikát
    Tak jsem to teda udělal:
    frontend tcp-proxy
      bind :5050
      mode tcp
      tcp-request inspect-delay 5s
      tcp-request content accept if { req_ssl_hello_type 1 }
    
      use_backend centrum if { req.ssl_sni -i www.centrum.cz }
      use_backend seznam if { req.ssl_sni -i www.seznam.cz }
    
    backend seznam
      mode tcp
      server server1 www.seznam.cz:443
    
    backend centrum
      mode tcp
      server server1 www.centrum.cz:443
    
    Použité zdroje: 1, 2, 3

    Každý si to teď může vyzkoušet na hrach.eu:5050, než mě to přestane bavit a vypnu to.
    9.11.2021 03:38 P. Marek
    Rozbalit Rozbalit vše Re: ProxyPassReverse a SSL certifikát
    Díky moc za ukázku.

    Mám to takto ale vůbec se nenačte soubor.css a taky nefunguje https://www.example.com/cokoliv. Je tam potřeba něco doplnit?
    frontend tcp-proxy
      bind :443
      mode tcp
      tcp-request inspect-delay 5s
      tcp-request content accept if { req_ssl_hello_type 1 }
    
      use_backend web1 if { req.ssl_sni -i www.example1.com }
      use_backend web2 if { req.ssl_sni -i www.example2.com }
    
    backend web1
      mode tcp
      server server1 192.168.0.51:443
    
    backend web2
      mode tcp
      server server1 192.168.0.52:443
    
    Řešení 1× (Jеdna)
    Jendа avatar 9.11.2021 10:22 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: ProxyPassReverse a SSL certifikát
    Jednak www.example.com není v tom seznamu, a když nemáš default_backend tak to na neuvedenou doménu nějak divně selže, jednak cesta se v SNI neposílá (pak by HTTPS nemělo z části smysl), jednak máš v odkazech napsáno jak to vyzkoušet pomocí s_clienta (protože browser má kdovíjakou cache a HSTS/HPKP) a jednak „nenačte“ a „nefunguje“ je popis problému k ničemu (dojde spojení na backend? zaloguje se něco?)
    9.11.2021 14:01 P. Marek
    Rozbalit Rozbalit vše Re: ProxyPassReverse a SSL certifikát
    Jednak www.example.com není v tom seznamu
    V jakém seznamu myslíš?
    jednak „nenačte“ a „nefunguje“ je popis problému k ničemu (dojde spojení na backend? zaloguje se něco?)
    Ano, ke spojení dojde, stránky se načtou ale nejsou nastylované a funguje pouze www.example.com, třeba www.example.com/css/style.css se nenačte.
    Řešení 1× (Jеdna)
    Jendа avatar 9.11.2021 16:46 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: ProxyPassReverse a SSL certifikát
    V jakém seznamu myslíš?
    V tomhle
      use_backend web1 if { req.ssl_sni -i www.example1.com }
      use_backend web2 if { req.ssl_sni -i www.example2.com }
    Ano, ke spojení dojde, stránky se načtou ale nejsou nastylované a funguje pouze www.example.com, třeba www.example.com/css/style.css
    Tak to se SNI nemůže mít nic společného, protože URL se přenáší uvnitř TLS tunelu.
    se nenačte.
    Tak to máš blbý, nic jiného s tím nejde dělat. Pomohl by použitelný popis problému. Například jak už jsem psal, že se máš zkusit připojit řádkovým s_clientem (a v tomto případě provést HTTP GET ručně).
    9.11.2021 17:24 P. Marek
    Rozbalit Rozbalit vše Re: ProxyPassReverse a SSL certifikát
    use_backend centrum if { req.ssl_sni -i www.centrum.cz }
    use_backend seznam if { req.ssl_sni -i www.seznam.cz }
    
    Ty tam ty domény ale taky nemáš, tak jak to že ti to funguje?
    Řešení 1× (Jеdna)
    Jendа avatar 9.11.2021 17:38 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: ProxyPassReverse a SSL certifikát
    Jak nemám? Podle SNI zjistím, jestli chceš na Seznam nebo na Centrum a podle toho tě přepojím, a pokud chceš něco jiného, tak tě odmítnu.
    9.11.2021 17:58 P. Marek
    Rozbalit Rozbalit vše Re: ProxyPassReverse a SSL certifikát
    Hm, takto je to teď OK? Dík
    frontend tcp-proxy
      bind :443
      mode tcp
      tcp-request inspect-delay 5s
      tcp-request content accept if { req_ssl_hello_type 1 }
    
      use_backend www.example1.com if { req.ssl_sni -i www.example1.com }
      use_backend www.example2.com if { req.ssl_sni -i www.example2.com }
    
    backend www.example1.com
      mode tcp
      server server1 192.168.0.51:443
    
    backend www.example2.com
      mode tcp
      server server1 192.168.0.52:443
    
    Řešení 1× (Jеdna)
    Jendа avatar 9.11.2021 18:24 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: ProxyPassReverse a SSL certifikát
    Ano, je. Tak si to zkus nejdřív s tím Seznamem a Centrem, klidně nejdřív s mým serverem (furt to běží) ať víš co máš čekat a pak to teprve zkus přesměrovat na svoje služby…
    9.11.2021 19:45 P. Marek
    Rozbalit Rozbalit vše Re: ProxyPassReverse a SSL certifikát
    Tvůj server na portu: 5050 se mi vůbec nezobrazí. Nevím jestli ostatní ano ale mě ne.

    Řešení 1× (Jеdna)
    Jendа avatar 9.11.2021 19:47 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: ProxyPassReverse a SSL certifikát
    Protože když do browseru zadáš prostě https://hrach.eu:5050/, tak pošleš SNI pro hrach.eu, který neservíruju (jak si můžeš přečíst v konfiguraci, tak poskytuji www.seznam.cz a www.centrum.cz). Já to testoval tím s_clientem a pak z prohlížeče zapsáním adresy do /etc/hosts.
    10.11.2021 12:36 čavo | skóre: 13
    Rozbalit Rozbalit vše Re: ProxyPassReverse a SSL certifikát
    Prípadne môžeš vyskúšať takéto:
    curl -v --connect-to www.seznam.cz:443:hrach.eu:5050 https://www.seznam.cz
    ...
    * Server certificate:
    *  subject: CN=www.seznam.cz
    *  start date: Oct  8 14:00:56 2021 GMT
    *  expire date: Jan  6 14:00:55 2022 GMT
    *  subjectAltName: host "www.seznam.cz" matched cert's "www.seznam.cz"
    *  issuer: C=US; O=Let's Encrypt; CN=R3
    *  SSL certificate verify ok.
    
    8.11.2021 08:32 X
    Rozbalit Rozbalit vše Re: ProxyPassReverse a SSL certifikát
    Pokud na te proxy neprovozujes dalsi weby ani zadnou nepotrebujes. Staci klasicky DNAT na firewallu.
    8.11.2021 08:03 čavo | skóre: 13
    Rozbalit Rozbalit vše Re: ProxyPassReverse a SSL certifikát
    Apache httpd je webserver. Ukončuje spojenie a potom ho spracováva. Je tam možnosť aj reverzného proxy. Ak bez ukončenia spojenia, tak nejaký TCP proxy, ale nie apache httpd.

    https://httpd.apache.org/docs/2.4/howto/reverse_proxy.html
    8.11.2021 08:16 MP
    Rozbalit Rozbalit vše Re: ProxyPassReverse a SSL certifikát
    a] Pokud je proxy v rezimu L4 (ip), staci certifikat na cilovem serveru.

    b] Pokud je v rezimu L7 (http), je nutne certifikat na proxy, pricemz na cilovem serveru jsou tyto moznosti:

    1] tentyz certifikat

    2] jiny certifikat - v tom pripade se vypne overovani certifikatu na proxy

    3] zadny certifikat - tzv. ssl offloading
    8.11.2021 12:04 P. Marek
    Rozbalit Rozbalit vše Re: ProxyPassReverse a SSL certifikát
    Předpokládám, že Apache režim L4 neumí, nějaký tip na L4? Díky
    8.11.2021 12:07 MP
    Rozbalit Rozbalit vše Re: ProxyPassReverse a SSL certifikát
    haproxy, mozna i caddy/traefik dle chuti
    8.11.2021 13:47 P. Marek
    Rozbalit Rozbalit vše Re: ProxyPassReverse a SSL certifikát
    Dík, haproxy ale ve všech návodech používá ssl certifikáty, nenašel jsem jediný návod, kde to jen přepošle na jinou ip bez ssl certifikátu.
    8.11.2021 14:06 MP
    Rozbalit Rozbalit vše Re: ProxyPassReverse a SSL certifikát
    Asi by se to chtelo procvicit v hledani.

    https://www.haproxy.com/blog/layer-4-and-layer-7-proxy-mode/
    8.11.2021 15:06 P. Marek
    Rozbalit Rozbalit vše Re: ProxyPassReverse a SSL certifikát
    To jsem taky našel, ale je to pro pro komunikaci na portu 80 což mi je k ničemu když řeším ssl.
    8.11.2021 17:14 X
    Rozbalit Rozbalit vše Re: ProxyPassReverse a SSL certifikát
    Asi uplne nechapes fungovani SSL. To zabezpecuje dva konce mezi sebou. Dva, ne tri..
    8.11.2021 20:42 majales | skóre: 29 | blog: Majales
    Rozbalit Rozbalit vše Re: ProxyPassReverse a SSL certifikát
    A nestačil by Apache SSLProxyEngine ? SSL terminuje a dál pokračuje SSL. Není to L4 mode, ale na většinu aplikací to stačí. To je totiž to co vám v tom konfigu nahoře chybí.
    8.11.2021 21:14 X
    Rozbalit Rozbalit vše Re: ProxyPassReverse a SSL certifikát
    Ma to tam dobre:
    SSLProxyEngine on
    Jenze on by chtel terminovat SSL az v lokalni siti a to dost dobre s prostrednikem nejde..
    8.11.2021 21:27 majales | skóre: 29 | blog: Majales
    Rozbalit Rozbalit vše Re: ProxyPassReverse a SSL certifikát
    Aha .. nerozbalil jsem si celý konfig. Já myslím, že autor neví co chce. Celé by to asi fungovalo, kdyby měl pořešené SNI pokud potřebuje na reverzní proxy volat jmenný backend example.com tak to musí zapsat do hosts na tom stroji s reverzní proxy a nemít a apache configu ProxyPass na IP ale na jméno. Pak musí být ovšem v konfigu i toto:
     SSLProxyVerify none
     SSLProxyCheckPeerCN off
     SSLProxyCheckPeerName off
     SSLProxyCheckPeerExpire off
    
    Pak je jedno jaký má v cíli cerifikát.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.