Hoppa till innehållet
Avanet

Använd Sophos Firewall Packet Capture i WebAdmin

Packet Capture är ett av de viktigaste troubleshooting-verktygen i Sophos Firewall WebAdmin. Det visar om paket kommer in på ett interface, om de vidarebefordras, vilken regel eller NAT ID som är inblandad och om ett paket droppas.

Log Viewer visar firewallens beslut. Packet Capture visar paketflödet. Tillsammans är de ofta det snabbaste sättet att hitta orsaken.

Viktigt sammanhang: Den här artikeln beskriver WebAdmin-versionen av Packet Capture. Den passar utmärkt för en första kontroll, eftersom man direkt i webbläsaren ser om paket kommer fram, vidarebefordras eller droppas. För längre captures, mycket exakta filter, PCAP-export eller supportärenden är tcpdump via SSH ofta bättre.

När Packet Capture är användbart

Packet Capture hjälper särskilt vid frågor som:

  • Kommer trafiken över huvud taget fram till firewallen?
  • Lämnar trafiken via förväntat interface?
  • Matchar en Firewall Rule?
  • Matchar en NAT Rule?
  • Droppas ett paket av policy, IPS eller routing?
  • Kommer ett svar tillbaka från målsystemet?
  • Används en annan port eller ett annat protokoll än väntat?

Om inget syns i Log Viewer är Packet Capture ofta nästa steg. Då ser man om problemet ligger före firewallen eller om firewallen faktiskt behandlar trafiken.

Menyväg

Verktyget finns under:

Diagnostics > Packet capture

Packet Capture öppnas direkt i WebAdmin. Beroende på SFOS-version och webbläsarvy ser det ut som ett eget diagnostikfönster inne i WebAdmin.

Log Viewer eller Packet Capture?

Log Viewer och Packet Capture svarar på olika frågor.

VerktygVisar främst
Log ViewerVilken Firewall Rule, Web Policy, Application Control, IPS eller SSL/TLS inspection som tog beslutet
Packet CaptureOm enskilda paket kommer in, vidarebefordras, konsumeras, genereras eller droppas

Ett bra exempel är ping. I Log Viewer ser man ofta bara en post eller ett sammanfattat beslut för anslutningen. I Packet Capture ser man däremot de enskilda ICMP-paketen: Echo Request till målet och Echo Reply tillbaka. Windows skickar som standard fyra ICMP Echo Requests med ping. I Packet Capture förväntar man sig därför flera paket i båda riktningar. Om bara requests syns men inga replies kommer tillbaka är det ett annat problem än om ingen request alls når firewallen.

I praktiken betyder det:

  • Log Viewer svarar: Vilken regel eller modul tog beslutet?
  • Packet Capture svarar: Kom paketen verkligen fram och vilken väg tar de?
  • Vid problem med routing, NAT, VLAN, gateway eller returväg är Packet Capture ofta tydligare.
  • Vid beslut från Web filter, Application Control, IPS eller SSL/TLS inspection behövs även Log Viewer.

Avgränsa tydligt före start

Packet Capture bör inte startas utan filter. I produktionsnät skapas annars mycket data och resultatet blir svårt att läsa.

Notera i förväg:

  • Source IP
  • Destination IP eller FQDN
  • Protokoll
  • Source port, om relevant
  • Destination port
  • Interface eller zone
  • Tidpunkt för testet
  • Berörd applikation

För ett webbtest kan avgränsningen se ut så här:

FältExempel
Source IP172.16.10.25
Destination93.184.216.34
ProtocolTCP
Destination Port443
Förväntad riktningLAN till WAN

Konfigurera capture filter

Med Configure sätter man ett så snävt filter som möjligt.

Typiska filter:

  • Source IP för klienten
  • Destination IP för servern
  • Destination port
  • Protokoll TCP, UDP eller ICMP
  • Interface

Om målservern inte är känd kan man börja med att bara filtrera på Source IP. Om för många paket visas, begränsar man ytterligare.

Sophos Firewall använder Berkeley Packet Filter-syntax, kort BPF. Capture filter avgör vilka paket som över huvud taget skrivs till capture buffer. Därför bör filtret sättas noggrant före testet.

