CheckSecurity - Ferramenta para segurança simples e eficaz, com opção para plugins

Checksecurity é uma coleção de ferramentas simples de segurança, usada para verificar o sistema Linux em execução.

[ Hits: 12.177 ]

Por: Mauro Risonho de Paula Assumpção A.K.A firebits em 03/02/2009


Introdução



Checksecurity é uma coleção de ferramentas (em formato de shell scripts) simples de segurança, para verificar o sistema em execução.

Descrição

O comando checksecurity executa uma pequena coleção de simples scripts de segurança, que verificam as falhas mais comuns em sistemas Unix-like. Checksecurity, pode ser executado em background, todos os dias pelo Cron (agendador de tarefas) e realizar automaticamente a verificação da segurança sistema.

Sintaxe:

# checksecurity

Configuração

No arquivo checksecurity.conf temos as variáveis de configuração do checksecurity, que são:
  • MAILTO= Setar ou apontar em qual email deve ser enviado o resultado do relatório da verificação do sistema;
  • CHECK_DISKFREE= Verificar a porcentagem (%) limite de cada partição. Isso é, quando estiver próximo de "lotar" a partição ou próximo de sobrecarregar, gera avisos antes avisando o ocorrido. Ex: Se você achar que quando a partição ou partições estiver(em) próximo(s) da capacidade de 70%, será emitido avisos alertando o ocorrido;
  • CHECK_PASSWD= Verificar as segurança das senhas;
  • CHECK_SETUID= Verificar as diferenças entre um ou mais binários com setuid, quando são iniciados;
  • LOGDIR= Diretório onde será gerado o log do checksecurity.

Checksecurity é um programa que executa uma coleção de plugins e que estão localizados no diretório /usr/share/checksecurity e podem ser configurados individualmente. Se você abrir cada um destes plugins, verá que na verdade são apenas scripts shells e que também (se você conhecer da linguagem Shell Script, lembre-se de ver o site do Aurélio e também a seção scripts do Viva o Linux) pode gerar mais e novos plugins, com scripts novos, gerando novas funções.

CHECK_PASSWD: Se esta variável for setada com TRUE, então o script shell check-passwd será executado. Este script foi desenvolvido para reportar contas do sistema que não possuem senhas ou senhas em branco.

CHECK_DISKFREE: Se esta variável for setada com TRUE, então o script shell check-diskfree será executado. Ele emitirá alertas quando uma ou mais partições montadas estiverem com pouco espaço livre.

CHECK_SETUID: Se esta variável for setada com TRUE, então o script shell check-setuid será executado, ele irá comparar os binários com setuid iniciados no sistema com os em disco e se existirem diferenças entre eles, exibe-as.

Arquivos de configuração:
  • /etc/checksecurity.conf - Arquivo de configuração do checksecurity;
  • /etc/check-diskfree.conf - Arquivo de configuração dos plugins do check-diskfree;
  • /etc/check-passwd.conf - Arquivo de configuração dos plugins do check-passwd;
  • /etc/check-setuid.conf - Arquivo de configuração dos plugins do check-setuid.

Arquivos de plugins:
  • /usr/share/checksecurity/check-diskfree - Arquivo de script shell que verifica o limites de espaço das partições, gerando avisos;
  • /usr/share/checksecurity/check-passwd - Arquivo de script shell que verifica as senhas e o quanto são seguranças ou inseguras;
  • /usr/share/checksecurity/check-setuid - Arquivo de script shell que verifica os Setuid;
  • /usr/share/checksecurity/check-sockets - Arquivo de script shell que verifica os sockets (portas de conexão), quais estão abertas.

Exemplo de configuração do /etc/checksecurity.conf:

# MAILTO enviar email no caso para usuário ROOT, como os relatórios e alertas.
#
MAILTO=root

# Se o CHECKSECURITY_EMAIL estiver setado, o relatório será enviado para o email apontado.
# Note que quando configurado, está sendo assumido que você tem seu email /usr/bin/mail e que aceita a opção -s;
# o pacote mailx é ótimo para isso; ou que você tem instalado o mutt e cria um link para ele, ou outra opção que for alternativa
# a isso. Qualquer outra configuração de sua responsabilidade.
#
#CHECKSECURITY_EMAIL="root"

#
# Este é o caminho de onde os scripts shells, serão executados inicialmente.
#
PATH=/usr/sbin:/usr/bin:/sbin:/bin

# Verificar setuid dos binários do sistema diariamente.
CHECK_DAILY="DISKFREE PASSWD SOCKETS"

# Verificar setuid dos binários do sistema semanalmente.
CHECK_WEEKLY="SETUID"

#
# Verificar as partições montadas, se estão com pouco espaço livre, em referência a porcentagem no arquivo check-diskfree.conf. Caso verdadeiro, emite alertas e logs avisando.
#
CHECK_DISKFREE="TRUE"
# Configurar a verificação aqui /etc/checksecurity/check-diskfree.conf


#
# Verificar as senhas
#
CHECK_PASSWD="TRUE"
# Configurar a verificação aqui /etc/checksecurity/check-passwd.conf


#
# Verificar arquivos setuid
#
CHECK_SETUID="TRUE"
# Configurar a verificação aqui /etc/checksecurity/check-setuid.conf

#
# Verifica se há sockets abertos
#
CHECK_SOCKETS="TRUE"
# Configurar a verificação aqui /etc/checksecurity/check-sockets.conf

Visualizando os logs de SETUID do hoje (today):
e seu conteúdo:
Visualizando os logs de SETUID do ontem (yesterday):
e seu conteúdo (como é a primeira vez que estamos executando a ferramenta, não há logs anteriores. No dia seguinte provavelmente haverá o log do dia anterior):
e por último as mudanças (changes):
Espero ter te ajudado.

Mauro Risonho de Paula Assumpção
Pentest / Analista de Segurança

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor

Verifique a sua fortaleza com lsat - software de auditoria em servidores e desktops

PHPIDS - PHP Intrusion Detection System, deixe seu site livre de intrusos!

Os 5 princípios básicos de segurança para empresas

Double Dragon: chkrootkit e portsentry, agora vai rolar pancadaria nos intrusos!

Teste de vulnerabilidades com OpenVAS 3.0

Leitura recomendada

Projeto Sharingan

Desligamento automático seletivo com apcupsd

Vírus? Checando base de dados de fabricantes proprietários como McAfee e Symantec e aplicando em distribuições Red Hat

Slackware vs PAM

Aquisição Estática de Dados em Computação Forense

  
Comentários
[1] Comentário enviado por demoncyber em 03/02/2009 - 17:50h

Olá,
Fui procurar um porte deste programa para slackware/centos ... e não achei, em minhas buscas somente consegui encontrar os fontes desta ferramneta no servidor para do Debian, a ela também tem tradução para português brasileiro :)

Acho que está faltando o site de referência do projeto e onde pode-se baixar ....

Para tanto segue a lista aqui

Referências
http://packages.debian.org/etch/checksecurity - pacote do projeto para o debian
http://ftp.de.debian.org/debian/pool/main/c/checksecurity/checksecurity_2.0.7.orig.tar.gz - fonte do programa
www.steve.org.uk - site do desenvolvedor

[2] Comentário enviado por luizvieira em 05/04/2009 - 18:39h

Boa ferramenta, ainda não conhecia, mas agora vou testar;


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts