Access Gate transmet ses flux d'audit et d'alertes via syslog (RFC 5424). Ce guide décrit la configuration côté Elastic permettant d'ingérer ces événements via Logstash, de les stocker dans Elasticsearch et de les exploiter dans Kibana.
Prérequis
- Access Gate configuré pour transmettre les journaux par syslog TCP vers votre hôte Logstash. Voir Transfert de logs et export SIEM.
- Elastic Stack 8.x — Elasticsearch, Logstash et Kibana — accessible depuis l'appliance Access Gate.
- Un port d'écoute Logstash. Les exemples utilisent
5514/TCPafin d'éviter le port privilégié 514.
Configurer le pipeline Logstash
Les événements Access Gate sont émis par le processus vigil au format structuré RFC 5424. L'input syslog natif de Logstash ne reconnaît que la RFC 3164 ; utilisez l'input tcp avec un filtre grok pour extraire les champs structurés Access Gate.
Créez /etc/logstash/conf.d/access-gate.conf :
input {
tcp {
port => 5514
type => "access-gate"
}
}
filter {
if [type] == "access-gate" {
grok {
match => {
"message" => "<%{POSINT:priority}>%{INT:version} %{TIMESTAMP_ISO8601:event_time} %{HOSTNAME:host_name} %{WORD:program} %{POSINT:procid} %{WORD:severity} \[%{DATA:sd_id} Log=\"%{DATA:event_log}\" Mitre=\"%{DATA:mitre}\" PrincipalIp=\"%{IP:src_ip}\" Rule=\"%{DATA:rule}\"\]"
}
}
date {
match => ["event_time", "ISO8601"]
target => "@timestamp"
}
mutate {
remove_field => ["message", "priority", "version", "procid", "sd_id"]
}
}
}
output {
if [type] == "access-gate" {
elasticsearch {
hosts => ["https://elasticsearch:9200"]
index => "access-gate-%{+YYYY.MM.dd}"
user => "${ELASTIC_USER}"
password => "${ELASTIC_PASSWORD}"
}
}
}
Rechargez Logstash après chaque modification du pipeline :
sudo systemctl restart logstash
Ce filtre extrait cinq champs de chaque événement Access Gate :
| Champ | Source | Exemple |
|---|---|---|
event_log | Log | user Alice Salmon logged in using screen CUI Access |
mitre | Mitre | ----- |
src_ip | PrincipalIp | 192.168.100.59 |
rule | Rule | Access Screen Login Attempt |
severity | MSGID RFC 5424 | ALERT |
Appliquer un index template
Sans index template, Elasticsearch déduit les types à partir du premier document et peut choisir un mauvais type pour src_ip (chaîne au lieu de ip). Appliquez ce template avant l'arrivée du premier document :
curl -u "$ELASTIC_USER:$ELASTIC_PASSWORD" -X PUT \
"https://elasticsearch:9200/_index_template/access-gate" \
-H "Content-Type: application/json" -d '{
"index_patterns": ["access-gate-*"],
"template": {
"mappings": {
"properties": {
"@timestamp": { "type": "date" },
"event_log": { "type": "text" },
"mitre": { "type": "keyword" },
"src_ip": { "type": "ip" },
"rule": { "type": "keyword" },
"severity": { "type": "keyword" },
"host_name": { "type": "keyword" }
}
}
}
}'
Valider le pipeline
Envoyez un événement de test à Logstash avec nc pour vérifier l'analyse avant de pointer l'Access Gate :
echo '<130>1 2026-04-24T20:53:10.313Z access-gate vigil 334 ALERT [context@60446 Log="user Alice Salmon logged in using screen CUI Access" Mitre="-----" PrincipalIp="192.168.100.59" Rule="Access Screen Login Attempt"]' \
| nc -q1 logstash 5514
Vérifiez que le document est bien indexé :
curl -u "$ELASTIC_USER:$ELASTIC_PASSWORD" \
"https://elasticsearch:9200/access-gate-*/_search?q=rule:%22Access+Screen+Login+Attempt%22&pretty"
Le résultat doit présenter src_ip, rule et event_log renseignés.
Créer la data view Kibana
Dans Kibana, ouvrez Stack Management → Data Views → Create data view :
- Name :
access-gate - Index pattern :
access-gate-* - Timestamp field :
@timestamp
Ouvrez Discover, sélectionnez la data view access-gate et réglez la plage temporelle sur les 15 dernières minutes. Une connexion déclenchée depuis l'interface Access Gate doit apparaître avec tous les champs extraits.
Ajouter une règle de détection
Dans Security → Rules → Create new rule de Kibana, choisissez une règle de type Custom query avec :
- Index pattern :
access-gate-* - Query :
severity:"ALERT" AND rule:"Access Screen Login Attempt" - Severity :
Medium
La règle se déclenche à chaque connexion authentifiée sur un écran privilégié — adaptez la requête aux règles que vous souhaitez surveiller.
Voir aussi
- Transfert de logs et export SIEM — configurer la destination syslog côté Access Gate
- Détection et alertes — ce qui alimente le flux d'alertes
- Journaux système et informations de diagnostic — journaux locaux pour le dépannage