Como instalar o OSSEC HIDS em um servidor CentOS 7

Introdução

O OSSEC é um sistema de detecção de intrusão (HIDS) de código-fonte aberto que executa análise de log, verificação de integridade, monitoramento de registro do Windows, detecção de rootkit, alerta baseado em tempo e resposta ativa. É um aplicativo de segurança obrigatório em qualquer servidor.

O OSSEC pode ser instalado para monitorar apenas o servidor em que está instalado (uma instalação local) ou como um servidor para monitorar um ou mais agentes. Neste tutorial, você aprenderá como instalar o OSSEC para monitorar o CentOS 7 como uma instalação local.

Pré-requisitos

  • Um servidor CentOS 7 é configurado de preferência com chaves SSH e personalizado usando a Configuração inicial de um servidor CentOS 7 . Efetue login no servidor usando a conta de usuário padrão. Suponha que o nome de usuário seja joe .

    ssh -l joe server-ip-address
    

Etapa 1: Instalar Pacotes Necessários

O OSSEC será compilado a partir da fonte, portanto, você precisa de um compilador para tornar isso possível. Também requer um pacote extra para notificações. Instale-os digitando:

sudo yum install -y gcc inotify-tools

Etapa 2 - Faça o download e verifique o OSSEC

O OSSEC é entregue como um pacote compactado que deve ser baixado do site do projeto. O arquivo de soma de verificação, que será usado para verificar se o tarball não foi violado, também precisa ser baixado. No momento desta publicação, a versão mais recente do OSSEC era 2.8.2. Verifique a página de download do projeto e faça o download da versão mais recente.

Para baixar o tarball, digite:

wget -U ossec http://www.ossec.net/files/ossec-hids-2.8.2.tar.gz

Para o arquivo de soma de verificação, digite:

wget -U ossec http://www.ossec.net/files/ossec-hids-2.8.2-checksum.txt

Com os dois arquivos baixados, a próxima etapa é verificar as somas de verificação MD5 e SHA1 do tarball. Para o MD5sum, digite:

md5sum -c ossec-hids-2.8.2-checksum.txt

A saída esperada é:

ossec-hids-2.8.2.tar.gz: OK
md5sum: WARNING: 1 line is improperly formatted

Para verificar o hash SHA1, digite:

sha1sum -c ossec-hids-2.8.2-checksum.txt

E sua saída esperada é:

ossec-hids-2.8.2.tar.gz: OK
sha1sum: WARNING: 1 line is improperly formatted

Etapa 3: Determinar seu servidor SMTP

Durante o processo de instalação do OSSEC, você será solicitado a especificar um servidor SMTP para o seu endereço de email. Se você não souber o que é, o método mais fácil de descobrir é emitindo este comando na máquina local (substitua o endereço de email falso pelo real):

dig -t mx [email protected]

A seção relevante na saída é mostrada neste bloco de código. Nesta saída de amostra, o servidor SMTP para o endereço de email consultado está no final da linha - mail.vivaldi.net. . Observe que o ponto no final está incluído.

;; ANSWER SECTION:
vivaldi.net.        300 IN  MX  10 mail.vivaldi.net.

Etapa 4: instalar o OSSEC

Para instalar o OSSEC, primeiro você precisa descompactar o tarball, digitando:

tar xf ossec-hids-2.8.2.tar.gz

Ele será descompactado em um diretório com o nome e a versão do programa. Alterar ou cdpara ele. O OSSEC 2.8.2, a versão instalada para este artigo, possui um bug menor que precisa ser corrigido antes de iniciar a instalação. No momento em que a próxima versão estável é lançada, que deve ser OSSEC 2.9, isso não deve ser necessário, porque a correção já está na ramificação principal. Corrigi-lo para o OSSEC 2.8.2 significa apenas editar um arquivo, encontrado no active-responsediretório O arquivo é hosts-deny.sh, então abra-o usando:

nano active-response/hosts-deny.sh

No final do arquivo, procure este bloco de código:

# Deleting from hosts.deny
elif [ "x$" = "xdelete" ]; then
   lock;
   TMP_FILE = `mktemp /var/ossec/ossec-hosts.XXXXXXXXXX`
   if [ "X$" = "X" ]; then
      # Cheap fake tmpfile, but should be harder then no random data
      TMP_FILE = "/var/ossec/ossec-hosts.`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -1 `"
   fi

Nas linhas que começam com TMP_FILE , exclua os espaços ao redor do sinal = . Após remover os espaços, essa parte do arquivo deve ser a mostrada no bloco de código abaixo. Salve e feche o arquivo.

