Débogage
Introduction
Ce dernier chapitre traitera de quelques outils que nous avons à disposition (sur les PC et/ou sur les SNS) pour pouvoir faire un diagnostic en vue de résoudre des problèmes réseau et sécurité. Il y aura aussi quelques procédures et un peu de méthodologie pour comprendre les problèmes puis essayer de les résoudre.
Les arguments des commandes montrées ici sont les plus utilisés. Il y en a bien d’autres qui sont spécifiques à diverses situations.
Outils d’aide au diagnostic
1. Connaître l’adresse IP d’un hôte
a. Microsoft Windows
Pour connaître l’adresse IP d’un hôte sous le système d’exploitation Microsoft Windows, la commande à lancer est ipconfig :
C:\Users\alejandro>ipconfig /all
Configuration IP de Windows
Nom de l'hôte . . . . . . . . . . : DESKTOP-Q27DJ3O
Suffixe DNS principal . . . . . . :
Type de noeud. . . . . . . . . . : Hybride
Routage IP activé . . . . . . . . : Non
Proxy WINS activé . . . . . . . . : Non
Carte Ethernet Ethernet0 :
Suffixe DNS propre à la connexion. . . :
Description. . . . . . . . . . . . . . : Intel(R) PRO/1000 MT
Network Connection
Adresse physique . . . . . . . . . . . : 00-50-56-96-F3-D4
DHCP activé. . . . . . . . . . . . . . : Non
Configuration automatique activée. . . : Oui
Adresse IPv6 de liaison locale. . . . :
fe80::5cf9:786d:d5ff:b3fd%3(préféré)
Adresse IPv4. . . . . . . . . . . . . : 192.168.0.3(préféré)
Masque de sous-réseau. . . . . . . . . : 255.255.255.0
Passerelle par défaut. . . . . . . . . : 192.168.0.254
IAID DHCPv6 . . . . . . . . . . . . . : 33574998
DUID de client DHCPv6. . . . . . . . . : 00-01-00-01-26-73-79-9F-
00-50-56-96-F3-D4
Serveurs DNS. . . . . . . . . . . . . : 8.8.8.8
8.8.4.4
NetBIOS sur Tcpip. . . . . . . . . . . : Activé
Avec l’argument /all, nous avons toutes les informations nécessaires de la couche 2 et 3 de cet hôte.
b. GNU/Linux
Deux commandes peuvent nous retourner l’adresse...
Récupération de la configuration
Il y a deux manières de récupérer une configuration dans une UTM pour laquelle nous ignorons le mot de passe de l’administrateur : la première en suivant la procédure de réinitialisation du mot de passe de l’utilisateur admin, et la deuxième en forçant un defaultconfig (paramétrage d’usine), puis en récupérant une copie de la configuration présente lors de cette action.
1. Réinitialisation du mot de passe de l’utilisateur admin
Commençons par la réinitialisation du mot de passe de l’utilisateur admin. Il faudra avoir un accès en câble série sur le produit (ou à la console, dans le cas d’une machine virtuelle).
Éteignez l’UTM (en appuyant longtemps sur le bouton d’arrêt).
Connectez le câble série fourni avec l’UTM et redémarrez-la.
Interceptez la séquence de démarrage du produit en appuyant sur la barre d’espace plusieurs fois, jusqu’à ce que le prompt loader> apparaisse à l’écran.
>> FW
1) main
2) backup
choose:
-
Booting main slot
Booting from disk1p1:
Loading /boot/defaults/loader.conf
/boot/kernel.NOSMP/kernel data=0x6b4e64+0xbb19c
syms=[0x4+0x74050+0x4+0x9e865]
Type '?' for a list of commands, 'help' for more detailed help.
loader>
Lancez la commande suivante et appuyez sur [Entrée] :
boot -s
Désormais, vous disposerez d’un prompt avec "#" ; à ce moment, il vous faudra lancer la commande pour changer le mot de passe.
# /usr/Firewall/sbin/chpwd
Une fois le nouveau mot de passe entré deux fois, le firewall redémarrera.
2. Récupération de la configuration par defaultconfig
Maintenant, nous allons forcer un paramétrage d’usine sur le SNS, puis nous allons récupérer la configuration existante avant cette action dans un dossier de sauvegarde.
Appuyez sur le bouton defaultconfig de l’UTM. Cela provoque une restauration de la configuration par défaut mais, dans ce processus, une copie de la configuration présente sur le firewall est gardée dans le dossier :
SN160W16K0330A7>ll...
Réseau
1. Bridge
a. Enregistrement des hôtes
Les hôtes, vis-à-vis du système d’exploitation, sont enregistrés sur la première interface de bridge.
Voici une configuration classique d’un bridge :
Firewall.loc-VMSNSX09K0639A9>ifinfo
interface list:
in_br
192.168.26.254/24
in (protected,em1)
dmz1 (em2)
sslvpn_udp (protected,tun1)
sslvpn (protected,tun0)
out (em0)
10.0.0.250/8
ipsec (enc0)
Nous communiquons avec l’hôte 192.168.26.1. D’après le système, l’hôte est enregistré sur l’interface em1 :
Firewall.loc-VMSNSX09K0639A9>arp -an | grep 192.168.26.1
? (192.168.26.1) at 08:00:27:c5:d6:79 on em1 expires in
570 seconds [ethernet]
Puisque l’interface fait partie d’un bridge, pour savoir sur quelle interface est vraiment enregistré cet hôte, vous devez lancer la commande suivante :
Firewall.loc-VMSNSX09K0639A9>sfctl -s host -H hstate=all -H
host=192.168.26.1
Host (ASQ):
host if state packet bytes
192.168.26.1 dmz1 active 1 p 84...
Objets
1. Régénération des CA présentes dans l’UTM
Dans le cas où vous devriez régénérer les deux CA présentes dans l’UTM, vous devriez procéder ainsi :
Supprimez la CA utilisée pour signer des certificats à la volée dans le proxy SSL :
Firewall.loc-VMSNSX09K0639A9>rm -rf ~/ConfigFiles/Certificates/
SSL\ proxy\default\ authority/
Supprimez la CA utilisée pour le VPN SSL :
Firewall.loc-VMSNSX09K0639A9>rm -rf ~/ConfigFiles/Certificates/
sslvpn-full-default-authority/
Lancez la commande de régénération des deux CA supprimées :
Firewall.loc-VMSNSX09K0639A9>sslinit
Generate the default SSL proxy authority.
/ Key generation in progress. Please wait...
SSL proxy default authority done.
Generate the default sslvpn full authority.
/ Key generation in progress. Please wait...
Generate the server certificate of default sslvpn full authority.
| Key generation in progress. Please wait...
Generate the user certificate of default sslvpn full authority.
\ Key generation in progress. Please wait...
sslvpn-full-default-authority done.
- Key generation in progress. Please wait...
IPS
1. Commandes sfctl (Stateful control)
Malgré le fait de disposer du module Monitoring dans l’IHM, la commande sfctl peut nous donner des informations plus précises et complètes. Nous allons utiliser cette commande très souvent sur un SNS afin de vérifier les règles de filtrage et NAT chargées dans l’IPS, l’état des hôtes, l’état des connexions, la table des utilisateurs, la table de routage de l’IPS (et non pas au niveau du système), l’état de la QoS, etc. Pour obtenir la totalité des arguments possibles, vous pouvez lancer la commande sfctl -h.
a. Règles de filtrage et NAT
La commande est sfctl -s filter ou sfctl -s nat pour n’obtenir que les règles de NAT.
Exemple :
SN160W16K0330A7>sfctl -s filter
Filter (ASQ):
0 :1 : pass asq nohasync ipproto udp proto dns_udp from dynamic to any port 53
0 :2 : reset ipproto tcp from any on PrivateAP to dynamic port 113
0 :3 : reset ipproto tcp from any on out to dynamic port 113
0 :4 : skip 3 ipproto tcp from any to any port 22
0 :4 : pass asq nohasync ipproto tcp from any on sslvpn_udp to dynamic port 22
0 :5 : pass asq nohasync ipproto tcp from any on sslvpn to dynamic port 22
0 :6 : pass asq nohasync ipproto tcp from any on in to dynamic port 22
0 :7 : skip 3 ipproto tcp from any to any port 443
0 :7 : pass asq nohasync ipproto tcp from any on in to dynamic port 443
0 :8 : pass asq nohasync ipproto tcp from any on sslvpn to dynamic port 443
0 :9 : pass asq nohasync ipproto tcp from any on sslvpn_udp to dynamic port 443
0 :10 : pass asq noplugin nohasync ipstate from dynamic to any
2 :1 : skip 15 from <Network_internals:1> to any
2 :1 : pass from <Network_internals:1> to <dyn_aggreg_1:3> rulename "173c8a99964_6"
2 :2 : pass from <Network_internals:1> to 91.212.116.4
2 :3 : pass from <Network_internals:1> to 151.101.194.217
2 :4 : pass asq nohasync...