View a markdown version of this page

Configurazione dei dispositivi syslog - CloudWatch Registri Amazon

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione dei dispositivi syslog

Dopo aver configurato l'ingestione di syslog, configura le tue fonti syslog per inviare messaggi al nome DNS dell'endpoint VPC. I tuoi dispositivi raggiungono l'endpoint tramite la connessione VPN o Direct Connect al VPC.

Nota

Le seguenti configurazioni sono fornite a titolo di esempio. Per le opzioni di configurazione complete e le migliori pratiche, fate riferimento alla documentazione ufficiale per l'implementazione di syslog (rsyslog, syslog-ng o il fornitore del dispositivo).

Negli esempi seguenti, sostituiscilo VPCE_DNS con il nome DNS dell'endpoint VPC della procedura di configurazione (ad esempio,). vpce-0abc123def456.syslog-logs.us-east-1.vpce.amazonaws.com

rsyslog

rsyslog è il demone syslog predefinito nella maggior parte delle distribuzioni Linux. Aggiungere la seguente /etc/rsyslog.d/50-cwl-syslog.conf configurazione a.

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")

Testo semplice 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")

Dopo aver aggiunto la configurazione, riavvia rsyslog:

sudo systemctl restart rsyslog
Nota

Le queue.saveOnShutdown="on" direttive queue.type="LinkedList" and abilitano l'accodamento assistito da disco. Se la connessione all'endpoint VPC viene temporaneamente interrotta, rsyslog memorizza i messaggi nel buffer locale e riprova il recapito.

Filtraggio per struttura o gravità:

Per inviare solo messaggi specifici, aggiungi un filtro prima dell'azione:

# 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 è comunemente usato su dispositivi di rete e sistemi Linux aziendali. Aggiungere la seguente configurazione a. /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); };

Testo semplice 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); };

Dopo aver aggiunto la configurazione, riavvia syslog-ng:

sudo systemctl restart syslog-ng

Validazione rapida

Utilizza i seguenti comandi da qualsiasi host in grado di raggiungere l'endpoint VPC per verificare la connettività.

Testo semplice TCP (porta 1514):

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

TCP + TLS (porta 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 (porta 514):

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

Dopo aver inviato i messaggi di prova, verifica la consegna nei CloudWatch registri (di solito entro 10-20 secondi):

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

Apparecchiature di rete

La maggior parte dei firewall, dei router e degli switch supporta la configurazione di un server syslog esterno specificando un indirizzo IP e una porta di destinazione. Utilizza l'indirizzo IP privato dell'endpoint VPC ENI (visibile nella console Amazon VPC sotto Endpoints) e una delle porte supportate (6514, 1514 o 514).

Consulta la documentazione del tuo dispositivo per la sintassi di configurazione specifica. Le impostazioni principali da configurare sono:

  • Indirizzo server: il nome DNS dell'endpoint VPC o l'indirizzo IP privato ENI.

  • Porta: 6514 (TCP+TLS), 1514 (TCP) o 514 (UDP).

  • Protocollo: TCP (consigliato) o UDP.

  • Formato: RFC 5424 (preferito) o RFC 3164 (precedente). Entrambi sono supportati.

Attendibilità dei certificati TLS

La connessione TLS sulla porta 6514 utilizza un certificato AWS gestito emesso da Amazon Trust Services. La maggior parte dei sistemi operativi e dei daemon syslog si fida automaticamente di questo certificato perché i certificati root di Amazon Trust Services sono inclusi negli archivi trust standard di CA.

Se il tuo dispositivo non considera attendibile il certificato per impostazione predefinita, scarica i certificati root di Amazon Trust Services da https://www.amazontrust.com/repository/e aggiungili al CA Trust Store del dispositivo.