sistemas:graylog2

Documentação Graylog2

É capaz de armazenar os logs de diversos servidores de forma centralizada, possui ferramentas de busca afinadas que permitem a recuperação rápida e precisa de registros com bases em diversos critérios, como tipo de log, conteúdo, data/hora, serviço afetado. Permite a criação de gráficos específicos para cada tipo de mensagem. Se apresenta como uma excelente ferramente para auditoria de sistemas mesmo em caso de invasões por enviar registros de procedimentos executados pelo invasor imediatamente após sua execução.

Serviço em fase de implementação

  • Centralização de logs de Sistemas Remotos;
  • Auditoria de sistemas;
  • Facilitador na identificação de problemas de aplicações e segurança de sistemas;
  • (X) Redes ( ) Suporte ( ) Software ( ) Internet

Analistas e Técnicos de Infraestrutura que desejam colherem informações relativas aos logs de sistemas de forma rápida e prática. Os demais servidores/sistemas serão beneficiados por terem uma solução centralizada de logs não sendo mais necessário manter logs individualmente em cada um dos sistemas.

É necessário que os servidores possuam serviço de log remoto como exemplo o “rsyslog”.

Thiago Feitosa

  • Email: thiago@dgti.ifce.edu.br
  • Telefone: 85 81806767

Lucas do Amaral Saboya

  • Email: lucas@dgti.ifce.edu.br
  • Telefone: 85 81306408

Valber Jones de Castro

  • Email: valber.jones@dgti.ifce.edu.br
  • Telefone: 85 87442918
  • Linguagem de Desenvolvimento: Java
  • Sistema Operacional: Ubuntu 14.04 LTS
  • Aplicação: Graylog2
  • Características do Servidor: Virtualizado: VMware vSphere; Máquina: Cluster IFCE-Reitoria; HP Bladesystem C7000; PROCESSADOR: 2V CPU; MEMÓRIA RAM: 4GB; DISCO: 10GB ou >; HostName/IP: graylog.ifce.edu.br
  • Servidor de Treinamento: Não possui.
  • Servidor de Homologação: Não possui.
  • Portas/Serviços: 22/tcp: openssh; 9000/tcp: Interface Web Graylog2
  1. MongoDB: É um banco de dados orientado a “documentos” do tipo “Não-SQL”. Trata-se de uma aplicação Open-Source. Características relevantes quanto ao seu funcionamento: Para evitar problemas com fragmentação de arquivos (e com isto obter mais performance) o MongoDB pré aloca seus arquivos de dados. O primeiro arquivo se chamará [nome do seu banco de dados].0 e terá 64 Mb de tamanho. Conforme você usa o espaço alocado, quando estiver usando metade deste arquivo, um novo chamado [nome do seu bd].1 será criado com 128 Mb. E isto prosseguirá para arquivos com 256, 512, 1024 e finalmente 2048 Mb. A partir de então todo novo arquivo possuirá 2 Gb de tamanho. Em nosso caso o banco de dados do Graylog2 encontra-se no seguinte local: \var\lib\mongodb.A versão de 32bits deve ser evitada em ambientes de produção pois não permite que o banco possua tamanho superior a 2GB.

- ElasticSearch: Elasticsearch é um poderoso motor de busca em tempo real, Open-Source que facilita a analise e exploração de dados.Possui estrutura escalável permitindo que vários nodes (nós) sejam agrupados para acelerar a indexação e recuperação de informações. Possui inteligência que favorece a alta disponibilidade, pois ele é capaz de detectar automaticamente e remover os “nós” falhos, e reorganizar-se para garantir a segurança e disponibilidade dos dados. - Graylog2-Server: Trata-se de um gerenciador de log Open-Source. Permite configurar uma série de tipos de Imputs que permite que ele receba logs de diversos tipos através de conexões UDP ou TCP nas portas que forem configuradas. Ferramenta DashBoard: Qualquer análise ou resultado de pesquisas pode ser adicionado como um widget para os dashboards. É possível criar páginas que mostram todos os dados através de gráficos e tendências importantes com um clique de acordo como o dashboard foi configurado. Estes gráficos são constantemente atualizados e dinâmicos executam em cache para economizar recursos. Podem ser criados alertas que permitem notificações em caso de condições ou eventos estabelecidos altamente configuráveis. - Graylog2-Web-Interface: É a interface de utilização do Graylog2, seu acesso é feito através da web e possui como porta padrão 9000 TCP. Em nosso caso o endreço de acesso ao sevidor é o seguinte: graylog.ifce.edu.br:9000

