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: 11.953 ]

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

Teste de vulnerabilidades com OpenVAS 3.0

Buscar "Teste" no Google

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

A vida de quem vive de TI: It Crowd!

É o hora do churrasco de... exploits! Quê?!? Não! Para churrasco e exploits, use Beef

Leitura recomendada

Backup automatizado e seguro usando SSH / SCP / SFTP

Configurando Proxy Reverso NGINX com SSL e Apache em Virtual Hosts no Debian

Elevação de privilégios locais

Servidor Samba "Autoservice"

HoneyPots em Linux

  
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