View a markdown version of this page

Configuration des périphériques Syslog - CloudWatch Journaux Amazon

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configuration des périphériques Syslog

Après avoir configuré l'ingestion de syslog, configurez vos sources de syslog pour envoyer des messages au nom DNS du point de terminaison du VPC. Vos appareils atteignent le point de terminaison via votre connexion VPN ou Direct Connect au VPC.

Note

Les configurations suivantes sont fournies à titre d'exemple. Pour connaître les options de configuration complètes et les meilleures pratiques, reportez-vous à la documentation officielle de votre implémentation de syslog (rsyslog, syslog-ng ou fournisseur de votre appareil).

Dans les exemples suivants, remplacez-le VPCE_DNS par le nom DNS du point de terminaison VPC indiqué dans la procédure de configuration (par exemple,vpce-0abc123def456.syslog-logs.us-east-1.vpce.amazonaws.com).

rsyslog

rsyslog est le démon syslog par défaut sur la plupart des distributions Linux. Ajoutez la configuration suivante à/etc/rsyslog.d/50-cwl-syslog.conf.

TCP+TLS :

# Forward all logs to CloudWatch Logs via TCP+TLS action(type="omfwd" target="VPCE_DNS" port="6514" protocol="tcp" StreamDriver="gtls" StreamDriverMode="1" StreamDriverAuthMode="x509/certvalid" template="RSYSLOG_SyslogProtocol23Format" queue.type="LinkedList" queue.filename="cwl_fwd" queue.saveOnShutdown="on" action.resumeRetryCount="-1")

Texte brut TCP :

# Forward all logs to CloudWatch Logs via plaintext TCP action(type="omfwd" target="VPCE_DNS" port="1514" protocol="tcp" template="RSYSLOG_SyslogProtocol23Format" queue.type="LinkedList" queue.filename="cwl_fwd" queue.saveOnShutdown="on" action.resumeRetryCount="-1")

UDP :

# Forward all logs to CloudWatch Logs via UDP action(type="omfwd" target="VPCE_DNS" port="514" protocol="udp" template="RSYSLOG_SyslogProtocol23Format")

Après avoir ajouté la configuration, redémarrez rsyslog :

sudo systemctl restart rsyslog
Note

Les queue.saveOnShutdown="on" directives queue.type="LinkedList" et permettent la mise en file d'attente assistée par disque. Si la connexion au point de terminaison du VPC est temporairement perdue, rsyslog met les messages en mémoire tampon localement et tente à nouveau de les envoyer.

Filtrage par installation ou par gravité :

Pour n'envoyer que des messages spécifiques, ajoutez un filtre avant l'action :

# Send only auth messages via TCP+TLS auth,authpriv.* action(type="omfwd" target="VPCE_DNS" port="6514" protocol="tcp" StreamDriver="gtls" StreamDriverMode="1" StreamDriverAuthMode="x509/certvalid" template="RSYSLOG_SyslogProtocol23Format")

syslog-ng

syslog-ng est couramment utilisé sur les appareils réseau et les systèmes Linux d'entreprise. Ajoutez la configuration suivante à/etc/syslog-ng/conf.d/cwl-syslog.conf.

TCP+TLS :

destination d_cwl_syslog { network("VPCE_DNS" port(6514) transport("tls") tls( peer-verify(required-trusted) ca-dir("/etc/ssl/certs") ) ); }; log { source(s_sys); destination(d_cwl_syslog); };

Texte brut TCP :

destination d_cwl_syslog { network("VPCE_DNS" port(1514) transport("tcp") ); }; log { source(s_sys); destination(d_cwl_syslog); };

UDP :

destination d_cwl_syslog { network("VPCE_DNS" port(514) transport("udp") ); }; log { source(s_sys); destination(d_cwl_syslog); };

Après avoir ajouté la configuration, redémarrez syslog-ng :

sudo systemctl restart syslog-ng

Validation rapide

Utilisez les commandes suivantes depuis n'importe quel hôte pouvant atteindre le point de terminaison du VPC pour vérifier la connectivité.

Texte brut TCP (port 1514) :

echo "<134>1 $(date -u +%Y-%m-%dT%H:%M:%SZ) myhost myapp 1234 - - Hello from syslog" | \ nc VPCE_DNS 1514

TCP+ TLS (port 6514) :

echo "<134>1 $(date -u +%Y-%m-%dT%H:%M:%SZ) myhost myapp 1234 - - Hello TLS syslog" | \ openssl s_client -connect VPCE_DNS:6514 -quiet -no_ign_eof

UDP (port 514) :

echo "<134>1 $(date -u +%Y-%m-%dT%H:%M:%SZ) myhost myapp 1234 - - Hello UDP syslog" | \ nc -u -w1 VPCE_DNS 514

Après avoir envoyé des messages de test, vérifiez leur livraison dans CloudWatch Logs (généralement dans un délai de 10 à 20 secondes) :

aws logs filter-log-events \ --log-group-name /syslog/my-devices \ --start-time $(date -d '5 minutes ago' +%s000 2>/dev/null || echo $(($(date -v-5M +%s) * 1000))) \ --region $REGION

Appareils réseau

La plupart des pare-feux, routeurs et commutateurs prennent en charge la configuration d'un serveur Syslog externe en spécifiant une adresse IP et un port de destination. Utilisez l'adresse IP privée de l'ENI du point de terminaison VPC (visible dans la console Amazon VPC sous Endpoints) et l'un des ports pris en charge (6514, 1514 ou 514).

Consultez la documentation de votre appareil pour connaître la syntaxe de configuration spécifique. Les principaux paramètres à configurer sont les suivants :

  • Adresse du serveur : nom DNS du point de terminaison du VPC ou adresse IP privée ENI.

  • Port : 6514 (TCP+TLS), 1514 (TCP) ou 514 (UDP).

  • Protocole : TCP (recommandé) ou UDP.

  • Format — RFC 5424 (préféré) ou RFC 3164 (ancien). Les deux sont pris en charge.

Certificat de confiance TLS

La connexion TLS sur le port 6514 utilise un certificat AWS géré émis par Amazon Trust Services. La plupart des systèmes d'exploitation et des démons Syslog font confiance à ce certificat automatiquement, car les certificats racine d'Amazon Trust Services sont inclus dans les magasins CA Trust standard.

Si votre appareil ne fait pas confiance au certificat par défaut, téléchargez les certificats racines d'Amazon Trust Services depuis https://www.amazontrust.com/repository/et ajoutez-les à la boutique CA Trust de votre appareil.