Mise en route : La Capture des paquets

Mise en route : La Capture des paquets

913663
Created On 09/25/18 19:02 PM - Last Modified 01/18/24 15:51 PM


Symptom


Permettez-moi de corriger cela pour vous : Packet Capture —

A situation typique d’un administrateur rencontre quelques minutes après la finition d’un chef-d’œuvre d’une sécurité est une question sur pourquoi une application obscure agit policy drôle depuis que ce nouveau réseau thingamajig a été installé. C’est là dépannage commence.

Dans les derniers épisodes, nous avons vérifié plusieurs aspects de la façon de configurer votre et le firewall configurer à partir de zéro.

L’un des outils les plus avancés à la disposition d’un administrateur est la possibilité d’effectuer des captures de paquets et de regarder les compteurs de session.

Remarque: Certains des détails abordés dans l’article auront un impact sur les performances. Si vous n’êtes pas sûr, veuillez travailler avec Palo Alto Support Personal pour capturer les paquets lors d’une fenêtre de maintenance.



Environment


  • Tout PAN-OS .
  • Palo Alto Firewall .


Resolution


Le premier endroit où aller est le menu Capture de paquets sur GUI le , où vous pouvez gérer les filtres, ajouter des étapes de capture, et facilement télécharger des captures.

Accédez à la capture de paquets en accédant à l’onglet Monitor, puis en cliquant sur Capture de paquets. Assurez-vous que le système virtuel est réglé sur tous les
Dans les paramètres du menu Capture de paquets, vous pouvez effectuer les options suivantes : Configurer le filtrage, configurer la capture, effacer tous les paramètres et extraire les fichiers de capture

Avant que nous commencions, il y a quelques choses que vous devez savoir :

  • Quatre filtres peuvent être ajoutés avec une variété d’attributs.
  • Les captures de paquets sont basées sur des sessions, de sorte qu’un seul filtre est capable de capturer à la fois client2server et server2client.
  • Les paquets sont capturés sur le vs dataplane sur l’interface (ce qui explique la prochaine balle).
  • Analyse de la correspondance est une fonctionnalité qui permet de capturer tous les fichiers avant qu’ils soient traités par les moteurs en marche sur le dataplane, qui peut aider à résoudre les problèmes où un moteur peut ne pas être correctement accepter un paquet entrant. Cette option ne doit être utilisée que si elle est instruite par le support et à un faible volume de temps de la journée car elle capturera tout.
  • Lorsque le filtrage est activé, nouvelles sessions sont marquées pour le filtrage et peuvent être capturées, mais les sessions existantes ne sont pas filtrées et peuvent être nécessaire de redémarrer pour pouvoir les capturer.
  • Déchargés des séances ne peuvent pas être capturés déchargement devrez peut-être être temporairement désactivée. Une session déchargée affichera le traitement de la couche7 : terminé dans les détails de la session d’affichage. Notez que cela peut avoir un impact sur les performances en raison des paquets correspondants manipulés par le CPU . Exécutez ceci pendant une fenêtre de maintenance et prenez l’aide du support si nécessaire.

C’est beaucoup à retenir, mais tout cela aura du sens après avoir essayé votre main à un couple de captures de paquets de divers protocoles, I promesse!

 

Nous allons ajouter un couple de filtres :

Exemple d’un utilisateur éditant les filtres de capture de paquets.

 

Filtres 1 et 3 sont mes filtres réels: I vous voulez vérifier les connexions de mon client au IP 192.168.0.34 faire HTTP des connexions sur le port 80 TCP à 198.51.100.97 et SSH les connexions sur le port 22 TCP à 198.51.100.1

 

Les filtres 2 et 4 sont mes filtres de sauvegarde : mentionnés précédemment que la capture de paquets est consciente de la session, mais juste au cas où quelque chose arriverait au paquet de retour en amont qui le I fait ne pas correspondre à ma règle NAT (peut-être qu’un périphérique en amont mutile le port source ou fait quelque chose d’étrange au nombre de séquence), définissez généralement une règle de retour I pour attraper tous les paquets errants qui seraient abandonnés en raison de leur correspondance.

Remarque: Assurez-vous que le filtre est aussi précis que possible. N’exécutez jamais de filtres correspondant à l’ensemble des sous-réseaux tels que 192.168.0.0/16 ou 0.0.0.0/0 car cela peut provoquer un impact sur les performances et une panne.

 

Si nous passons maintenant le bouton de ON filtrage à , les filtres seront appliqués à toutes les nouvelles sessions qui correspondent aux critères:

