1 manual de instalação 1.1 introdução · 1 manual de instalação ... o sigati-server é...

34
1 Manual de Instalação 1.1 Introdução Na gestão de ambientes de TI, é de fundamental importância a existência de um serviço de diretório que possibilite a administração da infra-estrutura dos recursos disponíveis, tais como usuários, servidores, impressoras, aplicações, etc. No mundo do software livre, o serviço de diretório mais utilizado é o OpenLDAP. Normalmente sua configuração é feita manualmente, via arquivos específicos. Isto gera um grande trabalho para o administrador, principalmente quando se tem diversos servidores OpenLDAP suportando um serviço distribuído. O OpenLDAP não fornece ferramentas gráficas para sua administração. Sua administração é feita via a manipulação de arquivos de configuração providos com o mesmo. Ou, então, o administrador pode utilizar ferramentas disponibilizadas por terceiros. Entretanto, as ferramentas livres disponíveis apenas funcionam como LDAP Browsers, ou seja, fazem a administração apenas das entradas armazenados no diretório. Além disso, muitas delas possuem limitações quando se trata de um diretório distribuído (entradas armazenadas em mais de um servidor). No Entanto, para uma administração efetiva de um serviço de diretório, se faz necessária uma ferramenta que manipule não apenas com as entradas do mesmo, mas também que permita a adminitração do serviço em si, como por exemplo: Iniciar/Parar o serviço Administrar esquemas Criar/Remover partições Adicionar/Remover réplicas às partições Atribuir direitos às entradas para controle de acesso O Sigati (Sistema Gerenciador de Ambiente de TI) tem como motivação maior prover ferramentas gráficas que permitam a administração efetiva de um serviço de diretório distribuído baseado no OpenLDAP, evitando que o administrador tenha que manipular diretamente com arquivos de configuração. 1.1.1. Sigati 1.1.1.1. Módulos O Sigati é composto por dois módulos chamados sigati-admin e sigati-server. O sigati-admin é instalado no servidor onde está instalado o servidor de aplicações JBoss. É composto por funcionalidades que tratam da interface com o administrador e por uma API de gerência. É esse módulo quem centraliza as operações. Todas as requisições dos administradores são feitas a partir dessa interface, a qual invoca a API em atendimento às requisições realizadas. Tal API faz requisições LDAP aos servidores que compõem as partições, ou invoca o sigati-server. O sigati-server é instalado em todo servidor que tiver instalado o OpenLDAP, Samba e Servidor de Arquivos. É ele quem faz a manipulação dos arquivos de configuração e interage com os

Upload: vanhanh

Post on 27-May-2018

243 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

1 Manual de Instalação

1.1 Introdução Na gestão de ambientes de TI, é de fundamental importância a existência de um serviço dediretório que possibilite a administração da infra-estrutura dos recursos disponíveis, tais comousuários, servidores, impressoras, aplicações, etc.

No mundo do software livre, o serviço de diretório mais utilizado é o OpenLDAP. Normalmentesua configuração é feita manualmente, via arquivos específicos. Isto gera um grande trabalhopara o administrador, principalmente quando se tem diversos servidores OpenLDAP suportandoum serviço distribuído.

O OpenLDAP não fornece ferramentas gráficas para sua administração. Sua administração éfeita via a manipulação de arquivos de configuração providos com o mesmo. Ou, então, oadministrador pode utilizar ferramentas disponibilizadas por terceiros. Entretanto, as ferramentaslivres disponíveis apenas funcionam como LDAP Browsers, ou seja, fazem a administraçãoapenas das entradas armazenados no diretório. Além disso, muitas delas possuem limitaçõesquando se trata de um diretório distribuído (entradas armazenadas em mais de um servidor).

No Entanto, para uma administração efetiva de um serviço de diretório, se faz necessária umaferramenta que manipule não apenas com as entradas do mesmo, mas também que permita aadminitração do serviço em si, como por exemplo:

•Iniciar/Parar o serviço•Administrar esquemas•Criar/Remover partições•Adicionar/Remover réplicas às partições•Atribuir direitos às entradas para controle de acesso

O Sigati (Sistema Gerenciador de Ambiente de TI) tem como motivação maior proverferramentas gráficas que permitam a administração efetiva de um serviço de diretório distribuídobaseado no OpenLDAP, evitando que o administrador tenha que manipular diretamente comarquivos de configuração.

1.1.1. Sigati

1.1.1.1. Módulos O Sigati é composto por dois módulos chamados sigati-admin e sigati-server.

O sigati-admin é instalado no servidor onde está instalado o servidor de aplicações JBoss. Écomposto por funcionalidades que tratam da interface com o administrador e por uma API degerência. É esse módulo quem centraliza as operações. Todas as requisições dos administradoressão feitas a partir dessa interface, a qual invoca a API em atendimento às requisições realizadas.Tal API faz requisições LDAP aos servidores que compõem as partições, ou invoca o sigati-server.

O sigati-server é instalado em todo servidor que tiver instalado o OpenLDAP, Samba e Servidorde Arquivos. É ele quem faz a manipulação dos arquivos de configuração e interage com os

Page 2: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

daemons do OpenLDAP, sempre em atendimento às requisições feitas pela API. É ele quemefetivamente inicializa serviços, acrescenta servidores num anel de réplica e inclui diretivas deesquemas e de direitos no arquivo de configuração do OpenLDAP.

1.1.1.2. Funcionalidades Para atender às necessidades elencadas, as funcionalidades do Sigati estão subdivididas emcinco módulos de administração: Objetos, Partições, Réplicas, ACLs (Access Control Lists ouListas de Controle de Acesso) e Esquemas. Em cada módulo, há interação entre o Sigati Admin eo Sigati Server localizado em cada servidor.

Administração de Objetos - Responsável pela administração dos objetos armazenados nodiretório. Permite várias operações sobre os objetos como: inclusão, alteração e remoção,independente da partição em que os objetos estejam localizados e transparentemente do pontode vista de autenticação do administrador. Desse modo, ao usar o Sigati, o administrador nãoprecisará se autenticar repetidas vezes de acordo com a partição onde os objetos gerenciadosestão localizados. Além disso, objetos podem ser copiados ou movidos dentro da árvore, inclusiveentre partições.

Administração de Partições - Provê operações associadas à gerência de partições do serviço dediretório. Esse sub-módulo permite a criação e fusão de partições, cuidando da distribuição dosobjetos entre as mesmas, sem a necessidade de manipulação direta de arquivos de configuraçãodo OpenLDAP. De fato, em nenhum sub-módulo do Sigati o administrador precisa se preocuparcom a sintaxe dos arquivos do OpenLDAP.

Administração de Réplicas - Permite administrar os servidores que compõem os anéis de réplica(mestre e réplicas) que suportam as partições, sendo possível incluir, remover e visualizar statusdos servidores; converter servidores-mestre em réplica e vice-versa; reinicializar os serviços doOpenLDAP; fazer sincronização entre bases do mestre e das réplicas; entre outras atividades.

Administração de ACLs - Facilita a administração dos direitos que os usuários têm sobre osobjetos contidos no diretório. Tais direitos podem ser aplicados a um objeto específico ou a umapartição inteira, sendo automaticamente propagados para toda a sub-árvore existente,promovendo a herança de direitos na árvore distribuída.

Administração de Esquemas - Provê a gerência de esquemas do serviço de diretório, permitindoque estes possam ser incluídos ou modificados. As modificações somente podem ser feitas napartição raiz do diretório e são automaticamente propagadas para as demais, com o objetivo demanter a consistência das informações.

