Naar de inhoud
Avanet

Sophos Firewall Packet Capture gebruiken in WebAdmin

Packet Capture is een van de belangrijkste troubleshooting-tools in Sophos Firewall WebAdmin. Het laat zien of pakketten op een interface aankomen, of ze worden doorgestuurd, welke rule of NAT ID betrokken is en of een pakket wordt gedropt.

Log Viewer toont de beslissing van de firewall. Packet Capture toont de pakketstroom. Samen zijn ze vaak de snelste weg naar de oorzaak.

Belangrijk om te weten: dit artikel beschrijft de WebAdmin-versie van Packet Capture. Die is ideaal voor een eerste controle, omdat men direct in de browser ziet of pakketten aankomen, worden doorgestuurd of worden gedropt. Voor langere captures, zeer precieze filters, PCAP-export of supportcases is tcpdump via SSH vaak beter geschikt.

Wanneer Packet Capture nuttig is

Packet Capture helpt vooral bij vragen zoals:

  • Komt het verkeer überhaupt bij de firewall aan?
  • Gaat het verkeer via de verwachte interface weer naar buiten?
  • Matcht een Firewall Rule?
  • Matcht een NAT Rule?
  • Wordt een pakket door policy, IPS of routing gedropt?
  • Komt er een antwoord terug van het doelsysteem?
  • Wordt er een andere poort of een ander protocol gebruikt dan verwacht?

Als er in Log Viewer niets zichtbaar is, is Packet Capture vaak de volgende stap. Dan ziet men of het probleem vóór de firewall ligt of dat de firewall het verkeer verwerkt.

De tool staat onder:

Diagnostics > Packet capture

Packet Capture opent direct in WebAdmin. Afhankelijk van de SFOS-versie en browserweergave lijkt het op een apart diagnosevenster binnen WebAdmin.

Log Viewer of Packet Capture?

Log Viewer en Packet Capture beantwoorden verschillende vragen.

ToolToont vooral
Log ViewerWelke Firewall Rule, Web Policy, Application Control, IPS of SSL/TLS inspection de beslissing heeft genomen
Packet CaptureOf individuele pakketten aankomen, worden doorgestuurd, consumed, generated of dropped

Een goed voorbeeld is een ping. In Log Viewer ziet men vaak slechts één entry of een samengevatte beslissing over de verbinding. In Packet Capture ziet men daarentegen de afzonderlijke ICMP-pakketten: Echo Request naar het doel en Echo Reply terug. Windows stuurt met ping standaard vier ICMP Echo Requests. In Packet Capture verwacht men daarom meerdere heen- en teruggaande pakketten. Als alleen de requests zichtbaar zijn maar er geen replies terugkomen, is dat een ander probleem dan wanneer er helemaal geen request bij de firewall aankomt.

In de praktijk betekent dit:

  • Log Viewer beantwoordt: Welke rule of module heeft beslist?
  • Packet Capture beantwoordt: Zijn de pakketten echt aangekomen en welke route nemen ze?
  • Bij routing-, NAT-, VLAN-, gateway- of retourpadproblemen is Packet Capture vaak duidelijker.
  • Bij beslissingen van Web filter, Application Control, IPS of SSL/TLS inspection is daarnaast Log Viewer nodig.

Voor de start goed afbakenen

Packet Capture moet niet zonder filter gestart worden. In productienetwerken ontstaan anders zeer veel gegevens en wordt de output onoverzichtelijk.

Noteer vooraf:

  • Source IP
  • Destination IP of FQDN
  • Protocol
  • Source port, indien relevant
  • Destination port
  • Interface of zone
  • Tijdstip van de test
  • Betrokken applicatie

Voor een webtest kan de afbakening er zo uitzien:

VeldVoorbeeld
Source IP172.16.10.25
Destination93.184.216.34
ProtocolTCP
Destination Port443
Verwachte richtingLAN naar WAN

Capture filter configureren

Via Configure stelt men een zo nauw mogelijk filter in.

Typische filters:

  • Source IP van de client
  • Destination IP van de server
  • Destination port
  • Protocol TCP, UDP of ICMP
  • Interface

Als de doelserver niet bekend is, kan men eerst alleen op Source IP filteren. Als er daarna te veel pakketten zichtbaar zijn, wordt verder ingeperkt.

Sophos Firewall gebruikt hiervoor Berkeley Packet Filter-syntax, kortweg BPF. Het capture filter bepaalt welke pakketten überhaupt in de capture buffer worden geschreven. Daarom moet het vóór de test zo netjes mogelijk worden ingesteld.

