**Lab 01 :: Ingestão Direta de Logs (Linux + RSyslog)**

Neste primeiro laboratório o objetivo é enviar Logs de um host com Linux (Debian) diretamente a partir do RSyslog para o RK-SIEM.
Para isso utilizaremos um Docker com o Debian Linux "enxuto" (slim) adicionado dos seguintes pacotes:
- RSyslog (Gerenciador de Logs do Linux)
- RSyslog-Elasticsearch (Pacote para envio dos Logs para o RK-SIEM/OpenSearch)
- OpenSSH -Servidor SSH para gerar logs de acesso a serem enviados para o RK-SIEM
O módulo *rsyslog-mmjsonparse* (presente no pacote RSyslog) será ativado para envio de Logs no formato JSON.
o módulo *omelasticsearch* (presente no pacote RSyslog-ElasticSearch) será ativado para envio de logs em bloco (bulk) para o RK-SIEM/OpenSearch.
Conteúdo do docker-compose.yml referente ao Host 01:
```
services:
rk-siem-host01:
image: ricardokleber/rk-siem-host01:latest
container_name: rk-siem-host01
hostname: rk-siem-host01
tty: true
stdin_open: true
restart: always
```
Conteúdo adicionado ao arquivo de configuração do RSyslog (*/etc/rsyslog.conf*) para formatar os logs em um Template JSON:
```
# Template para formatar o JSON
template(name="json-template" type="list") {
constant(value="{")
constant(value="\"@timestamp\":\"") property(name="timereported" dateFormat="rfc3339")
constant(value="\",\"host\":\"") property(name="hostname")
constant(value="\",\"severity\":\"") property(name="syslogseverity-text")
constant(value="\",\"facility\":\"") property(name="syslogfacility-text")
constant(value="\",\"message\":\"") property(name="msg" format="json")
constant(value="\"}")
```
Conteúdo adicionado ao arquivo de configuração do RSyslog (*/etc/rsyslog.conf*) para conexão ao RK-SIEM e envio dos Logs autenticando-se com usuário admin/admin:
```
# Envio para o RK-SIEM-CORE
action(type="omelasticsearch"
server="172.19.0.1"
serverport="9200"
template="json-template"
searchIndex="host01-logs"
bulkmode="on"
errorfile="/var/log/rsyslog-erros.log")
```
***
**Assista à Videoaula explicativa sobre o assunto clicando na imagem abaixo:**
