

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")
```
***
**Roteiro Passo a Passo:**
**1. Baixe o Repositório GIT do projeto**
```
git clone https://gitlab.ifrncn.com.br/ricardokleber/rk-siem.git
```
**2. Entre no diretório/pasta do projeto referente ao LAB01**
(O docker-compose deste diretório já contém as configurações do HOST01)
```
cd rk-siem/roteiros/03-lab01
```
**3. Levante o RK-SIEM-CORE**
```
docker compose up -d rk-siem-core
```
**4. Levante o RK-SIEM-UI**
```
docker compose up -d rk-siem-ui
```
(Após alguns segundos você já poderá subir a interface Web RK-SIEM-UI acessando http://localhost:5601 em um navegador)

**5. Levante o RK-SIEM-HOST01**
```
docker compose up -d rk-siem-host01
```
**6. Entre no HOST01 e ative os serviços RSyslog e SSH**
```
docker exec -it rk-siem-host01 bash
```
```
rsyslogd
```
```
service ssh start
```
***
**7. Acesse o RK-SIEM com as credenciais padrão**
```
Username: admin | Password: admin
```
**8. No Menu do canto superior esquerdo, na sessão 'Management' selecione 'Dashboards Management'**

**9. Selecione a opção 'Index patterns' para configurar o seu primeiro índice no RK-SIEM (para receber os Logs do HOST01)'**

**10. Clique no botão 'Create index pattern' para Criar seu primeiro índice**

Observe que o Host 01 já enviou logs para o RK-SIEM (A indicação do índice 'host01-logs' já aparece como fonte disponível)

**11. Preencha o campo 'Index pattern name' indicando que o índice que será criado deverá receber todo o tráfego de índices começando com 'host01-logs'**
```
host01-logs*
```

Clique no botão 'Next step' para o próximo passo.
**12. No campo 'Time field' você deverá indicar;selecionar o 'campo de índice de tempo' usado para indexar e exibir os logs. Clicando na seta surgirá o campo padrão utilizado em Logs '@timestamp'. Clique para selecioná-lo**
```
@timestamp
```

(Clique no botão 'Create index pattern' para finalizar a criação do índice).
**Você já poderá visualizar os logs chegando do 'Host01' na seção 'Discover'**


***
**Assista à Videoaula explicativa sobre o assunto clicando na imagem abaixo:**