Sous le filtrage configurer, le filtrage est maintenant commuté à la ON position

 

A la manière simple de vérifier si le filtre fonctionne est de vérifier si les compteurs mondiaux augmentent si une nouvelle session est lancée.

De la CLI , I exécuter cette commande:

 

> show counter global filter delta yes packet-filter yes

Global counters:
Elapsed time since last sampling: 2.647 seconds

--------------------------------------------------------------------------------
Total counters shown: 0
--------------------------------------------------------------------------------
 

Et aucun compteur ne s’affichent.

  • « delta oui » indique I vouloir afficher les compteurs qui ont incrémenté depuis la dernière fois I exécuté cette commande.
  • « paquet-filtre oui » indique que I vous voulez voir uniquement les compteurs mondiaux qui correspondent à mes filtres.

Si I vous actualisez mon navigateur et exécutez à nouveau la commande :

 

> show counter global filter packet-filter yes delta yes

Global counters:
Elapsed time since last sampling: 2.630 seconds

name value rate severity category aspect description
--------------------------------------------------------------------------------
pkt_sent                     22 8 info packet pktproc Packets transmitted
pkt_outstanding              22 8 info packet pktproc Outstanding packet to be transmitted
session_allocated            4  1 info session resource Sessions allocated
session_installed            4  1 info session resource Sessions installed
appid_proc                   2  0 info appid pktproc The number of packets processed by Application identification
appid_use_dfa_1              2  0 info appid pktproc The number of packets using the second DFA table
nat_dynamic_port_xlat        4  1 info nat resource The total number of dynamic_ip_port NAT translate called
dfa_sw                       8  3 info dfa pktproc The total number of dfa match using software
ctd_sml_opcode_set_file_type 1  0 info ctd pktproc sml opcode set file type
aho_sw                       5  1 info aho pktproc The total usage of software for AHO
ctd_pkt_slowpath             4  1 info ctd pktproc Packets processed by slowpath
--------------------------------------------------------------------------------
Total counters shown: 11
--------------------------------------------------------------------------------
 

Vous verrez qu’il y a un tas de compteurs. I« ont ajouté un lien vers quelques informations supplémentaires sur les compteurs mondiaux au bas de cet article, et nous allons les couvrir davantage dans un prochain épisode. Mais pour l’instant, tant qu’il y a des compteurs, nous devrions être bons d’aller.

 

Ensuite, vous allez configurer les étapes — il y a 4 :

  • étape de drop est l’endroit où les paquets sont jetés. Les raisons peuvent varier et, pour cette partie, les compteurs mondiaux peuvent aider à identifier si la baisse était due à un policy refus, une menace détectée, ou autre chose.
  • recevoir l’étape capture les paquets comme ils entrent avant firewall qu’ils n’entrent dans le firewall moteur. NATLorsqu’ils sont configurés, ces paquets seront pré- NAT .
  • transmettre l’étape capture les paquets comment ils sortent du firewall moteur. Si NAT elle est configurée, celles-ci seront NAT post-.
  • firewall l’étape capture les paquets dans la firewall scène.

 

Pour chaque étape, vous pouvez attribuer un nom pour le fichier de sortie et définir un nombre maximal de paquets ou de l’octet :

Étape de capture de paquets avec nom de fichier défini sur drop.pcap

 

Configurer la capture, 3 fichiers sont générés (recevoir, transmettre, déposer)

 

Lorsque toutes les étapes souhaitées sont définies, vous pouvez passer le bouton de capture ON à , ou vous pouvez utiliser le , effacer les sessions existantes qui correspondent aux CLI filtres spécifiés. Il s’agit de s’assurer qu’aucune session n’a été active depuis avant que les filtres ne soient activés. Ensuite, utilisez la capture sur commande pour démarrer la capture comme affiché ci-dessous.

> show session all        => Note down the session number matching the configured filters.
> clear session id <id#>  => This is to clear any existing session that matches the filters configured.

Example:
 > show session all
-------------------------------------------------------------------------------- 
ID          Application    State   Type Flag  Src[Sport]/Zone/Proto (translated IP[Port]) 
Vsys                                          Dst[Dport]/Zone (translated IP[Port]) 
-------------------------------------------------------------------------------- 
27240        web-browsing   ACTIVE  FLOW  NS   192.168.0.34[61003]/trust/6  (198.51.100.230[31047]) 
vsys1                                          198.51.100.97[80]/ISP1  (198.51.100.97[80]) 
....(output omitted)....

> clear session id 27240
session 27240 cleared

> debug dataplane packet-diag set capture on 

