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 par le nom DNS du point de terminaison VPC indiqué dans la procédure de configuration (par exemple,VPCE_DNSvpce-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" | \ ncVPCE_DNS1514
TCP+ TLS (port 6514) :
echo "<134>1 $(date -u +%Y-%m-%dT%H:%M:%SZ) myhost myapp 1234 - - Hello TLS syslog" | \ openssl s_client -connectVPCE_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 -w1VPCE_DNS514
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/