User Tools

Site Tools


informatique:fortinet:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
informatique:fortinet:start [2020/04/14 10:32] – [get transceiver] pteuinformatique:fortinet:start [2025/02/10 08:58] (current) – [Reset factory] restauration pteu
Line 7: Line 7:
 ======Système====== ======Système======
  
-En sortie d'usine, le compte **admin** a un mot de passe vide.+En sortie d'usine, le compte **admin** a un mot de passe vide. La configuration du port CONsole est "9600/8-N-1 hardware flow control disabled" ; on peut se connecter aussi au port mgmt(1) qui a son DHCPd (192.168.99.O/24) activé par défaut, mais attention à ne pas le brancher sur le réseau de prod sous peine de préempter les attributions d'IP du DHCPd légitime ! 
 + 
 +On peut lister toutes les commandes disponibles avec la commande ''tree'', et filtrer l'affichage en CLI avec '' | grep'' comme sur un terminal Linux.
  
 <code bash> <code bash>
Line 16: Line 18:
  
 # récupérer la charge du système et son uptime # récupérer la charge du système et son uptime
-get system performance status+(global) get system performance status
  
 # affiche les informations des processus les plus consommateurs en CPU/mem # affiche les informations des processus les plus consommateurs en CPU/mem
Line 37: Line 39:
 diagnose sys kill 11 <PID> diagnose sys kill 11 <PID>
 </code> </code>
 +
 +=====Redémarrage=====
  
 Pour redémarrer ou éteindre le système : Pour redémarrer ou éteindre le système :
Line 44: Line 48:
 </code> </code>
  
-Ordre de traitement d'un paquet sur un Fortigate :+Il n'est pas possible de planifier un redémarrage automatique ! La seule possibilité est de programmer un reboot quotidien : 
 +<code bash> 
 +config global 
 +  config sys global 
 +    set daily-restart enable 
 +    set restart-time 04:13 
 +  end 
 +</code> 
 +Attention, il redémarrera donc tous les jours à 4h13 ! 
 + 
 +Autre possibilité : configurer une authentification SSH par clé ([[informatique:fortinet:start#sauvegarde_en_scp|comme indiqué ici]]) puis ajouter une tâche at ou cron qui fait : 
 +<code bash> 
 +ssh admin@firewall "config global 
 +> execute reboot 
 +> y" 
 +</code> 
 + 
 + 
 +=====Ordre de traitement des paquets===== 
 <code bash> <code bash>
 Step #1 - Ingress Step #1 - Ingress
Line 115: Line 138:
 # afficher l'utilisation de la mémoire partagée (SHM) # afficher l'utilisation de la mémoire partagée (SHM)
 diagnose hardware sysinfo shm diagnose hardware sysinfo shm
 +</code>
 +
 +====Power/alimentation====
 +
 +Information sur les alimentations :
 +<code bash>
 +diagnose hardware deviceinfo psu
 +PSU 01:
 + Product Manufacturer  : Murata-PS
 + Product Name          : D1U54P-W-450-12-HA4C
 + Product Version       : RJ
 + Product Serial        : X00001
 + Product Extra         : Pri f/w rev: 9151001909-13-01
 + Product Extra         : Sec f/w rev: 9157001909-13-01
 +PSU 02:
 + Product Manufacturer  : Murata-PS
 + Product Name          : D1U54P-W-450-12-HA4C
 + Product Version       : RJ
 + Product Serial        : X00002
 + Product Extra         : Pri f/w rev: 9151001909-13-01
 + Product Extra         : Sec f/w rev: 9157001909-13-01
 +!
 +execute sensor detail
 </code> </code>
  
Line 138: Line 184:
       set mtu-override enable       set mtu-override enable
       set mtu 9000       set mtu 9000
 +   next
 +# modifier la TCP MSS (doit être = MTU - 40 (20 d'entêtes IP et 20 d'entêtes TCP))
 +config system interface
 +   edit "port1"
 +      set tcp-mss 8960
 +   next
 +</code>
 +<WRAP center round tip 80%>
 +Rappel: la MTU IP est de 1500 octets par défaut. Pour la vérifier entre 2 machines, il faut lancer un PING en interdisant la fragmentation (bit "don't fragment" = 1) et en spécifiant sa taille. Pour une MTU par défaut on peut envoyer des PINGs de taille max 1472 (1500 moins les entêtes IP (20) et ICMP (8)), un seul octet de plus (1473) et on ne pourra plus l'envoyer sans fragmenter, donc cela génèrera une erreur.
 +</WRAP>
 +
 +<code bash>
 +# Sous Linux:
 +ping -M do -s 1473 10.10.10.10
 +> ping: local error: Message too long, mtu=1500
 +# Sous Windows:
 +ping -f -l 1473
 +> Le paquet doit être fragmenté mais paramétré DF.
 +# Sous FortiOS :
 +execute ping-options df-bit yes
 +execute ping-options data-size 1473
 +execute ping 10.10.10.10
 +> sendto failed
 </code> </code>
 +//A noter que les erreurs affichées ci-dessus sont locales car détectées directement par ma machine cliente, dans la mesure ou l'on dépasse sa propre MTU. En général ce test est réalisé pour détecter la MTU sur le réseau entre 2 machines distantes quand on suspecte une MTU réduite (< 1500).//
  
 Afficher les caractéristiques des modules GBIC/SFP* connectés et reconnus : Afficher les caractéristiques des modules GBIC/SFP* connectés et reconnus :
Line 288: Line 358:
       edit admin       edit admin
          set password <new-password>          set password <new-password>
-         end+      end
 </code> </code>
  
Line 317: Line 387:
 </code> </code>
  
 +Pour lister les IPs/logins bloqués (en quarantaine) : dans la GUI, "Monitor> Quarantaine Monitor" ; en CLI :
 +<code bash>
 +diagnose user quarantine list
 +</code>
 +
 +Et pour débloquer un blocage :
 +<code bash>
 +diagnose user quarantine delete src4 x.x.x.x
 +</code>
 +
 +====Configurer un serveur Radius====
 +
 +Pour centraliser les comptes/mots de passe on peut configurer un serveur Radius qui sera interrogé pour authentifier les administrateurs du Forti. Cela se fait en plusieurs étapes :
 +
 +1) déclarer le serveur Radius sur le VDOM de management (root par défaut) : en GUI c'est dans "User & Authentication > RADIUS servers" ; on précise son nom, son IP et son secret (mot de passe pour s'y connecter, défini dans le clients.conf du serveur Radius) ; en CLI :
 +<code bash>
 +config user radius
 +    edit "rad-srv"
 +        set server "10.0.4.88"
 +        set secret blablabla
 +    next
 +end
 +</code>
 +
 +2) créer le groupe "Admin fortis" dans "User & Authentification > User Groups", nouveau groupe de type "Firewall", et ajouter le serveur RADIUS dans "Remote Groups" :
 +<code bash>
 +config user group
 +    edit "Admin fortis"
 +        set member "rad-srv"
 +    next
 +end
 +</code>
 +
 +3) Créer chaque login en mode global : créer le login dans "System > Administrators", et cocher "Match a user in a remote serveur group", "Admin fortis" dans cet exemple.
 +<code bash>
 +config system admin
 +     edit "admtoto"
 +         set remote-auth enable
 +         set accprofile "super_admin"
 +         set vdom "root"
 +         set remote-group "Admin fortis"
 +         set password ENC MASCARADE
 +     next
 +end
 +</code>
 +
 +NB : on pourra définir un mot de passe de secours pour chaque compte, en cas d'inaccessibilité du serveur RADIUS.
 +
 +Diagnostique :
 +<code bash>
 +diagnose test auth radius pap <user> <mot de passe>
 +</code>
 ======Configuration====== ======Configuration======
  
