Inhoud

Inleiding

Voorwaarden

Vereisten

Gebruikte componenten

Uitgestelde soorten proxyimplementatie

TLS-handdruk

HTTP-responscode

1xx: informatie

2xx: geslaagd

3x:omleiding

4x codes: client fout

5x: serverfout

Expliciete implementatie

HTTP-verkeer in expliciete implementatie zonder verificatie

Klant en SWA

SWA- en webserver

Verkeer met gecachede gegevens

HTTP-verkeer in expliciete implementatie zonder verificatie

Klant en SWA

SWA- en webserver

HTTPS-passthrough

Transparante implementatie

HTTP-verkeer in transparante implementatie zonder verificatie

Klant en SWA

SWA- en webserver

Verkeer met gecachede gegevens

HTTP-verkeer in transparante implementatie zonder verificatie

Klant en SWA

SWA- en webserver

Gerelateerde informatie

Inleiding

Dit document beschrijft de netwerkstroom in een Proxy geconfigureerd netwerk, dat specifiek is gericht op Secure Web Applicatie (SWA).

Voorwaarden

Vereisten

Cisco raadt kennis van de volgende onderwerpen aan:

- Basis TCP/IP-concepten.

- Basiskennis van Proxy-instellingen.

- Basiskennis van het verificatiemechanisme dat wordt gebruikt in een omgeving met Proxy.

De gebruikte afkortingen zijn:

TCP: Transmission Control Protocol

UDP: User Datagram Protocol

IP: internetprotocol

GRE: generieke routing-insluiting

HTTP: Hypertext Transfer Protocol.

HTTPS: Hypertext Transfer Protocol beveiligd.

URL: uniform resourcelocator

TLS: transportlaagbeveiliging

Gebruikte componenten

Dit document is niet beperkt tot specifieke software- en hardware-versies.

De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.

Uitgestelde soorten proxyimplementatie

TLS-handdruk

Er is een TLS-handdruk in HTTPS wanneer een client en server via internet communiceren, waardoor een beveiligde verbinding tot stand wordt gebracht. Het proces handhaaft privacy en gegevensintegriteit tussen twee communicerende toepassingen. Het werkt via een reeks stappen waar de client en server het eens worden over coderingsstandaarden en -codes voor alle daaropvolgende transmissies. De handdruk is bedoeld om ongeoorloofde toegang of manipulatie door derden te voorkomen. Het authenticeert ook de identiteit van de communicerende partijen om imitatie te elimineren. Dit proces is van cruciaal belang in HTTPS, omdat het ervoor zorgt dat gegevens veilig blijven tijdens het transport.

Hier zijn de stappen van een TLS handdruk:

1. Klant Hallo: De client start het handshake-proces met een hello-bericht. Dit bericht bevat de client-TLS-versie, ondersteunde algoritme-suites en een willekeurige byte-string die bekend staat als de "client random".

2. Server Hello: De server reageert met een hello bericht. Dit bericht bevat de door de server gekozen TLS-versie, de geselecteerde algoritmenreeks, een willekeurige byte-string die bekend staat als "server random" en het digitale certificaat van de server. Indien nodig vraagt de server ook om het client digitaal certificaat voor wederzijdse authenticatie.

3. De client verifieert het servercertificaat: De client controleert het digitale servercertificaat bij de certificeringsinstantie die het heeft afgegeven. Dit verzekert de client dat het communiceert met de legitieme server.

4. Pre-master Secret: De client stuurt een willekeurige byte string, bekend als het "pre-master geheim", die bijdraagt aan de creatie van de sessiesleutels. De client versleutelt dit pre-master geheim met de server public key, dus alleen de server kan het ontsleutelen met zijn private sleutel.

5. Master Secret: Zowel de client als de server gebruiken het pre-master geheim en de willekeurige byte-strings van de hello-berichten om onafhankelijk hetzelfde "master geheim" te berekenen. Dit gedeelde geheim is de basis voor het genereren van de sessiesleutels.

6. Klant voltooid: De client stuurt een bericht "Voltooid", versleuteld met de sessiesleutel, om de voltooiing van het clientonderdeel van de handdruk aan te geven.

7. Server voltooid: De server stuurt een "Klaar" bericht, ook versleuteld met de sessiesleutel, om de voltooiing van het serveronderdeel van de handdruk aan te geven.

HTTP-responscode

1xx: informatie

Code

Details

100 Doorgaan

Meestal gezien met betrekking tot het ICAP-protocol. Dit is een informatieve reactie die de klant laat weten dat hij kan doorgaan met het verzenden van gegevens. Met betrekking tot ICAP-services (zoals het scannen van virussen) kan de server alleen de eerste x hoeveelheid bytes willen zien. Wanneer het scannen van de eerste reeks bytes is voltooid en geen virus is gedetecteerd, wordt een 100 Doorgaan verzonden om de client te laten weten dat de rest van het object moet worden verzonden.

