Hoppa till innehållet
Avanet

Konfigurera Direct Web Proxy på Sophos Firewall med en PAC-fil

Med Direct Web Proxy skickar webbläsare och proxykompatibla program medvetet sina HTTP- och HTTPS-anslutningar till Sophos Firewall. Det skiljer sig från transparent webbproxy och DPI Engine: klienten känner till proxymålet och ansluter normalt till TCP-port 3128.

Direct Web Proxy är användbart när webbtrafik ska styras centralt via en PAC-fil, autentiseras per användare eller behandlas med funktioner som kräver webbproxyn. Det är dock inte en allmän internetväg för alla program. Endast trafik som faktiskt använder proxykonfigurationen följer den här vägen.

⚠️ En klient med åtkomst till webbproxyn kan nå lokala HTTP- och HTTPS-tjänster på brandväggen via denna väg, även om WebAdmin, User Portal eller VPN Portal inte är aktiverade för klientens zon under Device access. Öppna därför först proxyn endast för en pilotklient och genomför uttryckliga negativa tester av dessa administrationsmål.

Den här proceduren gäller en hanterad IPv4-pilotklient. För IPv6-only-klienter beskriver NAT64 med Direct Web Proxy den separata IPv6-regeln till proxyn och IPv4-regeln till A-only-målet.

Direct Web Proxy i tio steg

  1. Fastställ en hanterad pilotklient, dess fasta IP-adress och nödvändiga webbmål.
  2. Dokumentera proxy-FQDN, DNS, lyssningsport och befintliga proxyberoenden.
  3. Kontrollera Web proxy listening port och tillåtna målportar under Web > General settings.
  4. Tillåt tjänsten Web proxy under Administration > Device access endast för piloten och den avsedda brandväggsadressen.
  5. Skapa en separat loggad brandväggsregel med piloten som källa, WAN som mål, TCP-tjänsten 3128 och önskad Web Policy.
  6. Förbered en PAC-fil med medvetna interna DIRECT-mål och utan internetfallback som går förbi proxyn.
  7. Distribuera PAC-URL:en endast till pilotklienten och kontrollera den proxykonfiguration som faktiskt har lästs in.
  8. Testa ett tillåtet och ett blockerat HTTP-/HTTPS-anrop och kontrollera förväntad Firewall Rule ID.
  9. Genomför negativa tester av lokala brandväggsportaler, TLS-dekryptering, program utan proxystöd och ett proxyavbrott.
  10. Lägg först därefter till fler hanterade klienter och dokumentera återställning, ansvarig och granskningsdatum.

Direct Web Proxy, transparent proxy eller DPI?

De tre begreppen beskriver olika trafikvägar:

  • Direct Web Proxy: Klienten är uttryckligen konfigurerad för brandväggen och dess proxyport. Webbläsaren, operativsystemet eller programmet skickar begäran till fw01.corp.example:3128.
  • Transparent webbproxy: Klienten känner inte till proxyn. När tjänsten är aktiv för klientens zon fångar brandväggen transparent upp HTTP på port 80 och HTTPS på port 443.
  • DPI Engine: Brandväggen behandlar routad trafik utan krav på en klassisk webbproxy och kan inspektera HTTP eller TLS på ytterligare portar enligt brandväggs- och SSL/TLS inspection-reglerna.

Alternativet Use web proxy instead of DPI engine i en brandväggsregel är inget krav för att en uttryckligen konfigurerad klient ska använda Direct Web Proxy. Klientvägen skapas av proxykonfigurationen. Alternativet avgör om regeln använder webbproxyn i stället för DPI Engine för att filtrera vanlig webbtrafik på standardportarna.

Det fullständiga lägesvalet, inklusive proxyspecifika funktioner, TLS-konfiguration och kontrollerad regelmigrering, finns i Välj DPI Engine eller Web Proxy korrekt.

Sophos anger fortfarande enskilda funktioner som kräver Proxy Mode, bland annat SafeSearch, YouTube Restrictions, domänbegränsningar för Google Workspace, Pharming Protection, Web Cache och en Parent Proxy. Web Protection på Sophos Firewall förklarar valet av policy och skydd.