Typische BPF-voorbeelden:

DoelBPF-voorbeeld
specifieke hosthost 10.10.10.1
specifieke Source IPsrc host 10.10.10.1
specifieke Destination IPdst host 10.10.10.1
specifiek netwerknet 10.10.10.0
specifieke poortport 443
specifieke destination portdst port 443
specifieke host en poorthost 10.10.10.1 and port 443
ICMP/pingproto ICMP
TCPproto TCP
UDPproto UDP

Voor een zeer gerichte webtest kan een filter er bijvoorbeeld zo uitzien:

host 172.16.10.25 and host 93.184.216.34 and port 443

Voor een ping-test is dit vaak voldoende:

host 172.16.10.25 and proto ICMP

In WebAdmin ziet men na het opslaan de actieve BPF string boven de pakketlijst. De eerste screenshot toont de filterconfiguratie, de tweede screenshot de resultatenlijst met actief filter.

Sophos Firewall Packet Capture Configure capture filter met BPF string voor host en poort 443
Sophos Firewall - Packet Capture-filter met BPF string configureren
Sophos Firewall Packet Capture-resultatenlijst met actief BPF-filter en vastgelegde TCP-pakketten
Sophos Firewall - Packet Capture met actief BPF-filter en vastgelegde pakketten

⚠️ PCAP-data kan IP-adressen, hostnamen, protocoldetails en afhankelijk van het protocol ook payload bevatten. Captures mogen alleen worden gedeeld met personen of partners die deze gegevens mogen zien.

Capture starten en probleem reproduceren

  1. Filter instellen.
  2. Packet Capture via de schakelaar inschakelen.
  3. Het probleem gericht reproduceren.
  4. Capture weer stoppen.
  5. Resultaten analyseren.
  6. Capture leegmaken voordat een nieuwe test wordt gestart.

Sophos Firewall toont status en buffer:

WeergaveBetekenis
Trace OnPacket Capture loopt
Trace OffPacket Capture is uitgeschakeld
Buffer sizeGrootte van de capture buffer, in de Sophos-documentatie 2048 KB
Buffer usedmomenteel gebruikte buffer

Als de buffer vol is, stopt de capture automatisch. Daarna moet men met Clear leegmaken voordat opnieuw zinvol kan worden opgenomen. Daarom is een smal filter belangrijk.

In de filterinstellingen kan men daarnaast bepalen hoeveel bytes per pakket worden vastgelegd. Voor veel eerste analyses zijn headergegevens voldoende. Als meer payload nodig is, moeten meer bytes worden vastgelegd, maar privacy en buffergrootte moeten in het oog worden gehouden.

Belangrijke kolommen begrijpen

Packet Capture toont veel velden. In de praktijk zijn deze bijzonder belangrijk:

VeldBetekenis
TimeTijdstip van het pakket
In interfaceInterface waarop het pakket binnenkwam
Out interfaceInterface waarover het pakket naar buiten gaat
Source IPBronadres
Destination IPDoeladres
Packet typeProtocol of pakkettype
Ports [src, dst]Bron- en doelpoort
NAT IDpassende NAT-regel
Rule IDpassende Firewall Rule
StatusPakketstatus
ReasonReden voor drop of violation
Connection statusStatus van de verbinding
Gateway IDgebruikte gateway
Usernameherkende gebruiker
IPS policy IDtoegepaste IPS Policy
Application filter IDtoegepaste Application Control Policy

Deze velden zijn waardevol omdat ze de kloof dichten tussen “de rule ziet er goed uit” en “het verkeer loopt echt zo”.

Via Show additional properties of de detailweergave ziet men afhankelijk van de versie extra informatie zoals Connection ID, Web filter ID, Application ID, Web category ID, Gateway ID, Username of andere policy IDs. Deze details helpen wanneer een pakket niet alleen door een Firewall Rule, maar ook door Web, Application Control, IPS of andere modules wordt verwerkt.

Status correct interpreteren

StatusBetekenis
IncomingPakket is ontvangen op een interface
ForwardedPakket is doorgestuurd
ConsumedPakket is bestemd voor de firewall zelf
GeneratedPakket is door de firewall gegenereerd
ViolationPakket is wegens een policy violation gedropt

Als alleen Incoming zichtbaar is en geen Forwarded, blijft het pakket waarschijnlijk op de firewall hangen. Controleer dan Firewall Rule, NAT, routing en security features.