Line 386: Line 508:
 config system global config system global
  set hostname mon_forti  set hostname mon_forti
 + set timezone 28
 +#28    (GMT+1:00) Brussels, Copenhagen, Madrid, Paris
  
  config system admin  config system admin
Line 425: Line 549:
 </code> </code>
  
-=====Sauvegarde=====+=====Enregistrement de la configuration=====
  
-Il existe 3 modes de sauvegarde la conf :+Il existe 3 modes d'__enregistrement__ de la configuration courante (la "running-config":
   * ''automatic'' : (celui par défaut) la configuration est sauvée à chaque fois qu'on saisit mot-clé "end" à la fin d'une section   * ''automatic'' : (celui par défaut) la configuration est sauvée à chaque fois qu'on saisit mot-clé "end" à la fin d'une section
-  * ''manual'' si on veut forcer la sauvegarde manuelle +  * ''manual'' si on veut forcer l'enregistrement manuel 
-  * ''revert'' on peut programmer un rollback (reboot + restauration de la conf) automatique du firewall au bout d'un timeout défini ; c'est utile si la modification risque de nous faire perdre la main et que le firewall est sur un site distant. Exemple de mise en place+  * ''revert'' on peut programmer un rollback (reboot + restauration de la conf) automatique du firewall au bout d'un timeout défini ; c'est utile pour pallier une erreur de manip, ou si une modification risque de nous faire perdre la main sur le firewall (très utile s'il est sur un site distant). Exemple de mise en place :
 <code bash> <code bash>
 config global config global
    config system global    config system global
-      set cfg-save revert                            # | automatic | manual +      set cfg-save revert                    # | automatic | manual 
-      set cfg-revert-timeout 300                     # on définit le timeout pour le rollback+      set cfg-revert-timeout 300             # on définit le timeout pour le rollback
       end       end
 </code> </code>
-<WRAP center round important 60%> +<WRAP center round important 80%> 
-il faut bien penser à désactiver le mode revert après la maintenance sinon il redémarrera à chaque modif (et ne la prendra pas en compte) !+//Ça va sans dire, mais ça va mieux en le disant// : il faut bien désactiver le mode revert après la maintenance sinon le firewall redémarrera à chaque modif (et ne la prendra pas en compte) !
 </WRAP> </WRAP>
  
 +=====Sauvegarde de la configuration=====
 +
 +Les fortis peuvent __sauvegarder__ leur configuration (l'enregistrer dans un fichier dédié différent de la "startup-config") pour conserver et comparer différentes révisions de celle-ci : soit lors de la déconnexion d'un administrateur, soit lors d'une mise à jour du firmware (actif par défaut sur les versions ~6 et sup.).
 +<code bash>
 +config global
 +  config system global
 +    set revision-backup-on-logout  enable # sauvegarde après déconnexion d'un admin
 +    set revision-image-auto-backup enable # sauvegarde lors d'une mise à jour
 +    end
 + end
 +end
 +</code>
 +On retrouvera toutes les versions dans la webUI en cliquant sur l’icône en haut à droite : <utilisateur>/Configuration/Revisions.
  
 ======Routage====== ======Routage======
  
-Afficher la table de routage courante : 
 <code bash> <code bash>
 +# lister toutes les adresses IP du firewall
 +diag ip address list
 +IP=192.168.1.99->192.168.1.99/255.255.255.0 index=4 devname=mgmt1
 +[..]
 +
 +# lister les IPs virtuelles : VIPs et NAT-pools
 +diag firewall iplist list
 +
 +# Afficher la table de routage :
 get router info routing-table details get router info routing-table details
  
Line 471: Line 616:
 diagnose ip arp list diagnose ip arp list
  
-# afficher les règle de policy-based routing ("policy routes")+# afficher les règles de policy-based routing ("policy routes" ou PBR)
 diagnose firewall proute list diagnose firewall proute list
 +
 +# afficher le cache de routage
 +diag ip rtcache list
 </code> </code>
  
Line 481: Line 629:
 </code> </code>
  
 +En webUI on peut voir la table de routage dans le "Routing Monitor" ; depuis la version 6 il faut aller dans "Dashboard> Network", passer le curseur sur le widget "Routing" et cliquer sur "Expand to fullscreen". Pour créer un raccourci direct (à la suite des liens FortView préexistants dans le menu Dashboard), cliquer sur "Save as monitor" (bouton en haut de la fenêtre lorsqu'il est en FullScreen).
 +
 +{{ :informatique:fortinet:routing_monitor_reduc.png?nolink&600 |}}
  
 =====Static===== =====Static=====
Line 499: Line 650:
 >the "priority" parameter is used in situation where a static route needs to be present in order to accept incoming traffic and pass the RPF check (anti-spoofing). >the "priority" parameter is used in situation where a static route needs to be present in order to accept incoming traffic and pass the RPF check (anti-spoofing).
 source : [[http://kb.fortinet.com/kb/viewContent.do?externalId=FD32103|Routing behavior depending on distance and priority for static routes, and Policy Based Routes]] chez kb.fortinet.com source : [[http://kb.fortinet.com/kb/viewContent.do?externalId=FD32103|Routing behavior depending on distance and priority for static routes, and Policy Based Routes]] chez kb.fortinet.com
 +
 =====OSPF===== =====OSPF=====
  
Line 538: Line 690:
     set router-id 10.0.0.15     set router-id 10.0.0.15
     set passive-interface "ico-untrust"     set passive-interface "ico-untrust"
 +    # annoncer sa route statique par défaut dans l'OSPF, et en tant que external 1
 +    set default-information-originate enable
 +    set default-information-metric-type 1
 end end
 </code> </code>
Line 569: Line 724:
 # Debug # Debug
 # #
 +#diagnose ip router ospf packet hello enable
 diagnose ip router ospf all enable diagnose ip router ospf all enable
 diagnose ip router ospf level info diagnose ip router ospf level info
 +diagnose debug cli 0
 +diagnose debug console timestamp enable
 diagnose debug enable diagnose debug enable
 # nettoyage du debug # nettoyage du debug
 diagnose ip router ospf all disable diagnose ip router ospf all disable
 +diagnose debug disable
  
 # redémarrer le processus OSPF # redémarrer le processus OSPF
Line 588: Line 747:
 ====Agrégation de routes==== ====Agrégation de routes====
  
-Pour simplifier les tables de routage, on peut agréger les routes sur les ABR (Area Border Router) ou les routeurs ASBR (Autonomous System Border Router). Cela consiste, sur ledit routeur, à fusionner plusieurs annonces en une seule, de préfixe plus court (par exemple 10.0.0.0/24 et 10.0.1.0/24 => 10.0.0.0**/23**). En réduisant les annonces on simplifie la table de routage de tous les routeurs, on diminue la charge CPU lors des changements de topologie, et on diminue la charge sur le réseau.+Pour simplifier les tables de routage, on peut agréger les routes sur les ABR (Area Border Router) ou les ASBR (Autonomous System Border Router). Cela consiste, sur ledit routeur, à fusionner plusieurs annonces en une seule, de préfixe plus court (par exemple 10.0.0.0/24 et 10.0.1.0/24 => 10.0.0.0**/23**). En réduisant les annonces on simplifie la table de routage de tous les routeurs, on diminue la charge CPU lors des changements de topologie, et on diminue la charge sur le réseau.
  
-L'agrégation se configure de 2 façons, suivant s'il s'agit d'ABR (LSA de type 3) ou d'ASBR (LSA de type 5) :+L'agrégation se configure de 2 façons, suivant qu'il s'agisse d'ABR (LSA de type 3) ou d'ASBR (LSA de type 5) :
   * sur un ABR, pour agréger des routes apprises de l'aire 1 (c'est un exemple) :   * sur un ABR, pour agréger des routes apprises de l'aire 1 (c'est un exemple) :
 <code bash> <code bash>
 config router ospf config router ospf
-    config area +  config area 
-        edit 0.0.0.1 +    edit 0.0.0.1 
-            config range +      config range 
-                edit 1 +        edit 0 
-                    set prefix 10.0.0.0 255.255.254.0 +          set prefix 10.0.0.0 255.255.254.0
-            end+
         end         end
 +    end
 end     end    
 </code> </code>
  
-  * sur un ASBR, pour agréger des routes statiques redistribuées dans l'OSPF :+  * sur un ASBR, pour agréger des routes redistribuées (connected, statiques, etc..) dans l'OSPF :
 <code bash> <code bash>
 config router ospf config router ospf
-    config summary-address +  config summary-address 
-        edit 1 +    edit 0 
-            set prefix 10.0.0.0 255.255.254.0 +      set prefix 10.0.0.0 255.255.254.0 
-        end+    end
 end end
 </code> </code>
  
-Ces routes sont visibles dans la table de routage sous la forme :+Ces routes sont visibles dans la table de routage de l'ABR/ASBR sous la forme :
 <code bash> <code bash>
 get router info routing-table ospf get router info routing-table ospf
Line 621: Line 780:
 </code> </code>
  
-source : [[http://kb.fortinet.com/kb/documentLink.do?externalID=FD30329|OSPF route summarization for LSAs Type3 (on ABR) and Type5 (on ASBR)]]+On voit les réseaux dans la database : 
 +<code bash> 
 +get router info ospf database brief 
 +[..] 
 +                Summary Link States (Area 0.0.0.0) 
 + 
 +Link ID         ADV Router      Age  Seq#     CkSum Flag Route 
 +10.0.0.0        10.0.10.1       154  80000092 2570  0031 10.0.0.0/23 
 +[..] 
 + 
 + 
 +get router info ospf database summary lsa 10.0.0.0 
 +[..] 
 +                Summary Link States (Area 0.0.0.0) 
 + 
 +  LS age: 309 
 +  Options: 0x2 (*|-|-|-|-|-|E|-) 
 +  LS Type: summary-LSA 
 +  Link State ID: 10.0.0.0 (summary Network Number) 
 +  Advertising Router: 10.0.10.1 
 +  LS Seq Number: 800002df 
 +  Checksum: 0x60e2 
 +  Length: 28 
 +  Network Mask: /23 
 +        TOS: 0  Metric: 11 
 +</code> 
 + 
 +sources : 
 +  * [[http://kb.fortinet.com/kb/documentLink.do?externalID=FD30329|OSPF route summarization for LSAs Type3 (on ABR) and Type5 (on ASBR)]] 
 +  * https://community.fortinet.com/t5/FortiGate/Technical-Note-OSPF-route-summarization-for-LSAs-Type3-on-ABR/ta-p/198559
  
 ====Redistribution de route==== ====Redistribution de route====
Line 650: Line 838:
 # préciser l'action "permit" est facultatif car c'est celle par défaut # préciser l'action "permit" est facultatif car c'est celle par défaut
 config router route-map config router route-map
-    edit "static-to-ospf" 
-    next 
     edit "rm_static-to-ospf"     edit "rm_static-to-ospf"
         config rule         config rule
Line 669: Line 855:
 end end
 </code> </code>
 +
 +====Tips====
 +
 +===MTU mismatch===
 +
 +A partir d'une certaine version de fortiOS (v6 peut-être ?), l’algorithme de calcul des MTUs des tunnels IPSec a changé et ne tombe plus sur les mêmes valeurs que les précédentes versions. De ce fait un upgrade ou l'ajout d'un nouveau fortigate peut aboutir a des erreurs de "MTU mismatch" : ''OSPF: RECV[DD]: From X.X.X.X via itfY: MTU size is too large (1934)'') lors de l'établissement des adjacences OSPF (dont la MTU des interfaces doit être scrupuleusement la même que celle du voisin). Pour contourner ce comportement, <del>on peut</del> il faut désactiver les vérification de MTU pour les interfaces connectées aux voisins de version/MTU différente :
 +<code bash>
 +config router ospf
 +  config ospf-interface
 +    edit interf_X
 +      set mtu-ignore enable
 +    end
 +  end
 +</code>
 +
 +Il est aussi possible de forcer la MTU sur l'interface :
 +<code bash>
 +config router ospf
 +  config ospf-interface
 +    edit interf_X
 +      set mtu 2000
 +    end
 +  end
 +</code>
 +Ref : [[https://community.fortinet.com/t5/FortiGate/Technical-Tip-OSPF-MTU-mismatch-after-upgrade/ta-p/197883|Technical Tip : OSPF MTU mismatch after upgrade]]
 =====BGP===== =====BGP=====
  
Line 715: Line 926:
 diagnose debug enable diagnose debug enable
  
-# ré-établir l'adjacence BGP avec un voisin 
-configure bgp neighbor 10.0.200.92 soft-reset in 
 # clearer toutes les connexions BGP # clearer toutes les connexions BGP
 execute router clear bgp all execute router clear bgp all
 </code> </code>
 +
 +Article plus détaillé : [[informatique:fortinet:bgp|Fortigate BGP]]
 =====PBR===== =====PBR=====
  
Line 750: Line 961:
 =======Sessions====== =======Sessions======
  
-Le terme de session s'applique à chaque connexion traversant ou s'arrêtant au Fortigate, quel que soit le protocole (TCP évidemment mais aussi UDP, ICMP, etc...). Comme c'est un firewall stateful le sens d'ouverture des sessions est important, et les retour sont implicitement permis (à la différence des ACLs en général que l'on doit ouvrir dans les 2 sens).+Le terme de session s'applique à chaque connexion traversant ou s'arrêtant au Fortigate, quel que soit le protocole (TCP évidemment mais aussi UDP, ICMP, etc...). Comme c'est un firewall //stateful// le sens d'ouverture des sessions est important, et les retours sont implicitement permis (à la différence des ACLs en général que l'on doit déclarer dans les 2 sens).
  
 <code bash> <code bash>
Line 763: Line 974:
 <code bash> <code bash>
 # pour afficher les sessions HTTP ouvertes depuis la machine 10.0.0.2 # pour afficher les sessions HTTP ouvertes depuis la machine 10.0.0.2
 +diagnose sys session filter proto 6
 diagnose sys session filter src 10.0.0.2 diagnose sys session filter src 10.0.0.2
 diagnose sys session filter dport 80 diagnose sys session filter dport 80
Line 774: Line 986:
 diagnose sys session filter diagnose sys session filter
  
-# pour supprimer toutes les sessions **matchant notre filtre**+# pour supprimer toutes les sessions **matchant le filtre courant**
 diagnose sys session clear diagnose sys session clear
-# ! inutile de préciser qu'on pète tout si on n'utilise pas de filtre !+# ! inutile de préciser qu'on flush toutes les sessions si on n'utilise pas de filtre !
 </code> </code>
  
 Les flags : Les flags :
-  * ''may_dirty'' indique qu'une session a ouverte car acceptée par la politique de sécurité ; si cette dernière vient à être modifiée, toutes les sessions ''may_dirty'' sont également flagguées ''dirty'' ce qui signifit qu'elles doivent être revalidées par la nouvelle politique. C'est ce que fera le firewall lorsqu'il recevra le prochain paquet de la session :+  * ''may_dirty'' indique qu'une session a ouverte car acceptée par la politique de sécurité ; si cette dernière vient à être modifiée, toutes les sessions ''may_dirty'' sont également flagguées ''dirty'' ce qui signifie qu'elles doivent être revalidées par la nouvelle politique. C'est ce que fera le firewall lorsqu'il recevra le prochain paquet de la session :
     * si celle-ci est toujours valide, il supprime le flag ''dirty''     * si celle-ci est toujours valide, il supprime le flag ''dirty''
     * sinon il la flag ''block'', ce qui provoque le drop de tous les prochains paquets. Les sessions ''block'' restent dans la table de sessions jusqu'à leur expiration (leur timeout est diminué).     * sinon il la flag ''block'', ce qui provoque le drop de tous les prochains paquets. Les sessions ''block'' restent dans la table de sessions jusqu'à leur expiration (leur timeout est diminué).
  
 +Pour modifier les timeouts par défaut (3600 secondes = 1 heure par défaut) :
 +<code bash>
 +config system session-ttl
 +    set default 1800
 +end
 +</code>
  
 +Modifier le timeout d'un type de session, par exemple des flux HTTP :
 +<code bash>
 +config system session-ttl
 +    config port
 +        edit 80
 +            set protocol 6
 +            set start-port 80
 +            set end-port 80
 +            set timeout 1800
 +        next
 +    end
 +end
 +</code>
 +
 +Enfin, il est aussi possible de personnaliser le TTL de sessions dans les objets service du firewall (ici ports tcp/80 et 8080) :
 +<code bash>
 +config firewall service custom
 +    edit "HTTP_custom"
 +        set tcp-portrange 80 8080
 +        set session-ttl 1800
 +    next
 +end
 +</code>
 =======Firewall====== =======Firewall======
  
Line 973: Line 1214:
 </code> </code>
  
-Normalement l'IP de management du master devient l'IP virtuelle d'admin du cluster et le backup n'est pas administrable ; pour se connecter sur le backup il fait se connecter au master d'abord, puis saisir :+Normalement l'IP de management du master devient l'IP virtuelle d'admin du cluster et le backup n'est plus joignable ; pour se connecter dessus il fait se connecter au master d'abord, puis saisir :
 <code bash> <code bash>
-# se connecter sur le membre d'id=1 du HA à partir du master +# se connecter sur le membre d'id=1 du HA à partir du master avec le login spécifié 
-execute ha manage 1+execute ha manage 1 <login>
 </code> </code>
  
Line 1001: Line 1242:
 </code> </code>
  
-====Vérifications====+====Diagnostique====
  
 +Rappel: pour obtenir un prompt sur le membre passif d'un cluster, il faut se connecter en SSH sur le membre actif, puis :
 <code bash> <code bash>
-activer/désactiver le HA+c g 
 +execute ha manage <ID> <login> 
 +ex: execute ha manage 1 networkadmin 
 +</code> 
 + 
 +//à réaliser en mode global si les VDOMs sont activés.// 
 +<code bash> 
 +# état du HA (état de la configuration et status) 
 +get system ha 
 +get system ha status 
 + 
 +# sensiblement identique à la commande précédente 
 +diagnose sys ha status 
 +</code> 
 + 
 +Si désynchro, détermination de la zone non synchro (également visible en GUI en plaçant le curseur sur "Not Synchronized" dans Global/System/HA.) 
 +<code bash> 
 +# détermination du VDOM (ou global) non synchro 
 +diagnose sys ha checksum cluster 
 + 
 +# pour le VDOM non synchro (ex: global), détermination de la portion de conf non synchro 
 +diagnose sys ha checksum show global 
 +[...] 
 +firewall.internet-service-name: 3ecf1b51cca70d08b66bfe86d8e9accc 
 +rule.fmwp: 00000000000000000000000000000000 
 +</code> 
 +à comparer avec la conf du membre désynchro; dans mon cas j'ai 2 portions de conf désynchro. 
 + 
 +Plus rapidement, si comme dans l'exemple on sait que c'est sur la partie "config global" qu'il y a un delta, on peut extraire les "conf global" des 2 membres et les comparer manuellement (dans Notepad++ avec le plugin "compare" par exemple). Penser à afficher la conf sur une seule page (sans les ''---more---''): 
 +<code bash> 
 +config system console  
 +    set output standard 
 +end 
 +</code> 
 + 
 +On peut resynchroniser la conf en saisissant manuellement les commandes manquantes sur le bon member ; si cela ne se fait pas tout seul (attendre quelques minutes quand même...), on relance le process de synchro : 
 +<code> 
 +désactiver/activer le HA sur les 2 membres
 execute ha synchro stop execute ha synchro stop
 execute ha synchro start execute ha synchro start
  
-# reset l'âge des membres d'un cluster (pour palier certains vieux bug..) +diagnose sys ha checksum recalculate
-diagnose sys ha reset-uptime+
 </code> </code>
  
-Diagnostique :+Si toujours KO, remonter le cluster from scratch pour resynchroniser le backup sur le primaire (pas de coupure normalement, mais présence en baie nécessaire) [[https://community.fortinet.com/t5/FortiGate/Technical-Tip-Rebuilding-an-HA-cluster/ta-p/195429|Rebuilding an HA cluster (KB Fortinet)]] 
 + 
 + 
 +====Diag avancé / prise de trace====
 <code bash> <code bash>
-état du HA +sur le primaire 
-get system ha status +execute ha synchronize stop 
-# informations détaillées +diag debug reset 
-get system ha+diag debug enable 
 +diag debug console timestamp enable 
 +diag debug application hasync -1 
 +diag debug application hatalk -1 
 +execute ha synchronize start
  
-cmdes avancées (tshoot) +sur le backup 
-diagnose sys ha status+diag debug reset 
 +diag debug enable 
 +execute ha synchronize stop 
 +diag debug console timestamp enable 
 +diag debug application hasync -1 
 +diag debug application hatalk -1 
 +execute ha synchronize start 
 +</code>
  
 +A la fin du process (10m), désactiver le debug :
 +<code bash>
 +diag debug disable
 +diag debug reset
 +</code>
 +
 +<code bash>
 +# diag avancé
 diagnose sys ha dump 1 diagnose sys ha dump 1
 diagnose sys ha dump 2 diagnose sys ha dump 2
Line 1029: Line 1329:
 diagnose sys ha showcsum 2 diagnose sys ha showcsum 2
 diagnose sys ha showcsum 3 diagnose sys ha showcsum 3
 +
 +# relancer le HA "brutalement"
 +fnsysctl killall hasync
 +fnsysctl killall hatalk
 </code> </code>
  
 +Liens :
 +  * [[https://community.fortinet.com/t5/FortiGate/Technical-Tip-Troubleshooting-a-checksum-mismatch-in-a-FortiGate/ta-p/197551|Troubleshooting-a-checksum-mismatch-in-a-FortiGate]]
 +  * [[https://community.fortinet.com/t5/FortiGate/Troubleshooting-Tip-How-to-troubleshoot-HA-synchronization-issue/ta-p/193422?externalID=FD45183|How-to-troubleshoot-HA-synchronization-issue]]
 +  * [[https://community.fortinet.com/t5/FortiGate/Technical-Tip-Rebuilding-an-HA-cluster/ta-p/195429|Technical Tip: Rebuilding an HA cluster]]
  
 ======Log / Syslog====== ======Log / Syslog======
Line 1061: Line 1369:
 # filtrer sur une certaine catégorie # filtrer sur une certaine catégorie
 execute log filter category event execute log filter category event
 +
 # on peut aussi filtrer sur le contenu du message de log : # on peut aussi filtrer sur le contenu du message de log :
 execute log filter field msg Heartbeat execute log filter field msg Heartbeat
 +
 # défini le nb de ligne affichées # défini le nb de ligne affichées
 execute log filter view-lines 50 execute log filter view-lines 50
 +
 # en fonction de la date # en fonction de la date
 execute log filter field date 2014-05-06 2014-05-07 execute log filter field date 2014-05-06 2014-05-07
 +
 # voir les filtres # voir les filtres
 execute log filter dump execute log filter dump
 +category: traffic
 +device: memory
 +start-line: 11
 +view-lines: 10
 +max-checklines: 0
 +HA member:
 +log search mode: on-demand
 +pre-fetch-pages: 2
 +Oftp search string:
  
 # afficher les logs : # afficher les logs :
Line 1122: Line 1443:
 # générer des messages de log pour test : # générer des messages de log pour test :
 diagnose log test diagnose log test
 +</code>
 +
 +Pour debugguer le process de gestion des logs, miglogd :
 +<code bash>
 +diagnose debug application miglogd -1
 +diagnose debug enable
 </code> </code>
  
Line 1129: Line 1456:
 </code> </code>
  
 +=====Docs=====
  
 +  * [[https://community.fortinet.com/t5/FortiGate/Technical-Tip-Displaying-logs-via-FortiGate-s-CLI/ta-p/193027|Technical Tip: Displaying logs via FortiGate's CLI]]
 ======Mail d'alerte====== ======Mail d'alerte======
  
Line 1252: Line 1581:
 </code> </code>
  
 +=====update via webproxy=====
  
 +Pour les Fortigate qui n'ont pas un accès direct à Internet, on peut configurer l'usage d'un proxy web :
 +<code bash>
 +config system autoupdate tunneling
 +    set status enable
 +    set address "10.0.178.10"
 +    set port 3128
 +end
 +# éventuellement, spécifier l'IP source à utiliser pour cela :
 +config system fortiguard
 +    set source-ip 10.0.178.1
 +end
 +</code>
 +src: https://kb.fortinet.com/kb/documentLink.do?externalID=FD36587
 +
 +Si le Fortiguard ne se met pas à jour, on peut diagnostiquer avec :
 +<code bash>
 +# depuis le VDOM d'admin (root par defaut)
 +execute ping update.fortiguard.net
 +
 +diagnose test update info
 +
 +diagnose debug enable
 +diagnose debug application update 255
 +execute update-ase
 +execute update-av
 +execute update-ips
 +</code>
 ======Diagnostique et debug====== ======Diagnostique et debug======
  
Line 1264: Line 1621:
 # ~get tech : diagnostique complet à envoyer au support aussi # ~get tech : diagnostique complet à envoyer au support aussi
 diagnose debug report diagnose debug report
 +execute tac report
  
 # debugguer une fonction (~un process) # debugguer une fonction (~un process)
Line 1325: Line 1683:
 diagnose debug cli 0 diagnose debug cli 0
 diagnose debug flow show console enable diagnose debug flow show console enable
 +# bonus: encore plus verbeux
 +diagnose debug flow show function-name enable
 +diagnose debug flow show iprope enable
  
 # filtrer sur une adresse (source, dest) # filtrer sur une adresse (source, dest)
Line 1339: Line 1700:
 diagnose debug flow trace stop diagnose debug flow trace stop
 diagnose debug disable diagnose debug disable
- 
-# bonus 
-diagnose debug flow show function-name enable 
-diagnose debug flow show iprope enable 
 </code> </code>
  
Line 1438: Line 1795:
  
 diagnose debug app hatalk 255 diagnose debug app hatalk 255
 +
 +# Afficher les paquets fragmentés seulement (MF=1 ou avec un offset de fragmentation, mais DF=0)
 +diagnose sniffer packet any '((ip[6:2] > 0) and (not ip[6] = 64))' 4 0 a
  
 # Afficher les paquets ICMP de type 3 code 4 # Afficher les paquets ICMP de type 3 code 4
-# (fragmentation nécessaire mais impossible à cause du drapeau (flag) DF)+# (fragmentation nécessaire (MF) mais impossible à cause du drapeau (flag) DF)
 diagnose sniffer packet any 'icmp[0] = 3 and icmp[1] = 4' 4 0 l diagnose sniffer packet any 'icmp[0] = 3 and icmp[1] = 4' 4 0 l
 # alternative : # alternative :
 diagnose sniffer packet any 'icmp[0:2] = 0x0304' 4 0 l diagnose sniffer packet any 'icmp[0:2] = 0x0304' 4 0 l
 </code> </code>
- 
  
 =====Packet capture===== =====Packet capture=====
Line 1460: Line 1819:
 </WRAP> </WRAP>
  
 +=====iperf=====
 +
 +Les Fortigates intègrent un client iperf (accessible à partir du mode global), qui permet de réaliser des tests de débit entre 2 interfaces du même forti, ou avec un serveur externe.
 +<code bash>
 +conf global
 +# test avec un serveur iperf externe
 +diagnose traffictest client-intf wan1
 +diagnose traffictest port 5201
 +diagnose traffictest run -c 10.0.1.24
 +
 +# test entre l'interfaces wan1 et wan2 du même forti
 +diagnose traffictest client-intf wan1
 +diagnose traffictest server-intf wan2
 +diagnose traffictest run
 +</code>
 +
 +La plupart des options classiques d'iperf sont disponibles, on peut les afficher avec ''diagnose traffictest run -h''
 +
 +Depuis les versions 7.0 et 7.2, on peut configurer un Fortigate également en mode serveur :
 +<code bash>
 +# activer la fonction en mode global
 +config system global
 +    set speedtest-server enable
 +end
 +# sur l'interface d'écoute, activer le protocole "speed-test"
 +config system interface
 +    edit wan1
 +        append allowaccess speed-test
 +    next
 +end
 +</code>
 +
 +Par sécurité il n'est pas recommandé de laisser activé le mode serveur au-delà des tests de qualif/diagnostique.
 +
 +
 +
 +=====Mécanismes de protection=====
 +
 +====Conserve mode====
 +
 +Le **conserve mode** est un mécanisme de protection qui est enclenché lorsque le système n'a plus assez de mémoire partagée disponible. Cela a pour conséquence de désactiver l'AV et les changements de configuration, afin de consommer moins de ressources. Il peut être invoqué également si la mémoire libre passe en dessous d'un seuil critique (red threshhold=88% par défaut). Si le seuil extrême est atteint (extrem threshold=95%) le firewall bloque les nouvelles sessions. Ce mécanisme se désactive lorsque l'on passe en dessous du seuil vert (green threshold=82%).
 +
 +On peut configurer l'action à faire avec l'antivirus:
 +<code bash>
 +config system global
 +set av-failopen {off | pass | one-shot | idledrop}
 +</code>
 +  * off : les sessions ouvertes continent mais les nouvelles sont bloquées ; si une session ouverte nécessite l'AV-proxy elle sera bloquée car toute nouvelle allocation de ressource est bloquée
 +  * pass : bypass l'AV-proxy (default)
 +  * one-shot : pareil que "pass" mais l'AV-proxy est définitievement désactivé pour les sessions ouvertes PENDANT le conserve mode.
 +  * idledrop : le forti va chercher a libérer de la mémoire en coupant les sessions du host qui en a le plus d'ouvertes, jusqu'à sortir du conserve mode. C'est utile en cas de malware par ex, mais pas si le forti est à genoux par du trafic légitime.
 +
 +====Session removal====
 +
 +Le **session removal** est un mode qui s'enclenche lorsque le kernel ne peut plus allouer de mémoire il va couper les sessions les plus anciennes. Ce mode plus critique arrive après le passage en conserve mode. Le nombre de sessions coupées est visible dans le paramètre "memory_tension".
 +
 +Commandes de debug:
 +<code bash>
 +diagnose hardware sysinfo shm
 +SHM counter:      9237843
 +SHM allocated:   29618182
 +SHM total:     1337155584
 +conservemode:           2 # <- 0=OK ; 1=conserve mode ; 2=kernel session fail mode
 +shm last entered:     n/a
 +system last entered:  Tue Dec  1 11:48:23 2020
 +SHM FS total:  1368051712
 +SHM FS free:   1337192448
 +SHM FS avail:  1337192448
 +SHM FS alloc:    30859264
 +
 +get sys perf stat | grep Memory
 +Memory states: 86% used         # <- raison du conserve mode
 +
 +diag sys top
 +
 +diag hardware sysinfo memory
 +</code>
 +
 +Tuning pour optimiser la mémoire :
 +  * [[https://www.cyrill-gremaud.ch/fortigate-conserve-mode-investigations/|cyrill-gremaud.ch / Conserve mode investigations]]
 +  * [[https://help.fortinet.com/fos50hlp/52data/Content/FortiOS/fortigate-troubleshooting-52/Common_questions.htm?Highlight=Conserve%20mode#How3|Help Fortinet : How to check CPU and memory resources]]
 +<code>
 +config system global
 +set tcp-halfclose-timer 60   --> default 120 s
 +set tcp-halfopen-timer 5     --> default 10 s
 +set tcp-timewait-timer 0     --> default 1 s
 +set udp-idle-timer 60        --> default 180 s
 +!
 +config ips global
 +set socket-size 4            --> default 32 MB
 +set engine count 2           --> default 0 = infinite
 +!
 +config system dns
 +set dns-cache-limit 300      --> default 1800 s
 +!
 +config system session-ttl
 +set default 300              --> default 3600 s
 +</code>
 ======MAJ du firmware====== ======MAJ du firmware======
 +
 +=====Choisir le bon=====
 +
 +Ces quelques lignes non contractuelles vous donnerons des pistes pour déterminer la bonne version à installer dans votre environnement.
 +
 +Il est globalement recommandé, en 2022+, de mettre à jour régulièrement les équipements sensibles comme les firewalls, afin qu'ils intègrent tous les correctifs de sécurité des failles connues. "Tant que ça marche, on n'y touche pas" est un raisonnement désuet aujourd'hui sur ce type de matériel connecté.
 +
 +A la différence d'autres constructeurs, Fortinet ne publie pas (à ma connaissance) de liste de versions recommandées par modèle. Globalement, toutes les versions de FortiOS sont portées sur tous les modèles (récents).
 +
 +Plus une version (majeure = les 2 premier chiffres dans le numéro de version, par exemple 7.2) est récente, plus elle dispose de fonctionnalités mais plus elle risque de comporter des bugs. De ce fait il est officieusement recommandé de ne pas installer en production des versions "trop jeunes", c'est à dire parues il y a moins de 6 mois et/ou avant la publication des 3-4 premières versions mineures (appelées "New Feature Releases"), ceci afin d'attendre la correction des plus gros bugs.
 +
 +Pour accéder aux outils Fortinet, on se log sur le portail [[https://support.fortinet.com]] ;
 +
 +  * "Support > Ressources" ; puis "Product Life cycle" permet de connaitre les dates de fin de vente / développement / support des produits Fortinet, autant le hardware (appliances) que le software (firmwares FortiOS).
 +
 +  * "Support > Firmware Download" donne accès aux release notes et aux images de firmware. Le premier onglet indique les release notes des dernières versions supportées ; sur le second, "Download", on a l'historique de toutes les versions de FortiOS parues ; le 3ème onglet, "Upgrade Path", est un outil qui permet, à partir d'un modèle, de sa version actuelle et de la version cible, de connaitre la liste des versions intermédiaires à installer. C'est à suivre à la lettre pour éviter les mauvaises surprises comme la perte de configuration...
 +
 +Les versions **NPI** (New Product Integration) possèdent  des numéros de build différents de la majorité des autres images ; elles correspondent aux développements d'une version à un nouveau modèle qui vient de sortir. Toutes les versions ne sont pas adaptées aux nouveau modèles, et celles-ci sont moins stables que les builds courants.
 +
 +Depuis la version 7.2, les versions même mineures sont tagguées en **Feature ou Mature release** ; ces flags sont indiqués dans le nom de l'image, juste après le numéro de version (par ex: FGT_100F-v7.0.7.__**F**__-build0367-FORTINET.out) et sont un indicateur de nouveautés fonctionnelles ou stabilité de la version.
 +
 +Une fois la bonne version trouvée, jetez un œil aux release notes de celle-ci afin d'être sûrs qu'aucun bug ne touche votre modèle ou une des fonctionnalité que vous utilisez. Elles comportent parfois des contre-indications pour certaines configurations.
 +
 +
 +=====Mise en œuvre=====
  
 On peut récupérer la version courante en mode global : On peut récupérer la version courante en mode global :
Line 1542: Line 2024:
 execute usb-disk list execute usb-disk list
  2019-07-23 16:07:14   43664535 image.out  2019-07-23 16:07:14   43664535 image.out
 +</code>
 +
 +Et, si la conf/l'image n'est pas chargée au démarrage, il est toujours possible de la charger en CLI :
 +<code bash>
 +execute restore image usb <filename>
 +execute restore config usb <filename>
 </code> </code>
 ======Métrologie/supervision====== ======Métrologie/supervision======
Line 1574: Line 2062:
 .1.3.6.1.4.1.12356.101.4.4.2.1.2.3 % CPU (Core #) 5 min .1.3.6.1.4.1.12356.101.4.4.2.1.2.3 % CPU (Core #) 5 min
 .1.3.6.1.4.1.12356.101.4.1.4.0 memoire (%) ? .1.3.6.1.4.1.12356.101.4.1.4.0 memoire (%) ?
 +.1.3.6.1.2.1.1.1 Description SNMP
 .1.3.6.1.2.1.1.3 uptime .1.3.6.1.2.1.1.3 uptime
 +.1.3.6.1.2.1.1.4 Contact SNMP
 +.1.3.6.1.2.1.1.5 hostname + local domain name
 +.1.3.6.1.2.1.1.6 Location SNMP
 # sensors # sensors
 .1.3.6.1.4.1.12356.101.4.3.1.0 Hardware Sensor count .1.3.6.1.4.1.12356.101.4.3.1.0 Hardware Sensor count
Line 1623: Line 2115:
 .1.3.6.1.4.1.12356.101.13.2.1.1.10 fnHaStatsAvCount .1.3.6.1.4.1.12356.101.13.2.1.1.10 fnHaStatsAvCount
 .1.3.6.1.4.1.12356.101.13.2.1.1.11 fnHaStatsHostname .1.3.6.1.4.1.12356.101.13.2.1.1.11 fnHaStatsHostname
 +# IPSec tunnels names, counters and status
 +.1.3.6.1.4.1.12356.101.12.2.2.1.2 fgVpnTunEntPhase1Name
 +.1.3.6.1.4.1.12356.101.12.2.2.1.3 fgVpnTunEntPhase2Name
 +.1.3.6.1.4.1.12356.101.12.2.2.1.18 fgVpnTunEntInOctets
 +.1.3.6.1.4.1.12356.101.12.2.2.1.19 fgVpnTunEntOutOctets
 +.1.3.6.1.4.1.12356.101.12.2.2.1.20 fgVpnTunEntStatus (1=down ; 2=up)
 </code> </code>
  
Line 1628: Line 2126:
   * http://www.opennms.org/wiki/Fortinet_Guide#Datacollection   * http://www.opennms.org/wiki/Fortinet_Guide#Datacollection
   * http://www.circitor.fr/Mibs/Html/FORTINET-FORTIGATE-MIB.php   * http://www.circitor.fr/Mibs/Html/FORTINET-FORTIGATE-MIB.php
 +  * [[https://community.fortinet.com/t5/FortiGate/Technical-Tip-OIDs-for-monitoring-IPsec-tunnel-status/ta-p/199930|OIDs for monitoring IPsec tunnel status]]
  
  
Line 1644: Line 2143:
 =====Reset factory===== =====Reset factory=====
  
 +Pour effectuer un restauration d'usine (rétablir la configuration d'usine) :
 <code bash> <code bash>
 execute factoryreset execute factoryreset
Line 1787: Line 2287:
 </code> </code>
  
 +Si tout semble propre mais que l'objet ne peut pas être supprimé (la webUI affiche ''Entry is used''), essayer de le supprimer en CLI : le message d'erreur sera plus verbeux. Par exemple, une interface sans référence ne pouvait pas être supprimée ; en CLI il est affiché :
 +<code bash>
 +fgt600e (interface) # delete LAN-centre
 +Error: IP address 10.41.1.1 is configured as source-ip for communications to NTP server
 +command_cli_delete:5774 delete table entry LAN-centre unset oper error ret=-23
 +Command fail. Return code -23
 +</code>
 =====VPN protocols relaying===== =====VPN protocols relaying=====
  
Line 1797: Line 2304:
       set dhcp-relay-ip "10.1.1.24"       set dhcp-relay-ip "10.1.1.24"
       set dhcp-relay-type ipsec       set dhcp-relay-type ipsec
-      # pour le BetBIOS+      # pour le NetBIOS
       set netbios-forward enable       set netbios-forward enable
       set wins-ip 10.1.16.253       set wins-ip 10.1.16.253
Line 1803: Line 2310:
 </code> </code>
  
-Pour rappel le DHCP permet la découverte et l'attribution des paramètres réseau pour le client VPN (son IP, masque réseau, passerelle, DNS, NTP et serveurs WINs) et le NetBIOS permet de faire passer les flux vers les serveurs WINS. Cela permet par exemple un ersatzt de DNS dynamique car les clients Windows s'annoncent auprès des WINS quand ils se connectent en VPN.+Pour rappel le DHCP permet la découverte et l'attribution des paramètres réseau pour le client VPN (son IP, masque réseau, passerelle, DNS, NTP et serveurs WINs) et le NetBIOS permet de faire passer les flux vers les serveurs WINS. Cela permet par exemple un ersatzt de DNS dynamique car les clients Windows s'annoncent auprès des WINS quand ils se connectent en VPN, ou, dans certains cas, de débloquer le changement de mot de passe sur un domaine. 
 + 
 +=====Auto filesystem check===== 
 + 
 +Après une coupure électrique les Fortigate affichent un message d'alerte invitant l'utilisateur à rebooter et réaliser un filesystem check pour contrôler l'intégrité du système de fichier. Depuis les version 6 il est possible de réaliser automatiquement ce check au démarrage , via le menu : System> Settings> Start Up, "Auto file system check" ; ou en CLI: 
 +<code bash> 
 +config system global 
 +   set autorun-log-fsck enable 
 +end 
 +</code> 
 + 
 +C'est toutefois non-recommander car 1) ça prend du temps donc il vaut mieux le planifier en heure non ouvrée et 2) en cas d'incident électrique le courant peut ne pas être stable et donc recouper le Forti pendant son check -> dangereux. 
 + 
 +=====SSH sortant impossible===== 
 + 
 +Contexte : Utiliser le client SSH de la CLI du Forti pour se connecter sur un autre équipement, dont les paramètres SSH ne sont pas compatibles car jugés pas assez sécurisés. Depuis le forti : 
 +<code bash> 
 +forti (root) # execute ssh admin@10.0.0.1 
 +Unable to negotiate with 10.0.0.1: no matching key exchange method found. Their offer: diffie-hellman-group14-sha1,diffie-hellman-group14-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512 
 +</code> 
 + 
 +Cela signifie que l’équipement cible propose des paramètres SSH non acceptés par le Forti, et que donc la connexion SSH ne peut s'établir. Il faut donc agir sur l'un ou l'autre des équipement, dans cet exemple on va assouplir le Forti en lui permettant d'accepter l'algo **diffie-hellman-group14-sha1** réclamé par l’équipement distant. 
 + 
 +Pour modifier les paramètres SSH acceptés par le forti, qui ont été durcis avec certaines versions : 
 +<code bash> 
 +config global 
 +   config system global 
 +      set strong-crypto disable 
 +      append ssh-kex-algo diffie-hellman-group14-sha1 
 +   end 
 +end 
 +</code> 
 +Cela permet d'assouplir les paramètres négociés à l'établissement de la connexion SSH, ce n'est pas recommandé sans bonne raison. 
 + 
 +<WRAP center round important 60%> 
 +NB : tuner ces paramètres impacte les protocoles chiffrés : HTTPS/SSH/TLS/SSL 
 +</WRAP> 
 ======Liens utiles====== ======Liens utiles======
  
   * [[http://docs-legacy.fortinet.com/cb/html/index.html#page/FOS_Cookbook/Install_advanced/cb_enhance_security.html|Enhancing FortiGate Security (fortinet.com)]]   * [[http://docs-legacy.fortinet.com/cb/html/index.html#page/FOS_Cookbook/Install_advanced/cb_enhance_security.html|Enhancing FortiGate Security (fortinet.com)]]
informatique/fortinet/start.1586860357.txt.gz · Last modified: 2020/04/14 10:32 by pteu