O Sigati surge como uma ferramenta capaz de facilitar a administração do OpenLDAP numambiente distribuído de forma mais produtiva e mais fácil.

1.2 Sigati Server Para a instalação do servidor de diretório (master e slave) são necessárias a instalação econfiguração prévia do sistema operacional, além dos pacotes a seguir: Serviço de Diretório -OpenLDAP e BerkeleyDB; Módulos para criptografia e autenticação - OpenSSL e Cyrus. De modoa integrar o servidor de diretório com o Sigati, ainda é preciso instalar o módulo Sigati Server.

Nos tópicos subsequentes serão detalhados os processos de instalação e configuração de cada

Page 3: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

um destes componentes.

1.2.1. Pré-requisitos Para a instalação do servidor de diretório faz-se necessário: a instalação prévia do Fedora, RedHat ou Debian; a configuração de alguns parâmetros em tempo de instalação; além damodificação de algumas permissões no firewall deste servidor (preferencialmente sem firewall).

1.2.1.1. Firewall Para o correto funcionamento do Sigati, do OpenLDAP e das aplicações complementares faz-senecessário a liberação de acesso às portas referentes ao OpenLDAP (389) e portmap (111).

1.2.1.2. Configurações de SSH Durante a sua execução, o Sigati necessita fazer cópia de arquivos entre os servidores que compõem o serviço de diretório e entre o servidor onde está instalado o módulo sigati-admin.

Sendo assim, é necessário alterar o arquivo ssh_config, retirando o caracter de comentário (#)da diretiva “StrictHostKeyChecking” e alterando seu valor para “no”, conforme mostrado a seguir:

StrictHostKeyChecking no

A cópia de arquivos entre os servidores requer ainda a criação prévia de um usuário em cada servidor. É recomendado que este seja um usuário comum, sem privilégios de super-usuário (root).

Entretanto, também é possível a cópia utilizando o usuário root. Neste caso, é necessário alterar o arquivo sshd_config, descomentando a diretiva “PermitRootLogin” e mudando seu valor para “yes”, corforme mostrado abaixo:

PermitRootLogin yes

1.2.1.3 Configuração do Serviço de Nomes O Sigati necessita que os nomes das máquinas estejam mapeados nos seus respectivos endereços IP. Isto se deve ao fato do uso de criptografia via certificados digitais.

Sendo assim, caso as máquinas utilizadas no ambiente não estejam cadastradas em um serviçoDNS, é necessário que elas sejam incluídas nos arquivos /etc/hosts de todas as máquinas.

Por exemplo, supondo que o ambiente tenha três servidores: Sigati Admin - sigatiAdmin.cesmic.ucb.br (172.16.0.1) Servidor OpenLDAP - master.cesmic.ucb.br (172.16.0.2) Servidor OpenLDAP - slave.cesmic.ucb.br (172.16.0.3)

então, o arquivo /etc/hosts de cada um destes servidores tem que ter o seguinte conteúdo:

Page 4: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

127.0.0.1 localhost.localdomain localhost

172.16.0.1 sigatiAdmin.cesmic.ucb.br sigatiAdmin

172.16.0.2 master.cesmic.ucb.br master

172.16.0.3 slave.cesmic.ucb.br slave

1.2.1.4. Criação do Usuário para Cópia de Arquivos Para a cópia de arquivos entre os servidores, o Sigati necessita que seja criado um usuário. Por default, o nome deste usuário é sigati. Se quiser utilizar um nome diferente, você precisa alterar a propriedade “scp_user” contida no arquivo “core.properties”.

Por motivos de segurança, quando for solicitada a senha deste usuário, evite informar senhamuito fáceis. Vale salientar que o Sigati não necessita desta senha.

Para a criação do usuário, utilize o comando abaixo: # adduser sigati

Após a criação do usuário, é necessário gerar um par de chaves (pública e privada) para omesmo. Estas chaves permitem que a cópia de arquivos seja feita de forma segura ecriptografada.

Sendo assim, é preciso a execução dos seguintes comandos: # su - sigati # ssh-keygen -t rsa -b 1024

Neste último comando o parâmetro -t indica o tipo da chave a ser criada, enquanto o -b indicaa a quantidade de bits utilizada na criação da mesma. Se -b não for informado, será utilizado ovalor 2048 (default).

Quando surgir o texto:

Enter file in which to save the key (/home/sigati/.ssh/id_rsa):

pressione a tecla Enter. Da mesma forma, quando for solicitada a senha (passphrase) para oarquivo apenas pressione Enter:

Enter passphrase (empty for no passphrase): Enter same passphrase again:

1.2.3. Instalação dos Softwares Necessários Verifique se os pacotes abaixo estão instalados, caso não estejam, será necessária a suainstalação antes da instalação do sigati. A instalação deve ser feita conforme o previsto nadistribuição.

a) OpenLDAP b) Openssl c) Cyrus d) Berkeley e) Java – J2SE SDK j2sdk-1_4_2_14-linux-i586.bin (Debian)

Page 5: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

j2sdk-1_4_2_14-linux-i586-rpm.bin (Red Hat ou Fedora Disponível em: http://java.sun.com/j2se/1.4.2/download.html f) sigati-server

1.2.3.1 Preparaçãoa) Crie um diretório temporário onde serão colocados pacotes do servidor Sigati Server # mkdir /temporario

b) Efetue o download dos pacotes relacionados acima, colocando-os no diretório /temporario oufaça a instalação dos mesmos a partir de um repositório de software utilizando o aplicativo apt-get ou o Synaptic.

1.2.3.2. OpenLdap O Sigati 1.2.0 está homologado para a versão 2.3 do OpenLDAP.

a) Debian # apt-get install slapd # apt-get install ldap-utils

b) Fedora e Red Hat

# apt-get install openldap

# apt-get install openldap-servers

# apt-get install openldap-clients

1.2.3.3. Openssl a) Debian # apt-get install openssl

b) Fedora e Red Hat # apt-get install openssl

1.2.3.4. Cyrus Para os pacotes abaixo, deve considerar uma versão igual ou maior a 2.1.18.

a) Debian # apt-get install sasl2-bin # apt-get install libsasl2-modules-gssapi-mit

b) Fedora e Red Hat # apt-get install cyrus-sasl # apt-get install cyrus-sasl-md5 # apt-get install cyrus-sasl-plain # apt-get install cyrus-sasl-gssapi

Page 6: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

1.2.3.5. Berkeley Para os pacotes abaixo, deve considerar uma versão igual ou maior a 4.2.52. a) Debian # apt-get install db4.4-util

b) Fedora e Red Hat # apt-get install db4-4.2.52

1.2.3.6. Java Antes de instalar o Sigati Admin é preciso instalar o J2SDK 1.4.2_14

a) Debian i. Acesse o diretório temporário cd /temporario ii. Torne o pacote do java executável # chmod 755 j2sdk-1_4_2_14-linux-i586.bin iii. Execute o binário j2sdk-1_4_2_14-linux-i586.bin. Um diretório j2sdk1.4.2_14 será gerado em /temporario. # ./j2sdk-1_4_2_14-linux-i586.bin iv. Crie um diretório /usr/java # mkdir -p /usr/java v. Mova o diretório j2sdk1.4.2_14 criado em /temporario para o diretório /usr/java criado no passo anterior # mv j2sdk1.4.2_14 /usr/java