När Sophos Firewall ska skicka Web Requests till en annan proxyinstans förklarar konfigurera en upstream proxy i WAN eller LAN/DMZ den separata regel-, NAT- och valideringsvägen.

Direct Web Proxy ändrar även synen på trafiken. Klienten ansluter först till brandväggen och brandväggen skapar sedan anslutningen till målet. Sophos dokumenterar därför två viktiga begränsningar:

  • En IPS Policy gäller mellan proxyn och WAN, inte mellan användaren och proxyn.
  • En Traffic Shaping Policy gäller inte för Direct Proxy-trafik.

Om ett program inte kan använda en explicit proxy går det inte att förvänta sig att en PAC-fil fångar upp dess anslutningar. Programmet behöver då fortfarande en normalt routad DPI-, brandväggs- eller separat proxyväg.

Exempel och utbytbara värden

Artikeln använder en liten pilot:

  • Pilotklient: CLIENT-PROXY-01
  • fast klient-IP: 10.20.30.50
  • klientzon: LAN
  • brandväggens FQDN och proxymål: fw01.corp.example
  • Direct Web Proxy-port: 3128
  • PAC-URL: https://config.corp.example/proxy.pac
  • intern DNS-zon: .corp.example
  • brandväggsregel: LAN_DirectProxy_Pilot
  • Web Policy: Web_Standard_Pilot

Ersätt 10.20.30.50 med den fasta IP-adress som brandväggen faktiskt ser som pilotens källa. DHCP bör tillhandahålla en reservation för adressen. Det får inte finnas NAT bakom adressen som döljer andra enheter.

fw01.corp.example och config.corp.example är dokumentationsnamn. Ersätt dem med internt upplösningsbara FQDN som omfattas av lämpliga certifikat. Proxy-FQDN pekar på brandväggens avsedda LAN- eller administrationsadress. PAC-URL:en pekar på en kontrollerad intern webbserver eller en befintlig sökväg för enhetshantering, inte på en godtycklig offentlig plats.

Port 3128 är standard för Direct Web Proxy. Om en annan Web proxy listening port används måste Device Access, brandväggsregeln, PAC-filen, webbläsaren, SD-WAN Route och testerna innehålla samma port. Namnet på regeln eller policyn kan väljas fritt, men bör tydligt ange syfte, källa och pilotstatus.

Förbereda proxyåtkomst och skyddsregel

Fastställa listener och tillåtna målportar

Kontrollera proxygrunderna under Web > General settings > Web proxy configuration:

  1. Web proxy listening port: 3128 i detta exempel.
  2. Allowed destination ports: endast portar som klienterna faktiskt behöver ansluta till via proxyn.
  3. Minimum TLS version: den gemensamma minimiversionen för webbproxy och Captive Portal; en ändring påverkar båda funktionerna.

De tillåtna målportarna är inte listenern. Klienten ansluter till 3128 på brandväggen men kan via HTTP CONNECT exempelvis begära ett externt mål på port 443. Lägg bara till icke-standardiserade målportar efter ett konkret programtest. En bred portlista gör i onödan proxyn till en generell tunnel.

Sök före en portändring igenom befintliga PAC-filer, GPO:er, webbläsarpolicyer, RDS-värdar, SD-WAN Routes och övervakning. Listenern är en delad inställning och inte ett värde som ska ändras för endast en pilot.

Begränsa Device Access till piloten

Tjänsten Web proxy är aktiverad som standard för LAN och Wi-Fi. Ett extra Accept-undantag begränsar inte en redan aktiv bred zonbehörighet. För verklig pilotåtkomst måste den breda behörigheten därför förbli avstängd eller först ersättas kontrollerat med snävare undantag.

Under Administration > Device access > Local service ACL exception rule > Add:

  1. Rule name: Allow_DirectProxy_Pilot
  2. Rule position: ovanför ett matchande Drop-undantag
  3. IP version: IPv4
  4. Source zone: LAN
  5. Source Network / Host: CLIENT-PROXY-01 med 10.20.30.50
  6. Destination host: den specifika brandväggsadress som fw01.corp.example pekar på
  7. Services: Web proxy
  8. Action: Accept

