9.2. IDS baseado no servidor

Um IDS baseado na máquina analisa diversas áreas para determinar o mal-uso (atividades maléficas ou truculentas dentro da rede) ou intrusão (incursões de fora). IDSs baseados na máquina consultam diversos tipos de arquivos de registro (kernel, sistema, servidor, rede, firewall e outros) e comparam os registros a um banco de dados interno com assinaturas comuns de ataques conhecidos. IDSs UNIX e Linux baseados na máquina fazem uso constante do syslog e sua habiliadade em separar eventos registrados por sua severidade (por exemplo: pequenas mensagens de impressão versus sérios alertas do kernel). O IDS baseado na máquina filtra os registros (que, no caso de alguns eventos da rede e do kernel, podem ser bastante verbalizados), analisa-os, renomeia as mensagens anômalas com sua própria classificação de severidade e os agrupa em seu próprio registro especializado para análise do adminstrador.

IDSs baseados na máquina também podem verificar a integridade dos dados de arquivos importantes e executáveis. Checam um banco de dados de arquivos importantes (e quaisquer arquivos adicionados pelo administrador) e criam um checksum de cada arquivo com uma utilidade de verificação de consistência de arquivo de mensagem como a md5sum (algoritmo de 128 bits) ou a sha1sum (algoritmo de 160bits). Então, o IDS baseado na máquina armazena as consistências em um arquivo somente texto e compara periodicamente a verificação de consistência aos valores do arquivo texto. Se alguma das consistências não bater, o IDS alerta o administrador via e-mail ou pager do celular. Este é o procedimento utilizado pelo Tripwire, explanado na Seção 9.2.1.

9.2.1. Tripwire

O Tripwire é o IDS do Linux baseado na máquina mais conhecido. A Tripwire, Inc., empresa dos desenvolvedores do Tripwire, recentemente divulgou o código-fonte do software para a versão Linux e o licenciou sob os termos da GNU General Public License. O Tripwire está disponível no site http://www.tripwire.org/.

NotaNota
 

O Tripwire não está incluso no Red Hat Enterprise Linux e não é suportado. Foi incluso neste documento como uma referência para usuários que possam se interessar pelo uso desta aplicação conhecida.

9.2.2. RPM como um IDS

O Gestor de Pacotes RPM (RPM) é outro programa que pode ser utilizado como um IDS baseado no servidor. O RPM contém várias opções para investigar pacotes e seus conteúdos. Estas opções de verificação podem ser muito preciosas para um administrador ao suspeitar que arquivos críticos do sistema e executáveis foram modificados.

A lista seguinte traz algumas opções para RPMs que podem verificar a integridade de arquivos em um sistema Red Hat Enterprise Linux. Consulte o Guia de Administração de Sistemas do Red Hat Enterprise Linux para informações completas sobre o uso do RPM.

ImportanteImportante
 

Alguns dos comandos da lista seguinte requerem a importação da chave pública GPG da Red Hat para o chaveiro RPM do sistema. Esta chave verifica se os pacotes instalados em seu sistema contêm uma assinatura de pacote da Red Hat, o que assegura que seus pacotes foram originados da Red Hat. A chave pode ser importada atribuindo o seguinte comando como root (substituindo <versão> pela versão do RPM instalado no sistema):

rpm --import /usr/share/doc/rpm-<version>/RPM-GPG-KEY

rpm -V nome_do_pacote

A opção -V verifica os arquivos do pacote instalado chamado nome_do_pacote. Se não exibir nenhum output e fechar, isto significa que nenhum dos arquivos foi modificado de maneira alguma desde a última vez em que o banco de dados RPM foi atualizado. Se houver algum erro, como

S.5....T c /bin/ps

então o arquivo foi modificado de alguma maneira e você deve decidir entre guardar o arquivo (como é o caso de arquivos de configuração modificados no diretório /etc/) ou apagar o arquivo e reinstalar o pacote que o contém. A lista a seguir define os elementos do conjunto de 8 caracteres (S.5....T no exemplo acima) que notifica uma falha de verificação.

  • . — O teste passou esta fase da verificação

  • ? — O teste encontrou um arquivo que não pôde ser lido, o que provavelmente é uma questão de permissão do arquivo

  • S — O teste encontrou um arquivo menor ou maior do que era ao ser originalmente instalado no sistema

  • 5 — O teste encontrou um arquivo cuja verificação de consistência (checksum) md5 não coincide com a consistência original do arquivo instalado pela primeira vez

  • M — O teste detectou um erro na permissão ou no tipo do arquivo

  • D — O teste encontrou um conflito em número maior/menor no arquivo de dispositivo

  • L — O teste encontrou um link simbólico que foi alterado para outra localização de arquivo

  • U — O teste encontrou um arquivo que teve sua propriedade de usuário alterada

  • G — O teste encontrou um arquivo que teve sua propriedade de grupo alterada

  • T — O teste encontrou erros de verificação mtime no arquivo

rpm -Va

A opção -Va verifica todos os pacotes instalados e procura qualquer falha em seus testes de verificação (parecida com a opção -V, só que seu output é mais verbalizado já que está verificando cada pacote instalado).

rpm -Vf /bin/ls

A opção -Vf verifica arquivos individualmente em um pacote instalado. Ela pode ser útil ao desempenhar uma verificação rápida em um arquivo suspeito.

rpm -K aplicação-1.0.i386.rpm

A opção -K é útil para checar a consistência (md5 checksum) e a assinatura GPG de um arquivo de pacote RPM. Pode ser utilizada para verificar se um pacote prestes a ser instalado é assinado pela Red Hat ou por qualquer organização para a qual você tenha a chave pública GPG importada para um chaveiro GPG. Um pacote que não tenha sido assinado apropriadamente emitirá uma mensagem de erro similar à seguinte:

application-1.0.i386.rpm (SHA1) DSA sha1 md5 (GPG) NOT OK
		  (MISSING KEYS: GPG#897da07a)

Tenha cuidado ao instalar pacotes não assinados já que não são aprovados pela Red Hat, Inc. e podem conter código maléfico.

O RPM pode ser uma ferramenta poderosa, como evidenciado por suas diversas ferramentas de verificação de pacotes instalados e arquivos de pacotes RPM. É altamente recomendado que você faça backup dos conteúdos do diretório do banco de dados RPM (/var/lib/rpm/) para uma mídia somente-leitura (como um CD-ROM) após instalar o Red Hat Enterprise Linux. Ao fazê-lo é possível verificar arquivos e pacotes com o banco de dados somente-leitura, ao invés do banco de dados do sistema, já que usuários mal-intencionados podem corromper o banco de dados e desviar seus resultados.

9.2.3. IDSs baseados em outros servidores

A lista a seguir aborda alguns dos outros sistemas de detecção de intrusão baseados na máquina. Consulte os sites dos respectivos utilitários para mais informações sobre sua instalação e configuração.

NotaNota
 

Estas aplicações não estão inclusas no Red Hat Enterprise Linux e não são suportadas. Elas foram inclusas neste documento como referência para usuários interessados em avaliá-las.