b) Fedora e Red Hat i. Acesse o diretório temporário # cd /temporario ii. Torne o pacote do java executável # chmod 755 j2sdk-1_4_2_14-linux-i586-rpm.bin iii. Execute o binário j2sdk-1_4_2_14-linux-i586-rpm.bin. # ./j2sdk-1_4_2_14-linux-i586-rpm.bin iv. Um arquivo RPM será gerado. Instale-o utilizando o comando abaixo. # rpm -ivh j2sdk-1_4_2_14-linux-i586-rpm

Obs.: Caso existam, remover os arquivos: /usr/bin/java e /usr/bin/javac. Obs: Verificar o diretório onde o Java foi instalado, pois será informado durante a instalação do Sigati. Normalmente é /usr/java/j2sdk1.4.2_14, se a versão do java instalada for a sugerida neste manual.

1.2.3.7. Sigati Server Para a instalação do Sigati Server siga os passos a seguir:

a) Faça o download do pacote do sigati-server-1.2.0.bin e coloque na pasta /temporario

Page 7: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

b) Acesse a pasta temporario # cd /temporario

c) Torne o pacote do sigati executável # chmod 755 sigati-server-1.2.0.bin

d) Execute o binário do sigati # ./sigati-server-1.2.0.bin

e) Algumas perguntas serão feitas durante a instalação. i. Se o usuário concorda com o termo de uso apresentado. Responda “s” ou “n”. Se responder “n”, a instalação será abortada. ii. Em seguida será interrogado sobre o sistema operacional. Responda “1” para Debian e “2” para Red Hat ou Fedora iii. Por fim, será questionado sobre o uso de TLS. Para não utilizar, responda “n”. Se responder “s” é preciso fazer as configurações para uso de TLS, conforme o Manual de Configuracao de TLS para o Sigati Server”. iv. Por fim será questionado se o slapd.conf deve ser substituído ou não. Responda “s” para substituí-lo pelo slapd.conf que contém os parâmetros para o funcionamento do Sigati e “n” para manter o slapd.conf existente.

1.2.4. Inicialização do Sigaticore Inicialize o Sigaticore:

# cd /usr/local/sigati/bin/

# java -jar sigaticore.jar &

1.2.5. Criação do Certificado Digital para o Servidor OpenLDAP Ver seções 1.7.1 a 1.7.7 do capitulo 1.7 - Configuração do OpenLDAP para utilização de TLS.

1.3 Sigati AdminOBS: Os passos 1.3.1.1 a 1.3.1.4, 1.3.2.2 e 1.3.2.3 somente são necessários na máquina do Admin se ela também não for utilizada para ser um servidor OpenLDAP.

1.3.1 Premissas e Pré-requisitos Para a instalação do Sigati Admin faz-se necessário: a instalação prévia do GNU/Linux (Debian,Red Hat ou Fedora Core); a configuração de alguns parâmetros em tempo de instalação; além damodificação de algumas permissões no firewall deste servidor.

Page 8: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

1.3.1.1. Firewall Para o correto funcionamento do Sigati Admin, do servidor de aplicações Jboss e demaiscomponentes faz-se necessário a liberação de acesso às portas referentes ao serviço OpenLDAP(389), ao Servidor Jboss (8009, 1098, 1099, 8083, 4444, 8093, 4445) e ao Servidor Web(8080).

Vale salientar que as portas acima podem sofrer alterações de acordo com as versões dos softwares instalados.

1.3.1.2. Configurações de SSH Durante a sua execução, o Sigati necessita fazer cópia de arquivos entre os servidores que compõem o serviço de diretório e entre o servidor onde está instalado o módulo sigati-admin.

Sendo assim, é necessário alterar o arquivo ssh_config, retirando o caracter de comentário (#)da diretiva “StrictHostKeyChecking” e alterando seu valor para “no”, conforme mostrado a seguir:

StrictHostKeyChecking no

A cópia de arquivos entre os servidores requer ainda a criação prévia de um usuário em cada servidor. É recomendado que este seja um usuário comum, sem privilégios de super-usuário (root).

Entretanto, também é possível a cópia utilizando o usuário root. Neste caso, é necessário alterar o arquivo sshd_config, descomentando a diretiva “PermitRootLogin” e mudando seu valor para “yes”, corforme mostrado abaixo:

PermitRootLogin yes

1.3.1.3. Configuração do Serviço de Nomes O Sigati necessita que os nomes das máquinas estejam mapeados nos seus respectivosendereços IP. Isto se deve ao fato do uso de criptografia via certificados digitais.

Sendo assim, caso as máquinas utilizadas no ambiente não estejam cadastradas em um serviçoDNS, é necessário que elas sejam incluídas nos arquivos /etc/hosts de todas as máquinas.

Por exemplo, supondo que o ambiente tenha três servidores: Sigati Admin - sigatiAdmin.cesmic.ucb.br (172.16.0.1) Servidor OpenLDAP - master.cesmic.ucb.br (172.16.0.2) Servidor OpenLDAP - slave.cesmic.ucb.br (172.16.0.3)

então, o arquivo /etc/hosts de cada um destes servidores tem que ter o seguinte conteúdo: 127.0.0.1 localhost.localdomain localhost 172.16.0.1 sigatiAdmin.cesmic.ucb.br sigatiAdmin 172.16.0.2 master.cesmic.ucb.br master 172.16.0.3 slave.cesmic.ucb.br slave

Page 9: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

1.3.1.4. Criação do Usuário para Cópia de Arquivos Para a cópia de arquivos entre os servidores, o Sigati necessita que seja criado um usuário. Pordefault, o nome deste usuário é sigati. Se quiser utilizar um nome diferente, você precisa alterara propriedade “scp_user” contida no arquivo “core.properties”.

Por motivos de segurança, quando for solicitada a senha deste usuário, evite informar senhamuito fáceis. Vale salientar que o Sigati não necessita desta senha.

Para a criação do usuário, utilize o comando abaixo: # adduser sigati

Após a criação do usuário, é necessário gerar um par de chaves (pública e privada) para omesmo. Estas chaves permitem que a cópia de arquivos seja feita de forma segura ecriptografada.

Sendo assim, é preciso a execução dos seguintes comandos: # su - sigati # ssh-keygen -t rsa -b 1024

Neste último comando o parâmetro -t indica o tipo da chave a ser criada, enquanto o -b indicaa a quantidade de bits utilizada na criação da mesma. Se -b não for informado, será utilizado ovalor 2048 (default).

Quando surgir o texto:

Enter file in which to save the key (/home/sigati/.ssh/id_rsa):

pressione a tecla Enter. Da mesma forma, quando for solicitada a senha (passphrase) para oarquivo apenas pressione Enter:

Enter passphrase (empty for no passphrase): Enter same passphrase again:

1.3.2. Instalação dos Pacotes de SoftwareOs seguintes softwares são necessários:

a) JAVA – J2SE SDK j2sdk-1_4_2_14-linux-i586.bin (Debian) j2sdk-1_4_2_14-linux-i586-rpm.bin (Red Hat ou Fedora) Disponível em: http://java.sun.com/j2se/1.4.2/download.html

b) JBoss Application Server - jboss-3.2.6.zip (Independente de Plataforma) Disponível em: http://sourceforge.net/project/showfiles.php?group_id=22866&package_id=16942&rel ease_id=254098

c) openssl – Pacote disponibilizado com a distribuição

d) sigati-admin

Page 10: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

1.3.2.1. Preparação

a) Crie um diretório temporário onde serão colocados os pacotes do servidor Sigati Admin # mkdir /temporario

b) Efetue o download dos pacotes relacionados no item 1.3.4 colocando-os no diretório /temporario.