2xx: geslaagd

Code

Details

200 OK

De meest voorkomende responscode. Dit betekent dat het verzoek zonder problemen wordt ingewilligd.

3xx: omleiding

Code

Details

301 permanente omleiding

Dit is een permanente omleiding, je kunt deze code zien wanneer je omleidt naar www sub-domein.

302 Tijdelijke omleiding

Dit is een tijdelijke omleiding. De client is geïnstrueerd om een nieuwe aanvraag te doen voor het object dat in de Location: header gespecificeerd is.

304 Niet gewijzigd

Dit is in reactie op een GIMS (GET if-modified-Since). Dit is letterlijk een standaard HTTP GET die de header if-modified-Since bevat: <date>. Deze header vertelt de server dat de client een kopie van het gevraagde object in het lokale cache heeft en is de datum waarop het object is opgehaald. Als het object sinds die datum is gewijzigd, reageert de server met een 200 OK en een nieuwe kopie van het object. Als het object sinds de gehaalde datum niet is gewijzigd, stuurt de server een 304 Niet Aangepaste reactie terug.

3307 Verificatieomleiding

Dit wordt het meest gezien, in de transparante Plaatsing van de Proxy, wanneer de server van de Proxy wordt gevormd om het verzoek voor authentiek te verklaren en het verzoek aan een andere URL om de gebruiker opnieuw te richten voor authentiek te verklaren,

4xx codes: client fout

Code

Details

400 Slechte aanvraag

Dit suggereert een probleem met het HTTP verzoek, omdat het niet voldoet aan de juiste syntaxis. Mogelijke redenen zijn onder andere het ontbreken van HTTP/1.1 in de URI, of meerdere headers op één regel, spaties in een header. Voor de juiste syntaxis raadpleegt u RFC 2616.

401 Onbevoegd

Web server verificatie vereist

Toegang tot het gevraagde object vereist authenticatie. De 401-code wordt gebruikt voor verificatie met een doelwebserver. Wanneer de SWA in transparante modus werkt en de authenticatie op de proxy is ingeschakeld, geeft het een 401 terug aan de client, omdat het apparaat zich presenteert alsof het de OCS (Originele Content Server) was.

De verificatiemethoden die kunnen worden gebruikt worden beschreven in een 'www-authenticate:' HTTP response header. Dit informeert de client of de server NTLM, basic of andere vormen van authenticatie vraagt.

403 geweigerd

De client heeft geen toegang tot het opgevraagde object. Een aantal redenen kan een server ertoe aanzetten de toegang tot objecten te weigeren. De server geeft doorgaans een oorzaakbeschrijving binnen de HTTP-gegevens of HTML-respons.

404 niet gevonden

Het gevraagde object bestaat niet op de server.

4407 Proxy-verificatie vereist

Dit is hetzelfde als een 401, behalve dat het specifiek is voor authenticatie naar een proxy en niet de OCS. Dit wordt alleen verstuurd als het verzoek expliciet naar de proxy werd verstuurd.

Een 407 kan niet naar een client worden verzonden terwijl SWA is geconfigureerd als transparante proxy, omdat de client niet weet dat de proxy bestaat. Als dit het geval is, is de client naar alle waarschijnlijkheid FIN of RST de TCP socket.

5x: serverfout

Code

Details

501 interne serverfout

Generic Web Server-fout.

502 slechte gateway

Komt voor wanneer een server die als gateway of volmacht acteert een ongeldige reactie van een inkomende server ontvangt. Het signaleert dat de gateway een ongepaste reactie van de stroomopwaartse of oorsprongsserver heeft ontvangen.

503 service niet beschikbaar

Geeft aan dat de server momenteel niet in staat is om het verzoek af te handelen vanwege tijdelijke overbelasting of gepland onderhoud. Het betekent dat de server tijdelijk buiten gebruik is, maar na enige tijd weer beschikbaar kan zijn.

Time-out voor 504 gateway

Geeft aan dat een client of proxy, niet tijdig een antwoord van de webserver heeft ontvangen, het probeerde toegang te krijgen tot de webpagina of een ander verzoek van de browser te vervullen. Dit impliceert vaak dat de upstream server down is.

Expliciete implementatie

Hier....

HTTP-verkeer in expliciete implementatie zonder verificatie

Klant en SWA

Netwerkverkeer verloopt tussen het IP-adres van de client en het IP-adres van de SWA-proxyinterface (meestal is het een P1-interface, maar het kan ook P2 zijn of een Management-interface, afhankelijk van de Proxy-configuratie).

