Comandos para Auditoria do Software Instalado

5

Semelhante à pergunta aqui, link , gostaria de obter idéias sobre comandos que devem ser executados em várias distribuições Linux / Unix para auditar o software instalado. Deve abranger, no mínimo, os seguintes casos de uso:

  1. Software instalado a partir de pacotes
  2. Software instalado a partir da fonte
  3. Software instalado em um local desconhecido ou inesperado

Além disso, ele deve funcionar no CentOS / RedHat, SuSE e Macintosh OS. Algumas das idéias que tenho pensado em relação à obtenção do software instalado incluem o seguinte; no entanto, não tenho certeza de como eles podem ser práticos.

  • Listando os processos em execução e fazendo inferências a partir da saída
  • Listando as portas de escuta ou abertas e fazendo inferências a partir da saída
  • Executando vários comandos da CLI e tentando entender a saída
  • Realizando um despejo ou listagem dos pacotes instalados a partir do gerenciador de pacotes nativo
  • Execute um comando find para procurar arquivos ou nomes de arquivos específicos, talvez até mesmo arquivos de configuração, para assumir que determinado software existe

O objetivo final é ter comandos que possam ser usados e armazenar a saída resultante em um arquivo. Eu usaria isso para executar várias máquinas, seja localmente na máquina ou via SSH, para auditoria, manutenção de registros e determinação de quais hosts são vulneráveis a vulnerabilidades particularmente anunciadas.

    
por John 09.05.2012 / 22:23

1 resposta

2

Para o CentOS / RedHat e o SuSE, há uma coisa em comum: todos eles usam o RPM como formato de pacote. Então, uma coisa a fazer é um rpm -Va - armazenar o resultado como linha de base e compará-lo mais tarde (se você quiser verificar se há alterações indesejadas).

Isto requer bastante arquivo, pois cada arquivo de cada rpm está sendo verificado.

Para listar apenas o que está instalado - use rpm -qa ou faça um snmp-bulkwalk correspondente na árvore instalada pelo software hr-resources (deve funcionar no mac, se o snmp estiver habilitado).

Outra ideia é usar o HIDS (sistema de detecção de intrusão baseado em host) - os exemplos são aide , fam , samhain , ...

Quanto aos processos em execução - a saída de netstat -tulnp é interessante. Você pode analisar quais processos estão associados.

A parte manualmente instalada ("da origem") é difícil de cobrir. Melhor abordagem aqui é IMHO é configurar uma política que proíbe tais coisas (pelo menos na produção). Alternativamente, deve ser imposto que esses programas tenham que ser registrados manualmente em um inventário-db.

    
por 09.05.2012 / 22:37