Kontrollera innan en bred zonbehörighet stängs av om andra klienter eller tjänster redan använder den direkta eller transparenta proxyn. Guiden för Device Access och Local Service ACL förklarar regelordning, zonmatris och undantagsregler i detalj.

Koppla Web Policy och brandväggsregel

Förbered Web Policy under Web > Policies. Den innehåller önskade kategorier, URL Groups, användar- eller gruppregler och åtgärder. För piloten bör minst ett medvetet tillåtet och ett medvetet blockerat mål vara fastställt.

Skapa sedan en separat IPv4-regel under Rules and policies > Firewall rules:

  • Rule name: LAN_DirectProxy_Pilot
  • Action: Accept
  • Log firewall traffic: aktiverat
  • Source zones: LAN
  • Source networks and devices: CLIENT-PROXY-01
  • Destination zones: WAN
  • Destination networks: Any eller en mer begränsat planerad målgrupp
  • Services: separat TCP-tjänst för 3128
  • Match known users: aktivera endast om den valda autentiseringsvägen redan har klarat ett positivt test
  • Web filtering > Web policy: Web_Standard_Pilot
  • Block QUIC protocol: aktivera om webbtrafiken inte samtidigt får kringgå proxyinspektionen via UDP 443; Kontrollera QUIC på Sophos Firewall förklarar bakgrunden
  • Scan HTTP and decrypted HTTPS: endast med rätt licens och en medveten skanningsdesign

Enligt Sophos är Any också möjligt som tjänst för Direct Proxy, men det är bredare än nödvändigt. En separat TCP-tjänst för den faktiska listenern gör piloten mer överskådlig. Kontrollera hela regeln igen efter val av Web Policy och andra skyddsfunktioner. Grunderna för brandväggsregler förklarar ordning, loggning, användarmatchning och skyddsfält.

En Linked NAT behövs inte automatiskt för denna pilot. Internetvägen som brandväggen skapar behöver däremot en lämplig WAN-gateway och den källöversättning som gäller för miljön. Routing och NAT kontrolleras separat.

Skapa och distribuera PAC-filen

Ett medvetet begränsat PAC-exempel

En PAC-fil är JavaScript med funktionen FindProxyForURL. Exemplet låter endast korta interna namn, den interna DNS-zonen och de angivna privata näten gå direkt. Alla andra mål måste använda proxyn:

function FindProxyForURL(url, host) {
  if (isPlainHostName(host) || dnsDomainIs(host, ".corp.example")) {
    return "DIRECT";
  }

  var isIPv4Literal = /^\d{1,3}(\.\d{1,3}){3}$/.test(host);
  if (isIPv4Literal && (
      isInNet(host, "10.0.0.0", "255.0.0.0") ||
      isInNet(host, "172.16.0.0", "255.240.0.0") ||
      isInNet(host, "192.168.0.0", "255.255.0.0"))) {
    return "DIRECT";
  }

  return "PROXY fw01.corp.example:3128";
}

Anpassa .corp.example, de privata näten och proxy-FQDN till den egna miljön. Alla RFC1918-nät behöver inte vara nåbara internt. En lista över de interna domäner och nät som faktiskt behövs är tydligare.

Exemplet anropar medvetet inte dnsResolve() för offentliga värdnamn. Sådana PAC-funktioner orsakar extra DNS-uppslag på klienten och kan fördröja behandlingen; externa namn löses här av proxyn. Interna namn klassificeras genom domänreglerna eller, om begäran innehåller en direkt IPv4-adress, genom isInNet(). Om en miljö behöver mer komplexa DNS-beroende undantag ska de planeras separat och testas med de webbläsare som används.

Exemplet innehåller medvetet inget DIRECT efter proxyinstruktionen. Ett returvärde som PROXY fw01.corp.example:3128; DIRECT låter internettrafik fortsätta direkt om proxyn slutar fungera. Det ökar tillgängligheten men kringgår då Web Policy, proxyauthentisering och proxyloggning. Vi rekommenderar inte denna fail-open-fallback för en obligatorisk säkerhetsväg.

Även interna DIRECT-undantag är bypasser. Lägg bara till dem när målet verkligen måste nås direkt och en annan kontrollväg finns. Känsliga SaaS-domäner, identitetsleverantörer eller generella jokertecken hör inte i bypasslistan som en försiktighetsåtgärd.