# Deleting from hosts.deny
elif [ "x$" = "xdelete" ]; then
   lock;
   TMP_FILE=`mktemp /var/ossec/ossec-hosts.XXXXXXXXXX`
   if [ "X$" = "X" ]; then
      # Cheap fake tmpfile, but should be harder then no random data
      TMP_FILE="/var/ossec/ossec-hosts.`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -1 `"
   fi

Agora que a correção está concluída, podemos iniciar o processo de instalação, digitando:

sudo ./install.sh

Durante o processo de instalação, você será solicitado a fornecer alguma entrada. Na maioria dos casos, você só precisa pressionar ENTER para aceitar o padrão. Primeiro, você será solicitado a selecionar o idioma de instalação, que por padrão é o inglês (en). Então pressione ENTER se esse for o seu idioma preferido. Caso contrário, insira as 2 letras da lista de idiomas suportados. Depois, pressione ENTER novamente.

A primeira pergunta perguntará qual tipo de instalação você deseja. Aqui, insira local .

1- What kind of installation do you want (server, agent, local, hybrid or help)? local

Para perguntas subsequentes, pressione ENTER para aceitar o padrão. A pergunta 3.1 solicitará seu endereço de e-mail e solicitará o servidor SMTP. Para essa pergunta, digite um endereço de email válido e o servidor SMTP que você determinou na Etapa 3.

3- Configuring the OSSEC HIDS.

   3.1- Do you want e-mail notification? (y/n) [y]: 
      - What's your e-mail address? [email protected]
      - What's your SMTP server ip/host?

Se a instalação for bem-sucedida, você deverá ver esta saída:

- Configuration finished properly.

...

    More information can be found at http://www.ossec.net

    ---  Press ENTER to finish (maybe more information below). ---

Pressione ENTER para concluir a instalação.

Etapa 5: Iniciar o OSSEC

OSSEC foi instalado, mas não iniciado. Para iniciá-lo, primeiro mude para a conta raiz.

sudo su

Em seguida, inicie-o emitindo o seguinte comando.

/var/ossec/bin/ossec-control start

Depois, verifique sua caixa de entrada. Deve haver um alerta do OSSEC informando que ele foi iniciado. Com isso, agora você sabe que o OSSEC está instalado e enviará alertas conforme necessário.

Etapa 6: personalizar o OSSEC

A configuração padrão do OSSEC funciona bem, mas há configurações que você pode ajustar para proteger melhor o servidor. O primeiro arquivo a personalizar é o principal arquivo de configuração - ossec.conf, que você encontrará no /var/ossec/etcdiretório Abra o arquivo:

nano /var/ossec/etc/ossec.conf

O primeiro item a verificar é uma configuração de email, que você encontrará na seção global do arquivo:

<global>
   <email_notification>yes</email_notification>
   <email_to>[email protected]</email_to>
   <smtp_server>mail.vivaldi.net.</smtp_server>
   <email_from>[email protected]</email_from>
</global>

Verifique se o endereço email_from é um email válido. Caso contrário, alguns servidores SMTP de um provedor de email marcarão os alertas do OSSEC como spam. Se o FQDN do servidor não estiver definido, a parte do domínio do email será definida como o nome do host do servidor, portanto, essa é uma configuração na qual você realmente deseja ter um endereço de email válido.

Outra configuração que você deseja personalizar, especialmente durante o teste do sistema, é a frequência com que o OSSEC executa suas auditorias. Essa configuração está na seção syscheck e, por padrão, é executada a cada 22 horas. Para testar os recursos de alerta do OSSEC, convém configurá-lo para um valor mais baixo, mas redefini-lo para o padrão posteriormente.

<syscheck>
   <!-- Frequency that syscheck is executed - default to every 22 hours -->
   <frequency>79200</frequency>

Por padrão, o OSSEC não alerta quando um novo arquivo é adicionado ao servidor. Para mudar isso, adicione uma nova tag logo abaixo da tag <frequency> . Quando concluída, a seção agora deve conter:

<syscheck>
   <!-- Frequency that syscheck is executed - default to every 22 hours -->
   <frequency>79200</frequency>

   <alert_new_files>yes</alert_new_files>

Uma última configuração que é boa para mudar está na lista de diretórios que o OSSEC deve verificar. Você os encontrará logo após a configuração anterior. Por padrão, os diretórios são mostrados como:

<!-- Directories to check  (perform all possible verifications) -->
   <directories check_all="yes">/etc,/usr/bin,/usr/sbin</directories>
   <directories check_all="yes">/bin,/sbin</directories>

