Mudanças entre as edições de "Servidor de Logs"
Linha 19: | Linha 19: | ||
Para a instalação do servidor, basta ter em mãos um pendrive com o instalador do Debian Buster. Caso ainda não tenha, aqui vai um [https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/10.9.0+nonfree/amd64/iso-cd/firmware-10.9.0-amd64-netinst.iso link] que costumo usar. Esse link pode mudar conforme atualizações do sistema. Não iremos entrar em detalhes sobre a instalação do Debian, só tenha em mente que você precisará instalar o mínimo necessário e o servidor ssh para acessá-lo remotamente. Nada de ambientes gráficos! | Para a instalação do servidor, basta ter em mãos um pendrive com o instalador do Debian Buster. Caso ainda não tenha, aqui vai um [https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/10.9.0+nonfree/amd64/iso-cd/firmware-10.9.0-amd64-netinst.iso link] que costumo usar. Esse link pode mudar conforme atualizações do sistema. Não iremos entrar em detalhes sobre a instalação do Debian, só tenha em mente que você precisará instalar o mínimo necessário e o servidor ssh para acessá-lo remotamente. Nada de ambientes gráficos! | ||
− | O sistema não deve ter nenhum serviço rodando além do ''' | + | O sistema não deve ter nenhum serviço rodando além do '''ntpd''' e o '''rsyslogd'''. Desabilite e/ou remova qualquer serviço desnecessário. Isso melhora a segurança do seu sistema e uso de recursos. |
+ | |||
+ | '''Acertando a data/hora do sistema:'''<pre> | ||
+ | # apt install openntpd | ||
+ | </pre>Alterar o '''/etc/openntpd/ntpd.conf''' comentando a configuração atual e adicionando o novo Pool conforme abaixo:<pre> | ||
+ | # $OpenBSD: ntpd.conf,v 1.14 2015/07/15 20:28:37 ajacoutot Exp $ | ||
+ | # sample ntpd configuration file, see ntpd.conf(5) | ||
+ | |||
+ | # Addresses to listen on (ntpd does not listen by default) | ||
+ | #listen on * | ||
+ | #listen on 127.0.0.1 | ||
+ | #listen on ::1 | ||
+ | |||
+ | # sync to a single server | ||
+ | #server ntp.example.org | ||
+ | |||
+ | # use a random selection of NTP Pool Time Servers | ||
+ | # see http://support.ntp.org/bin/view/Servers/NTPPoolServers | ||
+ | #servers pool.ntp.org | ||
+ | servers pool.ntp.br | ||
+ | |||
+ | # Choose servers announced from Debian NTP Pool | ||
+ | #servers 0.debian.pool.ntp.org | ||
+ | #servers 1.debian.pool.ntp.org | ||
+ | #servers 2.debian.pool.ntp.org | ||
+ | #servers 3.debian.pool.ntp.org | ||
+ | |||
+ | # use a specific local timedelta sensor (radio clock, etc) | ||
+ | #sensor nmea0 | ||
+ | |||
+ | # use all detected timedelta sensors | ||
+ | #sensor * | ||
+ | </pre>Reiniciaremos o serviço e checaremos se a data e hora estão corretas:<pre> | ||
+ | # systemctl restart openntpd.service | ||
+ | |||
+ | # date | ||
+ | sex abr 23 17:25:29 -03 2021 | ||
+ | </pre>Caso o fuso horário do servidor esteja errado, pode usar o seguinte comando para corrigir: '''dpkg-reconfigure tzdata''' | ||
+ | Agora partiremos para a configuração do Servidor de Logs em si. Vamos definir a seguinte estratégia baseada no diagrama acima: temos 3 tipos de casos, como exemplo, servidores comuns (serviços como http, smtp, dns, etc), caixas CGNAT e Mikrotiks fazendo, por exemplo, concentração PPPoE (BNG). Baseado nessas informações, separaremos o armazenamento em diretórios distintos, facilitando a organização e manipulação dos dados armazenados.<pre> | ||
+ | # mkdir /var/log/danos | ||
+ | # mkdir /var/log/servidores | ||
+ | # mkdir /var/log/mikrotiks | ||
+ | </pre>No primeiro serão armazenados os logs referentes aos servidores de CGNAT DANOS. No segundo logs de servidores comuns de Internet, por exemplo. Por último os relacionados com os Mikrotiks. |
Edição das 17h44min de 23 de abril de 2021
O Servidor de Logs é um recurso bastante útil em uma rede onde necessitamos centralizar os logs de todos os servidores, para analisá-los melhor. Uma outra vantagem está relacionada à segurança da informação, porque um servidor invadido enviará logs para um sistema remoto, dificultando que o invasor apague seus rastros. Para que ele obtenha êxito em destruir esses dados, terá que invadir, também, o Servidor de Logs da sua rede. Uma boa prática de se montar um sistema como esse, é também saber como organizar os dados recebidos dos servidores e organizá-los de forma prática e de fácil acesso. Outra utilidade para esse sistema, seria para armazenar logs de uma caixa CGNAT BPA (Bulk Port Allocation). Não sabe o que seria? Consulte aqui. Também para coletar logs IPv6 de sistemas que ainda não fazem isso 100% via Radius, por exemplo. Bem, existem diversas ideias para se utilizar o Servidor de Logs.
Para tanto, precisamos também dar um mínimo de segurança a esse servidor e também precisamos pensar em uma estratégia de rotacionamento desses logs, para que não acabe o espaço em disco e comprometa a coleta desses dados tão valiosos. Não é mesmo? Por que uma estratégia? Porque podem existir logs que necessitarão de serem armazenados entre 2 a 5 anos e outros que por apenas poucas semanas, meses, etc.
Sistema e recursos que usaremos nesse Servidor
- Debian 10 (Buster) - Sistema Operacional onde rodaremos os serviços.
- Rsyslog - serviço responsável por enviar e coletar os logs dos servidores.
- Logrotate - faz o rotacionamentos dos logs armazenados.
- OpenNTPd - para mantermos a data e hora do sistema corretos. Isso é muito importante em se tratando de logs.
- nftables - sucessor do Netfilter/IPTables onde criaremos os filtros de pacotes.
- SSD ou HDD (o espaço vai depender da necessidade de cada rede). Prefiro usar SSD pela performance e se possível em RAID10 para ter mais disponibilidade, mas vai da preferência de cada sysadmin. Também podemos usar virtualização.
- Processamento e memória não são requisitos altos.
- IPv6 - Porque precisamos ter consciência de sua importância para continuidade da Internet. Então por que não usarmos ele em nossa implementação?
Diagrama exemplo
Configurando o Servidor
Para a instalação do servidor, basta ter em mãos um pendrive com o instalador do Debian Buster. Caso ainda não tenha, aqui vai um link que costumo usar. Esse link pode mudar conforme atualizações do sistema. Não iremos entrar em detalhes sobre a instalação do Debian, só tenha em mente que você precisará instalar o mínimo necessário e o servidor ssh para acessá-lo remotamente. Nada de ambientes gráficos!
O sistema não deve ter nenhum serviço rodando além do ntpd e o rsyslogd. Desabilite e/ou remova qualquer serviço desnecessário. Isso melhora a segurança do seu sistema e uso de recursos.
Acertando a data/hora do sistema:
# apt install openntpd
Alterar o /etc/openntpd/ntpd.conf comentando a configuração atual e adicionando o novo Pool conforme abaixo:
- $OpenBSD: ntpd.conf,v 1.14 2015/07/15 20:28:37 ajacoutot Exp $
- sample ntpd configuration file, see ntpd.conf(5)
- Addresses to listen on (ntpd does not listen by default)
- listen on *
- listen on 127.0.0.1
- listen on ::1
- sync to a single server
- server ntp.example.org
- use a random selection of NTP Pool Time Servers
- see http://support.ntp.org/bin/view/Servers/NTPPoolServers
- servers pool.ntp.org
servers pool.ntp.br
- Choose servers announced from Debian NTP Pool
- servers 0.debian.pool.ntp.org
- servers 1.debian.pool.ntp.org
- servers 2.debian.pool.ntp.org
- servers 3.debian.pool.ntp.org
- use a specific local timedelta sensor (radio clock, etc)
- sensor nmea0
- use all detected timedelta sensors
- sensor *
Reiniciaremos o serviço e checaremos se a data e hora estão corretas:
- systemctl restart openntpd.service
- date
sex abr 23 17:25:29 -03 2021
Caso o fuso horário do servidor esteja errado, pode usar o seguinte comando para corrigir: dpkg-reconfigure tzdata Agora partiremos para a configuração do Servidor de Logs em si. Vamos definir a seguinte estratégia baseada no diagrama acima: temos 3 tipos de casos, como exemplo, servidores comuns (serviços como http, smtp, dns, etc), caixas CGNAT e Mikrotiks fazendo, por exemplo, concentração PPPoE (BNG). Baseado nessas informações, separaremos o armazenamento em diretórios distintos, facilitando a organização e manipulação dos dados armazenados.
# mkdir /var/log/danos # mkdir /var/log/servidores # mkdir /var/log/mikrotiks
No primeiro serão armazenados os logs referentes aos servidores de CGNAT DANOS. No segundo logs de servidores comuns de Internet, por exemplo. Por último os relacionados com os Mikrotiks.