Distribuera PAC-filen kontrollerat

  1. Lagra PAC-filen på en intern HTTPS-endpoint med ett betrott certifikat.
  2. Säkerställ att https://config.corp.example/proxy.pac kan hämtas utan en redan fungerande proxy.
  3. Tilldela PAC-URL:en endast till piloten via GPO, MDM eller hanterad webbläsarpolicy.
  4. Dokumentera först befintlig manuell proxykonfiguration och andra PAC- eller WPAD-inställningar.
  5. Starta om webbläsaren och berörda program helt.
  6. Kontrollera vilken PAC-URL som faktiskt har lästs in i webbläsar- eller operativsystemspolicyn.
  7. Blockera direkt internetåtkomst utanför proxyvägen kontrollerat för piloten eller testa den åtminstone som bypass.

Automatisk WPAD-upptäckt behövs inte för denna procedur. En explicit hanterad PAC-URL är enklare att identifiera och återställa. SFOS tillhandahåller listenern i denna design; distribution, lagring och versionshantering av PAC-filen förblir uppgifter för klient- och webbserverhantering.

Testa Direct Web Proxy

Kontrollera listener och PAC-tillämpning

Följande kontroller som inte ändrar något är användbara på en Windows-pilotklient:

Resolve-DnsName fw01.corp.example
Test-NetConnection fw01.corp.example -Port 3128

DNS måste returnera den avsedda brandväggsadressen och TCP-testet måste nå listenern. Ett lyckat porttest bevisar ännu inte Web Policy, autentisering, TLS-dekryptering eller internetanslutning.

Kontrollera sedan i webbläsaren vilken proxy- eller PAC-policy som faktiskt tillämpas. En gammal lokal inställning, en andra hanteringsprofil eller cachelagrat PAC-innehåll kan åsidosätta den förväntade konfigurationen.

Validera tillåten och blockerad trafik

  1. Öppna ett nytt privat webbläsarfönster.
  2. Öppna ett medvetet tillåtet HTTP- eller HTTPS-mål.
  3. Öppna ett mål som medvetet blockeras av Web_Standard_Pilot.
  4. Kontrollera tid, källa, användare, Web Policy, åtgärd och Firewall Rule ID i Log viewer.
  5. Dokumentera för HTTPS om anslutningen dekrypterades eller medvetet lämnades krypterad.
  6. Begränsa vid behov insamlingen under Diagnostics > Packet capture till källan 10.20.30.50, proxyporten och målet.
  7. Testa ett program utan proxystöd och bekräfta att det inte felaktigt bedöms som proxytrafik.
  8. Tilldela pilotklienten tillfälligt en PAC-testkopia med en medvetet oanvänd proxyport och kontrollera att internettrafiken misslyckas enligt plan i stället för att kringgå proxyn. Återställ sedan produktionsversionen av PAC-filen.

Ett lyckat resultat betyder inte bara att en webbplats laddas. Begäran måste använda förväntad Rule ID och Web Policy, blockeringstestet måste faktiskt blockera och ett proxyfel måste stämma med den valda fail-closed-designen.

Kontrollera att administrationstjänster inte exponeras

Testa från pilotklienten brandväggens kända HTTP- och HTTPS-adresser, särskilt:

  • WebAdmin
  • User Portal
  • VPN Portal
  • Captive Portal
  • andra lokala HTTP-/HTTPS-tjänster på den använda brandväggsadressen

Målet är inte att tvinga fram en lyckad inloggning. Testet avgör om tjänsten över huvud taget blir nåbar via proxyn. Stoppa utrullningen om en lokal tjänst som inte tillåts av säkerhetsdesignen blir synlig. Device Access kan inte i efterhand blockera dessa HTTP-/HTTPS-begäranden som proxyn genererar internt för enskilda målportaler.

Separera autentisering, TLS, SD-WAN och HA

Användaridentitet är en separat komponent

Direct Web Proxy kan användas med eller utan användaridentitet. Vanliga klienter kan beroende på miljön använda AD SSO, STAS, Captive Portal eller en annan stödd metod. Proxykonfigurationen i sig autentiserar ingen.