- Ordem de inicialização dos serviços: 1º MongoDB, 2º ElasticSearch, 3º Graylog2-Server, 4ºGraylog2-Web-Interface.

- Procedimento para iniciar os serviços manualmente se necessário:

  1. # sudo service mongodb start
  2. # sudo service elasticsearch start
  3. # sudo service graylog2-server start
  4. # sudo service graylog2-web-interface start

- Procedimentos/locais para consulta de logs das aplicações:

  1. # sudo tail -f /var/log/mongodb/mongodb.log
  2. # sudo tail -f /var/log/elasticsearch/elasticsearch.log
  3. # sudo tail -f /opt/graylog2-server/log/graylog2-server.log
  4. # sudo tail -f /opt/graylog2-web-interface/logs/application.log

- Troubleshooting:

Graylog2-Web-Interface não inicia. Pode ser necessário remover o arquivo com identificador do PID do processo, para isso execute o seguinte procedimento:

  • # sudo rm /opt/graylog2-web-interface-0.20.3/RUNNING_PID

É necessário verificar se os clientes possuem o rsyslog instalado (serviço de log remoto instalado). Caso o servidor não possua o rsyslog instalado poderá ser instalado da seguinte maneira:

  • # sudo apt-get install rsyslog

Para que os clientes possam enviar seus logs para o Graylog2 Server é necessário incluir as duas linhas seguintes no arquivo /etc/rsyslog.conf

  • $template GRAYLOGRFC5424,“<%pri%>%protocol-version% %timestamp:::date rfc3339% %HOSTNAME% %app-name% %procid% %msg%\n”
  • *.* @@graylog.ifce.edu.br:514;GRAYLOGRFC5424

Após esse procedimento é necessário reiniciar o serviço do rsyslog para isso deve ser executado o seguinte comando:

  • # sudo service rsyslog restart

Para verificar se o cliente foi incluído no servidor é necessário na interface web do Graylog2 entrar na opção Source na parte superior em Source Name deve aparecer o nome do host do cliente adicionado.

Os procedimentos foram testados no seguinte sistema operacional Ubuntu 14.04.1 LTS. As versões das demais aplicações envolvidas na instalação foram as seguinte: elasticsearch ver-0.90.10, graylog2-server ver 0.20.3, graylog2-web-interface ver 0.20.3.

Instalação dos Pré Requisitos (alguns pacotes já encontrasse instalados nessa versão do Ubuntu):
  • # sudo apt-get -y install git curl libcurl4-openssl-dev libapr1-dev libcurl4-openssl-dev libapr1-dev build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion pkg-config python-software-properties software-properties-common openjdk-7-jre pwgen

apt-get -y install git curl build-essential openjdk-7-jre pwgen wget

Download do Elasticsearch, Graylog2-Server e Graylog2-Web-Interface.

Descompactando o Graylog Server e Graylog Web.

  • # tar zxf graylog2-server-0.20.3.tgz
  • # tar zxf graylog2-web-interface-0.20.3.tgz

Criando o link Simbólico para o diretório.

  • # echo “Creating SymLink Graylog2-server”
  • # ln -s graylog2-server-0.2*/ graylog2-server
Instalação do Elasticsearch.
  • # sudo dpkg -i elasticsearch-0.90.10.deb
  • # sudo sed -i -e 's|# cluster.name: elasticsearch|cluster.name: graylog2|' /etc/elasticsearch/elasticsearch.yml

Incluindo o elasticsearch para iniciar no boot.

  • # sudo update-rc.d elasticsearch defaults 95 10

Reiniciando o elasticsearch.

  • # sudo service elasticsearch restart

Testando conexão com o Elasticsearch

Instalação do MongoDB
# sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo "deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen" | tee /etc/apt/sources.list.d/10gen.list
apt-get -qq update
apt-get -y install mongodb-10gen
  • sistemas/graylog2.txt
  • Última modificação: 2021/08/25 10:33
  • (edição externa)