Crie sua própria autoridade de certificação com o TinyCA

Se você executa qualquer tipo de servidor acessível ao público, conhece a importância das autoridades de certificação (CAs). Esses certificados oferecem aos usuários um pouco de segurança de que seu site é realmente o que ele afirma ser, e não uma versão falsificada do seu site, esperando para capturar alguns dados ou soltar uma pequena carga útil na máquina de um usuário que não suspeita.

O problema com as CAs é que elas podem ser um pouco caras - especialmente para o administrador que executa um serviço gratuito ou mesmo para uma pequena empresa sem o orçamento para a compra de CAs. Felizmente, você não precisa gastar dinheiro com as CAs, pois pode criá-las gratuitamente em sua máquina Linux com um aplicativo fácil de usar chamado TinyCA.

Características

  • Crie quantas CAs e sub-CAs forem necessárias.
  • Criação e revogação de certificados x509 S / MIME.
  • Os pedidos PKCS # 10 podem ser importados e assinados.
  • As autoridades de certificação do servidor e do cliente podem ser exportadas em vários formatos.

O TinyCA funciona como um front-end fácil de usar para o openssl, para que você não precise emitir todos os comandos necessários para criar e gerenciar suas autoridades de certificação.

Instalando o TinyCA

Você não encontrará o TinyCA nos repositórios da sua distribuição. Você pode adicionar o repositório necessário ao seu arquivo /etc/apt/sources.list ou pode instalar a partir de um dos binários encontrados na página principal. Vamos usar o Ubuntu e o Debian como exemplo de instalação.

Se você deseja instalar usando o apt-get, primeiro precisará adicionar o arquivo do repositório ao seu arquivo sources.list. Portanto, abra o arquivo /etc/apt/sources.list com seu editor favorito e adicione a seguinte linha:

deb //ftp.de.debian.org/debian sid main

NOTA: Substitua "sid" pela versão que você está usando. Se você estiver usando o Ubuntu 9.04, o exemplo acima funcionará.

Agora execute o comando:

sudo apt-get update

Você notará que o apt-get reclama da falta de uma chave gpg. Tudo bem, porque vamos instalar usando a linha de comando. Agora emita o comando:

sudo apt-get install tinyca

Isso deve instalar o TinyCA sem reclamar. Pode ser necessário aprovar a instalação de algumas dependências.

Usando o TinyCA

figura 1

Para executar o TinyCA, emita o comando tinyca2 e a janela principal será aberta. Na sua primeira execução, você será recebido pela janela Criar CA (veja a Figura 1). Quando você já possui CAs, essa janela não será aberta automaticamente. Nesta janela, você criará uma nova CA.

Figura 2

As informações que você deve inserir devem ser bastante aparentes e exclusivas para suas necessidades. Depois de preencher as informações, clique em OK, que abrirá uma nova janela (veja a Figura 2). Essa nova janela conterá configurações que são passadas para o SSL durante a criação do certificado. Como a primeira janela, essas configurações serão exclusivas para suas necessidades.

Depois de preencher essas informações, clique no botão OK e a CA será criada. Dependendo da velocidade da sua máquina, o processo pode demorar um pouco. Muito provavelmente, o processo será concluído em 30 a 60 segundos.

Gerenciando suas CAs

Figura 3

Quando sua CA estiver concluída, você será levado de volta à janela de gerenciamento (veja a Figura 3). Nesta janela, você pode criar SubCAs para sua CA principal, importar CAs, abrir CAs, criar novas CAs e (o mais importante) exportar CAs. Você não pode ver o botão Exportar na Figura 3, mas se você clicar na seta para baixo na parte superior direita da janela, verá outro botão, pode clicar para exportar uma CA.

Claro que você acabou de criar um certificado raiz. Este certificado será usado apenas para:

  • crie uma nova sub-CA: s
  • revogar sub-CA: s
  • renovar sub-CA: s
  • exportar o certificado da CA-raiz: s

Para algo diferente do acima, você desejaria criar uma SubCA. Discutiremos a criação de uma SubCA que realmente pode ser usada para o seu site no próximo artigo.

Pensamentos finais

O TinyCA dedica muito trabalho à criação e gerenciamento de autoridades de certificação. Para quem gerencia mais de um site ou servidor, essa ferramenta é certamente um item obrigatório.