Het verkeer van client is bestemd voor TCP poort 80 of 3128 naar de SWA (standaard SWA proxy poorten zijn TCP 80 en 3128, in dit voorbeeld gebruiken we poort 3128)

- TCP-handdruk.

- HTTP Get from client (bestemming IP = SWA IP, bestemming poort = 3128 )

- HTTP-respons via proxy ( bron-IP = SWA )

- Gegevensoverdracht

- TCP-verbindingsbeëindiging (4-voudige handdruk)

Image-Client naar SWA, HTTP expliciete modus

SWA- en webserver

Het netwerkverkeer vindt plaats tussen het IP-adres van de proxy en het IP-adres van de webserver.

Het verkeer van SWA is bestemd voor TCP-poort 80 en afkomstig van een willekeurige poort (niet de Proxy-poort)

- TCP-handdruk.

- HTTP Get from Proxy (bestemming IP = webserver, bestemming poort = 80)

- HTTP-respons van webserver ( bron-IP = proxyserver )

- Gegevensoverdracht

- TCP-verbindingsbeëindiging (4-voudige handdruk)

Afbeelding - HTTP-SWA naar webserver-Expliciet-geen cache

Hier is een voorbeeld van HTTP Get from Client

Afbeelding - client naar SWA HTTP GET - Expliciet

Dit vertegenwoordigt de gehele verkeersstroom van de client naar de SWA, vervolgens naar de webserver en uiteindelijk terug naar de client.

Afbeelding - Al het verkeer HTTP Expliciet-geen cache

Opmerking: elke verkeersstroom wordt door een andere kleur onderscheiden; de stroom van de client naar de SWA is één kleur, en de stroom van de SWA naar de webserver is een andere.

Afbeelding - Traffic Flow HTTP expliciet - geen cache

Hier is een voorbeeld van Access logs:

1706172876.686 224 10.61.70.23 TCP_MISS/200 1721 GET http://www.example.com/ - DIRECT/www.example.com text/html DEFAULT_CASE_12-DefaultGroup-DefaultGroup-NONE-NONE-NONE-DefaultGroup-NONE <"IW_ref",3.7,1,"-",0,0,0,1,"-",-,-,-,"-",1,-,"-","-",-,-,"IW_ref",-,"Unknown","Reference","-","Unknown","Unknown","-","-",61.46,0,-,"Unknown","-",1,"-",-,-,"-","-",-,-,"-",-,-> - - [ Request Details: ID = 10, User Agent = "curl/8.4.0", AD Group Memberships = ( NONE ) - ] [ Tx Wait Times (in ms): 1st byte to server = 108, Request Header = 0, Request to Server = 0, 1st byte to client = 3, Response Header = 0, Client Body = 0 ] [ Rx Wait Times (in ms): 1st request byte = 0, Request Header = 0, Client Body = 0, 1st response byte = 106, Response header = 0, Server response = 1, Disk Cache = 0; Auth response = 0, Auth total = 0; DNS response = 0, DNS total = 2, WBRS response = 0, WBRS total = 0, AVC response = 0, AVC total = 0, DCA response = 0, DCA total = 0, McAfee response = 0, McAfee total = 0, Sophos response = 0, Sophos total = 0, Webroot response = 0, Webroot total = 0, Anti-Spyware response = 0, Anti-Spyware total = 1, AMP response = 0, AMP total = 0; Latency = 4; "25/Jan/2024:09:54:36 +0100" ][Client Port = 65238, Server IP = 10.184.216.34, Server Port = 80]

Verkeer met gecachede gegevens

Dit vertegenwoordigt de volledige stroom van verkeer van de cliënt naar de SWA, wanneer de gegevens in SWA Cache zijn.

Afbeelding - HTTP expliciete gecachede gegevens

Opmerking: Zoals u kunt zien dat de Web Server HTTP-respons 304 teruggeeft: Cache niet gewijzigd. (in dit voorbeeld, pakketnummer 1947)

Afbeelding - Flow HTTP Expliciet met cache

Hier is een voorbeeld van HTTP Response 304

Afbeelding - HTTP expliciete 304-respons

Hier is een voorbeeld van Access logs:

1706173001.489 235 10.61.70.23 TCP_REFRESH_HIT/200 1721 GET http://www.example.com/ - DIRECT/www.example.com text/html DEFAULT_CASE_12-DefaultGroup-DefaultGroup-NONE-NONE-NONE-DefaultGroup-NONE <"IW_ref",3.7,1,"-",0,0,0,1,"-",-,-,-,"-",1,-,"-","-",-,-,"IW_ref",-,"Unknown","Reference","-","Unknown","Unknown","-","-",58.59,0,-,"Unknown","-",1,"-",-,-,"-","-",-,-,"-",-,-> - - [ Request Details: ID = 150, User Agent = "curl/8.4.0", AD Group Memberships = ( NONE ) - ] [ Tx Wait Times (in ms): 1st byte to server = 110, Request Header = 0, Request to Server = 0, 1st byte to client = 2, Response Header = 0, Client Body = 0 ] [ Rx Wait Times (in ms): 1st request byte = 0, Request Header = 0, Client Body = 0, 1st response byte = 119, Response header = 0, Server response = 0, Disk Cache = 0; Auth response = 0, Auth total = 0; DNS response = 0, DNS total = 0, WBRS response = 0, WBRS total = 0, AVC response = 0, AVC total = 0, DCA response = 0, DCA total = 0, McAfee response = 0, McAfee total = 0, Sophos response = 0, Sophos total = 0, Webroot response = 0, Webroot total = 0, Anti-Spyware response = 0, Anti-Spyware total = 1, AMP response = 0, AMP total = 0; Latency = 1; "25/Jan/2024:09:56:41 +0100" ][Client Port = 55709, Server IP = 10.184.216.34, Server Port = 80]

HTTP-verkeer in expliciete implementatie zonder verificatie

Klant en SWA

Netwerkverkeer verloopt tussen het IP-adres van de client en het IP-adres van de SWA-proxyinterface (meestal is het P1-interface, maar het kan P2 of Management-interface zijn, afhankelijk van Proxy-configuratie).

Het verkeer van client is bestemd voor TCP poort 80 of 3128 naar de SWA (standaard SWA proxy poorten zijn TCP 80 en 3128, in dit voorbeeld gebruiken we poort 3128)

- TCP-handdruk.

- HTTP CONNECT vanaf client (bestemming IP = SWA, bestemming poort = 3128 )

- HTTP-respons via proxy ( bron-IP = SWA )

- Client Hello met SNI van de URL (bron-IP = client)

- Server Hallo (bron IP = SWA)

- Toetsuitwisseling voor servers ( bron IP = SWA)

- Toetsuitwisseling voor client (bron-IP = client)

- Gegevensoverdracht

- TCP-verbindingsbeëindiging (4-voudige handdruk)

Afbeelding - HTTPS-client naar SWA-Expliciet - geen cache

Hier vindt u details van client Hello van client naar SWA, zoals u kunt zien in de Server Name Indication (SNI) de URL van de webserver kan worden gezien die in dit voorbeeld www.example.com is en client geadverteerd 17 Cyper Suites:

Afbeelding - HTTPS-clienthello - Expliciet - client naar SWA

Tip: U kunt dit filter gebruiken in Wireshark om te zoeken naar URL/SNI : tls.handshake.extensions_server_name == "www.example.com"

Hier is een voorbeeld van een certificaat dat SWA naar de klant heeft gestuurd

Afbeelding - HTTPS-certificaat - Expliciet - SWA naar client

SWA- en webserver

Het netwerkverkeer vindt plaats tussen het IP-adres van de proxy en het IP-adres van de webserver.

Het verkeer van SWA is bestemd voor TCP-poort 443 (niet de Proxy-poort)

- TCP-handdruk.

- Cliënt Hello (Bestemming IP = Webserver, Bestemmingshaven = 443)

- Server Hallo (bron-IP = webserver)

- Gegevensoverdracht

- TCP-verbindingsbeëindiging (4-voudige handdruk)

Afbeelding - HTTPS - Expliciet - SWA naar webserver

Hier zijn de details van client Hello van SWA naar web server, zoals je kan zien SWA geadverteerd 12 Cipher Suites:

Afbeelding - HTTPS client Hallo - SWA naar webserver - Geen wijzigingen

Opmerking: De Cipher Suites hier waargenomen verschillen van de Cipher Suites in de client Hello van client naar SWA, omdat de SWA, geconfigureerd om dit verkeer te decoderen, gebruik maakt van zijn eigen Ciphers.

Tip: in de Server Key Exchange van SWA naar Web Server, wordt het Web Server-certificaat weergegeven. Als echter een upstream proxy configuratie vindt voor uw SWA, verschijnt het certificaat in plaats van het Web Server-certificaat.

Hier is een voorbeeld van HTTP CONNECT van client

Image- Client HTTP-verbinding

Dit vertegenwoordigt de gehele verkeersstroom van de client naar de SWA, vervolgens naar de webserver en uiteindelijk terug naar de client.

Afbeelding - Volledig HTTPS expliciet-Geen cache

Opmerking: elke verkeersstroom wordt door een andere kleur onderscheiden; de stroom van de client naar de SWA is één kleur, en de stroom van de SWA naar de webserver is een andere.