1.3.2.2. Openssl A instalação deste pacote pode ser feita via o comando apt-get (válido tanto para Debianquanto para Red Hat/Fedora). Neste caso, execute o seguinte comando:

# apt-get install openssl

Lembre-se que antes de utilizar este comando é preciso configurar o arquivo /etc/apt/sources.list, indicando os repositórios de software a partir dos quais os pacotes deverão ser obtidos.

1.3.2.3. Java Antes de instalar o Sigati Admin é preciso instalar o J2SDK 1.4.2_14

a) Debian i. Acesse o diretório temporário cd /temporario ii. Torne o pacote do java executável # chmod 755 j2sdk-1_4_2_14-linux-i586.bin iii. Execute o binário j2sdk-1_4_2_14-linux-i586.bin. Um diretório j2sdk1.4.2_14 será gerado em /temporario. # ./j2sdk-1_4_2_14-linux-i586.bin iv. Crie um diretório /usr/java # mkdir -p /usr/java v. Mova o diretório j2sdk1.4.2_14 criado em /temporario para o diretório /usr/java criado no passo anterior # mv j2sdk1.4.2_14 /usr/java

b) Fedora e Red Hat i. Acesse o diretório temporário # cd /temporario ii. Torne o pacote do java executável # chmod 755 j2sdk-1_4_2_14-linux-i586-rpm.bin iii. Execute o binário j2sdk-1_4_2_14-linux-i586-rpm.bin. # ./j2sdk-1_4_2_14-linux-i586-rpm.bin iv. Um arquivo RPM será gerado. Instale-o utilizando o comando abaixo. # rpm -ivh j2sdk-1_4_2_14-linux-i586-rpm

Obs.: Caso existam, remover os arquivos: /usr/bin/java e /usr/bin/javac. Obs: Verificar o diretório onde o Java foi instalado, pois será informado durante a instalação do

Page 11: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

Sigati. Normalmente é /usr/java/j2sdk1.4.2_14, se a versão do java instalada for a sugerida neste manual.

1.3.2.4. JBoss O download do JBoss pode ser feito através do site http://www.jboss.org/jbossas/downloads/. Será necessário um usuário e senha, caso não queira perder tempo cadastrando, acesse o site http://bugmenot.com e siga as instruções.

Para a instalação do JBoss, execute os comandos a seguir: a) Acesse a pasta temporario # cd /temporario

b) Descompacte o arquivo jboss-3.2.6.zip # unzip jboss-3.2.6.zip

c) Mova o diretório jboss-3.2.6 para /usr/local renomeando a pasta jboss-3.2.6 para jboss # mv jboss-3.2.6 /usr/local/jboss

1.3.2.5. Sigati Admin Execute o comando ln -sf /bin/bash /bin/sh antes de prosseguir a instalação para ter certeza do uso do shell correto. Em algumas distribuições o /bin/sh estava apontanto para /bin/dash, resultando em erros na instalação do sigati.

Para a instalação do Sigati Admin siga os passos a seguir:

a) Faça o download do pacote do sigati-admin-1.2.0.bin e coloque-o na pasta /temporario

b) Acesse a pasta temporario # cd /temporario

c) Torne o pacote do sigati executável # chmod 755 sigati-admin-1.2.0.bin

d) Execute o binário do sigati # ./sigati-admin-1.2.0.bin

e) Algumas perguntas serão feitas durante a instalação: i. Se o usuário concorda com o termo de uso apresentado. Responda “s” ou “n”. Se responder “n”, a instalação será abortada. ii. Se o usuário deseja utilizar TLS. Responda “s” ou “n”. Se responder “n”, o Sigati será instalado sem suporte a TLS. Se responder “s”, será solicitada a senha que foi utilizada na criação do arquivo “sigati.keystore”. Se o arquivo ainda não existir, ele pode ser criado após a instalação do Sigati Admin. Porém, a senha informada aqui terá que ser a mesma utilizada na criação do referido arquivo. iii. Em seguida será solicitada a senha do usuário que representa o Sigati no serviço de diretório. Deve ser informada uma senha para o mesmo. Esta senha será armazenada de forma criptografada. iv. Será perguntado ao usuário qual o sistema operacional utilizado. Responda “1” para Debian e “2” para Red Hat ou Fedora. v. Serão solicitados os caminhos onde estão instalados o J2SDK e o Jboss. vi. Por fim, será solicitado que o usuário informe a senha do usuário administrador

Page 12: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

default. Esta senha será armazenada de forma criptografada.

1.3.3. Criação do Certificado Digital para Uso de HTTPS no JBoss Ver seções 1.9.1 a 1.9.12 do capítulo 1.9 - Configurando o JBoss para Utilização de HTTPS.

1.3.4. Criação do Certificado Digital para Uso de TLSno Sigati Admin Ver seções 1.8.1 a 1.8.10 do capítulo 1.8 - Criando um arquivo Keystore para o Sigati Admin.

1.3.5. Inicialização do Sigaticore e do JBoss

Após a instalação do Sigati Admin, caso tenham sido criados os certificados digitais conforme especificados nas seções 1.3.3 e 1.3.4, é importante lembrar da cópia dos arquivos jboss.keystore e sigati.keystore para o diretório /usr/local/sigati.

Inicialize o serviço sigaticore: # cd /usr/local/sigati/bin/ # java -jar sigaticore.jar &

Em seguida, inicialize o servidor JBoss: # cd /usr/local/jboss/bin/ # ./run.sh &

1.4 Servidor Samba-LDAP

Em redes corporativas temos a presença de redes heterogêneas operando num mesmoambiente, para integrá-las é necessário a presença de um serviço que faça um papel deintermediário entre os dois ambientes. Para obter essa integração necessária usamos o pacoteSamba, disponibilizado no servidor Linux, autenticando usuários de ambas as redes, Windows eLinux. Para inserir esse ambiente integrado ao Sigati foi necessário determinar um ServidorSamba operando juntamente com um servidor LDAP, ambos configurados com a intenção deautenticar a mapear pastas compartilhadas na rede.

Sendo assim, este tópico do documento de instalação tem por objetivo detalhar os passosnecessários para a criação desse servidor integrado e a configuração das estações de ambos osambientes.

Page 13: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

1.4.1. Instalação

Para o funcionamento do Samba, verifique se os seguintes pacotes estão instalados noservidor:

a) Debian i. samba ii. samba-common iii. smbclient iv. smbldap-tools v. libauthen-sasl-cyrus-perl vi. libcrypt-smbhash-perl vii. libdigest-hmac-perl viii.libdigest-sha1-perl ix. libio-socket-ssl-perl x. libnet-ldap-perl xi. libnetssleay-perl

b) Fedora e Red Hat i. samba-commom-3.0 ii. samba-3.0 iii. samba-client-3.0 iv. smbldap-tools v. perl-Authen-SASL vi. perl-Crypt-SmbHash vii. perl-Digest-HMAC viii.perl-Digest-SHA1 ix. perl-IO-Socket-SSL x. perl-Net-LDAP xi. perl-Net-SSLeay

1.4.2. Configuração SAMBA-LDAP A configuração no servidor Samba é feita mediante alguns parâmetros em determinados arquivos e um comando para sincronização de senha. Parte dessas configurações estão automatizadas pelo Sigati, dessa forma, somente alguns parâmetros deverão ser passados à interface ADMIN para configuração personalizada. Os objetos samba são criados a partir dos templates “Servidor Samba”, “Grupo Samba” e “Usuário Samba”.

