Collecter les journaux de l'assistance à distance BeyondTrust
Cet analyseur gère les messages syslog de l'assistance à distance BeyondTrust et les transforme au format UDM. Il traite les journaux au format CEF et non CEF, extrait des champs, effectue des transformations de données et les met en correspondance avec les champs UDM appropriés, y compris les détails sur le principal, la cible et les résultats de sécurité.
Avant de commencer
- Assurez-vous de disposer d'une instance Google Security Operations.
- Assurez-vous d'utiliser Windows 2016 ou une version ultérieure, ou un hôte Linux avec systemd.
- Si vous exécutez l'application derrière un proxy, assurez-vous que les ports du pare-feu sont ouverts.
Obtenir le fichier d'authentification d'ingestion Google SecOps
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres du SIEM > Agents de collecte.
- Téléchargez le fichier d'authentification d'ingestion.
Obtenir le numéro client Google SecOps
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres du SIEM > Profil.
- Copiez et sauvegardez l'ID client dans la section Détails de l'organisation.
Installer l'agent BindPlane
- Pour l'installation sous Windows, exécutez le script suivant:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
- Pour l'installation Linux, exécutez le script suivant:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
- Pour en savoir plus sur les options d'installation, consultez ce guide d'installation.
Configurer l'agent BindPlane pour ingérer Syslog et l'envoyer à Google SecOps
- Accédez à la machine sur laquelle BindPlane est installé.
Modifiez le fichier
config.yaml
comme suit :receivers: tcplog: # Replace the below port <54525> and IP <0.0.0.0> with your specific values listen_address: "0.0.0.0:54525" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the creds location below according the placement of the credentials file you downloaded creds: '{ json file for creds }' # Replace <customer_id> below with your actual ID that you copied customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # You can apply ingestion labels below as preferred ingestion_labels: log_type: SYSLOG namespace: BeyondTrust_Remote_Support raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labels
Redémarrez l'agent BindPlane pour appliquer les modifications:
sudo systemctl restart bindplane
Configurer l'exportation des journaux Syslog depuis l'assistance à distance BeyondTrust
- Connectez-vous à l'assistance à distance BeyondTrust.
- Accédez à Sécurité > Administration de l'appliance.
- Accédez à la section Syslog et définissez les valeurs suivantes :
- Remote Syslog Server (Serveur syslog distant) : saisissez le nom d'hôte ou l'adresse IP du serveur hôte syslog (Bindplane). Vous pouvez ajouter jusqu'à trois serveurs Syslog dans ce champ.
- Format du message: sélectionnez RFC 5424.
- Port: saisissez le port du serveur hôte syslog (Bindplane).
- Cliquez sur Envoyer.
Mappage UDM
Champ du journal | Mappage UDM | Logique |
---|---|---|
account:expiration | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "account:expiration" du journal brut. |
account:email:locale | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "account:email:locale" dans le journal brut. |
command_shell_is_whitelist | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "ssions:command_shell_is_whitelist" du journal brut. |
Date/Heure | read_only_udm.metadata.event_timestamp.seconds | La valeur est extraite du champ "datetime" du journal brut et convertie en code temporel Unix. |
dtPostTime | read_only_udm.metadata.event_timestamp.seconds | La valeur est extraite du champ "dtPostTime" du journal brut et convertie en code temporel Unix. |
événement | read_only_udm.metadata.product_event_type | La valeur est extraite du champ "event" du journal brut. |
hôte | read_only_udm.principal.hostname | La valeur est extraite du champ "host" du journal brut. |
id | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "id" du journal brut. |
license_pool:id | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "license_pool:id" du journal brut. |
login_schedule:timezone | read_only_udm.target.location.country_or_region | La valeur est extraite du champ "login_schedule:timezone" du journal brut. |
old_account:email:address | read_only_udm.target.user.email_addresses | La valeur est extraite du champ "old_account:email:address" dans le journal brut. |
old_account:failed_logins | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_account:failed_logins" du journal brut. |
old_display_number | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_display_number" du journal brut. |
old_login_schedule:timezone | read_only_udm.target.location.country_or_region | La valeur est extraite du champ "old_login_schedule:timezone" du journal brut. |
old_permissions:api:reporting | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:api:reporting" dans le journal brut. |
old_permissions:jump_item_role:default:id | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:jump_item_role:default:id" dans le journal brut. |
old_permissions:jump_item_role:default:name | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:jump_item_role:default:name" dans le journal brut. |
old_permissions:jump_item_role:teams:id | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:jump_item_role:teams:id" dans le journal brut. |
old_permissions:jump_item_role:teams:name | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:jump_item_role:teams:name" dans le journal brut. |
old_permissions:presentations:control:status | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:presentations:control:status" du journal brut. |
old_permissions:public_sites:templates:status | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:public_sites:templates:status" du journal brut. |
old_permissions:reporting:presentation_reports | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:reporting:presentation_reports" dans le journal brut. |
old_permissions:reporting:support_reports | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:reporting:support_reports" dans le journal brut. |
old_permissions:reporting:vault_reports | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:reporting:vault_reports" dans le journal brut. |
old_permissions:support | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:support" du journal brut. |
old_permissions:support:accept_team_sessions:status | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:support:accept_team_sessions:status" dans le journal brut. |
old_permissions:support:bomgar_button:change_public_sites:status | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:support:bomgar_button:change_public_sites:status" dans le journal brut. |
old_permissions:support:bomgar_button:personal:deploy:status | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:support:bomgar_button:personal:deploy:status" dans le journal brut. |
old_permissions:support:bomgar_button:team:manage | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:support:bomgar_button:team:manage" dans le journal brut. |
old_permissions:support:bomgar_button:team:manage:status | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:support:bomgar_button:team:manage:status" dans le journal brut. |
old_permissions:support:ios_content | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:support:ios_content" dans le journal brut. |
old_permissions:support:jump:local | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:support:jump:local" dans le journal brut. |
old_permissions:support:jump:local:status | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:support:jump:local:status" dans le journal brut. |
old_permissions:support:jump:remote | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:support:jump:remote" dans le journal brut. |
old_permissions:support:jump:remote:status | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:support:jump:remote:status" dans le journal brut. |
old_permissions:support:rdp:local | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:support:rdp:local" du journal brut. |
old_permissions:support:rdp:local:status | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:support:rdp:local:status" du journal brut. |
old_permissions:support:rdp:remote | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:support:rdp:remote" dans le journal brut. |
old_permissions:support:rdp:remote:status | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:support:rdp:remote:status" dans le journal brut. |
old_permissions:support:session_assignment:idle_timeout | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:support:session_assignment:idle_timeout" dans le journal brut. |
old_permissions:support:session_assignment:idle_timeout:status | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:support:session_assignment:idle_timeout:status" dans le journal brut. |
old_permissions:support:session_assignment:session_limit | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:support:session_assignment:session_limit" dans le journal brut. |
old_permissions:support:session_assignment:session_limit:status=forbid_override | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:support:session_assignment:session_limit:status=forbid_override" dans le journal brut. |
old_permissions:support:session_keys | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:support:session_keys" dans le journal brut. |
old_permissions:support:status | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:support:status" du journal brut. |
old_permissions:support:team_share | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:support:team_share" dans le journal brut. |
old_permissions:support:team_transfer | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:support:team_transfer" dans le journal brut. |
old_permissions:support:vnc:local | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:support:vnc:local" du journal brut. |
old_permissions:support:vnc:local:status | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:support:vnc:local:status" du journal brut. |
old_permissions:support:vnc:remote | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:support:vnc:remote" dans le journal brut. |
old_permissions:support:vnc:remote:status | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_permissions:support:vnc:remote:status" du journal brut. |
old_private_display_name | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_private_display_name" du journal brut. |
old_provider:id | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_provider:id" du journal brut. |
old_provider:name | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "old_provider:name" du journal brut. |
permissions:jump_item_role:default:id | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "permissions:jump_item_role:default:id" dans le journal brut. |
permissions:jump_item_role:default:name | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "permissions:jump_item_role:default:name" dans le journal brut. |
permissions:jump_item_role:teams:id | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "permissions:jump_item_role:teams:id" dans le journal brut. |
permissions:jump_item_role:teams:name | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "permissions:jump_item_role:teams:name" dans le journal brut. |
provider:id | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "provider:id" du journal brut. |
provider:name | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "provider:name" du journal brut. |
reason | read_only_udm.security_result.description | La valeur est extraite du champ "reason" du journal brut et ajoutée au champ de description avec le préfixe "- Reason:". |
sEventID | read_only_udm.metadata.product_event_type | La valeur est extraite du champ "sEventID" du journal brut. |
sIpAddress | read_only_udm.principal.ip | La valeur est extraite du champ "sIpAddress" du journal brut. |
sLoginName | read_only_udm.principal.user.userid | La valeur est extraite du champ "sLoginName" du journal brut. Si le champ contient un domaine, celui-ci est extrait et mappé sur read_only_udm.principal.namespace. |
sMessage | read_only_udm.security_result.description | La valeur est extraite du champ "sMessage" du journal brut. L'analyseur extrait le texte entre guillemets et le met en correspondance avec le champ de description. |
sOriginatingAccount | read_only_udm.principal.user.userid | La valeur est extraite du champ "sOriginatingAccount" du journal brut. Si le champ contient un domaine, celui-ci est extrait et mappé sur read_only_udm.principal.namespace. |
sOriginatingApplicationComponent | read_only_udm.principal.application | La valeur est extraite du champ "sOriginatingApplicationComponent" du journal brut et ajoutée au champ de l'application entre parenthèses après la valeur de sOriginatingApplicationName. |
sOriginatingApplicationName | read_only_udm.principal.application | La valeur est extraite du champ "sOriginatingApplicationName" du journal brut. |
sOriginatingSystem | read_only_udm.principal.hostname | La valeur est extraite du champ "sOriginatingSystem" du journal brut. |
session_policy:id | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "session_policy:id" du journal brut. |
session_policy:name | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "session_policy:name" du journal brut. |
session_policy:purpose | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "session_policy:purpose" du journal brut. |
site | read_only_udm.target.hostname | La valeur est extraite du champ "site" du journal brut. |
état | read_only_udm.security_result.summary | La valeur est extraite du champ "état" du journal brut et ajoutée au champ récapitulatif. |
support:jump:local | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:jump:local" dans le journal brut. |
support:permissions:allow_pinned_clients | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:permissions:allow_pinned_clients" dans le journal brut. |
support:permissions:allow_users | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:permissions:allow_users" dans le journal brut. |
support:permissions:canned_scripts | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:permissions:canned_scripts" dans le journal brut. |
support:permissions:chat | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:permissions:chat" dans le journal brut. |
support:permissions:chat:push_url | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:permissions:chat:push_url" dans le journal brut. |
support:permissions:chat:send_file | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:permissions:chat:send_file" dans le journal brut. |
support:permissions:command_shell | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:permissions:command_shell" dans le journal brut. |
support:permissions:deploy_callback_button | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:permissions:deploy_callback_button" dans le journal brut. |
support:permissions:elevation | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:permissions:elevation" dans le journal brut. |
support:permissions:file_transfers:cust | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:permissions:file_transfers:cust" dans le journal brut. |
support:permissions:file_transfers:download | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:permissions:file_transfers:download" dans le journal brut. |
support:permissions:file_transfers:rep | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:permissions:file_transfers:rep" dans le journal brut. |
support:permissions:file_transfers:upload | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:permissions:file_transfers:upload" dans le journal brut. |
support:permissions:registry_access | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:permissions:registry_access" dans le journal brut. |
support:permissions:request_pin_unpin | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:permissions:request_pin_unpin" dans le journal brut. |
support:permissions:screen_sharing | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:permissions:screen_sharing" dans le journal brut. |
support:permissions:screen_sharing:allow_elevated_tools | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:permissions:screen_sharing:allow_elevated_tools" dans le journal brut. |
support:permissions:screen_sharing:annotations | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:permissions:screen_sharing:annotations" dans le journal brut. |
support:permissions:screen_sharing:application_restriction | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:permissions:screen_sharing:application_restriction" dans le journal brut. |
support:permissions:screen_sharing:application_sharing | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:permissions:screen_sharing:application_sharing" dans le journal brut. |
support:permissions:screen_sharing:clipboard_direction | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:permissions:screen_sharing:clipboard_direction" dans le journal brut. |
support:permissions:screen_sharing:cobrowse | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:permissions:screen_sharing:cobrowse" dans le journal brut. |
support:permissions:screen_sharing:privacy_mode | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:permissions:screen_sharing:privacy_mode" dans le journal brut. |
support:permissions:screen_sharing:show_screen | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:permissions:screen_sharing:show_screen" dans le journal brut. |
support:permissions:system_info | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:permissions:system_info" dans le journal brut. |
support:permissions:system_info:actions | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:permissions:system_info:actions" dans le journal brut. |
support:prompting:command_shell | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:prompting:command_shell" dans le journal brut. |
support:prompting:default | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:prompting:default" dans le journal brut. |
support:prompting:deploy_callback_button | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:prompting:deploy_callback_button" dans le journal brut. |
support:prompting:elevate | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:prompting:elevate" dans le journal brut. |
support:prompting:file_transfer | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:prompting:file_transfer" dans le journal brut. |
support:prompting:registry | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:prompting:registry" du journal brut. |
support:prompting:screen_sharing:cobrowse | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:prompting:screen_sharing:cobrowse" dans le journal brut. |
support:prompting:screen_sharing:full_access | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "support:prompting:screen_sharing:full_access" dans le journal brut. |
cible | read_only_udm.target.application | La valeur est extraite du champ "target" du journal brut. L'analyseur remplace "rep_client" par "Representative Console" (Console du représentant) et "web/login" par "Web/Login". |
two_factor_auth:app | read_only_udm.principal.user.attribute.labels.value | La valeur est extraite du champ "two_factor_auth:app" dans le journal brut. |
when | read_only_udm.metadata.product_log_id | La valeur est extraite du champ "when" du journal brut. |
when | read_only_udm.metadata.event_timestamp.seconds | La valeur est extraite du champ "when" du journal brut et convertie en code temporel Unix. |
qui | read_only_udm.principal.user.userid | La valeur est extraite du champ "who" du journal brut. L'analyseur extrait le texte entre parenthèses. |
qui | read_only_udm.principal.user.user_display_name | La valeur est extraite du champ "who" du journal brut. L'analyseur extrait le texte avant les parenthèses. |
who_ip | read_only_udm.principal.ip | La valeur est extraite du champ "who_ip" du journal brut. |
read_only_udm.metadata.vendor_name | La valeur est définie sur "BeyondTrust" par l'analyseur. | |
read_only_udm.metadata.product_name | La valeur est définie sur "BeyondTrust Remote Support" par l'analyseur. | |
read_only_udm.metadata.log_type | La valeur est définie sur "BOMGAR" par l'analyseur. | |
read_only_udm.extensions.auth.type | La valeur est définie sur "MACHINE" si la cible est "rep_client", sur "SSO" si la cible est "web/login", et sur "AUTHTYPE_UNSPECIFIED" dans le cas contraire par l'analyseur. | |
read_only_udm.extensions.auth.mechanism | La valeur est définie sur "USERNAME_PASSWORD" si la méthode est "using password", sur "REMOTE" si la méthode est "using elevate", et laissée vide par l'analyseur dans le cas contraire. | |
read_only_udm.security_result.action | La valeur est définie sur "ALLOW" si l'état n'est pas "failure", si le motif n'est pas "failed" ou "user not found", et si le sMessage ne contient pas "failed login to web app". Sinon, la valeur est définie sur "BLOCK" par l'analyseur. | |
read_only_udm.security_result.summary | La valeur est définie sur "Connexion de l'utilisateur" ou "Déconnexion de l'utilisateur" en fonction de l'événement eventName, suivie de l'état si celui-ci n'est pas vide par l'analyseur. | |
read_only_udm.security_result.description | La valeur est définie sur "Utilisateur", suivie de l'ID utilisateur, de l'adresse IP, de l'état, de l'événement, du connecteur ("à" pour la connexion et "de" pour la déconnexion), de la cible et de la méthode. Si le motif n'est pas vide et ne correspond pas à "failed", il est ajouté à la description avec le préfixe "- Reason:" par l'analyseur. |
Modifications
2024-01-12
- Amélioration de la gestion des événements d'état "défi".
- Amélioration du mappage des adresses e-mail pour plus de précision
2022-11-24
- Correction d'un bug lors de l'analyse des informations utilisateur telles que le nom à afficher, l'ID et la méthode.
- Amélioration de la précision de la classification du type d'authentification pour les événements de connexion des utilisateurs.
2022-10-13
- Intégration d'un analyseur spécifique au client dans l'analyseur par défaut pour une application plus large.
2022-09-26
- Intégration d'un analyseur spécifique au client dans l'analyseur par défaut pour une application plus large.
2022-08-19
- Consolidation des analyseurs personnalisés dans l'analyseur par défaut pour une meilleure facilité de maintenance et de performances.