Afbeelding - HTTPS Flow - Expliciet - Geen cache

Hier is een voorbeeld van Access logs:

1706174571.215 582 10.61.70.23 TCP_MISS_SSL/200 39 CONNECT tunnel://www.example.com:443/ - DIRECT/www.example.com - DECRYPT_WEBCAT_7-DefaultGroup-DefaultGroup-NONE-NONE-NONE-DefaultGroup-NONE <"IW_ref",3.7,-,"-",-,-,-,-,"-",-,-,-,"-",-,-,"-","-",-,-,"IW_ref",-,"-","Reference","-","Unknown","Unknown","-","-",0.54,0,-,"-","-",-,"-",-,-,"-","-",-,-,"-",-,-> - - [ Request Details: ID = 1600, User Agent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:122.0) Gecko/20100101 Firefox/122.0", AD Group Memberships = ( NONE ) - ] [ Tx Wait Times (in ms): 1st byte to server = 113, Request Header = 0, Request to Server = 0, 1st byte to client = 113, Response Header = 0, Client Body = 79 ] [ Rx Wait Times (in ms): 1st request byte = 0, Request Header = 0, Client Body = 0, 1st response byte = 0, Response header = 0, Server response = 344, Disk Cache = 0; Auth response = 0, Auth total = 0; DNS response = 0, DNS total = 0, WBRS response = 0, WBRS total = 0, AVC response = 0, AVC total = 0, DCA response = 0, DCA total = 0, McAfee response = 0, McAfee total = 0, Sophos response = 0, Sophos total = 0, Webroot response = 0, Webroot total = 0, Anti-Spyware response = 0, Anti-Spyware total = 0, AMP response = 0, AMP total = 0; Latency = 0; "25/Jan/2024:10:22:51 +0100" ][Client Port = 24953, Server IP = 10.184.216.34, Server Port = 443]

1706174571.486 270 10.61.70.23 TCP_MISS_SSL/200 1106 GET https://www.example.com:443/ - DIRECT/www.example.com text/html DEFAULT_CASE_12-DefaultGroup-DefaultGroup-NONE-NONE-NONE-DefaultGroup-NONE <"IW_ref",3.7,1,"-",0,0,0,1,"-",-,-,-,"-",1,-,"-","-",-,-,"IW_ref",-,"Unknown","Reference","-","Unknown","Unknown","-","-",32.77,0,-,"Unknown","-",1,"-",-,-,"-","-",-,-,"-",-,-> - - [ Request Details: ID = 1630, User Agent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:122.0) Gecko/20100101 Firefox/122.0", AD Group Memberships = ( NONE ) - ] [ Tx Wait Times (in ms): 1st byte to server = 0, Request Header = 0, Request to Server = 0, 1st byte to client = 3, Response Header = 0, Client Body = 0 ] [ Rx Wait Times (in ms): 1st request byte = 0, Request Header = 0, Client Body = 0, 1st response byte = 264, Response header = 0, Server response = 2, Disk Cache = 0; Auth response = 0, Auth total = 0; DNS response = 0, DNS total = 0, WBRS response = 0, WBRS total = 1, AVC response = 0, AVC total = 0, DCA response = 0, DCA total = 0, McAfee response = 0, McAfee total = 0, Sophos response = 0, Sophos total = 0, Webroot response = 0, Webroot total = 0, Anti-Spyware response = 0, Anti-Spyware total = 1, AMP response = 0, AMP total = 0; Latency = 2; "25/Jan/2024:10:22:51 +0100" ][Client Port = 24953, Server IP = 10.184.216.34, Server Port = 443]

Opmerking: zoals u kunt zien in transparante implementatie voor HTTPS-verkeer zijn er 2 regels in Access logs, de eerste regel is wanneer het verkeer is versleuteld en u kunt CONNECT zien en de URL van de webserver begint met tunnel://. Als decryptie is ingeschakeld in SWA, bevat de tweede regel GET en begint de hele URL met HTTPS, wat betekent dat het verkeer is gedecrypteerd.

HTTPS-passthrough

Als u uw SWA hebt ingesteld om door het verkeer te gaan, is hier de algemene stroom:

Afbeelding - HTTPS-doorgifte - Expliciet - Flow

Hier is de steekproef van Klant Hello van SWA aan de server van het Web:

Afbeelding - HTTPS Passthrough - Expliciet - SWA naar Webserver - Client hello

Hetzelfde als de client Hello van client naar SWA:

Afbeelding - HTTPS-doorgifte - Expliciet - Client naar SWA - Client hello

Hier is een voorbeeld van een Accessoire:

1706185288.920 53395 10.61.70.23 TCP_MISS/200 6549 CONNECT tunnel://www.example.com:443/ - DIRECT/www.example.com - PASSTHRU_WEBCAT_7-DefaultGroup-DefaultGroup-NONE-NONE-NONE-DefaultGroup-NONE <"IW_ref",3.7,-,"-",-,-,-,-,"-",-,-,-,"-",-,-,"-","-",-,-,"IW_ref",-,"-","Reference","-","Unknown","Unknown","-","-",0.98,0,-,"-","-",-,"-",-,-,"-","-",-,-,"-",-,-> - - [ Request Details: ID = 210, User Agent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:122.0) Gecko/20100101 Firefox/122.0", AD Group Memberships = ( NONE ) - ] [ Tx Wait Times (in ms): 1st byte to server = 233, Request Header = 0, Request to Server = 0, 1st byte to client = 119, Response Header = 0, Client Body = 0 ] [ Rx Wait Times (in ms): 1st request byte = 0, Request Header = 0, Client Body = 0, 1st response byte = 0, Response header = 0, Server response = 436, Disk Cache = 0; Auth response = 0, Auth total = 0; DNS response = 0, DNS total = 22, WBRS response = 0, WBRS total = 0, AVC response = 0, AVC total = 0, DCA response = 0, DCA total = 0, McAfee response = 0, McAfee total = 0, Sophos response = 0, Sophos total = 0, Webroot response = 0, Webroot total = 0, Anti-Spyware response = 0, Anti-Spyware total = 0, AMP response = 0, AMP total = 0; Latency = 22; "25/Jan/2024:13:21:28 +0100" ][Client Port = 59939, Server IP = 10.184.216.34, Server Port = 443]

Opmerking: zoals u kunt zien, is het slechts één regel en de actie is PASSTHRU.

Transparante implementatie

HTTP-verkeer in transparante implementatie zonder verificatie

Klant en SWA

Netwerkverkeer verloopt tussen het IP-adres van de client en het IP-adres van de webserver.

Het verkeer vanaf de client is bestemd voor TCP-poort 80 (niet de Proxy-poort)

- TCP-handdruk.

- HTTP Get from client (bestemming IP = webserver, bestemming poort = 80)

- HTTP-respons via proxy ( bron-IP = webserver )

- Gegevensoverdracht

- TCP-verbindingsbeëindiging (4-voudige handdruk)

Afbeelding - client naar proxy - HTTP - Transparent - geen autorisatie

Hier is een voorbeeld van HTTP Get van client

Image- Client to Proxy - HTTP - Transparent - Geen autorisatie - client HTTP ophalen

SWA- en webserver

Het netwerkverkeer vindt plaats tussen het IP-adres van de proxy en het IP-adres van de webserver.

Het verkeer van SWA is bestemd voor TCP-poort 80 (niet de Proxy-poort)

- TCP-handdruk.

- HTTP Get from Proxy (bestemming IP = webserver, bestemming poort = 80)

- HTTP-respons van webserver ( bron-IP = proxyserver )

- Gegevensoverdracht

- TCP-verbindingsbeëindiging (4-voudige handdruk)

Image- Proxy en Web Server - HTTP - Transparent - Geen autorisatie

Hier is een voorbeeld van HTTP Get van Proxy

Image- Proxy to Web Server - HTTP - Transparent - Geen autorisatie - Proxy HTTP Get

Dit vertegenwoordigt de gehele verkeersstroom van de client naar de SWA, vervolgens naar de webserver en uiteindelijk terug naar de client.

Afbeelding - Totaal verkeer - HTTP - Transparant - Geen autorisatie

Opmerking: elke verkeersstroom wordt door een andere kleur onderscheiden; de stroom van de client naar de SWA is één kleur, en de stroom van de SWA naar de webserver is een andere.

Afbeelding - WCCP HTTP Flow

Hier is een voorbeeld van Access logs:

1702318427.181 124 192.168.1.10 TCP_MISS/200 1787 GET http://www.example.com/ - DIRECT/www.example.com text/html DEFAULT_CASE_12-DefaultGroup-DefaultGroup-NONE-NONE-NONE-DefaultGroup-NONE <"-",-,-,"-",-,-,-,-,"-",-,-,-,"-",-,-,"-","-",-,-,"-",-,"-","-","-","-","-","-","-",115.29,0,-,"-","-",-,"-",-,-,"-","-",-,-,"-",-,-> - - [ Request Details: ID = 50, User Agent = "curl/8.4.0", AD Group Memberships = ( NONE ) - ] [ Tx Wait Times (in ms): 1st byte to server = 0, Request Header = 0, Request to Server = 0, 1st byte to client = 0, Response Header = 0, Client Body = 0 ] [ Rx Wait Times (in ms): 1st request byte = 1, Request Header = 0, Client Body = 0, 1st response byte = 124, Response header = 0, Server response = 0, Disk Cache = 0; Auth response = 0, Auth total = 0; DNS response = 0, DNS total = 0, WBRS response = 0, WBRS total = 0, AVC response = 0, AVC total = 0, DCA response = 0, DCA total = 0, McAfee response = 0, McAfee total = 0, Sophos response = 0, Sophos total = 0, Webroot response = 0, Webroot total = 0, Anti-Spyware response = 0, Anti-Spyware total = 0, AMP response = 124>, AMP total = 124<; Latency = 1; "11/Dec/2023:19:13:47 +0100" ][Client Port = 54468, Server IP = 10.184.216.34, Server Port = 80]