Packet capture is enabled
 

 

Vous pouvez maintenant lancer des sessions que vous souhaitez capturer. Pour vérifier si la session a commencé, utilisez la commande session de show :

 

> show session all

--------------------------------------------------------------------------------
ID          Application    State   Type Flag  Src[Sport]/Zone/Proto (translated IP[Port])
Vsys                                          Dst[Dport]/Zone (translated IP[Port])
--------------------------------------------------------------------------------
32637        web-browsing   ACTIVE  FLOW  NS   192.168.0.34[61903]/trust/6  (198.51.100.230[31547])
vsys1                                          198.51.100.97[80]/ISP1  (198.51.100.97[80])
32635        ssh            ACTIVE  FLOW  NS   192.168.0.34[61901]/trust/6  (198.51.100.230[52812])
vsys1                                          198.51.100.1[22]/ISP1  (198.51.100.1[22])
 

Lorsque vous avez terminé, la capture peut être désactivée en gglant le bouton vers la OFF position ou en utilisant la commande de débogage :

 

> debug dataplane packet-diag set capture off 
Packet capture is disabled 

> debug dataplane packet-diag clear filter-marked-session all
Unmark All sessions in packet debug
  Remarque: N’oubliez pas d’éteindre la capture du paquet après le débogage. Ne pas le faire peut taxer le CPU et peut causer des problèmes de performances.

Il y aura maintenant des fichiers capturés disponibles pour téléchargement que vous pouvez analyser avec Wireshark :

Configurer la capture, 3 fichiers sont générés (receive.pcap et transmit.pcap)

 

Après avoir téléchargé le pcaps, vous devrez peut-être fusionner la transmettre et recevoir des fichiers ensemble :

  • L’étape de recevoir aura le client privé IP pour le public webserver , et le paquet de retour du serveur web public à IP IP firewall l’externe IP (étape de recevoir est pré- NAT ).
  • L’étape de transmission aura firewall IP l’externe (client NAT ) au serveur public , et le public de retour au client privé IP IP IP .

Comme cela peut être un peu déroutant lorsque vous essayez de suivre le TCP flux, vous voudrez prendre note de cette différence importante entre ces deux fichiers.

Capture de paquets Receive.pcap ouverte dans WireShark désignant les adresses Source et IP Destination.

Capture de paquets Transmit.pcap ouverte dans WireShark désignant les adresses Source et IP Destination.

 

Ces deux étapes vous permettront de vérifier si NAT elles sont appliquées correctement. Vous pouvez également voir s’il y a une différence entre les paquets envoyés et reçus des perspectives du client et du serveur.

 

Le résultat fusionné devrait ressembler à ceci et vous permet de comparer ce qui est envoyé aux paquet par paquet et ce qui est reçu.

Le receive.pcap et transmit.pcap sont mgered ensemble dans la vue WireShark

 

A quelques articles utiles pour vous aider à mieux comprendre comment les paquets circulent à travers le système:

Quelle est la signification des compteurs globaux ?

Séquence de flux de paquets dans PAN-OS

 

 

Plan de gestion

 

Pour résoudre les problèmes de connectivité avec le plan de gestion, la commande tcpdump intégré permet de capturer des informations utiles :

admin@myNGFW> tcpdump filter "port 53"
Press Ctrl-C to stop capturing

tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
^C
16 packets captured
32 packets received by filter
0 packets dropped by kernel
The resulting output is stored in a mgmt.pcap file on the management plane: 