Typiska BPF-exempel:

MålBPF-exempel
specifik hosthost 10.10.10.1
specifik Source IPsrc host 10.10.10.1
specifik Destination IPdst host 10.10.10.1
specifikt nätnet 10.10.10.0
specifik portport 443
specifik destination portdst port 443
specifik host och porthost 10.10.10.1 and port 443
ICMP/pingproto ICMP
TCPproto TCP
UDPproto UDP

För ett mycket riktat webbtest kan filtret exempelvis se ut så här:

host 172.16.10.25 and host 93.184.216.34 and port 443

För ett ping-test räcker ofta:

host 172.16.10.25 and proto ICMP

I WebAdmin visas den aktiva BPF string ovanför paketlistan efter att man sparat. Den första skärmbilden visar filterkonfigurationen, den andra resultatlistan med aktivt filter.

Sophos Firewall Packet Capture Configure capture filter med BPF string för host och port 443
Sophos Firewall - konfigurera Packet Capture-filter med BPF string
Sophos Firewall Packet Capture-resultatlista med aktivt BPF-filter och fångade TCP-paket
Sophos Firewall - Packet Capture med aktivt BPF-filter och fångade paket

⚠️ PCAP-data kan innehålla IP-adresser, hostnamn, protokolldetaljer och beroende på protokoll även nyttolast. Captures bör bara delas med personer eller partner som får se dessa data.

Starta capture och reproducera problemet

  1. Sätt filtret.
  2. Slå på Packet Capture med reglaget.
  3. Reproducera problemet kontrollerat.
  4. Stoppa capture igen.
  5. Analysera resultaten.
  6. Rensa capture innan ett nytt test startas.

Sophos Firewall visar status och buffer:

VisningBetydelse
Trace OnPacket Capture körs
Trace OffPacket Capture är avstängt
Buffer sizeStorlek på capture buffer, 2048 KB i Sophos-dokumentationen
Buffer usedbuffer som används just nu

När buffer är full stoppas fångsten automatiskt. Därefter måste man använda Clear innan en ny meningsfull inspelning kan göras. Därför är ett snävt filter viktigt.

I filterinställningarna kan man dessutom ange hur många byte per paket som ska fångas. För många första analyser räcker header-information. Om mer nyttolast behövs måste fler byte fångas, men dataskydd och bufferstorlek bör beaktas.

Förstå viktiga kolumner

Packet Capture visar många fält. I praktiken är dessa särskilt viktiga:

FältBetydelse
TimeTidpunkt för paketet
In interfaceInterface där paketet kom in
Out interfaceInterface där paketet lämnar
Source IPKälladress
Destination IPMåladress
Packet typeProtokoll eller pakettyp
Ports [src, dst]Käll- och målport
NAT IDMatchande NAT-regel
Rule IDMatchande Firewall Rule
StatusPaketstatus
ReasonOrsak till drop eller violation
Connection statusAnslutningens status
Gateway IDAnvänd gateway
UsernameIdentifierad användare
IPS policy IDTillämpad IPS Policy
Application filter IDTillämpad Application Control Policy

Dessa fält är värdefulla eftersom de fyller gapet mellan “regeln ser rätt ut” och “trafiken flödar verkligen så här”.

Via Show additional properties eller detaljvyn ser man beroende på version ytterligare information, till exempel Connection ID, Web filter ID, Application ID, Web category ID, Gateway ID, Username eller andra policy IDs. Dessa detaljer hjälper när ett paket inte bara behandlas av en Firewall Rule, utan även av Web, Application Control, IPS eller andra moduler.

Tolka Status korrekt

StatusBetydelse
IncomingPaketet togs emot på ett interface
ForwardedPaketet vidarebefordrades
ConsumedPaketet är avsett för firewallen själv
GeneratedPaketet genererades av firewallen
ViolationPaketet droppades på grund av policy violation

Om bara Incoming syns och inte Forwarded, fastnar paketet troligen på firewallen. Kontrollera då Firewall Rule, NAT, routing och security features.