Verkeer met gecachede gegevens

Dit vertegenwoordigt de volledige stroom van verkeer van de cliënt naar de SWA, wanneer de gegevens in SWA Cache zijn.

Afbeelding - gecached - totaal verkeer - HTTP - transparant - geen autorisatie

Opmerking: Zoals u kunt zien dat de Web Server HTTP-respons 304 teruggeeft: Cache niet gewijzigd. (in dit voorbeeld, pakketnummer 27)

Hier is een voorbeeld van HTTP Response 304

Image- Cached - HTTP response 304 - HTTP - Transparent - Geen autorisatie

Hier is een voorbeeld van Access logs:

1702318789.560 105 192.168.1.10 TCP_REFRESH_HIT/200 1787 GET http://www.example.com/ - DIRECT/www.example.com text/html DEFAULT_CASE_12-DefaultGroup-DefaultGroup-NONE-NONE-NONE-DefaultGroup-NONE <"-",-,-,"-",-,-,-,-,"-",-,-,-,"-",-,-,"-","-",-,-,"-",-,"-","-","-","-","-","-","-",136.15,0,-,"-","-",-,"-",-,-,"-","-",-,-,"-",-,-> - - [ Request Details: ID = 360, User Agent = "curl/8.4.0", AD Group Memberships = ( NONE ) - ] [ Tx Wait Times (in ms): 1st byte to server = 0, Request Header = 0, Request to Server = 0, 1st byte to client = 0, Response Header = 0, Client Body = 0 ] [ Rx Wait Times (in ms): 1st request byte = 2, Request Header = 0, Client Body = 0, 1st response byte = 104, Response header = 0, Server response = 0, Disk Cache = 0; Auth response = 0, Auth total = 0; DNS response = 0, DNS total = 0, WBRS response = 0, WBRS total = 0, AVC response = 0, AVC total = 0, DCA response = 0, DCA total = 0, McAfee response = 0, McAfee total = 0, Sophos response = 0, Sophos total = 0, Webroot response = 0, Webroot total = 0, Anti-Spyware response = 0, Anti-Spyware total = 0, AMP response = 105>, AMP total = 105<; Latency = 2; "11/Dec/2023:19:19:49 +0100" ][Client Port = 54487, Server IP = 10.184.216.34, Server Port = 80]

HTTP-verkeer in transparante implementatie zonder verificatie

Klant en SWA

Netwerkverkeer verloopt tussen het IP-adres van de client en het IP-adres van de webserver.

Het verkeer van client is bestemd voor TCP-poort 443 (niet de Proxy-poort)

- TCP-handdruk.

- TLS Handshake client Hallo - Server Hello - Server Key Exchange - Client Key Exchange

- Gegevensoverdracht

- TCP-verbindingsbeëindiging (4-voudige handdruk)

Afbeelding - client naar proxy - HTTP's - transparant - geen autorisatie

Hier vindt u details van client Hello van client naar SWA, zoals u kunt zien in de Server Name Indication (SNI) de URL van de webserver kan worden gezien die in dit voorbeeld www.example.com is.

Image- Client Hallo - client naar proxy - transparant - geen autorisatie

Tip: U kunt dit filter gebruiken in Wireshark om te zoeken naar URL/SNI: tls.handshake.extensions_server_name == "www.example.com"

Hier is een voorbeeld van Server Key Exchange

Image- Server Key Exchange - client naar proxy - transparant - geen autorisatie

Opmerking: Zoals u kunt zien is het certificaat het certificaat dat in SWA als decryptie certificaat is geconfigureerd.

SWA- en webserver

Het netwerkverkeer vindt plaats tussen het IP-adres van de proxy en het IP-adres van de webserver.

Het verkeer van SWA is bestemd voor TCP-poort 443 (niet de Proxy-poort)

- TCP-handdruk.

- TLS Handshake client Hallo - Server Hello - Server Key Exchange - Client Key Exchange

- Gegevensoverdracht

- TCP-verbindingsbeëindiging (4-voudige handdruk)