Als Forwarded zichtbaar is maar er geen antwoord terugkomt, ligt het probleem vaak bij het doelsysteem, retourpad, NAT of een tegenpartij.

Bij een succesvolle ping ziet men meestal pakketten in beide richtingen. Als Windows vier pings verstuurt, ziet men meerdere ICMP Echo Requests van de client naar het doel en meerdere Echo Replies terug. Ontbreken de Replies, controleer dan retourroute, doelsysteem, lokale firewall van het doelsysteem, NAT of een tegenpartij. Ontbreken zelfs de Requests, controleer dan client, gateway, VLAN, switchpoort of of het verkeer Sophos Firewall überhaupt bereikt.

Display filter gebruiken

Het capture filter beperkt welke pakketten worden opgenomen. Het Display filter filtert daarentegen de al opgenomen weergave. Dat is handig wanneer de capture bewust wat breder is gestart en men daarna alleen bepaalde pakketten wil tonen.

In Display filter kan men onder andere filteren op:

  • Interface name
  • Ethernet type, bijvoorbeeld IPv4, IPv6 of ARP
  • Packet type
  • Source IP en Source port
  • Destination IP en Destination port
  • Reason
  • Status
  • Rule ID
  • User
  • Connection ID

Voor troubleshooting zijn vooral Status, Reason, Rule ID, Source IP, Destination IP en Destination port nuttig. Als er veel pakketten in de capture staan, kan men daarmee snel beperken tot het relevante deel zonder de test meteen opnieuw te starten.

NAT lezen in Packet Capture

Bij NAT moet men bedenken dat een pakket vóór en na NAT anders uitziet. Packet Capture kan NAT ID, Rule ID en de gewijzigde adressen zichtbaar maken.

Controleer bij NAT-problemen:

  • Ziet men het pakket met het oorspronkelijke adres?
  • Ziet men het pakket na de vertaling?
  • Wordt de verwachte NAT ID weergegeven?
  • Gaat het pakket via de verwachte Out interface?
  • Komt er een antwoord terug?

Voor DNAT geldt daarnaast: de Firewall Rule gebruikt de destination zone na NAT, maar de Destination IP vóór NAT. Dat ziet er in eerste instantie ongewoon uit.

Meer hierover: NAT op Sophos Firewall begrijpen: SNAT, DNAT, MASQ, PAT.

Packet Capture en Log Viewer combineren

De beste werkwijze is:

  1. Log Viewer openen.
  2. Packet Capture met een smal filter starten.
  3. Test reproduceren.
  4. In Packet Capture controleren of pakketten aankomen en vertrekken.
  5. In Log Viewer controleren welke rule of module heeft beslist.
  6. Indien nodig naar het passende logbestand gaan.

Log Viewer toont bijvoorbeeld Firewall, Web, SSL/TLS inspection, IPS of Application Control events. Packet Capture toont daarentegen de pakketstroom op interfaceniveau.

Vooral bij ping of eenvoudige TCP-verbindingen is de combinatie belangrijk. Log Viewer kan alleen tonen dat een verbinding werd toegestaan of geblokkeerd. Packet Capture toont daarnaast of antwoordpakketten terugkomen, of NAT wordt toegepast, of de juiste Out interface wordt gebruikt en of het retourpad klopt.

Veelvoorkomende voorbeelden

Client bereikt internet niet: Capture op Source IP en TCP 443 zetten. Als er geen pakket aankomt, client, VLAN, gateway of switch controleren. Als het pakket binnenkomt maar niet naar buiten gaat, Firewall Rule, NAT of routing controleren.

DNAT werkt niet: Capture op publieke Destination IP en externe poort zetten. Als er geen pakket aankomt, provider-router, port forwarding, cloud Security Group of WAN controleren. Als het pakket aankomt maar niet naar de interne server gaat, DNAT-regel en Firewall Rule controleren.

VPN-verkeer werkt niet: Capture op tunnel-interface, XFRM interface of relevante bron-/doelnetwerken zetten. Daarnaast strongswan.log, charon.log of xfrmi.log controleren.

Web filter blokkeert onverwacht: In Packet Capture ziet men meestal alleen de pakketstroom. De daadwerkelijke beslissing kan men beter controleren in Log Viewer onder Web, Application Control of SSL/TLS inspection.

Wanneer tcpdump beter is

WebAdmin Packet Capture is ideaal voor snelle analyses. Voor langere captures, zeer precieze filters of supportcases is CLI-gebaseerde tcpdump vaak beter.

Meer hierover: Sophos Firewall-logs met TCPDump verzamelen voor analyse.