- Accueil
- Intégrations
- FortiGate
Guide d’intégration
Flux de menaces FortiGate d’IP et de domaines malveillants, en authentification Basic
Aucune carte bancaire requise · Clé API gratuite
Sur cette page
Sur cette page08
Ce que vous obtenez
Jusqu’à FortiOS 7.4.3, un flux contient 131 072 entrées ou 10 Mo ; à partir de 7.4.4, un budget par type d’entrée couvre tous les flux, 300 000 IP sur les plus petits modèles. Chaque liste ci-dessous tient sur toutes les versions et tous les modèles.
| Liste | Entrées | Régénérée | Offres |
|---|---|---|---|
| blocklist-ips-critical.txtFlux d’IP par défaut. IP signalées par 6 sources de menaces ou plus, ou par 3 ou plus avec une catégorie critique. | environ 89 000 | toutes les 12 h | Basic, Pro et Enterprise |
| blocklist-ips-critical50k.txtLes 50 000 IP de niveau critical au score de risque le plus élevé, de la plus risquée à la moins risquée : laisse de la place quand d’autres flux d’IP partagent le budget de 7.4.4 et plus. | 50 000, plafond | toutes les 12 h | Basic, Pro et Enterprise |
| blocklist-ips-c2.txtIP de commande et contrôle (C2) signalées par des trackers de C2, quel que soit leur niveau. | environ 44 000 | toutes les 12 h | Basic, Pro et Enterprise |
| blocklist-domains-c2.txtFlux de domaines par défaut, pour le filtre DNS : domaines de commande et contrôle (C2) signalés par des trackers de C2. | environ 22 000 | toutes les 12 h | Basic, Pro et Enterprise |
| blocklist-domains-ransomware.txtDomaines de la catégorie ransomware, quel que soit leur niveau. | environ 3 600 | toutes les 12 h | Basic, Pro et Enterprise |
| blocklist-domains-cryptomining.txtDomaines de la catégorie cryptomining, quel que soit leur niveau. | environ 6 100 | toutes les 12 h | Basic, Pro et Enterprise |
Nombres arrondis d’après la génération du ; chaque liste est régénérée toutes les 12 heures. Les chiffres du jour sont publics et ne demandent aucune clé.
Ce que reçoit chaque offre
- FreeCompte Free, ou aucune clé : les premiers 10 % de chaque liste, signalés par
X-Blocklist-Version: lite. - Basic, Pro et EnterpriseBasic, Pro et Enterprise : toutes les listes, complètes.
- Pro et EnterpriseCollections TAXII 2.1, pour les plateformes qui lisent les indicateurs STIX : Pro et Enterprise.
GET https:/
Liste complète ou échantillon de 10 %
| Champ | Basic, Pro et Enterprise | Free |
|---|---|---|
X-Blocklist-Version: | full | lite |
X-Blocklist-Percentage: | 100 | 10 |
Total entries: | <COUNT> | <COUNT> |
Premières lignes du fichier
# IsMalicious.com Blocklist - IPs (Critical)
# Format: Plain
# Generated: <BUILD_TIME>
# Total entries: <COUNT>
# Update frequency: every 12 hours
# Category: All
# Threat level: Critical
# Website: https://ismalicious.com
# © <YEAR> IsMalicious (compilation). Licensed to the downloading account under https://ismalicious.com/terms; redistribution of the compilation prohibited. Third-party entries remain under their providers' licences — see https://ismalicious.com/sources.
#Les valeurs entre chevrons sont fixées à chaque génération.
Prérequis
- FortiOS 7.0.8, 7.2.4 ou ultérieur, les premières versions capables de vérifier le certificat du serveur d’un flux (vérification désactivée par défaut). Évitez 7.4.5 à 7.4.8 et 7.6.1 à 7.6.3, qui échouent à cette vérification sur les flux de menaces ; 7.4.9 et 7.6.4 corrigent le défaut.
- Si le trafic d’administration doit sortir par une interface donnée, réglez
interface-select-methodetspecify interface, ousource-ip, sur la ressource externe. - Pour le flux de domaines seulement : une licence FortiGuard Web Filter, qu’exige le filtrage DNS par catégorie.
- Une clé API et son secret isMalicious, dans Compte › Accès API.
- Un accès HTTPS sortant (TCP 443) en IPv4 depuis FortiGate vers
api.ismalicious.com, qui n’a pas d’adresse IPv6.
Mise en place
Copier la clé API et le secret
Ouvrez Compte › Accès API et copiez la Clé API et le Secret API. La liste complète demande une offre Basic, Pro ou Enterprise ; une clé Free, ou une offre interrompue, charge l’échantillon de 10 %.Créer le flux d’IP
- Security Fabric › External Connectors › Create New, puis External Feeds › IP Address à partir de 7.6.1, Threat Feeds › IP Address de 7.0 à 7.6.0.
- Nommez-le
isMalicious-IPs, laissez Update method sur External Feed quand le champ apparaît, collez l’URL de la liste dans URL of external resource (URI of external resource en 7.0 et 7.2), réglez Refresh Rate sur60minutes, puis cliquez sur OK. - Dans l’interface, enregistrez le connecteur avec l’authentification HTTP Basic désactivée, lancez le bloc de certificat de l’étape suivante, puis activez HTTP basic authentication avec la clé API en Username et le secret API en Password : FortiOS récupère le flux dès l’enregistrement, et la vérification est désactivée jusque-là.
- Le bloc CLI règle les deux en un seul commit.
Flux d’IP (CLI)FortiOS config system external-resource edit "isMalicious-IPs" set type address set resource "https://api.ismalicious.com/blocklist/download/blocklist-ips-critical.txt" set username "<API_KEY>" set password "<API_SECRET>" set refresh-rate 60 set server-identity-check full next endActiver la vérification du certificat
Si vous avez créé le flux dans l’interface, réglez la vérification en CLI : par défaut, FortiOS ne vérifie pas le certificat du serveur d’un flux (server-identity-check none), et Fortinet ne documente ce réglage qu’en CLI. Passez-le surfull, qui vérifie aussi le nom d’hôte. Sans lui, le secret API transite dans une connexion TLS qu’un attaquant placé au milieu pourrait intercepter.Vérification du certificatFortiOS config system external-resource edit "isMalicious-IPs" set server-identity-check full next endBloquer le flux dans les politiques de pare-feu
- Policy & Objects › Firewall Policy › Create New : Destination
isMalicious-IPs(dans la section IP ADDRESS FEED), Action DENY, journalisation activée, pour le trafic sortant. - Ajoutez une seconde politique avec le flux en Source pour le trafic entrant, avec
match-vipactivé si des serveurs sont joints par des VIP (pas de champ dans l’interface ; c’est la valeur par défaut à partir de 7.2.4) : une politique de refus ordinaire ne bloque pas le trafic des VIP. - Un membre SD-WAN ne peut pas servir d’interface de politique : prenez sa zone.
- En CLI,
edit 0prend le prochain identifiant libre et ajoute la politique en bas, sous les politiques d’autorisation, où elle ne correspond jamais : remontez les deux au-dessus avec le blocmove.
Politiques de refusFortiOS config firewall policy edit 0 set name "isMalicious-outbound" set srcintf "<LAN_INTERFACE>" set dstintf "<WAN_INTERFACE>" set srcaddr "all" set dstaddr "isMalicious-IPs" set action deny set schedule "always" set service "ALL" set logtraffic all next edit 0 set name "isMalicious-inbound" set srcintf "<WAN_INTERFACE>" set dstintf "<LAN_INTERFACE>" set srcaddr "isMalicious-IPs" set dstaddr "all" set action deny set schedule "always" set service "ALL" set logtraffic all set match-vip enable next end # edit 0 adds each policy at the bottom. Read the two new IDs at the end of # "show firewall policy", then put them above the policies that allow the traffic: config firewall policy move <OUTBOUND_ID> before <FIRST_LAN_TO_WAN_ALLOW_ID> move <INBOUND_ID> before <FIRST_WAN_TO_LAN_ALLOW_ID> end- Policy & Objects › Firewall Policy › Create New : Destination
Protéger le FortiGate lui-même (facultatif)
À partir de FortiOS 7.2.4 et 7.4.0, une politique local-in peut prendre le flux d’IP en source, pour rejeter le trafic destiné aux interfaces du FortiGate.Politique local-inFortiOS config firewall local-in-policy edit 0 set intf "<WAN_INTERFACE>" set srcaddr "isMalicious-IPs" set dstaddr "all" set action deny set service "ALL" set schedule "always" next endBloquer les domaines avec un filtre DNS (facultatif)
- Create New › Domain Name dans le même menu de connecteurs, avec les mêmes champs et
blocklist-domains-c2.txtcomme URL ; en CLI, la catégorie 192, ou le prochain numéro libre jusqu’à 221, etserver-identity-check full. - Puis Security Profiles › DNS Filter : modifiez le profil, activez FortiGuard Category Based Filter, réglez le flux sur Redirect to Block Portal dans Remote Categories, puis appliquez le profil là où passent les requêtes DNS des clients : dans la politique d’autorisation qui laisse le LAN joindre des serveurs DNS (une politique de refus ne porte pas de profil) ou, si les clients utilisent le FortiGate comme résolveur, dans Network › DNS Servers › DNS Service on Interface › DNS Filter (en CLI :
config system dns-server, puiseditsur l’interface LAN etset dnsfilter-profile).
Flux de domaines (CLI)FortiOS config system external-resource edit "isMalicious-Domains" set type domain set category 192 set resource "https://api.ismalicious.com/blocklist/download/blocklist-domains-c2.txt" set username "<API_KEY>" set password "<API_SECRET>" set refresh-rate 60 set server-identity-check full next end- Create New › Domain Name dans le même menu de connecteurs, avec les mêmes champs et
Vérifier le résultat
- Ouvrez le connecteur : une fois le fichier chargé, il indique sa dernière mise à jour et son nombre d’entrées, et View Entries les liste.
diagnoseaffiche, pour chaque flux, les lignes totales, valides et en erreur et, à partir de 7.4.4,sys external-resource stats buildable, les entrées chargées sous la limite. Les lignes valides doivent approcher lecountde la liste dans /blocklist/stats, etbuildableleur être égal.- L’API REST de supervision renvoie les entrées et l’état du flux :
GET./ api/ v2/ monitor/ system/ external-resource/ entry-list? mkey= isMalicious-IPs& status_only= true - Les sessions refusées apparaissent dans les journaux des deux politiques ; les domaines bloqués dans Log & Report › Security Events › DNS Query (Log & Report › DNS Query en 7.0).
- Environ un dixième du nombre publié signale l’échantillon de 10 %. Le FortiGate n’affiche pas l’en-tête du fichier : le débogage forticron montre
X-Blocklist-Version: litedans la réponse, ou uncurldepuis un poste avec la même clé montreLite Versiondans la ligneTotal entries.
# Per feed: total, valid and error lines; from 7.4.4 also buildable, the
# entries loaded under the limit.
diagnose sys external-resource stats
# Watch one download: the request, its Authorization header (your credential,
# in base64: keep it out of tickets), the X-Blocklist-Version answer and the
# TLS result.
diagnose debug reset
diagnose debug application forticron -1
diagnose debug console timestamp enable
diagnose debug enable
# Reload the feeds now rather than waiting for the next refresh:
diagnose test application forticron 8
# ...then:
diagnose debug disable
diagnose debug resetDépannage
Le flux affiche une erreur de connexion après un 401
La clé ou le secret est faux ou incomplet. FortiOS garde le fichier précédent : l’ancienne liste reste appliquée. Le corps de la réponse indique « Blocklist not found or empty » ; fiez-vous au code HTTP. Recopiez les deux valeurs depuis Compte › Accès API : y régénérer la clé invalide l’ancienne paire.
Seules 10 % des entrées environ se chargent
Aucun identifiant n’est parvenu au serveur, parce que l’authentification est désactivée ou qu’un champ est vide, ou l’offre est Free ou interrompue : un abonnement impayé, en retard de paiement, annulé, incomplet ou suspendu compte comme Free. Le débogage forticron montre X-Blocklist-Version: lite dans la réponse.
buildable inférieur aux lignes valides, ou pas de champ Entries
La limite par flux ou la limite globale est atteinte. Prenez une liste plus petite dans le tableau ci-dessus, ou réordonnez les flux avec move : à partir de 7.4.4, les entrées au-delà du budget ne sont pas chargées.
Délai dépassé ou erreur 502 sur une grande liste
Un téléchargement qui prend plus de 30 secondes de notre côté finit en délai dépassé ou en 502 : prenez une liste par niveau ou par catégorie du tableau.
503 Service Unavailable
La liste est en cours de génération, et la réponse porte Retry-After: 600. FortiOS garde son fichier précédent, et la mise à jour suivante récupère la liste.
Lignes en erreur dans les statistiques du flux
Les lignes d’en-tête # sont des commentaires pour FortiOS. Des lignes en erreur signalent une URL vers un format que FortiOS ne lit pas : prenez le fichier simple, pas une variante -adguard ou -hosts.
« Server not reachable » avec la vérification du certificat
En 7.4.5 à 7.4.8 et 7.6.1 à 7.6.3, c’est un bogue de FortiOS avec server-identity-check sur les flux de menaces : passez en 7.4.9 ou 7.6.4. Ne désactivez pas la vérification à la place : le secret partirait vers un serveur non vérifié. api.ismalicious.com utilise un certificat Let’s Encrypt, renouvelé environ tous les 60 jours.
403 depuis ismalicious.com
Le frontal d’ismalicious.com refuse certaines sources. Utilisez api.ismalicious.com, l’hôte prévu pour les équipements.
Limites
blocklist-domains-critical., environ 2 millions de domaines, dépasse la limite par flux jusqu’à 7.4.3 et le budget des modèles d’entrée de gamme à partir de 7.4.4 ; seuls les modèles milieu et haut de gamme en 7.4.4 ou ultérieur peuvent la contenir, et seulement à partir de 7.4.8 ou 7.6.4, car avant, un flux de domaines de plus d’un million d’entrées dans une politique en mode flow épuise la mémoire du moteur IPS. Les listes ne sont pas triées : un chargement tronqué en garde un sous-ensemble arbitraire.txt - À partir de 7.4.4, le budget d’entrées est partagé par tous les flux du même type : le flux d’IP d’un autre éditeur puise dans la même enveloppe.
- Ni CIDR ni plages ne sont servis : FortiOS les accepte, mais les listes d’IP contiennent des adresses seules.
- Les sessions existantes sont réévaluées au bout du plus court des deux délais : l’intervalle de mise à jour ou 30 minutes.
- Le filtrage des domaines demande la licence FortiGuard Web Filter. Si elle expire, FortiOS ne peut plus évaluer les domaines et, par défaut, rejette tout le DNS qui passe par le profil : activez Allow DNS requests when a rating error occurs (
config ftgd-dns,set options error-allow) si le DNS doit rester ouvert en cas de panne. Sans la licence, utilisez les flux d’IP. - FortiOS propose STIX comme protocole de flux. Le serveur TAXII d’isMalicious n’a pas été testé avec : utilisez les listes.
- L’échantillon de 10 % est le premier dixième d’un fichier non trié, pas le dixième le plus risqué.
Questions fréquentes
FortiGate envoie-t-il une clé API pour un flux de menaces externe ?
Oui. Activez l’authentification HTTP Basic sur le flux, disponible depuis FortiOS 6.2.0 : la clé API sert de nom d’utilisateur, le secret API de mot de passe. FortiOS les envoie dès la première requête : le pare-feu reçoit la liste complète, sans relais. Ne les envoyez qu’à partir de 7.0.8 ou 7.2.4, avec server-identity-check réglé sur full : les versions antérieures ne savent pas vérifier le certificat du serveur.
Combien d’entrées un flux de menaces FortiGate peut-il contenir ?
Jusqu’à FortiOS 7.4.3, 131 072 entrées ou 10 Mo par flux. À partir de 7.4.4, un budget par type d’entrée couvre tous les flux : 300 000 IP sur tous les modèles jusqu’à 7.4.8 et 7.6.2, puis 300 000 en entrée de gamme, 1 million en milieu de gamme et 5 millions en haut de gamme à partir de 7.4.9 et 7.6.3.
Pourquoi régler server-identity-check ?
Sa valeur par défaut est none : FortiOS ne vérifie pas le certificat du serveur du flux, et le secret API pourrait partir vers un attaquant placé au milieu. Réglez-le sur full. En 7.4.5 à 7.4.8 et 7.6.1 à 7.6.3, passez d’abord en 7.4.9 ou 7.6.4 : ces versions échouent à la vérification sur les flux de menaces.
Quel intervalle de mise à jour donner au flux ?
60 minutes. Les listes sont régénérées toutes les 12 heures et les réponses portent Cache-Control: max-age=3600. Quand une mise à jour échoue, FortiOS garde le fichier précédent.
Un FortiGate peut-il bloquer les listes de domaines ?
Oui, sous forme de flux Domain Name utilisé comme catégorie distante dans un profil de filtre DNS, ce qui demande une licence FortiGuard Web Filter. Prenez les listes de domaines C2, ransomware ou cryptomining : la liste de niveau critical ne tient que sur les modèles milieu et haut de gamme en 7.4.4 ou ultérieur, et seulement à partir de 7.4.8 ou 7.6.4.
À voir aussi
External Dynamic Lists adaptées aux limites de PAN-OS
Alias URL Table ou flux pfBlockerNG via un relais
Alias URL Table avec autorisation Basic
Domaines malveillants en adlist DNS RouterOS
IP malveillantes en sets nftables sur tout hôte Linux
Des blocklists de pare-feu à jour
Toutes les listes, niveaux et catégories
Collections TAXII 2.1 pour SIEM et TIP
Authentification, endpoints et limites
Vérifier une adresse avant de la bloquer
Commencer
Prêt à commencer ?
Aucune carte bancaire requise · Clé API gratuite