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

Mais conteúdo relacionado

ODP
Certificação Digital - Aula2 Exercícios
ODP
Certificação Digital - Aula1 Exercícios
PDF
Pdo do PHP Palestra
PDF
Gerenciando senhas com o kee pass password safe
PPT
Aula 5 - Cookies e Sessões em PHP
PPSX
Criação do Domínio e Hospedagem
PPTX
PDO: TRABALHANDO COM BANCO DO JEITO CERTO
PPT
Aula 5 - Cookies e sessões em PHP
Certificação Digital - Aula2 Exercícios
Certificação Digital - Aula1 Exercícios
Pdo do PHP Palestra
Gerenciando senhas com o kee pass password safe
Aula 5 - Cookies e Sessões em PHP
Criação do Domínio e Hospedagem
PDO: TRABALHANDO COM BANCO DO JEITO CERTO
Aula 5 - Cookies e sessões em PHP

Destaque (12)

PDF
Roteiro vsftpd
PDF
Roteiro sambaswat
PDF
Unidade 5 hardening-linux
PDF
Roteiro cups
PDF
Roteiro nfs
PDF
PDF
Roteiro sshd
PDF
Apresentação
PDF
Segurança de-redes
PDF
Single Packet Authorization
PDF
Unidade2 projeto lógico da rede
PDF
Roteiro samba
Roteiro vsftpd
Roteiro sambaswat
Unidade 5 hardening-linux
Roteiro cups
Roteiro nfs
Roteiro sshd
Apresentação
Segurança de-redes
Single Packet Authorization
Unidade2 projeto lógico da rede
Roteiro samba
Anúncio

Semelhante a Unidade7 roteiro (20)

PDF
Aula20 open vpn
PPT
Configurando servidor web https no apache2 ed
PPT
Certificados Digitais
PPT
Abordagem sistemática da infra-estrutura de chave pública
PPTX
Politicas de segurança
PDF
Certificados SSL ( Symantec )
PPTX
Architecture In A Box - Declarações e Identidades Na Computação Na Nuvem
DOCX
Maria certificado
PDF
Segurança e automação na Amazon: Lições das trincheiras
PDF
SSL,Secure Sockets Layer
PDF
SSL no apache
PDF
Aula ix infraestrutura - 03032012
PDF
Certificados SSL e Let's Encrypt
PPTX
Cenários do mundo real para uma arquitetura de autenticação e autorização no ...
PDF
Configurando o connector salesforce
PPSX
Aula src openvpn-configuração com chave publica
PDF
Configurando SSL com Let’s Encrypt, Easy Engine e WP-CLI
PDF
WordCamp Floripa 2018: Configurando SSL com Let’s Encrypt, Easy Engine e WP-CLI
PDF
Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
PDF
Rafael Funchal - Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
Aula20 open vpn
Configurando servidor web https no apache2 ed
Certificados Digitais
Abordagem sistemática da infra-estrutura de chave pública
Politicas de segurança
Certificados SSL ( Symantec )
Architecture In A Box - Declarações e Identidades Na Computação Na Nuvem
Maria certificado
Segurança e automação na Amazon: Lições das trincheiras
SSL,Secure Sockets Layer
SSL no apache
Aula ix infraestrutura - 03032012
Certificados SSL e Let's Encrypt
Cenários do mundo real para uma arquitetura de autenticação e autorização no ...
Configurando o connector salesforce
Aula src openvpn-configuração com chave publica
Configurando SSL com Let’s Encrypt, Easy Engine e WP-CLI
WordCamp Floripa 2018: Configurando SSL com Let’s Encrypt, Easy Engine e WP-CLI
Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
Rafael Funchal - Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
Anúncio

Mais de Leandro Almeida (20)

PDF
Unidade6 roteiro pentest
PDF
Unidade5 roteiro footprint
PDF
Unidade5 footprint
PDF
Unidade8 roteiro
PDF
Unidade 8 ieee802-11i
PDF
Unidade4 cripto
PDF
Roteiro dns
PDF
Unidade 6 servico dns
PDF
Roteiro web
PDF
Unidade 7 cripto
PDF
Unidade 5 servico web
PDF
Unidade3 seg perimetral-vpn
PDF
Unidade3 seg perimetral-vpn
PDF
Unidade3 seg perimetral-ids
PDF
Unidade3 roteiro proxy
PDF
Unidade3 seg perimetral-proxy
PDF
Unidade5 roteiro
PDF
Unidade 5 servico dhcp
PDF
Unidade3 roteiro
PDF
Unidade3 seg perimetral
Unidade6 roteiro pentest
Unidade5 roteiro footprint
Unidade5 footprint
Unidade8 roteiro
Unidade 8 ieee802-11i
Unidade4 cripto
Roteiro dns
Unidade 6 servico dns
Roteiro web
Unidade 7 cripto
Unidade 5 servico web
Unidade3 seg perimetral-vpn
Unidade3 seg perimetral-vpn
Unidade3 seg perimetral-ids
Unidade3 roteiro proxy
Unidade3 seg perimetral-proxy
Unidade5 roteiro
Unidade 5 servico dhcp
Unidade3 roteiro
Unidade3 seg perimetral

Unidade7 roteiro

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