1.5 Servidor de Arquivos NFS Para que o sigati funcione integrado com o nfs, ou seja, possa criar os objetos do tiposervidores de arquivos e as pastas remotas para usuários e grupos neste servidor de arquivos, énecessário que o nfs esteja previamente instalado.

a) Debian nfs-common

Page 14: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

b) Fedora e Red Hat nfs-utils

1.6 Criação de uma Autoridade Certificadora (CA)

1.6.1. OpenSSL Verifique se o pacote do openssl está instalado, caso não esteja, será necessário instalá-lo.

1.6.2. Criação da CA

1.6.2.1. Debian # mkdir /myCA # cd /myCA # /usr/lib/ssl/misc/CA.sh –newca

1.6.2.2. Fedora/Red Hat # mkdir /myCA # cd /myCA # /usr/share/ssl/misc/CA –newca

Vale ressaltar que os dados preenchidos são exemplos. Estes devem ser preenchidos de acordo com a organização.

Obs. 1: Quando for solicitado o “PEM pass phrase”, digite uma senha difícil e que possa memorizar. Ela será utilizada para assinar os certificados do Sigati Admin e dos servidores OpenLDAP.

Obs. 2: Quando for solicitado valor para Common Name (eg, YOUR name) informe o nome da máquina na qual está sendo criada esta CA (na Figura 1.1, estamos usando sigatiAdmin.cesmic.ucb.br).

_________________________________________________________________________________________________ CA certname (or enter to create) Making CA certificate ... Using configuration from /usr/ssl/openssl.cnf Generating a 1024 bit RSA private key...++++++ ....++++++ writing new private key to ./demoCA/private/cakey.pem Enter PEM pass phrase:********* Verifying password - Enter PEM pass phrase:********* ----- You are about to be asked to enter information that will be incorporated into your certificate

Page 15: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter the field will be left blank. ----- Country Name (2 letter code) [UK]:br State or Province Name (full name) [Some-State]: df Locality Name (eg, city) []: Brasilia Organization Name (eg, company) [Internet Widgits Pty Ltd]: UCB Organizational Unit Name (eg, section) []: CESMIC Common Name (eg, YOUR name) []: sigatiAdmin.cesmic.ucb.br Certificate Authority Email Address []:

_________________________________________________________________________________________________ Figura 1.1 – Criação da Autoridade Certificadora

O certificado da CA (cacert.pem) está em /myCA/demoCA e sua chave privada (cakey.pem) em /myCA/demoCA/private.

1.7 Configuração do Servidor OpenLDAP para Utilização de TLS

Para a configuração do módulo de autenticação TLS siga as orientações das seções abaixo.

Vale ressaltar que os dados preenchidos são exemplos. Estes devem ser preenchidos

de acordo com a organização.

Antes de prosseguir, você deve ter criado a Autoridade Certificadora conforme o Capítulo 1do Manual de Configuração do Sigati Admin para utilização de HTTPS/TLS.

1.7.1. Criação de Certificado para o Servidor OpenLDAP

Para a criação do certificado, vamos informar o nome (FQDN) do servidor como argumento para o parâmetro -subj (neste exemplo, estamos considerando server.cesmic.ucb.br).

# mkdir /certificados # cd /certificados # openssl req -newkey rsa:1024 -nodes -keyout newkey.pem -out newreq.pem -subj /commonName=server.cesmic.ucb.br

Page 16: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

A saída deste comando pode ser visualizada logo abaixo:

Generating a 1024 bit RSA private key .........++++++ .++++++ writing new private key to 'newkey.pem' -----

1.7.2. Copiar a Requisição para a Máquina da CA

# scp /certificados/newreq.pem <nome da maquina>:/myCA/.

1.7.3. Assinatura do Certificado pela CA

Este comando deve ser executado na máquina da CA. Quando solicitado “Enter pass phrase for ./demoCA/private/cakey.pem:” digite a senha informada na criação da CA.

a) Debian

# /usr/lib/ssl/misc/CA.sh -sign

b) Fedora e Red Hat

# /usr/share/ssl/misc/CA -sign

Using configuration from /usr/share/ssl/openssl.cnf Enter pass phrase for ./demoCA/private/cakey.pem: Check that the request matches the signature Signature ok Certificate Details: Serial Number: 6 (0x6) Validity

Not Before: Jul 29 16:59:01 2005 GMT Not After : Jul 29 16:59:01 2006 GMT Subject: commonName = server.cesmic.ucb.br X509v3 extensions: X509v3 Basic Constraints:

Page 17: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

CA:FALSE Netscape Comment: OpenSSL Generated Certificate X509v3 Subject Key Identifier: B4:EF:BB:41:DE:43:11:3E:98:28:BF:F0:8C:C3:EB:EC:FC:0D:E6:34 X509v3 Authority Key Identifier: keyid:22:EC:14:0C:E6:94:2B:B4:20:A0:39:1D:7E:67:39:A8:9F:EC:7A:D3 DirName:/C=BR/ST=DF/L=BRASILIA/O=UCB/OU=CESMIC/CN=virtual126.cesmic.ucb.br serial:00 Certificate is to be certified until Jul 29 16:59:01 2006 GMT (365 days) Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated Certificate: Data: Version: 3 (0x2) Serial Number: 6 (0x6) Signature Algorithm: md5WithRSAEncryption Issuer: C=BR, ST=DF, L=BRASILIA, O=UCB, OU=CESMIC, CN=sigatiAdmin.cesmic.ucb.br Validity Not Before: Jul 29 16:59:01 2005 GMT Not After : Jul 29 16:59:01 2006 GMT Subject: CN=server.cesmic.ucb.br Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): ... Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: OpenSSL Generated Certificate X509v3 Subject Key Identifier: B4:EF:BB:41:DE:43:11:3E:98:28:BF:F0:8C:C3:EB:EC:FC:0D:E6:34 X509v3 Authority Key Identifier: keyid:22:EC:14:0C:E6:94:2B:B4:20:A0:39:1D:7E:67:39:A8:9F:EC:7A:D3 DirName:/C=BR/ST=DF/L=BRASILIA/O=UCB/OU=CESMIC/CN=virtual.cesmic.ucb.br serial:00

Signature Algorithm: md5WithRSAEncryption ... -----BEGIN CERTIFICATE----- ...

Page 18: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

-----END CERTIFICATE----- Signed certificate is in newcert.pem

1.7.4. Enviando os Certificados para o Servidor OpenLDAP

Agora, copie o certificado da CA e o certificado assinado para o servidor OpenLDAP. Estes comandos devem ser executados na máquina da CA.

a) Debian # scp demoCA/cacert.pem <nome do servidor>:/etc/ldap/cacert.pem

# scp newcert.pem <nome do servidor>:/etc/ldap/ldapcrt.pem

b) Fedora e Red Hat # scp demoCA/cacert.pem <nome do servidor>:/etc/openldap/cacert.pem # scp newcert.pem <nome do servidor>:/etc/openldap/ldapcrt.pem

Em seguida, copie a chave privada que foi gerada para o servidor OpenLDAP. Este comando deve ser executado na máquina do servidor OpenLDAP.

a) Debian # cp /certificados/newkey.pem /etc/ldap/ldapkey.pem

b) Fedora e Red Hat # cp /certificados/newkey.pem /etc/openldap/ldapkey.pem

1.7.5. Alterando permissões dos certificados (servidor OpenLDAP) Este comando deve ser executado na máquina do OpenLDAP.

# chmod 400 /etc/openldap/ldapkey.pem

