Successfully reported this slideshow.
Your SlideShare is downloading. ×
Advertisement

More Related Content

Advertisement

Unidade7 roteiro

  1. 1. Curso Técnico de Manutenção e Suporte em Informática Segurança da Informação Prof. Leandro Almeida Certificação Digital – Criando uma Autoridade Certificadora OBS: Este roteiro foi gentilmente cedido pelo Professor Dênio Mariz. 1. Preparativos iniciais Usaremos a ferramenta OpenSSL para gerar um par de chaves pública e privada e para gerar um certificado digital para uma Autoridade Certificadora. Após isso iremos assinar requisições de certificados de clientes. Para instalar o OpenSSL: # apt­get install openssl Vamos configurar o ambiente para nossa CA: # cd /opt # mkdir CA # cd CA # mkdir newcerts private # echo '01' > serial # touch index.txt Devemos criar fazer o download do arquivo openssl.cnf do site do professor com o comando: #   wget   http://dl.dropbox.com/u/22560647/iDEZ/CTMSI/Seguran %C3%A7a%20da%20Informa%C3%A7%C3%A3o/openssl.cnf 2. Criando um par de chaves Para criar a chave privada digite: # openssl genrsa ­des3 ­out private/CA.key 1024 As opções indicam o seguinte:
  2. 2. -genrsa indica ao OpenSSL que voce quer gerar um par de chaves -des3 indica que a chave privada deve ser criptografada. Vai pedir uma password e vai cifrar o arquivo que contém a chave privada com o algoritmo 3DES (-aes128 usaria o algoritmo AES). -out indica onde salvar a chave privada 1024 indica o número de bits da chave gerada Você pode verificar a chave criada com o comando: # openssl rsa ­text ­in private/CA.key | more Agora vamos gerar a chave pública com o comando: # openssl rsa –in private/CA.key –pubout –out CA.pub 3. Criando um certificado raiz Para criar um certificado raiz, use o comando: #   openssl   req   ­new   ­x509   –key   private/CA.key   ­extensions  v3_ca ­out CA_RAIZ.pem ­days 3650 As opções são as seguintes: -new -x509 pede para criar um novo certificado no formato X.509 -extensions v3_ca indica extensão necessária para criar um certificado raiz -days 3650 indica a validade do certificado (10 anos) -out indica o nome do arquivo que conterá o certificado Você pode vizualizar o certificado com o comando: # openssl x509 ­in CA_RAIZ.pem ­noout ­text | more 4. Criando um pedido de assinatura de certificado(Certificate Signing Request – CSR) Um Pedido de Assinatura de Certificado (CSR) é um conjunto de informações de um cliente que são enviados para um Certificate Authority (CA) para serem assinadas, ou seja, para queseja criado um certificado para esse cliente. Aqui, faremos o papel do cliente solicitante e também do certificador. Ou seja, geraremos um CSR e depois nós mesmo assinaremos. Normalmente, um cliente não é também um certificador e, nesses casos, ele enviaria o CSR para um certificador e receberia o certificado. Assuma que somos um cliente e queremos criar um certificado para um site na web. Então vamos criar um pedido de assinatura de um certificado (CSR) para o site www.SEUNOME.com.br com o comando: #   openssl   req   ­new   ­nodes   ­out   www.SEUNOME.csr   –keyout  www.SEUNOME.key O arquivo www.SEUNOME.csr contém o CSR que deve ser enviado para o Certificador.
  3. 3. O arquivo www.SEUNOME.key contém a chave privada do cliente e deve ser mantida em segredo pelo cliente. 5. Criando um certificado a partir de um CSR(ou assinando um certificado) Agora assuma que somos a autoridade certificadora e que recebemos o CSR do cliente (gerado no item anterior). Vamos criar o certificado para o cliente solicitante (www.SEUNOME.com.br) com o comando: #   openssl   ca   –out   www.SEUNOME.pem   –keyfile   private/CA.key   – cert CA_Raiz.pem –config openssl.cnf –infiles www.SEUNOME.csr As opções são as seguintes: ca subcomando do openssl para geração de certificados -out o nome do certificado a ser gerado -keyfile indica o arquivo contendo a chave privada do certificador -cert indica o arquivo contendo o certificado raiz do certificador -config indica o nome do arquivo de configuração (com outras opções e defaults) -infiles os arquivos contendo os CSR a serem assinados 6. Testando o certificado Vamos simular um servidor WWW usando o OpenSSL. Ele ficará escutando na porta 4433 uma conexão e estabelecerá uma conexão SSL quando um browser contactá-lo. Para isso, digite o comando: #   openssl   s_server   –cert   www.SEUNOME.pem   –www   –key  www.SEUNOME.key Agora abra um browser na mesma máquina e acesse o seguinte URL: https://localhost:4433 . Voce pode acessar de um browser em outra máquina, usando a URL https://IP:4433, onde IP é o endereço IP do host que está rodando o openssl s_server.

×