it-swarm.dev

La mia azienda può vedere a quali siti HTTPS sono andato?

Al lavoro la mia azienda utilizza software di monitoraggio di Internet (Websense). So che se visito un sito crittografato https ssl (come https://secure.example.com ) non riescono a vedere cosa sto facendo sul sito poiché tutto il traffico è crittografato . Ma vedono che ho visitato https://secure.example.com ?

82

Prima di eseguire qualsiasi richiesta HTTP viene stabilita una connessione crittografata (ad esempio GET, POST, HEAD, ecc.), Ma il nome host e la porta sono visibili.

Esistono molti altri modi per rilevare anche quali siti stai visitando, ad esempio:

  • le tue query DNS (ovvero vedranno la richiesta IP per secure.example.com)
  • tramite monitoraggio della rete (ad es. netflow, sessioni da IP a IP, sniffing, ecc.)
  • se il dispositivo su cui stai lavorando è di proprietà dell'azienda e hanno accesso/privilegi di amministratore per visualizzare qualsiasi cosa sul dispositivo (ad es. visualizzare le cache del browser)

Un modo popolare per eludere un proxy Websense è innanzitutto stabilire una connessione tramite HTTPS con un proxy esterno (ad es. https://proxy.org/ ) ed effettuare la richiesta da lì.

70
Tate Hansen

È possibile, ma richiede alcune impostazioni. Ecco come è fatto e come puoi dirlo.

Su un computer aziendale, in cui gli aggiornamenti software vengono inviati da una posizione centrale, è possibile inviare al computer un certificato "attendibile" che verrà archiviato accanto al certificato attendibile di dire, Verifica o Entrust.

Il proxy della tua azienda conterrà la chiave privata di quel certificato.

Quando visiti un sito web HTTPS, come https://mybank.com/ , il proxy si posizionerà nel mezzo. Stabilirà una connessione HTTPS con il tuo browser generando al volo un certificato per mybank.com. Riprodurrà (e possibilmente monitorerà o registrerà) tutto il traffico su una nuova connessione, dal proxy a mybank.com.

Puoi capire se questo è il caso guardando l'icona del lucchetto. Se vedi che il certificato per mybank.com è stato emesso da acmesprockets.com (il nome della tua azienda), sai che possono vedere il tuo traffico "crittografato". Ma poiché la tua azienda può costringere il tuo computer a fidarsi di qualsiasi certificato, potrebbe creare un certificato usando un nome ben noto, come "Entrust.net Secure Server Certification Authority" (anche se probabilmente sarebbe illegale in base ad alcune leggi sui marchi).

Quindi come puoi dirlo? Dopo aver effettuato il collegamento al sito Web, guarda il certificato. I dettagli variano per ciascun browser, ma facendo clic sull'icona del lucchetto accanto a https è in genere il punto di partenza. Da quel certificato, trova l'identificazione personale del certificato e cercalo online . Meglio ancora, fare la stessa cosa con l'autorità di certificazione. Se non trovi la levetta del certificato online (ma puoi farlo quando sei a casa o sul telefono), è probabile che il tuo traffico HTTPS venga decrittografato lungo la strada.

48
ixe013

Server proxy semplici

Anche un semplice proxy vedrà e registrerà i nomi dei server . Ad esempio, visitare https://example.com/some/address.html creerà una richiesta come questa dal browser al server proxy:

CONNECT example.org:443 HTTP/1.1
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:2.0b13pre) ...
Proxy-Connection: keep-alive
Host: example.org

Il resto della connessione è crittografato e un semplice proxy lo inoltra.

.

Server proxy complessi

Esistono, tuttavia, più server proxy complessi , in grado di vedere il traffico completo in testo normale . Questi tipi di server proxy, tuttavia, richiedono l'installazione di un certificato radice per il quale possano creare certificati server al volo.

Guardare la catena di certificati nel browser di solito rivela questo tipo di uomo nel mezzo dell'attacco. Almeno nel caso comune in cui viene fatto dalla propria società e non dalle agenzie statali:

Proxy in the Middle with custom root certificate

29

Con HTTPS, viene stabilito il tunnel SSL/TLS prima e il traffico HTTP avviene solo all'interno di quel tunnel. Alcune informazioni perdono ancora:

  • Se il client utilizza un proxy, la connessione al proxy è simile a: CONNECT www.example.com:443 con il nome del server di destinazione. In alternativa, il client potrebbe inviare l'indirizzo IP del server di destinazione, ma questo è solo leggermente meno rivelatore; e, per conoscere l'indirizzo IP del server, il client deve eseguire una risoluzione dei nomi, utilizzando i server DNS forniti dall'azienda stessa.

  • I client abbastanza recenti invieranno il nome del server di destinazione come parte dell'handshake SSL iniziale (ovvero l'estensione Indicazione nome server ).

  • Il server risponde inviando indietro il suo certificato, che include, in bella vista e per definizione, il nome del server.