Image- Proxy to Web Server - HTTP's - Transparent - Geen autorisatie

Hier is een voorbeeld van client Hello van SWA naar Web Server

Image- Client Hello - Proxy naar webserver - Transparant - Geen autorisatie

Opmerking: De Cipher Suites hier waargenomen verschillen van de Cipher Suites in de client Hello van client naar SWA, omdat de SWA, geconfigureerd om dit verkeer te decoderen, gebruik maakt van zijn eigen Ciphers.

Tip: in de Server Key Exchange van SWA naar Web Server, wordt het Web Server-certificaat weergegeven. Als echter een upstream proxy configuratie vindt voor uw SWA, verschijnt het certificaat in plaats van het Web Server-certificaat.

Hier is een voorbeeld van Access logs:

1702319784.943 558 192.168.1.10 TCP_MISS_SSL/200 0 TCP_CONNECT 10.184.216.34:443 - DIRECT/www.example.com - DECRYPT_ADMIN_DEFAULT_ACTION_7-DefaultGroup-DefaultGroup-NONE-NONE-NONE-DefaultGroup-NONE <"-",-,-,"-",-,-,-,-,"-",-,-,-,"-",-,-,"-","-",-,-,"-",-,"-","-","-","-","-","-","-",0.00,0,-,"-","-",-,"-",-,-,"-","-",-,-,"-",-,-> - - [ Request Details: ID = 940, User Agent = -, AD Group Memberships = ( NONE ) - ] [ Tx Wait Times (in ms): 1st byte to server = 0, Request Header = 0, Request to Server = 0, 1st byte to client = 0, Response Header = 0, Client Body = 50 ] [ Rx Wait Times (in ms): 1st request byte = 0, Request Header = 45, Client Body = 0, 1st response byte = 0, Response header = 0, Server response = 249, Disk Cache = 0; Auth response = 0, Auth total = 0; DNS response = 0, DNS total = 5, WBRS response = 0, WBRS total = 0, AVC response = 0, AVC total = 0, DCA response = 0, DCA total = 0, McAfee response = 0, McAfee total = 0, Sophos response = 0, Sophos total = 0, Webroot response = 0, Webroot total = 0, Anti-Spyware response = 0, Anti-Spyware total = 0, AMP response = 558>, AMP total = 558<; Latency = 50; "11/Dec/2023:19:36:24 +0100" ][Client Port = 54515, Server IP = 10.184.216.34, Server Port = 443]

1702319785.190 247 192.168.1.10 TCP_MISS_SSL/200 1676 GET https://www.example.com:443/ - DIRECT/www.example.com text/html DEFAULT_CASE_12-DefaultGroup-DefaultGroup-NONE-NONE-NONE-DefaultGroup-NONE <"-",-,-,"-",-,-,-,-,"-",-,-,-,"-",-,-,"-","-",-,-,"-",-,"-","-","-","-","-","-","-",54.28,0,-,"-","-",-,"-",-,-,"-","-",-,-,"-",-,-> - - [ Request Details: ID = 960, User Agent = "curl/8.4.0", AD Group Memberships = ( NONE ) - ] [ Tx Wait Times (in ms): 1st byte to server = 0, Request Header = 0, Request to Server = 0, 1st byte to client = 50, Response Header = 50, Client Body = 0 ] [ Rx Wait Times (in ms): 1st request byte = 0, Request Header = 97, Client Body = 0, 1st response byte = 48, Response header = 0, Server response = 0, Disk Cache = 0; Auth response = 0, Auth total = 0; DNS response = 0, DNS total = 0, WBRS response = 0, WBRS total = 0, AVC response = 0, AVC total = 0, DCA response = 0, DCA total = 0, McAfee response = 0, McAfee total = 0, Sophos response = 0, Sophos total = 0, Webroot response = 0, Webroot total = 0, Anti-Spyware response = 0, Anti-Spyware total = 0, AMP response = 247>, AMP total = 247<; Latency = 97; "11/Dec/2023:19:36:25 +0100" ][Client Port = 54515, Server IP = 10.184.216.34, Server Port = 443]

Opmerking: zoals u kunt zien in transparante implementatie voor HTTPS-verkeer zijn er 2 regels in Access logs, de eerste regel is wanneer het verkeer is versleuteld en u kunt TCP_CONNECT en het IP-adres van de webserver zien. Als Decryptie is ingeschakeld in SWA, bevat de tweede regel GET en begint de hele URL met HTTPS, wat betekent dat het verkeer is gedecrypteerd en SWA de URL kent.

Gerelateerde informatie

- Technische ondersteuning en documentatie – Cisco Systems

- Prestatieparameter configureren in toegangslogbestanden - Cisco