Modifique as duas linhas para fazer alterações no relatório OSSEC em tempo real. Quando terminar, eles devem ler:

<directories report_changes="yes" realtime="yes" check_all="yes">/etc,/usr/bin,/usr/sbin</directories>
<directories report_changes="yes" realtime="yes" check_all="yes">/bin,/sbin</directories>

Salve e feche o arquivo.

O próximo arquivo que precisaremos modificar está local_rules.xmlno /var/ossec/rulesdiretório Então, cdnesse diretório:

cd /var/ossec/rules

Esse diretório contém os arquivos de regras do OSSEC, nenhum dos quais deve ser modificado, exceto o local_rules.xmlarquivo. Nesse arquivo, adicionamos regras personalizadas. A regra que precisamos adicionar é a que é acionada quando um novo arquivo é adicionado. Essa regra, numerada 554 , não aciona um alerta por padrão. Isso ocorre porque o OSSEC não envia alertas quando uma regra com nível definido como zero é acionada.

Aqui está como é a regra 554 por padrão.

 <rule id="554" level="0">
    <category>ossec</category>
    <decoded_as>syscheck_new_entry</decoded_as>
    <description>File added to the system.</description>
    <group>syscheck,</group>
 </rule>

Precisamos adicionar uma versão modificada dessa regra no local_rules.xmlarquivo. Essa versão modificada é fornecida no bloco de código abaixo. Copie e adicione-o na parte inferior do arquivo antes da tag de fechamento.

 <rule id="554" level="7" overwrite="yes">
    <category>ossec</category>
    <decoded_as>syscheck_new_entry</decoded_as>
    <description>File added to the system.</description>
    <group>syscheck,</group>
 </rule>

Salve e feche o arquivo e reinicie o OSSEC.

/var/ossec/bin/ossec-control restart

Mais Informações

O OSSEC é um software muito poderoso, e este artigo abordou apenas o básico. Você encontrará mais configurações de personalização na documentação oficial .



Leave a Comment

Configure sua própria rede privada com o OpenVPN

Configure sua própria rede privada com o OpenVPN

O Vultr oferece uma incrível conectividade de rede privada para servidores executando no mesmo local. Mas às vezes você quer dois servidores em países diferentes

Como instalar e configurar o CyberPanel no servidor CentOS 7

Como instalar e configurar o CyberPanel no servidor CentOS 7

Usando um sistema diferente? Introdução O CyberPanel é um dos primeiros painéis de controle do mercado, tanto de código aberto quanto de OpenLiteSpeed. What thi

Instale o eSpeak no CentOS 7

Instale o eSpeak no CentOS 7

Usando um sistema diferente? O ESpeak pode gerar arquivos de áudio de conversão de texto em fala (TTS). Isso pode ser útil por vários motivos, como criar seu próprio Turim

Monitore seus dispositivos usando o LibreNMS no CentOS 7

Monitore seus dispositivos usando o LibreNMS no CentOS 7

Usando um sistema diferente? O LibreNMS é um sistema de monitoramento de rede de código aberto completo. Ele usa o SNMP para obter os dados de diferentes dispositivos. Uma variedade

Como usar o Sudo no Debian, CentOS e FreeBSD

Como usar o Sudo no Debian, CentOS e FreeBSD

Usar um usuário sudo para acessar um servidor e executar comandos no nível raiz é uma prática muito comum entre o Linux e o Unix Systems Administrator. O uso de um sud

Como instalar o RabbitMQ no CentOS 7

Como instalar o RabbitMQ no CentOS 7

Usando um sistema diferente? O RabbitMQ é um intermediário de mensagens de código aberto amplamente usado, escrito na linguagem de programação Erlang. Como um middleware orientado a mensagens

Configurar o Nginx-RTMP no CentOS 7

Configurar o Nginx-RTMP no CentOS 7

Usando um sistema diferente? O RTMP é ótimo para veicular conteúdo ao vivo. Quando o RTMP é emparelhado com o FFmpeg, os fluxos podem ser convertidos em várias qualidades. Vultr i

Como instalar o Gradle no CentOS 7

Como instalar o Gradle no CentOS 7

Usando um sistema diferente? Gradle é um conjunto de ferramentas de automação de compilação de código aberto e gratuito baseado nos conceitos do Apache Ant e Apache Maven. Gradle fornece

Instale um servidor FTP com ProFTPd no CentOS 6 ou CentOS 7

Instale um servidor FTP com ProFTPd no CentOS 6 ou CentOS 7