Om Forwarded syns men inget svar kommer tillbaka ligger problemet ofta på målsystemet, returvägen, NAT eller en fjärrpeer.

Vid en lyckad ping ser man normalt paket i båda riktningar. Om Windows skickar fyra ping ser man flera ICMP Echo Requests från klienten till målet och flera Echo Replies tillbaka. Om Replies saknas, kontrollera returroute, målsystem, lokal firewall på målsystemet, NAT eller en fjärrpeer. Om redan Requests saknas, kontrollera klient, gateway, VLAN, switchport eller om trafiken når Sophos Firewall över huvud taget.

Använd Display filter

Capture filter begränsar vilka paket som spelas in. Display filter filtrerar däremot den redan inspelade vyn. Det är praktiskt om capture avsiktligt startades lite bredare och man efteråt bara vill visa vissa paket.

I Display filter kan man bland annat filtrera på:

  • Interface name
  • Ethernet type, till exempel IPv4, IPv6 eller ARP
  • Packet type
  • Source IP och Source port
  • Destination IP och Destination port
  • Reason
  • Status
  • Rule ID
  • User
  • Connection ID

För troubleshooting är särskilt Status, Reason, Rule ID, Source IP, Destination IP och Destination port användbara. Om det finns många paket i capture kan man snabbt minska vyn till den relevanta delen utan att genast starta om testet.

Läsa NAT i Packet Capture

Vid NAT måste man tänka på att ett paket ser olika ut före och efter NAT. Packet Capture kan visa NAT ID, Rule ID och de ändrade adresserna.

Vid NAT-problem bör man kontrollera:

  • Syns paketet med originaladressen?
  • Syns paketet efter översättning?
  • Visas förväntat NAT ID?
  • Går paketet via förväntat Out interface?
  • Kommer ett svar tillbaka?

För DNAT gäller dessutom: Firewall Rule använder destination zone efter NAT, men Destination IP före NAT. Det ser först ovant ut.

Mer om detta: Förstå NAT på Sophos Firewall: SNAT, DNAT, MASQ, PAT.

Kombinera Packet Capture och Log Viewer

Det bästa arbetsflödet är:

  1. Öppna Log Viewer.
  2. Starta Packet Capture med snävt filter.
  3. Reproducera testet.
  4. Kontrollera i Packet Capture om paket kommer in och går ut.
  5. Kontrollera i Log Viewer vilken regel eller modul som tog beslutet.
  6. Gå vid behov till rätt loggfil.

Log Viewer visar till exempel Firewall, Web, SSL/TLS inspection, IPS eller Application Control events. Packet Capture visar däremot paketflödet på interface-nivå.

Kombinationen är särskilt viktig vid ping eller enkla TCP-anslutningar. Log Viewer kan bara visa att en anslutning tilläts eller blockerades. Packet Capture visar dessutom om svarspaket kommer tillbaka, om NAT används, om rätt Out interface används och om returvägen fungerar.

Vanliga exempel

Klient når inte internet: Sätt capture på Source IP och TCP 443. Om inget paket kommer in, kontrollera klient, VLAN, gateway eller switch. Om paketet kommer in men inte går ut, kontrollera Firewall Rule, NAT eller routing.

DNAT fungerar inte: Sätt capture på publik Destination IP och extern port. Om inget paket kommer in, kontrollera provider-router, port forwarding, cloud Security Group eller WAN. Om paketet kommer in men inte går till intern server, kontrollera DNAT-regel och Firewall Rule.

VPN-trafik fungerar inte: Sätt capture på tunnel interface, XFRM interface eller relevanta käll-/målnät. Kontrollera dessutom strongswan.log, charon.log eller xfrmi.log.

Web filter blockerar oväntat: I Packet Capture ser man oftast bara paketflödet. Själva beslutet kontrolleras bättre i Log Viewer under Web, Application Control eller SSL/TLS inspection.

När tcpdump är bättre

WebAdmin Packet Capture är idealiskt för snabba analyser. För längre captures, mycket exakta filter eller supportärenden är CLI-baserad tcpdump ofta bättre.

Mer om detta: Samla Sophos Firewall-loggar med TCPDump för analys.