Obs.: Os certificados gerados devem estar nos diretórios citados e com os nomesexatamente como especificados (cacert.pem, ldapcrt.pem, ldapkey.pem).

Page 19: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

1.7.6. Configurando os Arquivos ldap.conf e .ldaprc

Observação: A configuração descrita a seguir somente é necessária caso se queira fazer replicação entre os servidores OpenLDAP de forma de criptografada.

No arquivo /etc/ldap/ldap.conf, acrescente as linhas abaixo:

TLS_CACERT /etc/ldap/cacert.pem TLS_REQCERT demand

Na pasta do usuário que vai inicializar o OpenLDAP (geralmente o root), crie um arquivo chamado .ldaprc e acrescente as linhas abaixo:

TLS_CERT /etc/ldap/ldapcrt.pem TLS_KEY /etc/ldap/ldapkey.pem

1.7.7. Inicializar o Serviço OpenLDAP

# /etc/init.d/slapd start

1.8 Criando um Arquivo keystore para o Sigati Admin

1.8.1. Criação de um arquivo keystore Para que o Sigati Admin possa estabelecer uma comunicação criptografada com os servidores OpenLDAP, é preciso criar um arquivo keystore, o qual conterá o certificado digital para o Sigati.

1.8.2. Preparação Crie uma pasta temporária para o armazenamento dos arquivos a serem gerados nesta seção. Por exemplo:

Page 20: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

# mkdir /certificados # cd /certificados

1.8.3. Geração de um keystore para o Sigati Admin Primeiramente, é preciso gerar um arquivo keystore. Para tal, usaremos a ferramenta keytool (Key and Certificate Management Tool), a qual é fornecida com o JRE do Java. Esta ferramenta gerencia chaves privadas e seus certificados X.509 que autenticam suascorrespondentes chaves públicas, além de gerenciarem certificados de entidades válidas. Vamos então criar um arquivo keystore chamado sigati.keystore, o qual usará o algoritmo RSA para a geração das chaves e terá validade de um ano:

# keytool -genkey -alias sigati -keyalg RSA -keystore sigati.keystore -validity 365

A saída deste comando pode ser vista na Figura 2.1.

Obs. 1: Quando for solicitado valor para “What is your first and last name?”, informe um nome que identifique a aplicação (neste exemplo estamos usando sigati-admin).

Obs. 2: Cuidado ao informar a senha para o arquivo keystore, pois a mesma aparece na tela durante a digitação.

____________________________________________________________________________________________________ Enter keystore password: secret What is your first and last name? [Unknown]: sigati-admin What is the name of your organizational unit? [Unknown]: cesmic What is the name of your organization? [Unknown]: ucb What is the name of your City or Locality? [Unknown]: brasilia What is the name of your State or Province? [Unknown]: df What is the two-letter country code for this unit? [Unknown]: br Is CN=sigatiAdmin.cesmic.ucb.br, OU=cesmic, O=ucb, L=Brasilia, ST=df, C=br correct? [no]: yes

Enter key password for <jboss> (RETURN if same as keystore password): ____________________________________________________________________________________________________ Figura 2.1 – Criação de um certificado para o Sigti Admin.

1.8.4. Geração da requisição para assinatura do certificado pela CA # keytool -certreq -alias sigati -keystore sigati.keystore -file newreq.pem

Page 21: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

1.8.5. Copiar a requisição para a máquina da CA Se a requisição gerada na seção anterior estiver em uma máquina diferente da máquina onde foi instalada a Autoridade Certificadora (CA), então será preciso usar o comando scp para copiar a requisição:

# scp newreq.pem sigatiAdmin.cesmic.ucb.br:/myCA

Se a requisição estiver na mesma máquina da Autoridade Certificadora, então basta utilizar o comando cp:

# cp newreq.pem /myCA

1.8.6. Assinar o certificado do Sigati Admin Este passo deve ser executado na máquina onde está localizada a CA. Para a geração do certificado assinado para o Sigati Admin, execute o comando abaixo correspondente à distribuição utilizada. Quando surgir a mensagem “Enter pass phrase for ./demoCA/private/cakey.pem:”, digitea senha informada na criação da CA.

1.8.6.1. Debian # cd /myCA # /usr/lib/ssl/misc/CA.sh -sign

1.8.6.2. Fedora/Red Hat # cd /myCA # /usr/share/ssl/misc/CA -sign

Após a assinatura será gerado um arquivo chamado newcert.pem. Um exemplo de saída da execução do comando é mostrado na Figura 2.2.

___________________________________________________________________________________________________ Using configuration from /usr/share/ssl/openssl.cnf Enter pass phrase for ./demoCA/private/cakey.pem:

Check that the request matches the signature Signature ok Certificate Details: Serial Number: 6 (0x6) Validity Not Before: Jul 29 16:59:01 2005 GMT Not After : Jul 29 16:59:01 2006 GMT Subject: countryName = br

Page 22: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

stateOrProvinceName = df localityName = brasilia organizationName = ucb organizationalUnitName = cesmic commonName = sigati-admin X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: OpenSSL Generated Certificate X509v3 Subject Key Identifier: B4:EF:BB:41:DE:43:11:3E:98:28:BF:F0:8C:C3:EB:EC:FC:0D:E6:34 X509v3 Authority Key Identifier: keyid:22:EC:14:0C:E6:94:2B:B4:20:A0:39:1D:7E:67:39:A8:9F:EC:7A:D3 DirName:/C=br/ST=df/L=Brasilia/O=ucb/OU=cesmic/CN=sigatiAdmin.cesmic.ucb.br serial:00

Certificate is to be certified until Jul 29 16:59:01 2006 GMT (365 days) Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated Certificate: Data: Version: 3 (0x2) Serial Number: 6 (0x6) Signature Algorithm: md5WithRSAEncryption Issuer: C=br, ST=br, L=Brasilia, O=ucb, OU=cesmic, CN=sigatiAdmin.cesmic.ucb.br Validity Not Before: Jul 29 16:59:01 2005 GMT Not After : Jul 29 16:59:01 2006 GMT Subject: C=br, ST=df, L=Brasilia, O=ucb, OU=cesmic, CN=sigatiAdmin.cesmic.ucb.br Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): ... Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: OpenSSL Generated Certificate X509v3 Subject Key Identifier: B4:EF:BB:41:DE:43:11:3E:98:28:BF:F0:8C:C3:EB:EC:FC:0D:E6:34 X509v3 Authority Key Identifier: keyid:22:EC:14:0C:E6:94:2B:B4:20:A0:39:1D:7E:67:39:A8:9F:EC:7A:D3

Page 23: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

DirName:/C=br/ST=df/L=Brasilia/O=ucb/OU=cesmic/CN=sigatiAdmin.cesmic.ucb.br serial:00

Signature Algorithm: md5WithRSAEncryption ... -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- Signed certificate is in newcert.pem

___________________________________________________________________________________________________ Figura 2.2 – Assinatura do certificado do Sigati Admin pela CA.

1.8.7. Copiar o cerficado da CA e o certificado do Sigati Admin # scp demoCA/cacert.pem sigatiAdmin.cesmic.ucb.br:/certificados # scp newcert.pem sigatiAdmin.cesmic.ucb.br:/certificados

1.8.8. Converter os certificados para o formato DER # cd /certificados # openssl x509 -in cacert.pem -out cacert.der -outform DER # openssl x509 -in newcert.pem -out sigati.der -outform DER

1.8.9. Adicionar o certificado da CA no sigati.keystore # keytool -import -alias sigati-ca -keystore sigati.keystore -file cacert.der

