Czy istnieje sposób buforowania żądań HTTPS na serwerze proxy?


12

W naszym środowisku korzystamy z serwera proxy Squid i chcemy buforować żądania HTTPS.

Czy istnieje sposób skonfigurowania Squid lub ogólnie serwera proxy do buforowania żądań HTTPS?


To prawdopodobnie należy do security.se
Tom O'Connor,

1
Dla jasności, czy używasz kałamarnicy przed stosem własnych serwerów, czy używasz go między stacjami roboczymi a Internetem?
Zoredache

Żeby się upewnić. Chcesz buforować żądania lub odpowiedzi?
Gqqnbig

Odpowiedzi:


12

Jest na to sposób, ale zasadniczo jest to sprzeczne z powodami używania HTTPS.

Oto jak to zrobisz.

  1. Wygeneruj samopodpisany certyfikat SSL dla witryny, z której chcesz przechwytywać i buforować żądania.
  2. Zainstaluj i uruchom stunnel na swoim serwerze proxy, informując go, że certyfikat, który powinien przedstawić, to certyfikat wygenerowany w etapie 1.
  3. Niech stunnel przekaże odszyfrowane żądania do kałamarnicy.
  4. Być może będziesz musiał mieć stunnel po drugiej stronie lub openssl_client, aby ponownie zaszyfrować żądanie do serwera nadrzędnego.

Ostrzeżenia:

  1. Twoi użytkownicy będą cię nienawidzić. Każde żądanie SSL do tej witryny będzie wyświetlać nieprawidłowe okno certyfikatu.
  2. Narażasz się na potencjalne procesy sądowe za robienie niegrzecznych rzeczy. (IANAL)
  3. Będziesz mógł uzyskać samopodpisany certyfikat, który działa w tym celu, ponieważ ma działać sieć zaufania PKI dla certyfikatów SSL. Nic nie mówiąc o zagrożonych głównych urzędach certyfikacji.

Nie podam ci dokładnych szczegółów, jak to zrobić, ponieważ: a) myślę, że jest to trochę nieetyczne, i b) lepiej, abyś nauczył się, jak to robić.

Proponuję zbadać, jak działają ogłuszenie i ataki typu man-in-the-middle.


Można zapytać Trustwave zdnet.com/... sprzedawać certyfikatu głównego, dzięki czemu można zaimplementować to rozwiązanie bez utrudnień dla użytkowników: P
Rory

2
W rzeczywistości, jeśli jesteś w domenie, o wiele łatwiej jest wygenerować własny urząd certyfikacji i wdrożyć dla niego certyfikaty publiczne za pomocą zasad grupy.
Tom O'Connor,

1
Zaufanie do SSC + MITM jest przydatne do debugowania protokołu, buforowania, głębokiej inspekcji pakietów oraz cenzury / rejestrowania. : / Inne niż te powody, nie tak dobre.

6

Aby wyjaśnić, dlaczego nie można tego zrobić bez MITM - serwer proxy widzi tylko nazwę DNS serwera, z którym chcesz się połączyć podczas korzystania z szyfrowanego HTTPS. Nie widzi adresu URL ani nagłówków odpowiedzi. Nie może określić, do którego indywidualnego zasobu uzyskujesz dostęp w witrynie, czy jest on buforowany, czy też nie ma czasu jego modyfikacji. Widzi tylko, że ktoś chce czegoś ze zdalnego serwera za pomocą HTTPS.

Oznacza to, że buforowanie nie może działać, ponieważ serwer proxy nie wie, jakie obiekty w pamięci podręcznej dać, ani w jaki sposób je zdobyć.


5

Nie, nie ma: są szyfrowane ... Obejście byłoby czymś w rodzaju wdrożenia typu man-in-middle , ale pokonałoby to wszystkie przyczyny związane z https .


1
Czy nie ma obejścia tego problemu ani nie zmusza serwera proxy do odszyfrowania i buforowania?
Supratik

Obejście byłoby nieco podobne do man-in-middlewdrożenia, ale pokonałoby wszystkie powody stojące za https
yrk

5
Nie zgadzam się z tym, że pokonałoby to wszystkie powody https. Jeśli robisz to w domu i jesteś właścicielem serwera proxy, Twoje dane będą nadal korzystać z protokołu https między serwerem proxy a witrynami internetowymi.
brunoqc

@brunoqc to praca VPN.
yrk

1
Jeśli buforowanie ładunków https jest z jakiegoś powodu ważne lub debugowanie sesji https, MITM jest bardzo przydatny. Tak właśnie działa Charles.

1

Zeus (Now Riverbed's) ZTM Traffic Manager może to zrobić, ponieważ może tłumaczyć ruch HTTP i https w obie strony oraz buforować niezaszyfrowane treści - działa, używamy go, ale jest strasznie drogie - jak w cenie Porsche na serwer.


5
Ale nadal wymaga zainstalowania nowego certyfikatu głównego na kliencie, prawda? I nadal musisz ufać proxy, prawda?
phihag
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.