CACIC - Configurador Automático e Coletor de Informações Computacionais
O Cacic é capaz de fornecer um diagnóstico preciso do parque computacional e disponibilizar informações como o número de equipamentos e sua distribuição nos mais diversos órgãos, os tipos de softwares utilizados e licenciados, configurações de hardware, entre outras. Também pode fornecer informações patrimoniais e a localização física dos equipamentos, ampliando o controle do parque computacional e a segurança na rede.
Desenvolvedor: DATAPREV - Empresa de Tecnologia e Informações da Previdência Social
Linguagens de Programação: Php, Perl, Python e Delphi
SGBD: MySQL
Coletar informações sobre hardwares;
Alertar o administrador quando o sistema for alterado ou houver troca de hardware;
Coletar informações sobre softwares instalados;
Identificar compartilhamentos e aplicar restrições de segurança necessárias;
Coletar informações de patrimônio;
Mostrar as informações citadas acima em uma interface WEB.
O CACIC é composto de 2 módulos:
AGENTE, que é um programa responsável por coletar as informações citadas acima dos computadores;
GERENTE, que é instalado no servidor e é quem administra os AGENTES.
Pré-requisitos para instalação do GERENTE:
Sistema Operacional Linux;
Perl (compiladores e interpretador);
Servidor Web Apache2;
Interpretador PHP5;
MySQL v5.0 ou superior;
ProFTPd (servidor FTP);
Postfix (ou qualquer outro MTA);
Módulo extra necessário: php5-mysql, php4-gd, php5-mcrypt, libapache2-mod-php5.
Instalando os pacotes
Todos os passos a seguir devem ser executados como root
Atualizando a lista de pacotes disponíveis:
# aptitude update
Instalando o MySQL:
# aptitude install mysql-server
Ele abrirá o configurador, defina as configurações padrões e defina a senha do usuário administrador.
Instalando o proftpd:
# aptitude install proftpd
No final da instalação ele abrirá o configurador do ProFTP, escolha como ele será carregado, entre inetd ou standalone, escolha standalone.
No final desta configuração abra o arquivo /etc/proftpd.conf e adicione no final do arquivo as linhas a seguir:
DefaultRoot ~
RequireValidShell off
A primeira linha tornará o diretório home do usuário a raiz do ftp, já a segunda permite que o usuário do cacic baixe arquivos do ftp sem ter shell válido.
Agora adicionaremos o usuário que será utilizado pelo cacic para downloads e updates:
# adduser --shell /bin/false --home /var/www/ftpcacic ftpcacic
Agora vamos criar o diretório onde os agentes buscarão atualizações:
# mkdir /var/www/ftpcacic/agentes
# chown ftpcacic.ftpcacic /var/www/ftpcacic/agentes
Reinicie o servidor de ftp:
# /etc/init.d/proftpd restart
Vamos agora testar se o ftp está funcionando corretamente:
# ftp ip-do-servidor
login: ftpcacic
senha: senha-do-ftpcacic
ftp> quit
Se você conseguiu logar no ftp é porque ele está funcionando corretamente.
Instalando o Apache2 + PHP5:
# aptitude install apache2 php5-dev php5 php5-mysql php5-gd php5-mcrypt libapache2-mod-php5
Configurando o PHP
O register_globals do PHP deve ser habilitado e o warnings deve ser configurado para não mostrar erros. Os módulos do Apache também devem ser habilitados.
No Debian Linux e seus derivados estas configurações devem ser feitas no arquivo /etc/php5/apache2/php.ini e as alterações são as seguintes:
register_globals=On
register_long_arrays=On
error_reporting=E_COMPILE_ERROR
E_ERROR
E_CORE_ERROR
extension=mysql.so
extension=gd.so
extension=mcrypt.so
Configurando o Apache2
Vamos configurar a utilização do ISO-8859-1 como charset default.
Edite o arquivo /etc/apache2/apache2.conf e altere a variável:
AddDefaultCharset ISO-8859-1
Baixando e acessando o gerente
Baixando o gerente
Faça seu cadastro no site Software Público e baixe o agente e o gerente no servidor onde você está trabalhando.
Vamos descompactar o gerente:
# tar -zxvf cacic-v222.tar.gz -C /var/www/
Agora vamos trocar o dono do diretório /var/www/cacic2:
# chown -R www-data /var/www/cacic2
Configurando o gerente pelo navegador:
Abra seu navegador e digite o endereço a seguir:
http://<IP_GERENTE>/cacic2/instalador/index.php
ATENÇÃO: Neste momento será utilizado um instalador automático do CACIC, onde o administrador deve responder as perguntas em tela para a configuração do mesmo.
Siga todas as instruções que serão mostradas no assistente, onde ele exibir um X significa que o item foi checado no servidor e não foi satisfeita, corrija o problema e entre novamente no assistente.
Acessando o gerente
Acesse via navegador o endereço /cacic2 no IP do servidor gerente: Os arquivos serão enviados do diretório repositório, criado na descompactação do arquivo cacic-v222.tar.gz, para a pasta do ftp agentes/:
http://<IP_GERENTE>/cacic2/
Faça login utilizando o usuário e senha escolhidos na etapa de instalação:
Usuário: <LOGIN_DO_USUÁRIO>
Senha: <SENHA_DO_USUÁRIO>
Cadastrando as redes
Agora clique em [Administração], depois [Cadastros] e em [SubRedes]. É nesta página que se cadastra as redes que serão monitoradas pelo CACIC. Para isso é necessário que você conheça as configurações da sua infra-estrutura de rede.
Faça o levantamento das redes que serão cadastradas. Somente serão coletadas as informações de redes cadastradas. Serão necessárias:
As configurações TCP/IP;
O servidor de FTP, login e senha para ftp para o gerente;
O servidor de FTP, login e senha para ftp para o agente;
O caminho do servidor de update para o FTP.
Criando a nossa primeira rede
Agora clique no botão [Incluir Nova Subrede]. Deverão ser preenchidas as informações obtidas anteriormente.
Local: Local onde a rede se situa;
Subrede e máscara: aqui deve ser colocado o range de IPs que serão inventariados (o administrador da rede possui este range);
Descrição: é uma breve descrição desta rede;
Servidor de Aplicação: Normalmente é o mesmo número IP do Servidor de Gerente;
Servidor de Updates (FTP): deve ser preenchido com o número IP do Servidor de FTP. Pode ser a mesma máquina do servidor gerente;
Usuário do Servidor de Updates (para AGENTE): geralmente é o usuário do FTP;
Usuário do Servidor de Updates (para o GERENTE): geralmente é o usuário do FTP;
Path no Servidor de Updates: se foi configurado de acordo com a documentação o caminho é "agentes/";
Observações: o preenchimento é opcional.
Contato 1: Nome da pessoa que é responsável pela rede.
E-mail: o e-mail que serão enviadas as notificações desta rede.
Telefone: Telefone do responsável pela rede.
Clique no botão [Gravar Informações].
Disponibilizando os módulos agentes
/var/www/cacic2/repositório => /var/www/ftpcacic/agentes
Acesse o diretório /var/www/cacic2/repositorio:
# cd /var/www/cacic2/repositorio
Digite "ls" dentro do diretório acima. Este comando mostrará os respectivos arquivos para verificar se os arquivos do agente foram copiados:
cacic2.exe
chksis.exe
col_comp.exe
col_moni.exe
col_soft.exe
ger_cols.exe
mapacacic.exe
vaca.exe
versoes_agentes.ini
chkcacic.exe
col_anvi.exe
col_hard.exe
col_patr.exe
col_undi.exe
ini_cols.exe
testacrypt.exe
vacon.exe
wscript.exe
Volte para o navegador.
Acesse o menu [Manutenção] e clique em [Updates de SubRedes].
Marque todos os objetos, pois enviaremos todos os arquivos para o nosso servidor de FTP.
Selecione a sub-rede para onde eles serão enviados e clique em [Executar Updates].
Instalação do módulo Agente
Conhecendo a instalação do Agente CACIC em estações Windows, ela é realizada por meio do arquivo chkcacic.exe.
Copie o arquivo chkcacic.exe para a estação Windows.
A cópia pode ser realizada via ftp utilizando o seguinte comando na *estação*:
C:\>ftp <ip_do_servidor_cacic>
login: ftpcacic
senha: <senha_do_ftpcacic>
binary
cd agentes
bi
prom
mget chkcacic.exe
Execute o arquivo chkcacic.exe e preencha os campos pedidos por ele. O arquivo carregará os outros módulos necessários do servidor FTP.
Informações sobre o módulo Agente Linux
O agente CACIC para GNU/Linux encontra-se ainda em fase de desenvolvimento e foi escrito em Perl. O projeto foi iniciado por Yves Junqueira a partir das discussões da comunidade e deverá contar com interface gráfica construída em Python. A versão disponível para testes ainda não é recomendada para utilização em produção.
"Existe uma versão mais atualizada no repositório de desenvolvimento da comunidade."