____________________________________________________________________________________________________ Enter keystore password: secret Owner: CN=sigatiAdmin.cesmic.ucb.br, O=ucb, L=brasilia, ST=df, C=br Issuer: CN=sigatiAdmin.cesmic.ucb.br , OU=cesmic, O=ucb, L=Brasilia, ST=df, C=br Serial number: 0 Valid from: Mon Jul 18 13:57:34 BRT 2005 until: Tue Jul 18 13:57:34 BRT 2006 Certificate fingerprints: MD5: DE:83:79:E0:81:C6:63:49:9D:EE:6F:E6:AE:11:90:C6 SHA1: 8D:66:0C:CA:25:EF:A5:13:42:AD:18:17:B6:7C:3B:51:14:07:F6:40 Trust this certificate? [no]: yes Certificate was added to keystore

____________________________________________________________________________________________________

Page 24: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

Figura 2.3 – Adição do certificado da CA no arquivo sigati.keystore.

1.8.10. Adicionar o certificado no arquivo sigati.keystore # keytool -import -alias sigati -keystore sigati.keystore -file sigati.der

____________________________________________________________________________________________________ Enter keystore password: secret Certificate reply was installed in keystore ____________________________________________________________________________________________________ Figura 2.4 – Adição do certificado assinado no arquivo sigati.keystore.

Após a adição dos certificados, é possível visualizar o conteúdo do arquivo jboss.keystore utilizando o comando a seguir:

# keytool -v -list -keystore sigati.keystore

1.9 Configurando o JBoss para uso de HTTPS

1.9.1. Criação de um arquivo keystore Para a configuração do JBoss para uso de HTTPS é preciso efetuar a criação de um arquivo keystore. Este arquivo funciona como um banco de dados de certificados digitais, no qual ficam armazenadas as chaves públicas e privadas. Essas chaves são usadas para vários propósitos, incluindo autenticação e integridade de dados.

1.9.2. Preparação Crie uma pasta aonde serão temporariamente armazenados os arquivos a serem gerados nesta seção:

# mkdir /certificados # cd /certificados

1.9.3. Geração de um keystore para o JBoss Primeiramente, é preciso gerar um arquivo keystore. Para tal, usaremos a ferramenta keytool (Key and Certificate Management Tool), a qual é fornecida com o JRE do Java. Esta ferramenta gerencia chaves privadas e seus certificados X.509 que

Page 25: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

autenticam suas correspondentes chaves públicas, além de gerenciarem certificados de entidades válidas. Consideramos aqui que a máquina onde o JBoss está instalado chama-se sigatiAdmin.cesmic.ucb.br. Vamos então criar um arquivo keystore chamado jboss.keystore, o qual usará o algoritmo RSA para a geração das chaves e terá validade de um ano:

# keytool -genkey -alias jboss -keyalg RSA -keystore jboss.keystore -validity 365

A saída deste comando pode ser vista na Figura 3.1.

Obs. 1: Quando for solicitado valor para “What is your first and last name?”, informe um nome que identifique a aplicação (neste exemplo estamos usando sigati).

Obs. 2: Cuidado ao informar a senha para o arquivo keystore, pois a mesma aparece na tela durante a digitação.

_________________________________________________________________________________________________ Enter keystore password: secret What is your first and last name? [Unknown]: sigati What is the name of your organizational unit? [Unknown]: cesmic What is the name of your organization? [Unknown]: ucb What is the name of your City or Locality? [Unknown]: brasilia What is the name of your State or Province? [Unknown]: df What is the two-letter country code for this unit? [Unknown]: br Is CN=sigatiAdmin.cesmic.ucb.br, OU=cesmic, O=ucb, L=Brasilia, ST=df, C=br correct? [no]: yes

Enter key password for <jboss> (RETURN if same as keystore password): _______________________________________________________________________________________________ Figura 3.1 – Criação de um certificado para o Jboss.

1.9.4. Geração da requisição para assinatura do certificado pela CA # keytool -keystore jboss.keystore -certreq -alias jboss -file newreq.pem

Page 26: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

1.9.5. Copiar a requisição para a máquina da CA Se a requisição gerada na seção anterior estiver em uma máquina diferente da máquina onde foi instalada a Autoridade Certificadora, então será preciso usar o comando scp para copiar a requisição:

# scp newreq.pem sigatiAdmin.cesmic.ucb.br:/myCA

Se a requisição estiver na mesma máquina da Autoridade Certificadora, então basta utilizar o comando cp:

# cp newreq.pem /myCA

1.9.6. Assinar o certificado do JBoss Este passo deve ser executado na máquina onde está localizada a CA. Para a geração do certificado assinado para o Jboss, execute o comando abaixo correspondente à distribuição utilizada. Quando surgir a mensagem “Enter pass phrase for ./demoCA/private/cakey.pem:”, digite a senha informada na criação da CA.

1.9.6.1. Debian # cd /myCA # /usr/lib/ssl/misc/CA.sh -sign

1.9.6.2. Fedora/Red Hat # cd /myCA # /usr/share/ssl/misc/CA -sign

Após a assinatura será gerado um arquivo chamado newcert.pem. Um exemplo de saída da execução do comando é mostrado na Figura 3.2.

__________________________________________________________________________________________ Using configuration from /usr/share/ssl/openssl.cnf Enter pass phrase for ./demoCA/private/cakey.pem: Check that the request matches the signature Signature ok Certificate Details: Serial Number: 6 (0x6) Validity Not Before: Jul 29 16:59:01 2005 GMT Not After : Jul 29 16:59:01 2006 GMT Subject: countryName = br stateOrProvinceName = df localityName = brasilia organizationName = ucb

Page 27: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

organizationalUnitName = cesmic commonName = sigati X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: OpenSSL Generated Certificate X509v3 Subject Key Identifier: B4:EF:BB:41:DE:43:11:3E:98:28:BF:F0:8C:C3:EB:EC:FC:0D:E6:34 X509v3 Authority Key Identifier: keyid:22:EC:14:0C:E6:94:2B:B4:20:A0:39:1D:7E:67:39:A8:9F:EC:7A:D3 DirName:/C=br/ST=df/L=Brasilia/O=ucb/OU=cesmic/CN=sigatiAdmin.cesmic.ucb.br serial:00

Certificate is to be certified until Jul 29 16:59:01 2006 GMT (365 days) Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated Certificate: Data: Version: 3 (0x2) Serial Number: 6 (0x6) Signature Algorithm: md5WithRSAEncryption Issuer: C=br, ST=br, L=Brasilia, O=ucb, OU=cesmic, CN=sigatiAdmin.cesmic.ucb.br Validity Not Before: Jul 29 16:59:01 2005 GMT Not After : Jul 29 16:59:01 2006 GMT Subject: C=br, ST=df, L=Brasilia, O=ucb, OU=cesmic, CN=sigatiAdmin.cesmic.ucb.br Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): ... Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: OpenSSL Generated Certificate X509v3 Subject Key Identifier: B4:EF:BB:41:DE:43:11:3E:98:28:BF:F0:8C:C3:EB:EC:FC:0D:E6:34 X509v3 Authority Key Identifier: keyid:22:EC:14:0C:E6:94:2B:B4:20:A0:39:1D:7E:67:39:A8:9F:EC:7A:D3 DirName:/C=br/ST=df/L=Brasilia/O=ucb/OU=cesmic/CN=sigatiAdmin.cesmic.ucb.br

Page 28: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

serial:00

