CheckPoint - Mémento fw monitor
Alasta 15 Mai 2014 checkpoint CheckPOint shell
Description : Voici un outils CheckPoint complémentaire à tcpdump pour leurs Firewalls.
Fonctionnement :
Passage du paquets au travers du firewall :
Commandes en vrac :
- Afficher le flux de l'IP 1.1.1.1 en source ou destination
fw monitor -e 'accept host(1.1.1.1);'
- Afficher le trafic entre 2 machine :
fw monitor -e "host(1.1.1.1) and host(2.2.2.2), accept;"
- Afficher le flux unidirectionnel de source 1.1.1.1 et destination 2.2.2.2
fw monitor -e 'accept src=1.1.1.1 and dst=2.2.2.2;'
- Afficher les packets UDP DNS en positionnant le fw monitor i (pre inbound) avant le moteur ipopt_strip (voir commande fw ctl chain)
fw monitor -pi ipopt_strip -e 'accept udpport(53);'
Note : il est possible de positionner les différentes position de fw monitor avec -pI, -po et -pO.
- Afficher les unknown ports et seulement le post-outbound :
fw monitor -m O -e 'accept udp and (sport>1023 or dport>1023);'
- Afficher le trafic du traceroute :
fw monitor -e 'accept tracert;'
- Afficher le trafic ICMP :
fw monitor -e 'accept icmp;'
- Afficher le protocole IP 50 (ESP) sur l'interface ayant l'ID 0 ( information ifID : fw ctl iflist)
fw monitor -e 'accept ip_p=50 and ifid=0;'
- Enregistrer la sortie dans un fichier pcap pour le lire avec wireshark :
fw monitor -e 'accept icmp;' -o /tmp/sortie.pcap
- Utilisation de filtre (ici ICMP):
echo "accept [9:1]=1;" > /tmp/monfiltreicmp.pf fw monitor -f /tmp/monfiltreicmp.pf
équivalent à
fw monitor -e "accept [9:1]=1;"
ou
echo '#include "fwmonitor.def"' > /tmp/monfiltre2.pf echo 'accept icmp;' >> /tmp/monfiltre2.pf fw monitor -f /tmp/monfiltre2.pf
Pour plus d'informations sur les filtres voir la doc officielle en annexes.
Mais voir les plus courant :
IP source : accept [12, b]=172.16.1.2;
IP destination : accept [16, b]=10.2.4.12;
ICMP : accept [9:1]=1;
TCP : accept [9:1]=6;
UDP : accept [9:1]=17;
ESP : accept [9:1]=50; (voir annexe "Numéros de protocoles" pour avoir la liste complète)
Port source HTTP : accept [20:2,b]=80;
Port destination HTTP : accept [22:2,b]=80;
- Filtre sur un réseau :
fw monitor -e "net={<1.1.1.22,1.1.1.29>}; dst in net, accept;"
ou
fw monitor -e "accept net(1.1.1.0,25);"
- Filtre sur un flag TCP :
fw monitor -e "accept syn;"
- Fitre super combo :
fw monitor -e "((src=x.x.x.x or dst=z.z.z.z) and (src=y.y.y.y or dst=z.z.z.z)), accept ;"
- Filtre sur le port source ou destination 53
fw monitor -e "accept (sport=53 or dport=53);"
- Filtre sur le port 53 :
fw monitor -e "accept port(53);"
- Filtre sur une exception (tous sauf le ssh):
fw monitor -e "accept not (sport=22 or dport=22);"
ou
fw monitor -e "accept ((sport!=22) or (dport!=22));"
- Filtre TCP entre 2 machines :
fw monitor -e "ip_p=6, host(1.1.1.1) or host(2.2.2.2), accept;"
A voir : si l'on a bien tous les points d'interceptions (iIoO) lorsqu'un flux match un template SecureXL
Annexes :
Doc officielle CheckPoint
Doc de la communauté
Un excellent RefCard/Cheat Sheet
Quelques filtres fw monitor
Numéros de protocoles
CheckPoint sk30583 - Exemples de filtres
CheckPoint sk39510 - Configuration de Wireshark
Syntaxe des filtres
Filtre pour Wireshark avec une capture fw monitor :