Portál AbcLinuxu, 12. května 2025 04:13

Dotaz: Squid a řízení HTTPS provozu

19.9.2010 12:33 Matěj Vaňátko | skóre: 19 | Brno
Squid a řízení HTTPS provozu
Přečteno: 1833×
Odpovědět | Admin
Zdravím pánové. Už několik dní řeším problém, jak nastavit Squid na to, aby uměl filtrovat i provoz pro port 443. Potřebuju řídit HTTP a HTTPS do internetu... Pro HTTP funguje vše OK v transparent režimu, ale potřeboval bych to samé uplatnit i pro HTTPS a nechci to zakazovat v iptables. Je možné to nějako nakonfigurovat korektně ve squidu ? Mám distribuci Debian Lenny a squid 3.1.5.. Můj konfigurák vypadá zatím takto.
visible_hostname proxy.skola.local
http_port 3128 transparent
https_port 3129 transparent sslBump cert=/usr/newrprgate/CertAuth/testcert.cert key=/usr/newrprgate/CertAuth/testkey.pem defaultsite=oatrutnov.cz vhost
ssl_unclean_shutdown on
sslproxy_cafile /usr/newrprgate/CertAuth/cacert.pem
sslproxy_flags DONT_VERIFY_PEER

cache_swap_low 50
cache_swap_high 100
cache_store_log /cache/store.log
cache_log /cache/cache.log
coredump_dir /cache
access_log /cache/access.log
pid_filename /cache/squid.pid

error_directory /share/squid/errors/cs

acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl POKUS src 192.168.11.0/24

acl SSL_Ports port 443
acl Safe_ports port 80
acl Safe_ports port 21
acl CONNECT method CONNECT
acl https proto https

http_access allow manager localhost
http_access deny manager

http_access deny CONNECT SSL_Ports
http_access deny SSL_Ports
http_access deny POKUS
HTTPS provoz se sice řídit dá, ale browsery házejí chybu zabezpečení certifikátu. Nemohli byste mi poradit, jak to dotáhnout do takového konce, že bude možné ve squidu řídit https přístup bez toho, aby browsery vyhazovaly tu bezpečností hlášku ?

Díky za pomoc

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

19.9.2010 12:46 Martin Šebek | skóre: 18 | blog: Tady je Indiánovo | Mladá Boleslav
Rozbalit Rozbalit vše Re: Squid a řízení HTTPS provozu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Transparentní proxy pro https není z principu možné. Proxy by se pak chovala jako při MITM útoku.
19.9.2010 13:09 Matěj Vaňátko | skóre: 19 | Brno
Rozbalit Rozbalit vše Re: Squid a řízení HTTPS provozu
To je mi jasné. Ale proč má tedy squid příkazy typu https_port a další ssl věci. To mi na tom není jasné. Ona samotná blokace HTTPS přístupu mi v tom konfiguráku funguje. Jenom browsery hází tu chybu, že je certifikát neplatný. A já potřebuju vědět, zda-li se dá té chyby nějako zbavit. Bude to asi někdě v nastavení certifikátů v OpelSSL, ale vůbec mě nenapadá kde a hlavně jak.
19.9.2010 13:32 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Squid a řízení HTTPS provozu
Prohlížeč neplatný certifikát hlásí správně, protože vy se pokoušíte udělat man-in-the-middle útok, proti kterému právě certifikáty chrání.

Můžete buď udělat velmi ošklivý hack, zprovoznit si vlastní certifikační autoritu, tu vnutit uživatelům do prohlížečů a pak všechny weby podepisovat touto autoritou. Veškeré zabezpečení HTTPS tím ale berete na sebe, a třeba přihlášení klientským certifikátem tím zcela znemožníte. Jediné rozumné řešení je udělat ze Squida normální proxy server, tj. ne transparentní. Prohlížeč pak bude vědět, že komunikuje s proxy serverem a přizpůsobí tomu svou komunikaci. Squid pak funguje jenom jako prostředník, který navazuje spojení a dovnitř komunikace nevidí.
19.9.2010 13:47 Matěj Vaňátko | skóre: 19 | Brno
Rozbalit Rozbalit vše Re: Squid a řízení HTTPS provozu
To mi ani tak nevadí. Ono tohle nebude sloužit ve velkém komerčním použití. Je to potřeba na školu, aby se studentům ořezal přístup nejen přes HTTP, ale i HTTPS, protože studenti jsou vynalézaví a rychle HTTPS našli a když byl Squid jen v transparentním HTTP, tak si to obcházeli přes HTTPS.