Signature Algorithm: md5WithRSAEncryption ... -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- Signed certificate is in newcert.pem ____________________________________________________________________________________________ Figura 3.2 – Assinatura do certificado do JBoss pela CA.

1.9.7. Copiar o cerficado da CA e o certificado do JBoss Se o CA estiver em uma máquina diferente, então será preciso usar o comando scp para copiar :

# scp demoCA/cacert.pem sigatiAdmin.cesmic.ucb.br:/certificados # scp newcert.pem sigatiAdmin.cesmic.ucb.br:/certificados

Se o CA estiver na mesma máquina, então basta utilizar o comando cp:

# cp demoCA/cacert.pem /certificados # cp newcert.pem /certificados

1.9.8. Converter os certificados para o formato DER # cd /certificados # openssl x509 -in cacert.pem -out cacert.der -outform DER # openssl x509 -in newcert.pem -out jboss.der -outform DER

1.9.9. Adicionar o certificado da CA no jboss.keystore # keytool -keystore jboss.keystore -alias sigati-ca -import -file cacert.der

__________________________________________________________________________________________________ Enter keystore password: secret Owner: CN=sigatiAdmin.cesmic.ucb.br, O=ucb, L=brasilia, ST=df, C=br Issuer: CN=sigatiAdmin.cesmic.ucb.br , OU=cesmic, O=ucb, L=Brasilia, ST=df, C=br Serial number: 0 Valid from: Mon Jul 18 13:57:34 BRT 2005 until: Tue Jul 18 13:57:34 BRT 2006 Certificate fingerprints: MD5: DE:83:79:E0:81:C6:63:49:9D:EE:6F:E6:AE:11:90:C6

Page 29: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

SHA1: 8D:66:0C:CA:25:EF:A5:13:42:AD:18:17:B6:7C:3B:51:14:07:F6:40 Trust this certificate? [no]: yes Certificate was added to keystore ____________________________________________________________________________________________________ Figura 3.3 – Adição do certificado da CA no arquivo jboss.keystore.

1.9.10. Adicionar o certificado do JBoss no jboss.keystore # keytool -keystore jboss.keystore -alias jboss -import -file jboss.der

____________________________________________________________________________________________________ Enter keystore password: secret Certificate reply was installed in keystore ____________________________________________________________________________________________________ Figura 3.4 – Adição do certificado assinado para o JBoss no arquivo jboss.keystore.

Após a adição dos certificados, é possível visualizar o conteúdo do arquivo jboss.keystore utilizando o comando a seguir:

# keytool -v -list -keystore jboss.keystore

1.9.11. Adicionar o certificado da CA no keystore do Java # keytool -keystore $JAVA_HOME/jre/lib/security/cacerts -alias -sigati-ca -import -file cacert.der

_________________________________________________________________________________________________ Enter keystore password: changeit Owner: CN=sigatiAdmin.cesmic.ucb.br , OU=cesmic, O=ucb, L=Brasilia, ST=DF, C=BR Issuer: CN=sigatiAdmin.cesmic.ucb.br , OU=cesmic, O=ucb, L=Brasilia, ST=DF, C=BR Serial number: 0 Valid from: Mon Jul 18 13:57:34 BRT 2005 until: Tue Jul 18 13:57:34 BRT 2006 Certificate fingerprints: MD5: DE:83:79:E0:81:C6:63:49:9D:EE:6F:E6:AE:11:90:C6 SHA1: 8D:66:0C:CA:25:EF:A5:13:42:AD:18:17:B6:7C:3B:51:14:07:F6:40 Trust this certificate? [no]: yes Certificate was added to keystore _________________________________________________________________________________________________ Figura 3.5 – Adição do certificado da CA no arquivo cacerts.

Page 30: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

1.9.12. Habilitando HTTPS no JBoss Copie o arquivo jboss.keystore para uma pasta acessível pelo Jboss (no nosso exemplo, iremos utilizar a pasta /usr/local/sigati). keystoreFile representa o arquivo keystore onde estão armazenados os certificados digitais. keystorePass indica a senha usada na geração do arquivo keystore (neste exemplo, estamos considerando o valor secret).

1.9.12.1. JBoss versão 3.2.6 ou superior e Tomcat 5.0 Edite o /usr/local/jboss/server/default/deploy/jbosswebtomcat50. sar/server.xml e habilite o conector para SSL/TLS. Localize neste arquivo o elemento a seguir:

____________________________________________________________________________________________________ <!-- SSL/TLS Connector configuration using the admin devl guide keystore <Connector port="8443" address="${jboss.bind.address}" maxThreads="100" minSpareThreads="5" maxSpareThreads="15" scheme="https" secure="true" clientAuth="false" keystoreFile="${jboss.server.home.dir}/conf/server.keystore" keystorePass="rmi+ssl" sslProtocol = "TLS" /> --> ____________________________________________________________________________________________________ Figura 3.6 – Conector SSL/TLS para Tomcat 5.0.

Para habilitar o conector SSL/TLS, é necessário mudar a posição do fechamento do comentário (-->), conforme segue abaixo:

____________________________________________________________________________________________________ <!-- SSL/TLS Connector configuration using the admin devl guide keystore --> <Connector port="8443" address="${jboss.bind.address}" maxThreads="100" minSpareThreads="5" maxSpareThreads="15" scheme="https" secure="true" clientAuth="false" keystoreFile="/usr/local/sigati/jboss.keystore" keystorePass="secret" sslProtocol = "TLS" /> __________________________________________________________________________________________________ Figura 3.7 – Configuração SSL/TLS para Tomcat 5.0.

1.9.12.2. JBoss versão 3.2.3 e Tomcat 4.1 Edite o arquivo /usr/local/jboss/server/default/deploy/jbosswebtomcat41. sar/META-INF/jboss-service.xml e habilite o conector para SSL/TLS. Localize neste arquivo o elemento a seguir:

_____________________________________________________________________________

Page 31: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

______________________ <!-- SSL/TLS Connector configuration <Connector className = "org.apache.coyote.tomcat4.CoyoteConnector" address="${jboss.bind.address}" port = "8443" scheme = "https" secure = "true"> <Factory className = "org.apache.coyote.tomcat4.CoyoteServerSocketFactory" keystoreFile="${jboss.server.home.dir}/conf/server.keystore" keystorePass="rmi+ssl" protocol = "TLS"/> </Connector> -->

____________________________________________________________________________________________________ Figura 3.8 – Conector SSL/TLS para Tomcat 4.1.

Para habilitar o conector SSL/TLS, é necessário mudar a posição do fechamento do comentário (-->), conforme segue abaixo: ____________________________________________________________________________________________________ <!-- SSL/TLS Connector configuration --> <Connector className = "org.apache.coyote.tomcat4.CoyoteConnector" address="${jboss.bind.address}" port = "8443" scheme = "https" secure = "true"> <Factory className = "org.apache.coyote.tomcat4.CoyoteServerSocketFactory" keystoreFile="/usr/local/sigati/jboss.keystore" keystorePass="secret" protocol = "TLS"/> </Connector>

____________________________________________________________________________________________________ Figura 3.9 – Configuração SSL/TLS para Tomcat 4.1. Note que estamos considerando que o arquivo keystore será armazenado no caminho /usr/local/sigati.

Page 32: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases

1.10 Anexo I – Campos obrigatórios e opcionais dos templates para criação de objetos

Page 33: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases
Page 34: 1 Manual de Instalação 1.1 Introdução · 1 Manual de Instalação ... O sigati-server é instalado em todo servidor que tiver instalado o ... fazer sincronização entre bases