Usando um sistema diferente? Neste guia, veremos como configurar um servidor FTP (ProFTPd) para transferir arquivos entre o seu PC e o seu servidor.

Instalando o Netdata no CentOS 7

Instalando o Netdata no CentOS 7

Usando um sistema diferente? O Netdata é uma estrela em ascensão no campo do monitoramento de métricas do sistema em tempo real. Comparado com outras ferramentas do mesmo tipo, o Netdata:

Como instalar o Apache Cassandra 3.11.x no CentOS 7

Como instalar o Apache Cassandra 3.11.x no CentOS 7

Usando um sistema diferente? O Apache Cassandra é um sistema de gerenciamento de banco de dados NoSQL gratuito e de código aberto, projetado para fornecer escalabilidade, alta

Como instalar um servidor Just Cause 2 (JC2-MP) no CentOS 7

Como instalar um servidor Just Cause 2 (JC2-MP) no CentOS 7

Neste tutorial, aprenda como configurar um servidor multiplayer Just Cause 2. Pré-requisitos Verifique se o sistema está totalmente atualizado antes de começarmos

Como instalar o servidor Starbound no CentOS 7

Como instalar o servidor Starbound no CentOS 7

Usando um sistema diferente? Neste tutorial, explicarei como configurar um servidor Starbound no CentOS 7. Pré-requisitos Você precisa ser o proprietário deste jogo

Instalando e configurando o ZNC no CentOS 7

Instalando e configurando o ZNC no CentOS 7

O ZNC é um segurança IRC gratuito e de código aberto que permanece permanentemente conectado a uma rede para que os clientes possam receber mensagens enviadas enquanto estiverem offline. Thi

Como instalar o Django no CentOS 7

Como instalar o Django no CentOS 7

O Django é uma estrutura Python popular para escrever aplicativos da web. Com o Django, você pode criar aplicativos mais rapidamente, sem reinventar a roda. Se você quiser você

Como instalar o CMS de outubro no CentOS 7

Como instalar o CMS de outubro no CentOS 7

Outubro é um sistema de gerenciamento de conteúdo de código aberto baseado no Laravel PHP Framework. Com uma interface elegante e uma arquitetura modular concisa

Como configurar a autenticação de dois fatores (2FA) para SSH no CentOS 6 usando o Google Authenticator

Como configurar a autenticação de dois fatores (2FA) para SSH no CentOS 6 usando o Google Authenticator

Após alterar a porta SSH, configurar a batida na porta e fazer outros ajustes para a segurança SSH, talvez haja mais uma maneira de protegê-lo

Como instalar o MyCLI no Linux (CentOS, Debian, Fedora e Ubuntu)

Como instalar o MyCLI no Linux (CentOS, Debian, Fedora e Ubuntu)

Introdução O MyCLI é um cliente de linha de comando para MySQL e MariaDB que permite concluir automaticamente e ajuda na sintaxe de seus comandos SQL. MyCL

Como instalar o Directus 6.4 CMS em um CentOS 7 LAMP VPS

Como instalar o Directus 6.4 CMS em um CentOS 7 LAMP VPS

Usando um sistema diferente? O Directus 6.4 CMS é um sistema de gerenciamento de conteúdo sem cabeça (CMS) poderoso e flexível, gratuito e de código aberto que fornece

Como instalar o Reader Self 3.5 RSS Reader em um CentOS 7 LAMP VPS

Como instalar o Reader Self 3.5 RSS Reader em um CentOS 7 LAMP VPS

Usando um sistema diferente? O Reader Self 3.5 é um leitor de RSS auto-hospedado, simples e flexível, gratuito e de código aberto, e uma alternativa ao Google Reader. Leitor Sel

A IA pode lutar contra o aumento do número de ataques de ransomware

A IA pode lutar contra o aumento do número de ataques de ransomware

Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane

ReactOS: Este é o futuro do Windows?

ReactOS: Este é o futuro do Windows?

ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+

Como a IA pode levar a automação de processos ao próximo nível?

Como a IA pode levar a automação de processos ao próximo nível?

Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

O que é um sistema de arquivos de registro no diário e como ele funciona?

O que é um sistema de arquivos de registro no diário e como ele funciona?

Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true

Singularidade tecnológica: um futuro distante da civilização humana?

Singularidade tecnológica: um futuro distante da civilização humana?

À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

O impacto da inteligência artificial na saúde 2021

O impacto da inteligência artificial na saúde 2021

A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA ​​na área da saúde ainda está crescendo dia a dia.