
Application web locale pour effectuer une revue Check Point Trusted Access Review. Ce scanner a été conçu spécifiquement pour rechercher des problèmes de configuration liés aux CVE-2026-16232, CVE-2026-62144 , et CVE-2026-62145. Cet outil n'est ni créé ni pris en charge par Check Point et doit être utilisé à vos propres risques.
VEUILLEZ TOUJOURS APPLIQUER LES CORRECTIFS DU FOURNISSEUR AUSSI RAPIDEMENT QUE POSSIBLE
Application web locale pour réaliser un Check Point Trusted Access Review à l'aide de commandes fiables de l'API de gestion Check Point. La plupart des contrôles sont en mode revue uniquement. Toute action de remédiation disponible nécessite l'approbation explicite de l'opérateur.
Ce scanner est conçu spécifiquement pour rechercher les problèmes de configuration liés à CVE-2026-16232 (https://support.checkpoint.com/results/sk/sk185169), CVE-2026-62144 (https://support.checkpoint.com/results/sk/sk185152) et CVE-2026-62145 (https://support.checkpoint.com/results/sk/sk185153)
Il vous permettra d'analyser et de corriger les utilisations de ANY ainsi que d'analyser les journaux à la recherche d'acteurs malveillants potentiels.
Cet outil n'est ni créé ni pris en charge par Check Point et doit être utilisé à vos propres risques.
Des versions précompilées sont disponibles sous dist/ pour les utilisateurs qui ne souhaitent pas installer Node.js, npm, Git ou le code source :
dist/windows-x64/ contient le autonome et une archive ZIP correspondante..exedist/macos-apple-silicon/ contient l'archive ZIP .app distribuable, l'application extraite et l'exécutable arm64 autonome.Les versions autonomes incluent le runtime Node.js, l'interface web, le backend et le générateur direct de rapports PDF. Elles se lient uniquement à 127.0.0.1, privilégient le port 4000, essaient automatiquement les ports 4001, 4002 et supérieurs si nécessaire, et ouvrent l'URL locale sélectionnée dans le navigateur par défaut.
Pour GitHub, publiez les ZIP des plateformes—et éventuellement le .exe Windows—en tant qu'actifs de publication GitHub. Les utilisateurs ne devraient pas télécharger node_modules ni l'arborescence du code source uniquement pour exécuter une version autonome. Voir dist/README.md pour la disposition des artefacts.
L'application actuelle est alignée sur le guide d'administration du durcissement des passerelles et de la gestion Check Point.
Cet outil n'est ni créé ni pris en charge par Check Point et doit être utilisé à vos propres risques.
L'application s'exécute localement, se connecte à un serveur de gestion de sécurité Check Point ou à un MDS, analyse les preuves disponibles de l'API de gestion et présente des contrôles de durcissement conformes au guide. La plupart des contrôles sont en mode revue uniquement ; des actions de remédiation spécifiques ne sont proposées que lorsqu'elles sont explicitement implémentées et nécessitent l'approbation de l'opérateur. Les contrôles qui nécessitent un examen de la conception du réseau, Gaia Portal, Gaia API, SSH/Clish, les paramètres du fournisseur d'identité ou une inspection de la gestion hors bande sont marqués pour une validation manuelle.
Le scanner couvre actuellement les domaines suivants du guide de durcissement :
Pour les environnements MDS, activez MDS Scan sur le formulaire de connexion. Cela expose deux champs importants :
run-script contre la machine elle-même. Ce champ est requis lorsque l'hôte de connexion est l'adresse IP du MDS mais que le domaine d'API sélectionné est une CMA/domaine, car des commandes telles que run-script doivent cibler le nom de l'objet MDS, et non l'adresse IP du MDS ni l'adresse IP de la CMA/domaine.Lorsque MDS Scan est activé, l'application crée deux sessions d'API de gestion Check Point :
run-script qui ciblent le Global MDS Object Name. Cela est nécessaire pour les contrôles qui inspectent le système d'exploitation du serveur MDS lui-même, comme la découverte des interfaces/route par défaut du serveur de gestion, les paramètres administrateur Gaia, la stratégie de mots de passe Gaia, SNMP et le transfert syslog du serveur de gestion.En termes de mgmt_cli, les contrôles de domaine se comportent comme des commandes qui incluent --domain "<Domain>", tandis que les contrôles de l'hôte MDS se comportent comme mgmt_cli -r true run-script targets.1 "<Global MDS Object Name>" ... exécutés dans le contexte MDS global.
Certains contrôles MDS évaluent intentionnellement plus d'un plan de gestion. Par exemple, Restrict Administrative Source IP Addresses évalue à la fois l'adresse IP de l'hôte de gestion MDS/global et l'adresse IP du domaine/CMA sélectionné. Pour chaque adresse IP, il tente de résoudre l'objet correspondant dans le domaine sélectionné, vérifie les objets réseau et les plages d'adresses contenant l'adresse IP, suit les groupes contenant ces objets, puis collecte les règles d'accès qui les référencent. Si la règle de domaine correspondante se trouve sous une couche parente de stratégie globale, l'application lit la base de règles d'accès globale jusqu'à Placeholder for domain rules et inclut ces règles globales dans le même tableau de preuves du paquet de stratégie avec un marqueur GLOBAL RULES.
Pour Smart-1 Cloud, activez Smart-1 Cloud context URL dans le formulaire de connexion et saisissez l'hôte de gestion avec son chemin de contexte, par exemple :```text tenant-name.maas.checkpoint.com/context-id/web_api
L'application conserve ce chemin et envoie des requêtes API à :```text
https://tenant-name.maas.checkpoint.com/context-id/web_api/<command>
Cela correspond à la structure de contexte mgmt_cli de Smart-1 Cloud :```bash
mgmt_cli -m tenant-name.maas.checkpoint.com --session-id --context context-id/web_api <cli_command>
Lorsque **Smart-1 Cloud context URL** est activé, les contrôles qui nécessitent un accès direct à un objet Gaia Management Server appartenant au client sont ignorés. En pratique, cela supprime les contrôles **Management Plane Protection** tels que **Protect Management Server Behind A Firewall** et **Restrict Administrative Source IP Addresses**, car le serveur de gestion est hébergé par Check Point et n'existe pas en tant qu'objet Gaia normal géré par le client dans le domaine du locataire.
Le résumé d'analyse affiche l'heure de l'analyse actuelle et l'analyse précédente enregistrée par l'application locale, y compris le nom d'utilisateur de l'API de gestion qui l'a exécutée. Cet historique est conservé en mémoire et est réinitialisé lorsque le processus Node local redémarre.
### Mode Grand Environnement
Le formulaire de connexion inclut le **mode grand environnement** pour les environnements MDS ou multi-passerelles de grande taille. Ce mode ne saute pas de contrôles et ne modifie pas la collecte de preuves. Il réduit la pression d'analyse sur l'API de gestion en limitant les requêtes API concurrentes et les tâches Gaia `run-script` lors d'une analyse complète.
Comportement d'analyse standard par défaut :
- Les commandes de collecte de l'API de gestion s'exécutent aussi rapidement que le processus Node local les planifie.
- La collecte Gaia `run-script` est limitée par `RUN_SCRIPT_CONCURRENCY`, dont la valeur par défaut est `8`.
- Les requêtes d'audit de dernière connexion de l'administrateur utilisent `show-logs` et sont sérialisées par `SHOW_LOGS_CONCURRENCY`, dont la valeur par défaut est `1`.
- L'interrogation de `show-task` attend `750 ms` entre chaque tentative.
Comportement du mode grand environnement :
- Les appels d'analyse de l'API de gestion sont limités par `LARGE_ENV_API_CONCURRENCY`, dont la valeur par défaut est `10`.
- La collecte Gaia `run-script` est limitée par `LARGE_ENV_RUN_SCRIPT_CONCURRENCY`, dont la valeur par défaut est `3`.
- Les recherches de dernière connexion de l'administrateur via `show-logs` restent sérialisées par `SHOW_LOGS_CONCURRENCY` afin d'éviter toute pression parallèle sur la recherche d'audit.
- L'interrogation de `show-task` attend `LARGE_ENV_TASK_POLL_INTERVAL_MS`, dont la valeur par défaut est `1250 ms`.
- L'interrogation de la sortie des tâches Gaia `run-script` utilise `TASK_POLL_ATTEMPTS`, dont la valeur par défaut est `20`. Cela est utile lorsque Smart-1 Cloud ou des passerelles distantes acceptent la requête `run-script` avant que la sortie décodée de `show-task details-level full` ne soit prête.
- Les contrôles de règle furtive des passerelles de sécurité utilisent `show-access-rulebase` en premier lieu en mode grand environnement et en mode Smart-1 Cloud. Cela évite un appel `where-used details-level full` par passerelle, ce qui peut s'avérer coûteux ou expirer dans les environnements de grande taille/MDS/Smart-1 Cloud.
Ces valeurs peuvent être ajustées à l'aide de variables d'environnement avant de démarrer le backend local :```sh
LARGE_ENV_API_CONCURRENCY=8 LARGE_ENV_RUN_SCRIPT_CONCURRENCY=2 LARGE_ENV_TASK_POLL_INTERVAL_MS=1500 TASK_POLL_ATTEMPTS=20 TASK_POLL_INTERVAL_MS=1000 SHOW_LOGS_CONCURRENCY=1 CP_LOG_API_TIMEOUT_MS=120000 CP_VPN_API_TIMEOUT_MS=120000 VPN_COMMUNITY_PAGE_LIMIT=50 npm start
Les vérifications de dernière connexion d'administrateur interrogent les connexions d'audit SmartConsole avec un filtre équivalent à administrator:<name> AND SmartConsole AND "Log In". CP_LOG_API_TIMEOUT_MS contrôle le délai d'expiration de ces requêtes show-logs séparément des appels normaux de l'API Management.
Les vérifications des communautés VPN IKE CVE paginent show-vpn-communities-star et show-vpn-communities-meshed avec VPN_COMMUNITY_PAGE_LIMIT, dont la valeur par défaut est 50, et utilisent CP_VPN_API_TIMEOUT_MS, dont la valeur par défaut est 120000 ms. Cela évite que les analyses Smart-1 Cloud et MDS demandent de très grandes charges utiles de communauté VPN en details-level full dans un seul appel.
Utilisez ce mode lors de l'analyse d'environnements MDS de production, de serveurs de gestion chargés ou de déploiements avec des dizaines de passerelles, où la protection de la réactivité de fwm / de l'API Management est plus importante que la durée d'analyse la plus rapide possible.
Certaines vérifications nécessitent un examen par l'opérateur même en l'absence de la condition automatisée à haut risque. Les vérifications des clients de confiance SmartConsole, des comptes administrateur et des politiques de mot de passe / délai d'inactivité / expiration / verrouillage de l'administrateur peuvent être marquées comme examinées. Dans la même session de connexion, le statut passe à Reviewed. Une nouvelle connexion ramène le statut à Needs review, tandis que la dernière approbation d'examen reste visible avec le nom d'utilisateur de l'API Management connecté et l'horodatage.
Pour la vérification de la politique de mot de passe / délai d'inactivité / expiration / verrouillage de l'administrateur, les opérateurs peuvent également marquer la vérification comme examinée alors qu'elle est en Remediation Required. L'application avertit que l'opérateur accepte des paramètres que Check Point ne recommande pas avant d'enregistrer cet examen.
Le résumé global combine les résultats Remediation Required et Remediation Recommended en un seul décompte Remediation Needed.
http://... ; cela enverrait la connexion à l'API Check Point en HTTP en clair.http://127.0.0.1:4000 par défaut, ou le prochain port local disponible.Le backend sert de proxy pour ces commandes de l'API Management Check Point :
loginlogoutshow-trusted-clientsdelete-trusted-clientshow-api-settingsset-api-settingspublishdiscardshow-administratorsdelete-administratorshow-default-administrator-settingsset-default-administrator-settingsshow-smart-console-idle-timeoutset-smart-console-idle-timeoutshow-login-restrictionsshow-cp-password-requirementsset-cp-password-requirementsshow-simple-gatewaysshow-global-propertiesset-global-propertiesrun-scriptshow-taskinsights/v3.0/show-suggestions-summaryinsights/v3.0/show-suggestionsLa vérification de l'utilisation des fonctionnalités de sécurité exécute un run-script Gaia sur chaque passerelle gérée cible :```sh
mgmt_cli run-script script-name "show license" targets.1 "GATEWAY_OBJECT_NAME" script "clish -c 'show license status'" --format json
mgmt_cli show-task task-id "" details-level full --format json
L'application décode `task-details[].responseMessage`, extrait les codes de blade connus tels que `FW`, `VPN`, `IPS`, et `URLF` des lignes de fonctionnalités/dates de licence, et inclut également les codes de blade intégrés permanents de la ligne de fonctionnalités principale (`FW`, `VPN`, `IA`). Les suffixes d'appliance/modèle/durée tels que `3950-2Y` sont ignorés, et les codes de blade connus sont traduits en noms de blade lisibles par l'humain, tels que `IPS`, `URL Filtering`, ou `Anti-Bot`. Les preuves sont groupées par passerelle avec des tableaux compacts `License Feature`, `Expiration Date`, et `Enabled/Disabled`. L'état activé est lu depuis `show gateways-and-servers details-level full` sous `network-security-blades` ; les clés de blade manquantes sont considérées comme désactivées. Advanced DNS Security est marqué pour confirmation manuelle dans le Threat Profile assigné car il n'est pas exposé comme un indicateur de blade de passerelle normal.
La vérification des clients de confiance SmartConsole exécute l'équivalent de :```sh
mgmt_cli -r true show trusted-clients --domain "System Data" details-level full --format json
L'application web se connecte au domaine System Data de l'API de gestion, extrait les données name, type et les données IP spécifiques au type du client de confiance, puis les affiche dans un tableau de preuves. Elle marque la vérification comme Remédiation requise lorsqu'un objet renvoyé a type défini sur any.
Lorsqu'un objet client de confiance a type défini sur any, l'application propose la première action de remédiation. Elle recherche le uid réel de cet objet et exécute l'équivalent de :```sh
mgmt_cli delete trusted-client uid "" --domain "System Data"
mgmt_cli publish --domain "System Data"
Si la publication échoue après la commande de suppression, l'application tente `discard` dans la même session `System Data` afin que l'objet ne reste pas verrouillé par une modification non publiée.
Le tableau des preuves des clients de confiance permet également aux opérateurs de sélectionner un ou plusieurs objets clients de confiance renvoyés et de les supprimer de l'application web. L'application valide les valeurs `uid` sélectionnées par rapport à la sortie actuelle de `show-trusted-clients`, puis exécute l'équivalent de :```sh
mgmt_cli delete trusted-client uid "<selected-trusted-client-uid>" --domain "System Data"
mgmt_cli publish --domain "System Data"
Pour plusieurs clients sélectionnés, la commande de suppression est exécutée une fois par uid sélectionné, suivie d'une seule publication. Si une suppression ou une publication échoue après le début des modifications, l'application tente discard dans la même session System Data.
La vérification de journalisation des règles implicites exécute l'équivalent de :```sh mgmt_cli -r true show global-properties details-level full --format json
L'application web extrait chaque paire clé/valeur de l'objet `firewall` renvoyé et l'affiche dans un tableau. Si `log-implied-rules` est `false`, le contrôle est marqué **Remédiation requise** et la ligne propose un bouton de remédiation intégré qui exécute l'équivalent de :```sh
mgmt_cli set global-properties firewall.log-implied-rules true
mgmt_cli publish
Le contrôle d'accès à l'API de gestion exécute l'équivalent de :```sh mgmt_cli -r true show api-settings --domain "System Data" --format json
L'application web affiche la valeur de `accepted-api-calls-from`. Si cette valeur est `all ip addresses`, le contrôle est marqué **Remédiation requise** et propose l'équivalent de :```sh
mgmt_cli set api-settings accepted-api-calls-from "all ip addresses that can be used for gui clients" --domain "System Data" --format json
mgmt_cli publish --domain "System Data"
Si l'accès API est déjà limité aux clients GUI, la vérification affiche le tableau des preuves des clients de confiance pour examen.
Les vérifications Policy Insights exécutent des appels Access Control Insights en lecture seule :```sh mgmt_cli insights/v3.0/show-suggestions-summary --method POST --format json mgmt_cli insights/v3.0/show-suggestions --method POST --format json
La demande de suggestions détaillées est filtrée pour `unused-objects`, `tighten-rule`, `delete-disabled-rule` et `zero-hits-rule`, avec une limite de 50 suggestions sur la première page.
La revue du compte administrateur exécute l'équivalent de :```sh
mgmt_cli -r true show-administrators --domain "System Data" details-level full --format json
La webapp se connecte au domaine System Data de l'API de gestion pour cette étape de collecte, puis affiche un tableau de preuves avec Name, Permission Profile Name, Authentication-Method et expiration-date. Les valeurs d'expiration sont converties du format iso-8601 en une date et une heure lisibles par un humain. Les administrateurs sans clé expiration-date sont affichés comme Never.
Le contrôle d'intégration MFA et Identity Provider utilise show default-administrator-settings pour afficher la authentication-method par défaut, puis utilise show-administrators pour lister les administrateurs dont la authentication-method est check point password ou os password. Si la méthode par défaut ou un administrateur utilise une authentification par mot de passe, le contrôle est marqué Remédiation recommandée. Les opérateurs peuvent marquer la section comme examinée, et le même historique de type « reviewed-by » est affiché. Le contrôle comprend un bouton d'aide à la configuration avec des conseils de configuration SAML pour SmartConsole et les IdP externes.
Le tableau des comptes administrateur permet aux opérateurs de sélectionner un ou plusieurs objets administrateur renvoyés et de les supprimer depuis la webapp. L'application valide les valeurs uid sélectionnées par rapport à la sortie actuelle de show-administrators, puis exécute l'équivalent de :```sh
mgmt_cli delete administrator uid "" --domain "System Data"
mgmt_cli publish --domain "System Data"
Pour plusieurs administrateurs sélectionnés, la commande de suppression est exécutée une fois par `uid` sélectionné, suivie d’une seule publication. Si une suppression ou une publication échoue après le début des modifications, l’application tente un `discard` dans la même session `System Data`.
Le contrôle du mot de passe administrateur, du délai d’inactivité, de l’expiration et de la politique de verrouillage exécute l’équivalent de:```sh
mgmt_cli show default-administrator-settings --domain "System Data" --format json
mgmt_cli show smart-console-idle-timeout --domain "System Data" --format json
mgmt_cli show login-restrictions --domain "System Data" --format json
mgmt_cli show cp-password-requirements --domain "System Data" --format json
L'application web affiche les paramètres renvoyés dans un tableau Setting, Value et State. L'expiration par défaut de l'administrateur définie sur never, le délai d'inactivité SmartConsole désactivé, le verrouillage du compte administrateur désactivé, le déverrouillage automatique désactivé, ou min-password-length inférieur à 10 sont marqués comme nécessitant une remédiation.
Lorsque la méthode d'authentification de l'administrateur par défaut est check point password, la colonne State recommande d'utiliser une méthode d'authentification prenant en charge la MFA ou un fournisseur d'identité externe.
Pour l'expiration de l'administrateur par défaut, la colonne State affiche le détail de l'expiration renvoyé : une valeur expiration-date formatée, ou la valeur expiration-period plus expiration-period-time-units lorsque le type est expiration-period.
Lorsque l'expiration de l'administrateur par défaut est définie sur never, l'application propose une action de remédiation recommandée. Elle exécute l'équivalent de :```sh
mgmt_cli set default-administrator-settings expiration-type "expiration period" expiration-period "4" expiration-period-time-units "months" --domain "System Data" --format json
mgmt_cli publish --domain "System Data"
Si la publication échoue après la modification des paramètres, l'application tente un `discard` dans la même session `System Data` afin que le paramètre ne reste pas verrouillé par une modification non publiée.
Lorsque le délai d'inactivité de SmartConsole est désactivé, l'application propose une action de remédiation recommandée. Elle exécute l'équivalent de :```sh
mgmt_cli set smart-console-idle-timeout enabled true timeout-duration "10" --domain "System Data" --format json
mgmt_cli publish --domain "System Data"
Si la publication échoue après le changement de délai d'expiration d'inactivité, l'application tente discard dans la même session System Data.
Lorsque la longueur minimale du mot de passe est inférieure à 10, l'application propose une action de remédiation recommandée. Elle exécute l'équivalent de :```sh
mgmt_cli set cp-password-requirements min-password-length "10" --domain "System Data" --format json
mgmt_cli publish --domain "System Data"
Si la publication échoue après le changement d'exigence de mot de passe, l'application tente `discard` dans la même session `System Data`.
## Install and Run
Exécuter depuis les sources nécessite Node.js 18 ou version ultérieure et les dépendances npm déclarées dans `package.json`. Les utilisateurs des versions autonomes n'ont pas besoin de Node.js, npm ou Git.
### macOS Depuis les sources
1. Installez Node.js 18 ou version ultérieure depuis [nodejs.org](https://nodejs.org/) ou Homebrew. ```sh
brew install node
Installez Node.js 18 ou une version plus récente depuis nodejs.org.
Téléchargez et extrayez le ZIP du projet, ou clonez le dépôt avec Git pour Windows. ```powershell git clone cd "Check Point Trusted Access Review"
Installez les dépendances et démarrez l'application locale. ```powershell npm install npm start
Ouvrez l'application dans un navigateur. ```text http://127.0.0.1:4000
Par défaut, l'application préfère 127.0.0.1:4000 et tente automatiquement un port supérieur si le port est occupé. Pour exiger un port spécifique :
macOS :```sh PORT=4500 npm start
Windows PowerShell:```powershell
$env:PORT = "4500"
npm start
Ensuite, ouvrez :```text http://127.0.0.1:4500
## Dépannage
Le serveur affiche les diagnostics des requêtes dans le terminal. Une tentative de connexion réussie affichera des lignes similaires à :```text
Local API request requestId=abc12345 route=/api/login
Login request received target=https://mgmt.example.com/web_api/login user=admin
Check Point API request starting command=login target=https://mgmt.example.com/web_api/login
Si le navigateur affiche une erreur de connexion avec un ID de requête mais que la capture de paquets ne montre aucune tentative sortante vers le serveur de gestion, comparez la valeur target= du terminal avec votre filtre de capture de paquets.
S'il n'y a aucune ligne Local API request, le navigateur n'atteint pas le backend local. Vérifiez que l'application est en cours d'exécution et que vous avez ouvert la bonne URL locale.