admin@myNGFW> view-pcap mgmt-pcap mgmt.pcap
15:24:07.512889 IP 10.0.0.1.36606 > 10.0.0.98.domain:  49243+ PTR? 0.0.0.10.in-addr.arpa. (41)
15:24:07.513106 IP 10.0.0.98.domain > 10.0.0.1.36606:  49243 NXDomain 0/1/0 (100)
15:24:17.196515 IP 10.0.0.1.45455 > 10.0.0.98.domain:  3126+ PTR? 0.0.0.10.in-addr.arpa. (41)
15:24:17.196762 IP 10.0.0.98.domain > 10.0.0.1.45455:  3126 NXDomain 0/1/0 (100)
15:24:31.126186 IP 10.0.0.1.57230 > 10.0.0.98.domain:  2978+ A? panos.wildfire.paloaltonetworks.com. (53)
15:24:31.126196 IP 10.0.0.1.57230 > 10.0.0.98.domain:  55173+ AAAA? panos.wildfire.paloaltonetworks.com. (53)
15:24:31.161436 IP 10.0.0.98.domain > 10.0.0.1.57230:  2978 4/0/0[|domain]
15:24:31.194586 IP 10.0.0.98.domain > 10.0.0.1.57230:  55173 2/0/0[|domain]
15:25:56.746679 IP 10.0.0.1.46048 > 10.0.0.98.domain:  43532+ A? wildfire.paloaltonetworks.com. (47)
15:25:56.746689 IP 10.0.0.1.46048 > 10.0.0.98.domain:  16653+ AAAA? wildfire.paloaltonetworks.com. (47)
15:25:56.794940 IP 10.0.0.98.domain > 10.0.0.1.46048:  43532 1/0/0 (63)
15:25:56.795553 IP 10.0.0.98.domain > 10.0.0.1.46048:  16653 0/1/0 (131)
15:25:59.038459 IP 10.0.0.1.51804 > 10.0.0.98.domain:  23806+ A? panos.wildfire.paloaltonetworks.com. (53)
15:25:59.038471 IP 10.0.0.1.51804 > 10.0.0.98.domain:  31471+ AAAA? panos.wildfire.paloaltonetworks.com. (53)
15:25:59.071431 IP 10.0.0.98.domain > 10.0.0.1.51804:  23806 4/0/0[|domain]
15:25:59.113552 IP 10.0.0.98.domain > 10.0.0.1.51804:  31471 2/0/0[|domain]
 

S’il vous plaît consulter cet article pour plus d’informations Comment saisir les paquets (tcpdump) sur l’interface de gestion

 


 



Additional Information


1. Pour contrôler la taille du fichier de capture de paquets, un seul fichier est limité à 200 Mo et un deuxième fichier est automatiquement créé une fois que la taille est dépassée, les deux fichiers agiront alors comme un tampon d’anneau où le fichier pcap primaire est utilisé pour écrire des données de capture active et le fichier *.pcap.1 est utilisé comme tampon. Une fois que le PCAP principal atteint sa capacité à nouveau, le fichier de mémoire tampon est écarté, le fichier principal est renommé en *. PCAP. 1 et un nouveau fichier primaire est démarré. Plus d’informations ici: Quelle est la limitation de la taille du fichier de capture de paquets PAN-OS sur?

2. Pour les petites captures, il pourrait être pratique de capturer tout dans un seul fichier, il est donc possible d’avoir chaque capture d’étape au même nom de fichier. Veuillez prendre connaissance de la limitation de taille mentionnée ci-dessus et de la visibilité réduite pour chaque étape. La méthode recommandée est de toujours avoir un fichier individuel par étape.

Depuis PAN-OS 8.1.0, des filtres peuvent être ajoutés pour les sous-réseaux source et réseau, ce qui n’est disponible que via leCLI NOT webGU etI:

admin@firewall> debug dataplane packet-diag set filter match 
+ destination           Destination IP address
+ destination-netmask   Destination netmask              <<<< new option for network
+ destination-port      Destination port
+ ingress-interface     Ingress traffic interface name
+ ipv6-only             IPv6 packet only
+ lacp                  LACP packet
+ non-ip                Non-IP packet
+ protocol              IP protocol value
+ source                Source IP address
+ source-netmask        Source netmask                     <<<< new option for network
+ source-port           Source port
  |                     Pipe through a command
  <Enter>               Finish input
 
admin@firewall> debug dataplane packet-diag set filter match source 192.168.1.0 source-netmask 24

admin@firewall> debug dataplane packet-diag set filter match destination 192.168.2.0 destination-netmask 24

admin@firewall> debug dataplane packet-diag show setting 

DP dp0:

--------------------------------------------------------------------------------
Packet diagnosis setting:
--------------------------------------------------------------------------------
Packet filter
  Enabled:                   no
  Match pre-parsed packet:   no            
  Index 1: 192.168.1.0/24[0]->0.0.0.0/0[0], proto 0 <<<<<<<<< network is captured /24
           ingress-interface any, egress-interface any, exclude non-IP
  Index 2: 0.0.0.0/0[0]->192.168.2.0/24[0], proto 0 <<<<<<<<< network is captured /24
           ingress-interface any, egress-interface any, exclude non-IP
--------------------------------------------------------------------------------
 

Remarque: Faites preuve de prudence lorsque vous activez des captures à l’échelle du réseau, il peut y avoir beaucoup de paquets, ce qui pourrait entraîner une consommation élevée d’avions de données et un impact possible sur le CPU trafic.



Actions
  • Print
  • Copy Link

    https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000ClTJCA0&lang=fr&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

Choose Language