Da questi possiamo concludere che il nome del server di destinazione è sicuramente no un segreto. Puoi presumere che la tua azienda lo impari.

Il resto della comunicazione è crittografato, quindi è nominalmente inaccessibile agli estranei. Tuttavia, il lunghezza dei pacchetti di dati inviati e ricevuti dal client può ancora essere dedotto da qualsiasi intercettatore (con precisione a singolo byte se viene utilizzata una suite di crittografia RC4), e questo può anche rivelare molte informazioni, a seconda del contesto.

Se la tua azienda è molto attenta alla sicurezza , potrebbe aver installato un proxy più avanzato come Blue Coat's ProxySG . Tali sistemi eseguono un attacco Man-in-the-Middle generando dinamicamente un certificato falso per il server di destinazione. Ciò consente loro di accedere ai dati completi, come se non esistesse SSL.

Si noti, tuttavia, che tale intercettazione è possibile solo se la società potrebbe aggiungere al truststore del sistema desktop il certificato CA principale utilizzato dal proxy per emettere certificati falsi. Questa è un'azione piuttosto invadente. Pertanto, se potrebbero farlo, perché dovrebbero fermarsi qui? Potrebbero aver inserito altrettanto facilmente una manciata di software di spionaggio che collegherà il browser Web, la tastiera e il display; e tutto che fai sulla macchina è noto a loro.

In alternativa, if puoi assicurarti che la tua macchina sia libera da qualsiasi interferenza della tua azienda (es. È il tuo dispositivo e non hai installato alcun software fornito dalla società su ), quindi MitM-proxy non può decrittografare le connessioni SSL.

Un modo molto semplice per nascondere il tuo traffico alla tua azienda è di non utilizzare affatto le loro strutture. Porta il tuo laptop con una chiave 3G (o collegata allo smartphone). Pagando per la tua Internet, puoi eludere basato sulla rete rilevamento e trascorrere le tue giornate in roaming sul Web invece di fare il lavoro che sei pagato per fare (ma, ovviamente, il rilevamento dei fannulloni ha mai limitato all'uso di aggeggi computerizzati).

27
Thomas Pornin

Se websense è configurato per registrarlo, quindi sì, saranno in grado di vedere dove sei andato, tutti gli URL che visiti.

È meno probabile che il contenuto venga visualizzato - dipende da come è impostato websense/proxy - ma può essere fatto. Dipende se la sessione SSL è dal tuo browser al server o se è solo per il proxy (effettivamente eseguendo un uomo nell'attacco centrale)

13
Rory Alsop

Possono vedere tutto il tuo traffico SSL non crittografato se usano un proxy BlueCoat o simili. Molte grandi aziende lo fanno.

12
atdre

Seguendo la risposta di Guillaume, un altro modo per verificare la presenza di un gioco scorretto è utilizzare il componente aggiuntivo "Prospettive" di Firefox. Quando si visita un sito https, si verifica (tramite "notai" Internet) che la chiave pubblica che si riceve (tramite il certificato del server Web) appartenga effettivamente al sito che si sta visitando.

11
George

, la tua azienda può monitorare il tuo traffico SSL.

Altre risposte affermano che SSL è sicuro, anzi lo è.

Tuttavia, il proxy aziendale può intercettare e ispezionare il traffico crittografato come indicato dall'immagine seguente:

Microsoft Forefront HTTPS Inspection

Questa immagine è quando visito Google sul mio computer di lavoro.

Qui, usano Forefront Threat Management Gateway 201 che può intercettare la connessione tra me e un sito sicuro.

Spiegazione:

La sicurezza SSL (Secure Socket Layer) e TLS (Transport Layer Security) si basa su PKI (Public Key Infrastruture).

La PKI consiste in una serie di certificati attendibili chiamati certificati root.

Qui nella mia azienda, uno dei certificati radice è il certificato che Forefront genera i certificati per ogni sito Web che visito.

Poiché il mio computer considera attendibile il certificato utilizzato dal proxy, non è stato generato alcun avviso e la connessione viene eseguita in modo sicuro ma può essere controllata dal server proxy.

7
LawfulHacker

Non solo dal certificato ma anche dai messaggi di handshake è possibile ottenere informazioni sul nomeserver. Come ho testato,% 80 del traffico contiene l'estensione nome_server nel messaggio ciao client (primo messaggio inviato dal client al server nel protocollo https). Ma questa estensione è facoltativa e talvolta non esiste. In questo caso è possibile verificare il certificato. Nel certificato esiste di nuovo il nome del server.

4