- Accueil
- Intégrations
- MikroTik
Guide d’intégration
Adlist MikroTik de domaines malveillants, récupérée avec votre clé API
Aucune carte bancaire requise · Clé API gratuite
Sur cette page
Sur cette page08
Ce que vous obtenez
Une adlist DNS prend des fichiers de domaines simples et garde chaque nom dans le cache DNS, environ 75 octets chacun. Les listes par catégorie ci-dessous tiennent sur un routeur ; les 2 millions de domaines de niveau critical, non.
| Liste | Entrées | Régénérée | Offres |
|---|---|---|---|
| blocklist-domains-c2.txtAdlist par défaut : 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 - Domains (All Levels)
# Format: Plain
# Generated: <BUILD_TIME>
# Total entries: <COUNT>
# Update frequency: every 12 hours
# Category: C2
# Threat level: All Levels
# 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.
# Filtered by category: c2
#Les valeurs entre chevrons sont fixées à chaque génération.
Prérequis
- RouterOS 7.16 ou ultérieur : les adlists DNS sont arrivées en 7.15, et la 7.16 a corrigé la gestion d’un 401 par fetch.
- Fetch et le planificateur autorisés par le device-mode : les routeurs domestiques livrés avec RouterOS 7.17 ou ultérieur sont en mode home, qui désactive les deux (étape 2).
- L’horloge du routeur réglée par NTP : la vérification des certificats compare leurs dates avec elle.
- Une clé API et son secret isMalicious, dans Compte › Accès API.
- Un accès HTTPS sortant (TCP 443) en IPv4 depuis MikroTik 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 %.Autoriser fetch et le planificateur
Vérifiez le device-mode avec/system/device-mode/print. Si fetch ou scheduler vautno, lancez/, puis appuyez sur le bouton reset ou mode, ou débranchez l’alimentation, dans les 5 minutes : le routeur n’applique le changement qu’après cette confirmation.system/ device-mode/ update fetch= yes scheduler= yes Device-mode (routeurs domestiques, 7. 17+)RouterOS # Home routers that ship with RouterOS 7.17 or later come in home mode, # which turns off fetch and the scheduler. Check: /system/device-mode/print # If fetch or scheduler shows no: /system/device-mode/update fetch=yes scheduler=yes # then press the reset or mode button, or unplug the power, within 5 minutes.Faire confiance aux racines Let’s Encrypt
RouterOS 7.19 et ultérieur ont un magasin de confiance intégré que fetch utilise. Lancez d’abord le fetch manuel décrit dans Vérifier le résultat : s’il se termine parstatus: finished, passez cette étape ; s’il échoue avecno, importez les deux racines, puis comparez leurs empreintes aux valeurs ci-dessous, car ce premier téléchargement ne peut pas être vérifié. C’est toujours nécessaire de 7.15 à 7.18, et sur hAP lite, hAP lite TC et hAP mini avant 7.23.3.trusted CA certificate found Racines Let’s Encrypt, si le magasin de confiance ne les a pasRouterOS # Only when the manual fetch under Verify fails with "no trusted CA certificate found". /tool/fetch url="https://letsencrypt.org/certs/isrgrootx1.pem" dst-path=isrgrootx1.pem /tool/fetch url="https://letsencrypt.org/certs/isrg-root-x2.pem" dst-path=isrg-root-x2.pem /certificate/import file-name=isrgrootx1.pem trusted=yes /certificate/import file-name=isrg-root-x2.pem trusted=yes # The download above cannot be verified yet: compare the SHA-256 fingerprints. /certificate/print detail where common-name~"^ISRG Root X" # ISRG Root X1 96bcec06264976f37460779acf28c5a7cfe8a3c0aae11a8ffcee05c0bddf08c6 # ISRG Root X2 69729b8e15a86efc177a57afb7171dfc64add28c2fca8cf1507e34453ccb1470 # If either differs: /certificate/remove [find common-name~"^ISRG Root X"]Faire du routeur le résolveur de vos clients
Autorisez les requêtes DNS vers le routeur et agrandissez le cache DNS, qui contient les noms de l’adlist : 8 Mio laissent la place à la liste C2. Les clients doivent utiliser le routeur comme résolveur : distribuez-le par DHCP (/l’adresse du routeur) ; un client qui a son propre résolveur ou du DNS over HTTPS contourne l’adlist. Sans le pare-feu par défaut, ajoutez les règles ci-dessous pour que le routeur ne réponde pas au DNS venu d’Internet.ip/ dhcp-server/ network/ set … dns-server= RésolveurRouterOS /ip/dns/set allow-remote-requests=yes cache-size=8192 # Only without the default firewall, which already drops DNS from the WAN. # Put these above any rule that accepts it (place-before): /ip/firewall/filter/add chain=input in-interface-list=WAN protocol=udp dst-port=53 action=drop comment="drop DNS from WAN" /ip/firewall/filter/add chain=input in-interface-list=WAN protocol=tcp dst-port=53 action=drop comment="drop DNS from WAN" /ipv6/firewall/filter/add chain=input in-interface-list=WAN protocol=udp dst-port=53 action=drop comment="drop DNS from WAN" /ipv6/firewall/filter/add chain=input in-interface-list=WAN protocol=tcp dst-port=53 action=drop comment="drop DNS from WAN"Télécharger la liste et ajouter l’adlist
Récupérez la liste dans un fichier avec la clé API enuseret le secret API enpassword, etcheck-certificate=yes, puis ajoutez le fichier comme adlist. Une adlist par URL ne prend pas d’identifiants : c’est pourquoi le fichier vient d’abord.Premier chargementRouterOS /tool/fetch url="https://api.ismalicious.com/blocklist/download/blocklist-domains-c2.txt" \ user="<API_KEY>" password="<API_SECRET>" check-certificate=yes \ dst-path=ismalicious-c2.txt /ip/dns/adlist/add file=ismalicious-c2.txtLa rafraîchir selon un planning
- Ajoutez le rafraîchissement comme script, exécuté au démarrage puis toutes les 6 heures : il retélécharge la liste, puis retire et rajoute l’adlist pour que le nouveau fichier soit lu.
- Un téléchargement raté (une erreur HTTP, un délai dépassé, une erreur de certificat) arrête le script avant qu’il ne touche à l’adlist.
- Une réponse 200 remplace les noms quoi qu’elle contienne, échantillon de 10 % compris : vérifiez name-count après tout changement d’offre ou de clé.
- Sur un routeur doté d’un dossier flash, écrivez le fichier sous
flash/: ailleurs, il se trouve sur un disque en mémoire et disparaît au redémarrage. - Le délai de 90 secondes au démarrage peut être court pour un lien PPPoE ou LTE.
Script de rafraîchissement et planningRouterOS /system/script/add name=ismalicious-dns policy=ftp,read,write,test source={ /tool/fetch url="https://api.ismalicious.com/blocklist/download/blocklist-domains-c2.txt" \ user="<API_KEY>" password="<API_SECRET>" check-certificate=yes \ dst-path=ismalicious-c2.txt /ip/dns/adlist/remove [find file="ismalicious-c2.txt"] /ip/dns/adlist/add file=ismalicious-c2.txt } /system/scheduler/add name=ismalicious-dns-boot start-time=startup interval=0s \ policy=ftp,read,write,test on-event=":delay 90s; /system/script/run ismalicious-dns" /system/scheduler/add name=ismalicious-dns-6h start-time=00:20:00 interval=6h \ policy=ftp,read,write,test on-event="/system/script/run ismalicious-dns"
Vérifier le résultat
/ip/dns/adlist/printaffichename-count, les noms importés, etmatch-count, les requêtes bloquées.name-countcorrespond aucountde la liste dans /blocklist/stats, à une régénération près. Environ un dixième, c’est l’échantillon de 10 %.- Un fetch manuel de la liste se termine par
status: finished. - Le sujet de journal
fetchconsigne chaque téléchargement et ses erreurs.
# Names imported (name-count) and queries blocked (match-count):
/ip/dns/adlist/print
# The download itself, outside the schedule, without keeping a copy:
/tool/fetch url="https://api.ismalicious.com/blocklist/download/blocklist-domains-c2.txt" \
user="<API_KEY>" password="<API_SECRET>" check-certificate=yes \
output=noneDépannage
not allowed by device-mode
Le routeur est en mode home, qui désactive fetch et le planificateur. Lancez la commande device-mode de l’étape 2 et confirmez-la avec le bouton reset ou mode, ou en coupant l’alimentation, dans les 5 minutes.
Le fetch échoue avec une erreur 401
La clé ou le secret est faux ou incomplet. Le script s’arrête et l’adlist garde ses noms. 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.
name-count vaut environ un dixième de la liste
Aucun identifiant n’est parvenu au serveur, ou l’offre est Free ou interrompue : un abonnement impayé, en retard de paiement, annulé, incomplet ou suspendu compte comme Free. La ligne Total entries du fichier téléchargé indique alors Lite Version.
adlist read: max cache size reached
Agrandissez cache-size, puis retirez et rajoutez l’adlist : l’agrandir après coup ne complète pas la liste.
Lignes d’en-tête dans l’adlist
L’adlist ignore les lignes qui commencent par # : l’en-tête n’est pas chargé. Ne lui donnez jamais un fichier -adguard ou -dnsmasq : elle lit des noms simples ou des lignes hosts.
no trusted CA certificate found
Réglez d’abord l’horloge. Puis importez ISRG Root X1 et X2 (étape 3) : toujours de 7.15 à 7.18, et sur hAP lite, hAP lite TC et hAP mini avant 7.23.3. À partir de 7.19, vérifiez que fetch utilise toujours le magasin intégré : le réglage s’appelle builtin-trust-anchors en 7.19 et 7.20, builtin-trust-store à partir de 7.21.
not enough permissions (9)
Il manque une politique au script ou à l’entrée du planificateur : fetch demande ftp et test, et les commandes de l’adlist read et write.
403 depuis ismalicious.com
Le frontal d’ismalicious.com refuse certaines sources. Utilisez api.ismalicious.com.
Limites
- Aucun script de chargement de listes d’adresses n’est encore publié. RouterOS ne sait pas charger une liste simple dans une address list sans un script qui ajoute chaque ligne, et celui que nous avons rédigé n’a pas été exécuté sur un routeur.
- Une adlist ne bloque que les noms exacts, pas leurs sous-domaines, et ne répond qu’aux requêtes A et AAAA : les enregistrements TXT, MX et HTTPS se résolvent toujours en amont.
- Le secret API figure en clair dans le script, et un export l’affiche : limitez qui peut lire la configuration.
- Ni CIDR, ni
.rsc, ni aucun autre format propre à RouterOS ne sont servis : l’adlist lit la liste simple. - L’échantillon de 10 % est le premier dixième d’un fichier non trié, pas le dixième le plus risqué.
Questions fréquentes
RouterOS peut-il récupérer une blocklist avec une clé API ?
Oui. /tool/fetch prend user et password et les envoie en HTTP Basic dès la première requête : la clé API sert d’utilisateur, le secret API de mot de passe. L’adlist DNS elle-même ne prend pas d’identifiants : récupérez la liste dans un fichier et chargez le fichier.
Puis-je charger les listes d’IP dans une address list MikroTik ?
Pas encore avec un script publié. Une address list demande un script qui ajoute chaque ligne, et celui que nous avons rédigé n’a pas été testé sur un routeur : ce guide ne couvre donc que l’adlist DNS.
L’adlist bloque-t-elle les sous-domaines ?
Non. Une adlist RouterOS bloque les noms exacts qu’elle contient, pas leurs sous-domaines.
À quelle fréquence le routeur doit-il rafraîchir la liste ?
Au démarrage et toutes les 6 heures, comme le fait le planning de ce guide. Les listes sont régénérées toutes les 12 heures.
Quelle taille donner au cache DNS ?
Chaque nom d’adlist occupe environ 75 octets de cache DNS, et le cache par défaut est de 2 Mio. La liste C2 seule en demande environ 1,6 Mio : le guide porte donc le cache à 8 Mio.
À voir aussi
Flux d’IP et de domaines en authentification Basic
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
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 un domaine avant de le bloquer
Commencer
Prêt à commencer ?
Aucune carte bancaire requise · Clé API gratuite