Começamos por adicionar novas entradas nos hosts conhecidos pela VM usando e iniciamos os containers do lab.
Uma certificate authority (CA) é uma entidade de confiança que emite certificados digitais. Neste lab não vamos usar nenhuma CA comercial, então vamos fazer a nossa própria.
Copiamos o ficheiro openssl.cnf para a pasta de trabalho local para podermos fazer alterações. Depois descomentamos a linha unique_subject. Criamos os ficheiros e diretórios necessários e fizemos serup da CA:
Podemos ver que se trata de uma CA por:
Podemos ver que é self-signed pois issuer e subject são iguais:
Nesta task geramos um certificate request para o servidor. Executamos o comando facultado:
Agora vamos tornar o request num certificado. Executamos o comando ´´´$ openssl ca -config openssl.cnf -policy policy_anything -md sha256 -days 3650 -in server.csr -out server.crt -batch -cert ca.crt -keyfile ca.key´´´. Editamos o ficheiro openssl descomentando copy_extensions.
Executamos o comando ´´´openssl x509 -in server.crt -text -noout´´´ e verificamos que os nomes alternativos estão abrangidos.
Copiamos "server.ctf" e "server.key" para o diretorio /volumes e mudamos os nomes para bank32. Modificamos o ficheiro "etc/apache2/sites-available/bank32_apache_ssl.conf" dentro do container, para que o certificado e chave usados sejam os desejados
para iniciar o servidoor Apache abrimos uma shell no container e inserimos ´´´service apache2 start´´´
Acedendo a https://bank32.com vimos que a ligaçao não era segura. Para corrigir isto, importamos o certificado CA que geramos.
Mudou-se a configuração do servidor para termos o site ww.example.com:
Alteramos tambem /etc/hosts ligando www.example.com a 10.9.0.80
Ao tentaracederao site example.com, vemmos que o browser alerta para um risco, devido ao nome do domínio não corresponder ao que estã presente no certificado do servidor