A) Pokud bych tedy chtěl udělat vlastní certifikační autoritu, je nějaká možnost, jak ji vnutit uživatelům pro vŠech prohlížečů nějak centrálně ?

B) Kdyby byl squid normálním proxy serverem, jak ho vnutím uživatelům, aby museli nastavení squidu používat, protože když ho dám žákům do nastavení prohlížeče, tak oni nejsou tak blbí, aby si ho zase sami vyhodili.

Přiznám se, že možnost A se mi líbí pro toto použití o něco víc.
19.9.2010 13:55 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Squid a řízení HTTPS provozu
Varianta A) záleží na konkrétním prohlížeči, a v žádném případě bych to nedělal. Varianta B je snadná – na routeru zakážete komunikaci na porty 80 a 443 (případně i na další) z jiných počítačů, než je proxy server. Takže žákům nezbyde nic jiného, než použít proxy server. Pak můžete zase v závislosti na typu prohlížeče udělat nějaké globální nastavení, aby ten proxy server měli už přednastavený. Např. pro MSIE to jde určitě pomocí politik nastavit i tak, že proxy server nebudou moci měnit, Firefox jde myslím takto nakonfigurovat (editací nějakého souboru).
19.9.2010 14:07 Matěj Vaňátko | skóre: 19 | Brno
Rozbalit Rozbalit vše Re: Squid a řízení HTTPS provozu
Aha, díky. Vyzkouším. Je vidět, že jednoduchá řešení bývají vždy ta nejlepší. A mohu ještě otázečku ? Jak pak tedy bude vypadat squid.conf potom, co squid nebude v transparent modu oproti tomu, jak vypadá teď ten můj ? Vypadne pouze slovíčko "transparent" ? Nikdy jsem zatím normál proxy nekonfiguroval, jsem samouk, tak se omlouvám za takto blbé dotazy. A v iptables tedy bude zakázán forward portů 80 a 443 z vnitřní sítě kromě adresy toho proxy, chápu-li to správně
19.9.2010 14:19 Matěj Vaňátko | skóre: 19 | Brno
Rozbalit Rozbalit vše Re: Squid a řízení HTTPS provozu
Odpovím si sám. Už to všechno funguje jak má. Je blokován jak HTTP tak HTTPS provoz. Sice jakoby na údržbu by bylo lepší, kdyby to šlo udělat vše v transparentním režimu, ale tohle je naprosto super :-). Studenti aspoň budou muset konečně poslouchat nějaké nastavení, jinak mají smůlu.

Děkuji pane Jirsák za pomoc. Squid v normálním režimu je funkčně určitě lepší než transparentní.
19.9.2010 14:23 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Squid a řízení HTTPS provozu
Mělo by tam být jen http_port 3128 a https_port vůbec. iptables jak píšete. Samozřejmě může web běžet třeba na portu 81 nebo 8080, ale asi nemáte žádný web, který by běžel na nestandardním portu, který byste chtěl blokovat. Další věc je, že si studenti mohou rozchodit vlastní proxy někde na internetu a přistupovat k němu přes jiný port, než je 80 nebo 443, mohou si udělat tunel přes SSH… Záleží na tom, jak moc to chcete blokovat, ale jakmile jim jednou dáte možnost na web se dostat, je to jenom otázka toho, kolik práce chtějí věnovat tomu, aby to obešli. Ale předpokládám, že zákaz portů 80 a 443 by měl stačit, pokud byste tam měl někoho tak šikovného, že by to dokázal obejít, snažil bych se s ním spíš domluvit :-)
19.9.2010 20:29 rob
Rozbalit Rozbalit vše Re: Squid a řízení HTTPS provozu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ja jen doufam, ze to delate jen jako konicek. I kdyz v tyhle dobe ... :)
19.9.2010 20:55 Matěj Vaňátko | skóre: 19 | Brno
Rozbalit Rozbalit vše Re: Squid a řízení HTTPS provozu
Sice nevim, jestli váš příspěvek brát jako ironii nebo jako urážku, ale v podstatě zatím ano. Jsem zatím ve třetím ročníku na průmyslovce - elektronické počítačové systémy, takže do vejšky si takhle zkoušim věci napřed :-)

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.