För RDS eller andra fleranvändarvärdar där flera personer delar samma käll-IP är Per-Connection AD SSO rätt specialprocedur. Varje HTTP-/HTTPS-proxyanslutning autentiseras separat; trafik utanför proxyn får inte denna användaridentitet.

HTTPS-dekryptering kräver en betrodd CA

Scan HTTP and decrypted HTTPS aktiverar inte dekryptering. I webbproxyläge används dessutom Decrypt HTTPS during web proxy filtering. Den CA som distribueras till klienterna måste exakt motsvara den CA som valts under Web > General settings > HTTPS decryption and scanning.

Den säkra utrullningen beskrivs i Inför TLS Inspection korrekt. Distribuera Sophos Firewall CA-certifikatet förklarar distribution och kontroll av den omsignerande CA:n. Certificate Pinning, egna trust stores och program med ovanligt TLS-beteende kräver riktade tester i stället för ett brett undantag.

Testa SD-WAN och HA separat

En SD-WAN Route med tjänsterna HTTP och HTTPS matchar inte Direct Proxy-trafik på 3128. Använd den faktiska proxyporten eller medvetet Any. Source Network och Incoming Interface matchar inte reply packets i detta specialfall. Proxyreturvägen behöver dessutom minst en WAN-gateway eller en lämplig statisk route. Den fullständiga förklaringen finns i Konfigurera och testa SD-WAN Routes.

I HA ska en avbrottsfri fortsättning av befintliga proxy- eller autentiseringssessioner inte utlovas. Skapa en ny webbläsaranslutning efter en kontrollerad failover och kontrollera PAC-fil, Rule ID, policy och dekryptering igen. Varje nod lagrar loggarna för den trafik som den själv har behandlat; analysen måste därför omfatta den nod som behandlade trafiken när händelsen inträffade.

Systematisk felsökning

Proxyporten är inte nåbar

Kontrollera DNS-svar, brandväggsadress, listener, klientzon och Web proxy under Device Access. För ett ACL-undantag måste källa, Destination host, tjänst, åtgärd och position stämma. En lyckad ping bevisar inte TCP-listenern; Test-NetConnection är den mer specifika förkontrollen.

Webbläsaren går direkt till internet

Kontrollera effektiv PAC-URL, innehållet i den inlästa filen, lokala webbläsarundantag och ytterligare GPO- eller MDM-profiler. En DIRECT-fallback efter PROXY skapar medvetet en bypass när proxyn inte är nåbar. Program med egen nätverksstack kan också ignorera systemets proxyinställningar.

Proxyn returnerar fel 407 eller frågar efter inloggningsuppgifter

Detta är ett autentiseringsproblem, inte ett listenerfel. Kontrollera autentiseringsmetod, användaridentifiering, gruppimport, webbläsarstöd och vid behov FQDN/SPN. Bredda inte regeln till Any enbart för att ta bort frågan efter inloggningsuppgifter.

Webbplatsen laddas, men Web Policy tillämpas inte

Kontrollera brandväggsregel, ordning, källa, tjänsten 3128, vald Web Policy och Rule ID tillsammans. En lyckad proxybegäran kan ha matchat en annan eller bredare regel. Det kontrollerade regeltestet kombinerar Policy Test, Log Viewer och Packet Capture.

HTTPS visar certifikatfel

Kontrollera om dekryptering är aktiv, vilken CA webbproxyn använder och om exakt denna CA finns i klientens trust store. Om endast enskilda program misslyckas ska Certificate Pinning, en egen trust store, TLS-versionen och ett så begränsat undantag som möjligt undersökas.

Ett enskilt program eller en målport fungerar inte

Fastställ först om programmet stöder en explicit proxy. Kontrollera därefter Allowed destination ports, PAC-bypasser, DNS och TLS-beteende. Lägg bara till en icke-standardiserad målport för det specifika programmet och validera den med en verklig begäran.

SD-WAN Route eller WAN-vägen är oväntad

Kontrollera tjänstematchning mot proxyporten, Rule ID, WAN-gateway, statisk route och Route Precedence. Source Network och Incoming Interface är inte tillförlitliga matchningskriterier för proxyns reply packets. Ändra inte Route Precedence globalt som första åtgärd.

