Esiste un modo per memorizzare nella cache le richieste HTTPS in un server proxy?


12

Stiamo utilizzando il server proxy Squid nel nostro ambiente e vogliamo memorizzare nella cache le richieste HTTPS.

Esiste un modo per configurare Squid o in generale un server proxy per memorizzare nella cache le richieste HTTPS?


Questo probabilmente appartiene a security.se
Tom O'Connor il

1
Giusto per essere chiari, stai usando calamari di fronte a un gruppo di server o lo stai usando tra le tue stazioni di lavoro e Internet?
Zoredache,

Tanto per chiarire. Vuoi memorizzare nella cache richieste o risposte?
Gqqnbig,

Risposte:


12

C'è un modo per farlo, ma è fondamentalmente contrario ai motivi dell'utilizzo di HTTPS.

Ecco come lo faresti.

  1. Genera un certificato SSL autofirmato per il sito da cui desideri intercettare e memorizzare nella cache le richieste.
  2. Installa ed esegui stunnel sul tuo server proxy, dicendo che il certificato che dovrebbe presentare è quello generato nella fase 1.
  3. Hanno stordito le richieste decifrate di calamari.
  4. Potrebbe essere necessario avere lo stunnel sull'altro lato o openssl_client per ricrittografare la richiesta sul server upstream.

Avvertenze:

  1. I tuoi utenti ti odieranno. Ogni richiesta SSL a quel sito presenterà una finestra di certificato non valida.
  2. Ti stai esponendo a potenziali cause legali per aver fatto cose cattive. (IANAL)
  3. Sarai sempre in grado di ottenere un certificato autofirmato funzionante per questo, a causa di come dovrebbe funzionare la rete di fiducia PKI per i certificati SSL. Non dire nulla sulle CA radice compromesse.

Non ti fornirò i dettagli esatti su come farlo, perché a) penso che sia in qualche modo non etico eb) È meglio che tu impari a farlo.

Ti suggerisco di fare ricerche su come funzionano gli attacchi di stordimento e man-in-the-middle.


Puoi chiedere a Trustwave zdnet.com/… di venderti un certificato di root in modo da poter implementare questa soluzione senza disturbare i tuoi utenti: P
Rory

2
In realtà, se sei su un dominio, è molto più semplice generare la tua CA e distribuirne i certificati pubblici con Criteri di gruppo.
Tom O'Connor,

1
Affidarsi a un SSC + MITM è utile per il debug del protocollo, la memorizzazione nella cache, l'ispezione approfondita dei pacchetti e la censura / registrazione. : / A parte questi motivi, non così buono.

6

Solo per spiegare perché questo non può essere fatto senza MITM: un proxy vede solo il nome DNS del server a cui si desidera connettersi quando si utilizza HTTPS crittografato. Non vede l'URL, né le intestazioni di risposta. Non è possibile determinare a quale singola risorsa si accede su un sito, indipendentemente dal fatto che sia memorizzabile nella cache o quali siano i tempi di modifica. Tutto ciò che può vedere è che qualcuno vuole qualcosa da un server remoto usando HTTPS.

Ciò significa che la memorizzazione nella cache non può funzionare poiché il proxy non sa quali oggetti memorizzati nella cache fornirti o come ottenerli in primo luogo.


5

No, non ci sono: sono crittografati ... Una soluzione alternativa sarebbe qualcosa di simile a una distribuzione man-in-middle , ma ciò eliminerebbe tutti i motivi dietro https .


1
Non ci sono soluzioni alternative per raggiungere questo obiettivo o forzare la decrittografia e la cache del server proxy?
Supratik,

Una soluzione alternativa sarebbe in qualche modo la man-in-middledistribuzione dei reimpostati , ma ciò sconfiggerebbe tutti i motivi dietro https
yrk

5
Non sono d'accordo sul fatto che avrebbe sconfitto tutte le ragioni dietro https. Se lo fai a casa e possiedi il proxy, i tuoi dati utilizzeranno comunque https tra il tuo proxy e i siti web.
brunoqc,

@brunoqc è un lavoro di VPN.
anno

1
Se la memorizzazione nella cache dei payload https è importante per qualche motivo o il debug di una sessione https, MITM è super utile. In effetti, è così che lavora Charles.

1

Zus Traffic Manager di Zeus (Now Riverbed) può farlo in quanto può tradurre il traffico http e https in entrambi i modi e memorizzare nella cache contenuti non crittografati: funziona, lo usiamo, ma è terribilmente costoso, come nel prezzo di una Porsche per server.


5
Ma richiede ancora l'installazione di un nuovo certificato root sul client, non è vero? E devi ancora fidarti del proxy, vero?
phihag, il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.