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

Se você executa qualquer tipo de servidor que seja acessível ao público, você sabe a importância das autoridades de certificação (CAs). Esses certificados oferecem a seus usuários uma certa segurança de que seu site é realmente o que afirma ser, e não uma versão falsificada de seu site esperando para obter alguns dados ou colocar uma pequena carga na máquina de um usuário desavisado.

O problema com os CAs é que eles podem ser um pouco caros - especialmente para o administrador que administra um serviço gratuito, ou mesmo uma pequena empresa sem orçamento para comprar CAs. Felizmente, você não precisa gastar dinheiro com CAs, porque você pode criá-los gratuitamente em sua máquina Linux com um aplicativo fácil de usar chamado TinyCA .

Recursos

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

O TinyCA funciona como um front-end amigável para o openssl, então você não precisa emitir todos os comandos necessários para criar e gerenciar seus CAs.

Instalando TinyCA

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

Se você quiser instalar usando apt-get, você precisará primeiro adicionar o arquivo de repositório ao seu arquivo sources.list. Então abra o /etc/apt/sources.list arquivo com seu editor favorito e adicione a seguinte linha:
deb http://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 iremos instalar usando a linha de comando. Agora emita o comando:

sudo apt-get install tinyca

Isso deve instalar o TinyCA sem reclamar. Você pode ter que aprovar a instalação de algumas dependências.

Usando TinyCA

Figure 1
figura 1

Para executar o TinyCA, emita o comando tinyca2 e a janela principal será aberta. Em sua primeira execução, você será saudado pela janela Criar CA (consulte a Figura 1). Quando você já tem CAs, esta janela não abre automaticamente. Nesta janela, você criará um novo CA.

Figure 2
Figura 2

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

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

Gerenciando seus CAs

Figure 3
Figura 3

Quando seu CA for concluído, você será levado de volta à janela de gerenciamento (veja a Figura 3). Nesta janela, você pode criar SubCAs para sua CA principal, pode 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 em que pode clicar para exportar um CA.

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

  • criar novo sub-CA: s
  • revogar sub-CA: s
  • renovar sub-CA: s
  • exportar o certificado raiz-CA: s

Para qualquer coisa diferente das mencionadas acima, você desejaria criar um SubCA. Discutiremos a criação de um SubCA que pode realmente ser usado para o seu site no próximo artigo.

Pensamentos finais

O TinyCA exige muito trabalho de criação e gerenciamento de autoridades de certificação. Para qualquer pessoa que gerencia mais de um site ou servidor, esta ferramenta é certamente imprescindível.