Loggar saknas eller visar för lite

Kontrollera Log firewall traffic i regeln och lokala, Central- eller Syslog-mål under System services > Log settings. awarrenhttp.log är relevant för webbproxyn och access_server.log för autentisering. Sophos Firewall-tjänster och loggfiler förklarar klassificering och säker logginsamling.

Återställning och drift

Förbered återställningen före piloten:

  1. Dokumentera den tidigare proxy-, PAC-, GPO- eller MDM-inställningen.
  2. Ge pilotregeln och Local Service ACL-undantaget entydiga namn.
  3. Testa den tidigare direkta DPI- eller brandväggsvägen som reservväg.
  4. Ta bort PAC-tilldelningen från pilotklienten eller återställ den tidigare versionen.
  5. Starta om webbläsaren och programmen helt.
  6. Inaktivera pilotregeln och testa ett verkligt direkt webbflöde via reservvägen.
  7. Ta bort pilotens ACL-undantag och återställ tillfälliga breda zonbehörigheter för Web proxy till tidigare läge.
  8. Kontrollera live- och loggdata och dokumentera från vilken tidpunkt proxytrafik inte längre förväntas.

I drift ska PAC-filen ha versionshistorik, ansvarig och granskningsdatum. Varje nytt DIRECT-undantag är ett policyundantag och bör motiveras, testas och granskas igen som ett brandväggs- eller webbundantag. Listener, tillåtna målportar och breda zonbehörigheter ingår också i den regelbundna granskningen.

Checklista

  • Direct Proxy är rätt modell för berörda webbläsare och program.
  • IPv4-pilotklienten och den fasta käll-IP-adressen är dokumenterade.
  • Proxy-FQDN, PAC-URL och certifikat löses korrekt.
  • Listener och tillåtna målportar är så begränsade som möjligt.
  • Den breda zonbehörigheten för webbproxy har kontrollerats och vid behov ersatts.
  • Local Service ACL-undantaget begränsar källan och brandväggens måladress.
  • Brandväggsregeln använder proxyporten, loggning och förväntad Web Policy.
  • PAC-filen innehåller endast motiverade interna DIRECT-undantag.
  • En internetfallback som kringgår proxyn är inte aktiv utan att det upptäckts.
  • Verklig tillåten och blockerad trafik matchar förväntad Rule ID.
  • Brandväggens lokala HTTP-/HTTPS-tjänster har testats negativt.
  • Autentisering, TLS-dekryptering, QUIC och program utanför proxyn har bedömts separat.
  • SD-WAN- och HA-beteendet har testats när dessa funktioner används.
  • Återställning, ansvarig, versionshantering och granskningsdatum är dokumenterade.

Vanliga frågor

Måste Use web proxy instead of DPI engine vara aktiverat för Direct Web Proxy?

Nej. En uttryckligen konfigurerad klient använder Direct Web Proxy via den inställda listenern även utan detta alternativ. Alternativet styr om en brandväggsregel filtrerar vanlig webbtrafik på standardportarna med webbproxyn i stället för DPI Engine.

Bör PAC-filen använda DIRECT som fallback när proxyn slutar fungera?

Normalt inte för en obligatorisk säkerhetsväg. PROXY ...; DIRECT behåller internetåtkomsten men kringgår Web Policy, proxyauthentisering och proxyloggning när proxyn slutar fungera. Interna mål kan medvetet förbli direkta; en internetfallback kräver ett dokumenterat riskbeslut.

Varför behövs ett Local Service ACL-undantag utöver brandväggsregeln?

Proxylistenern är en lokal brandväggstjänst och styrs via Device Access eller Local Service ACL. Brandväggsregeln fastställer därefter det tillåtna trafikflödet och Web Policy. De två lagren löser olika uppgifter.

Kan Direct Web Proxy kontrollera alla program?

Nej. Den fångar endast HTTP- och HTTPS-anslutningar från klienter och program som använder den explicita proxyn. DNS, UDP, RDP, SMB samt program med egen eller proxyinkompatibel nätverksstack behöver en annan kontrollerad väg.