Collecter les journaux NetScaler
Ce document explique comment collecter les journaux NetScaler à l'aide d'un transmetteur Google Security Operations.
Pour en savoir plus, consultez la présentation de l'ingestion de données dans Google Security Operations.
Un libellé d'ingestion identifie l'analyseur qui normalise les données de journaux brutes au format UDM structuré. Les informations de ce document s'appliquent au parseur avec le libellé d'ingestion CITRIX_NETSCALER.
Configurer NetScaler VPX
Pour configurer NetScaler VPX afin d'envoyer des journaux au redirecteur Google Security Operations, procédez comme suit :
- Vérifiez la configuration du nom d'hôte.
- Créez un serveur d'audit.
- Associez la règle d'audit créée au serveur.
Vérifier la configuration du nom d'hôte
- Connectez-vous à l'interface Web NetScaler à l'aide des identifiants administrateur.
- Sélectionnez Configuration> Paramètres.
- Cliquez sur Nom d'hôte, adresse IP DNS et fuseau horaire.
- Si le champ Nom d'hôte est vide, saisissez le nom d'hôte. N'incluez pas d'espaces. Si ce champ est déjà configuré, aucune action n'est requise.
- Dans le champ Adresse IP du DNS, vérifiez si l'adresse IP du DNS local est spécifiée.
- Dans le champ Fuseau horaire, saisissez votre fuseau horaire.
Créer un serveur d'audit
- Dans l'interface Web NetScaler, sélectionnez Configuration > System > Auditing > Syslog > Servers.
- Spécifiez les informations syslog dans les champs suivants :
- Nom
- Type de serveur
- Adresse IP
- Port
- Sélectionnez Niveaux de journalisation, puis Personnalisé.
- Dans la configuration, cochez toutes les cases, sauf celle correspondant au niveau DEBUG.
- Dans la liste Installation du journal, sélectionnez LOCAL0.
- Dans la liste Format de la date, sélectionnez MMJJAAAA.
- Sélectionnez Fuseau horaire et choisissez GMT.
- Décochez les cases suivantes :
- Journalisation TCP
- Journalisation des LCA
- Messages de journaux configurables par l'utilisateur
- Journalisation AppFlow
- Journalisation NAT à grande échelle
- Journalisation des messages ALG
- Journalisation des abonnés
- DNS
- Interception SSL
- Filtrage des URL
- Journalisation de l'inspection du contenu
- Cliquez sur OK pour créer le serveur d'audit.
Associer la règle d'audit créée au serveur
- Dans l'interface Web NetScaler, sélectionnez Configuration > System > Auditing > Syslog.
- Cliquez sur l'onglet Règles.
- Dans le champ Nom, saisissez un nom pour la règle.
- Dans la liste Serveur, sélectionnez la règle de la section précédente.
- Cliquez sur Créer.
- Effectuez un clic droit sur la règle d'audit créée, puis sélectionnez Action > Liaisons globales.
- Cliquez sur Ajouter une liaison.
- Dans la fenêtre Policy binding (Association de règles), procédez comme suit :
- Dans le champ Sélectionner une règle, saisissez la règle d'audit créée.
- Dans le volet Détails de la liaison, dans le champ Priorité, saisissez 120, car il s'agit de la priorité par défaut.
- Cliquez sur Bind (Lier).
Configurer NetScaler SDX
Pour configurer NetScaler SDX afin d'envoyer des journaux au redirecteur Google Security Operations, procédez comme suit :
- Vérifiez la configuration du nom d'hôte pour NetScaler SDX.
- Configurez le serveur syslog.
- Configurez les paramètres syslog.
Vérifier la configuration du nom d'hôte pour NetScaler SDX
- Connectez-vous à l'interface Web NetScaler à l'aide des identifiants administrateur.
- Dans l'interface Web NetScaler, sélectionnez Système > Paramètres système.
- Si le champ Nom d'hôte est vide, saisissez le nom d'hôte. N'incluez pas d'espaces. Si ce champ est déjà configuré, aucune action n'est requise.
- Dans le champ Fuseau horaire, sélectionnez UTC ou GMT.
Configurer le serveur syslog
- Dans l'interface Web NetScaler, sélectionnez System > Notifications > Syslog servers (Système > Notifications > Serveurs Syslog).
- Dans le volet Détails, cliquez sur Ajouter.
- Dans la fenêtre Créer un serveur Syslog, spécifiez les valeurs des paramètres suivants du serveur Syslog :
- Dans le champ Nom, saisissez un nom.
- Dans le champ Adresse IP, saisissez l'adresse IP du redirecteur Google Security Operations.
- Dans le champ Port, saisissez le numéro de port.
- Sélectionnez Niveaux de journalisation, puis Personnalisé.
- Sélectionnez tous les niveaux de journalisation, sauf Debug (Débogage).
- Cliquez sur Créer.
Configurer les paramètres syslog
- Dans l'interface Web NetScaler, sélectionnez System > Notifications > Syslog servers (Système > Notifications > Serveurs Syslog).
- Dans le volet Détails, cliquez sur Paramètres Syslog.
- Sur la page Configurer les paramètres syslog, sélectionnez Format de la date comme MMJJAAAA et Fuseau horaire comme GMT.
- Cliquez sur OK.
Configurer le transmetteur Google Security Operations pour ingérer les journaux NetScaler
- Sélectionnez Paramètres SIEM > Relais.
- Cliquez sur Ajouter un nouveau transfert.
- Dans le champ Nom du transfert, saisissez un nom unique pour le transfert.
- Cliquez sur Envoyer, puis sur Confirmer. Le redirecteur est ajouté et la fenêtre Ajouter une configuration de collecteur s'affiche.
- Dans le champ Nom du collecteur, saisissez un nom unique pour le collecteur.
- Sélectionnez Citrix NetScaler comme type de journal.
- Dans le champ Type de collecteur, sélectionnez Syslog.
- Configurez les paramètres d'entrée obligatoires suivants :
- Protocole : spécifiez le protocole de connexion utilisé par le collecteur pour écouter les données syslog.
- Adresse : spécifiez l'adresse IP ou le nom d'hôte de la cible où réside le collecteur et où il écoute les données Syslog.
- Port : spécifiez le port cible sur lequel le collecteur réside et écoute les données syslog.
- Cliquez sur Envoyer.
Pour en savoir plus sur les répartiteurs Google Security Operations, consultez Gérer les configurations de répartiteurs dans l'interface utilisateur Google Security Operations.
Si vous rencontrez des problèmes lors de la création de redirecteurs, contactez l'assistance Google Security Operations.
Référence du mappage de champs
Ce parseur traite les journaux SYSLOG Citrix Netscaler au format clé/valeur, extrait les données au format JSON du champ message et enrichit l'UDM avec des informations provenant d'autres champs tels que host.hostname et user_agent.original après les avoir nettoyées. Il gère les cas où le message principal est vide en revenant au message de journal d'origine.
Table de mappage UDM
| Champ du journal | Mappage UDM |
|---|---|
aaa_info_flags |
additional.fields |
aaa_trans_id |
security_result.detection.fields |
aaad_flags |
additional.fields |
aaad_resp |
additional.fields |
aaaFlags |
additional.fields |
aaaFlags2 |
additional.fields |
act |
securtiy_result.action_details,security_result.action |
action |
security_result.action |
ADM_User |
additional.fields |
allowed_interface |
security_result.detection.fields |
applicationname |
target.application |
auth_type |
additional.fields |
authActionLen |
security_result.detection_fields |
AuthAgent |
additional.fields |
AuthDuration |
network.session_duration.seconds |
authnvs |
additional.fields |
authorizationStatus |
security_result.detection.fields |
AuthStage |
additional.fields |
Authtype |
additional.fields |
C |
principal.location.country_or_region |
caseId |
additional.fields |
cfg_limit |
additional.fields |
cgp_tag |
sec_result.detection_fields |
channel_id_X |
additional.fields |
channel_id_X_val |
additional.fields |
channel_update_begin |
additional.fields |
channel_update_end |
additional.fields |
cipher_suite |
network.tls.cipher |
client_fip |
target.ip target.asset.ip |
client_fport |
target.port |
client_ip |
principal.ip,principal.asset.ip |
client_port |
principal.port |
Client_security_expression |
additional.fields |
client_type |
additional.fields |
client_version |
network.tls.version |
client.nat.ip |
principal.nat_ip,principal.asset.nat_ip |
clientside_jitter |
additional.fields |
clientside_packet_retransmits |
additional.fields |
clientside_rtt |
additional.fields |
clientside_rxbytes |
network.sent_bytes |
clientside_txbytes |
network.received_bytes |
ClientVersion |
network.tls.version_protocol |
CN |
principal.resource.attribute.labels |
cn1 |
additional.fields |
cn2 |
additional.fields |
code |
additional.fields |
commandExecutionStatus |
security_result.action_details |
Compression_ratio_recv |
additional.fields |
Compression_ratio_send |
additional.fields |
configurationCmd |
security_result.detection.fields |
connectionId |
network.session_id |
copied_nsb |
sec_result.detection_fields |
core_id |
additional.fields |
core_refmask |
additional.fields |
cs1 |
additional.fields |
cs2 |
additional.fields |
cs4 |
additional.fields |
cs5 |
additional.fields |
cs6 |
additional.fields |
CSappid |
additional.fields |
CSAppname |
- |
csg_flags |
additional.fields |
ctx_flags |
additional.fields |
cur_attempts |
additional.fields |
CurfactorPolname |
additional.fields |
customername |
additional.fields |
days_for_pwd_exp |
additional.fields |
days_for_pwd_exp_STR |
additional.fields |
delinkTime |
additional.fields |
Denied_by_policy |
security_result.rule_name |
desc |
metadata.description |
destination.ip |
target.ip,target.asset.ip |
destination.port |
target.resource.attribute.labels |
device_event_class_id |
metadata.product_event_type |
device_version |
metadata.product_version |
Deviceid |
target.resource.product_object_id |
Devicetype |
additional.fields |
dht_delete_status |
additional.fields |
diagnostic_info |
additional.fields |
digestSignatureAlgorithm |
security_result.detection_fields |
dns_additional_count |
additional.fields |
dns_answer_count |
additional.fields |
dns_authority_count |
additional.fields |
dns_flags |
additional.fields |
dns_flags_raw |
network.dns.recursion_desired |
dns_flags_raw |
network.dns.recursion_available |
dns_id |
network.dns.id |
dns_question_count |
additional.fields |
dns_question_name |
network.dns.question.name |
domain |
security_result.detection.fields,additional.fields |
domain |
target.administrative_domain |
ecs_version |
additional.fields |
encrypt_status |
security_result.detection_fields |
end_time |
additional.fields |
End_time |
additional.fields |
entityName |
target.resource.name |
Error Code |
additional.fields |
event_id |
metadata.product_log_id |
event_name |
metadata.product_event_type |
event_type |
sec_result.summary |
expired_refmask |
additional.fields |
factor |
security_result.detection.fields |
flags |
additional.fields |
flags2 |
additional.fields |
flags3 |
additional.fields |
flags4 |
additional.fields |
func |
security_result.detection_fields |
geolocation |
location.country_region |
Group(s) |
target.user.group_identifiers |
Group(s) |
target.user.group.identifiers |
handshake_time |
network.session_duration.seconds |
HandshakeTime |
additional.fields |
host_hostname |
principal.hostname |
host_ip |
principal.ip principal.asset.ip |
host.name |
target.hostname,target.asset.hostname |
hostname |
intermediary.hostname,intermediary.asset.hostname |
hostname |
target.hostname,target.asset.hostname |
hostname_1 |
target.hostname,target.asset.hostname |
http_method |
network.http.method |
Http_resources_accessed |
security_result.detection.fields |
http_uri |
target.url |
HTTPS |
network.application_protocol |
ica_conn_owner_refmask |
sec_result.detection_fields |
ica_rtt |
additional.fields |
ica_uuid |
network.session_id |
ICAUUID |
network.session_id |
id |
metadata.id |
init_icamode_homepage |
additional.fields |
inter_hostname |
intermediary.hostname |
interfaceKind |
security_result.detection.fields |
ip |
intermediary.asset.ip |
ip_x |
principal.ip principal.asset.ip |
ipaddress |
target.ip,target.asset.ip |
is_post |
additional.fields |
IssuerName |
network.tls.server.certificate.issuer |
L |
principal.location.city |
last_contact |
additional.fields |
loc |
target.url |
localdate |
additional.fields |
lock_duration |
additional.fields |
log_action |
sec_result.detection_fields |
log_action |
security_result.detection.fields |
log_category |
additional.fields |
log_data |
additional.fields |
log_format |
additional.fields |
log_timestamp |
additional.fields |
log_type |
additional.fields |
log.syslog.priority |
additional.fields |
login_count |
sec_result.detection_fields |
login_count |
security_result.detection_fields |
LogoutMethod |
additional.fields |
max_attempts |
additional.fields |
message_content |
security_result.summary |
message_id |
metadata.product_log_id |
message_status_code |
additional.fields |
method |
network.http.method |
monitored_resource |
additional.fields |
msg |
metadata.description |
msi_client_cookie |
additional.fields |
msticks |
additional.fields |
Nat_ip |
additional.fields,principal.nat_ip,principal.asset.nat_ip(Si Nat_ip n'est pas une adresse IP, il se trouve dans additional.fields.) |
netscaler_principal_ip_context |
principal.resource.attribute.labels |
netscaler_tag |
intermediary.asset.product_object_id |
netscaler_target_ip_context |
target.resource.attribute.labels |
new_webview |
additional.fields |
newWebview |
additional.fields |
NonHttp_services_accessed |
security_result.detection.fields |
nsPartitionName |
additional.fields |
on_port |
additional.fields |
Organization |
principal.resource.attribute.labels |
OU |
principal.resource.attribute.labels |
owner_from |
additional.fields |
owner_id |
additional.fields |
pcb_devno |
additional.fields |
pcbdevno |
additional.fields |
Policyname |
security_result.rule_name |
port |
principal.port |
port_details |
principal.port |
prin_ip |
principal.ip principal.asset.ip |
prin_user |
principal.user.userid |
principal_ip |
principal.ip,principal.asset.ip |
principal_port |
principal.port |
prod_event_type |
metadata.product_event_type |
protocol |
network.ip_protocol |
protocol_feature |
security_result.detection.fields |
ProtocolVersion |
network.tls.protocol_version |
pwdlen |
additional.fields |
pwdlen2 |
additional.fields |
q_flags |
additional.fields |
reason_val |
security_result.description |
receiver_version |
additional.fields |
record_type |
network.dns.question.type |
refmask |
additional.fields |
remote_ip |
principal.ip principal.asset.ip |
remote_port |
principal.port |
request |
target.url |
ReqURL |
additional.fields |
resource_cmd |
target.resource.name |
resource_name |
principal.resource.name |
response |
additional.fields |
response_code |
additional.fields |
rule_id |
security_result.rule.id |
rule_name |
security_result.rule_name |
SerialNumber |
network.tls.server.certificate.serial |
server_authenticated |
additional.fields |
serverside_jitter |
additional.fields |
serverside_packet_retransmits |
additional.fields |
serverside_rtt |
additional.fields |
service_name |
principal.applications |
sess_flags2: |
additional.fields |
sess_seq |
network.session_id |
sessFlags2 |
additional.fields |
Session |
additional.fields |
session_cookie |
security_result.detection_fields |
session_guid |
network.session_id |
session_id_label |
network.session_id |
session_setup_time |
additional.fields |
session_type |
sec_result.description |
SessionId |
network.session_id |
skip_code |
additional.fields |
source_file |
additional.fields |
source_hostname |
principal.hostname,principal.asset.hostname |
source_line |
additional.fields |
source.ip |
principal.ip,principal.asset.ip |
source.port |
principal.resource.attribute.labels |
spcb_id |
security_result.detecrion.fields |
SPCBId |
sec_result.detection_fields |
spt |
principal.port |
src |
principal.ip principal.asset.ip |
src_hostname |
principal.hostname principal.asset.hostname |
src_ip |
principal.ip principal.asset.ip |
src_ip1 |
src.ip,src.asset.ip |
src_port |
principal.port |
ssid |
network.session_id |
SSLVPN_client_type |
additional.fields |
SSO |
additional.fields |
sso |
additional.fields |
sso_auth_type |
additional.fields |
sso_flags |
security_result.detection_fields |
sso_state |
additional.fields |
SSOduration |
additional.fields |
SSOurl |
additional.fields |
ssoUsername |
additional.fields |
ssoUsername2 |
additional.fields |
ST |
principal.location.state |
sta_port |
additional.fields |
sta_ticket |
additional.fields |
start_time |
additional.fields |
Start_time |
additional.fields |
State |
security_result.action_details |
state |
additional.fields |
state_value |
additional.fields |
StatusCode |
additional.fields |
SubjectName |
network.tls.client.certificate.subject |
summ |
security_result.summary |
summary |
security_result.summary |
sysCmdPolLen |
security_result.detection.fields |
syslog_priority |
additional.fields |
tags |
additional.fields |
tar_ip |
target.ip target.asset.ip |
tar_port |
target.port |
target_id |
target.resource.id |
target_port |
target.port |
TCP |
network.ip_protocol |
timeout_ms |
additional.fields |
timestamp |
metadata.event_timestamp |
Total_bytes_send |
network.sent_bytes |
Total_compressedbytes_recv |
additional.fields |
Total_compressedbytes_send |
additional.fields |
Total_policies_allowed |
security_result.detection.fields |
Total_policies_denied |
security_result.detection.fields |
Total_TCP_connections |
security_result.detection.fields |
Total_UDP_flows |
security_result.detection.fields |
track_flags |
additional.fields |
trans_id |
- |
tt |
metadata.event_timestamp |
User |
principal.user.userid |
user_agent.original |
network.http.user_agent |
user_email |
principal.user.email_addresses |
user_id |
principal.user.userid |
user.domain |
target.administrative_domain |
user.name |
principal.user.user_display_name |
userids |
target.user.userid |
ValidFrom |
network.tls.server.certificate.not_before |
ValidTo |
network.tls.server.certificate.not_after |
version |
additional.fields |
VPNexportState |
additional.fields |
Vport |
target.port |
Vserver Timestamp |
additional.fields |
vserver_id |
target.resource.product_object_id |
Vserver_ip |
target.ip,target.asset.ip |
vserver_port |
target.port |
Vserver_port |
target.port |
vserver_timestamp |
additional.fields |
vserver.ip |
target.ip,target.asset.ip |
wirep |
additional.fields |
wirep_name |
additional.fields |
wirep_ref_cnt |
additional.fields |
Référence du delta de mappage UDM
Le 3 février 2026, Google SecOps a publié une nouvelle version du parseur NetScaler, qui inclut des modifications importantes concernant le mappage des champs de journaux NetScaler vers les champs UDM et le mappage des types d'événements.
Delta de mappage entre les champs de journaux
Le tableau suivant liste le delta de mappage pour les champs de journaux NetScaler vers UDM exposés avant le 3 février 2026 et après (listés respectivement dans les colonnes Ancien mappage et Mappage actuel) :
| Champ du journal | Ancienne correspondance | Mappage actuel |
|---|---|---|
act |
securit_.result.detetction_fields |
securtiy_result.action_details,security_result.action |
client_ip |
additional.fields |
principal.ip,principal.asset.ip |
ClientVersion |
network.tls.version |
network.tls.version_protocol |
connectionId |
security_result.detection_fields |
network.session_id |
CSAppname |
- |
- |
domain |
target.user.administrative_domain |
security_result.detection.fields,additional.fields |
end_time |
security_result.detection.fields security_result.last_discovered_time |
additional.fields |
event_id |
additional.fields |
metadata.product_log_id |
geolocation |
location.city |
location.country_region |
Group(s) |
target.user.group_display_name |
target.user.group_identifiers |
HandshakeTime |
network.session_duration.seconds |
additional.fields |
host.name |
intermediary.hostname |
target.hostname,target.asset.hostname |
hostname |
target.hostname,target.asset.hostname |
intermediary.hostname,intermediary.asset.hostname |
hostname |
principal.hostname,principal.asset.hostname |
target.hostname,target.asset.hostname |
ipaddress |
principal.ip,principal.asset.ip |
target.ip,target.asset.ip |
Nat_ip |
principal.ip,principal.asset.ip |
principal.nat_ip,principal.nat_ip |
port_details |
principal.labels |
principal.port |
principal_ip |
target.ip,target.asset.ip |
principal.ip,principal.asset.ip |
request |
security_result.summary |
target.url |
sess_seq |
additional.fields |
network.session_id |
session_guid |
metadata.product_log_id |
network.session_id |
source_hostname |
target.hostname,target.asset.hostname |
principal.hostname,principal.asset.hostname |
spcb_id |
additional.fields |
security_result.detecrion.fields |
ssid |
additional.fields |
network.session_id |
start_time |
security_result.detection.fields security_result.first_discovered_time |
additional.fields |
SubjectName |
principal.resource.attribute.labels |
network.tls.client.certificate.subject |
summary |
metadata.descritption |
security_result.summary |
target_port |
principal.port |
target.port |
trans_id |
security_result.detection.fields |
- |
user_id |
target.user.userid |
principal.user.userid |
Delta de mappage des types d'événements
Le tableau suivant répertorie le delta pour la gestion des types d'événements NetScaler avant le 3 février 2026 et après (respectivement listés dans les colonnes Ancien event_type et event_type actuel) :
| Ancien event_type | Current event_type | Motif |
|---|---|---|
NETWORK_CONNECTION |
NETWORK_DNS |
Si message_type est DNS_QUERY ou nommé lorsque has_network_dns est true. |
NETWORK_CONNECTION |
NETWORK_HTTP |
Quand message_type est SSLVPN HTTPREQUEST. |
STATUS_UPDATE |
NETWORK_CONNECTION |
être mappé à un type d'événement spécifique approprié ; |
STATUS_UPDATE |
USER_RESOURCE_UPDATE_CONTENT |
Lorsque message_type est défini sur SNMP TRAP_SENT et que has_target_resource est défini sur true, cela est mappé à un type d'événement spécifique approprié. |
STATUS_UPDATE |
USER_UNCATEGORIZED |
Mappé à un type d'événement spécifique approprié lorsque le principal userid est présent. |
USER_RESOURCE_ACCESS |
NETWORK_HTTP |
Lorsque message_type est défini sur SSLVPN HTTPREQUEST |
USER_STATS |
GENERIC_EVENT |
USER_STATS étant obsolète, il est mappé à un type d'événement spécifique approprié. |
USER_STATS |
NETWORK_CONNECTION |
USER_STATS étant obsolète, il est mappé à un type d'événement spécifique approprié. |
USER_STATS |
USER_LOGIN |
USER_STATS étant obsolète, il est mappé à un type d'événement spécifique approprié. |
USER_STATS |
USER_LOGOUT |
USER_STATS étant obsolète, il est mappé à un type d'événement spécifique approprié lorsque message_type est LOGOUT. |
USER_UNCATEGORIZED |
GENERIC_EVENT |
Le journal ne comporte aucun champ de machine principale à mapper. |
USER_UNCATEGORIZED |
NETWORK_CONNECTION |
être mappé à un type d'événement spécifique approprié ; |
USER_UNCATEGORIZED |
USER_LOGIN |
être mappé à un type d'événement spécifique approprié ; |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.