Powered By Blogger

Translate

quarta-feira, 8 de setembro de 2010

Cacic

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."