Tutorial: Como criar os seus próprios certificados SSL Date : 10 de Junho de 2016 Nos dias que correm, é fundamental que todos os dados sensíveis, transaccionados entre um cliente (browser) e um servidor sejam cifrados de modo a que estes não possam ser entendidos por terceiros. No caso dos servidores Web (entre outros serviços de uma rede), uma das formas de proceder à cifra dos dados é recorrendo ao protocolo SSL. Nesta área há empresas que vendem certificados, mas os utilizadores também podem criar os seus (apesar de não serem automaticamente reconhecidos pelos browsers). O que é o SSL? O SSL é um protocolo criptográfico baseado em cifras assimétricas (chave privada + chave pública), que tem como principal objectivo fornecer a segurança e integridade dos dados transmitidos em redes inseguras, como é o caso da Internet. http://www.pplware.com Pplware 1 / 8
Quando um utilizador acede a um site que recorre ao SSL, o servidor envia ao cliente a chave pública deste para que esta possa cifrar a informação que vai ser passada ao servidor. Quando o servidor recebe essa informação, usa a sua chave privada para decifrar a informação transmitida pelo cliente. Existem várias utilizações para este protocolo, como por exemplo o comércio electrónico, servidores Web, servidores FTP, etc. Para identificar facilmente se estão a visualizar um site seguro basta verificar no URL que em vez de estar o normal http:// se encontra https://- Saber mais aqui. Como criar os seus próprios certificados SSL? Neste tutorial vamos mostrar como podemos criar o nosso próprio certificado SSL e integrá-lo no Apache. Para tal devem seguir os seguintes passos: Passo 1) Criar uma pasta onde vai guardar o certificado gerado: sudo mkdir -p /etc/apache2/ssl Passo 2) Criar o nosso próprio certificado, usando o comando abaixo: sudo openssl req -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apa che.pem -keyout /etc/apache2/ssl/apache.pem Passo 3) Uma vez criado o certificado, vamos aprender como o referenciar na configuração do http://www.pplware.com Pplware 2 / 8
Apache. Para começar vamos criar um link simbólico do certificado: sudo ln -sf /etc/apache2/ssl/apache.pem /etc/apache2/ssl/`/usr/bin/ope nssl x509 -noout -hash Passo 4) Definir as permissões: Vamos agora definir as permissões. Para este caso, vamos definir permissões de leitura e escrita para o dono do ficheiro do certificado sudo chmod 600 /etc/apache2/ssl/apache.pem Passo 5) Criação de um virtual Host: A criação de Virtual Hosts no Apache permite que numa única máquina possamos ter vários sites, sendo que cada um pode estar associado a um nome ou a um endereço IP. sudo cp /etc/apache2/sites-available/default /etc/apache2/sitesavailable/ssl Passo 6) Criação de um link simbólico do ficheiro ssl: sudo ln -s /etc/apache2/sites-available/ssl /etc/apache2/sitesenabled/ssl http://www.pplware.com Pplware 3 / 8
Passo 7) Editamos o ficheiro SSL usando o nano (ou outro editor): sudo nano /etc/apache2/sites-available/ssl No ficheiro indicamos onde se encontra o nosso certificado SSL criado.... SSLEngine On SSLCertificateFile /etc/apache2/ssl/apache.pem http://www.pplware.com Pplware 4 / 8
Passo 9) Agora vamos ao ficheiro ports.conf e descomentamos a linha Listen 443 : sudo nano /etc/apache2/ports.conf http://www.pplware.com Pplware 5 / 8
Passo 10) Por fim ativamos o modulo SSL e reiniciamos o Apache: sudo a2enmod ssl sudo service apache2 restart http://www.pplware.com Pplware 6 / 8
Passo 11) Testar: Para testar, abrimos o brower e escrevemos https://localhost/, adicionamos o certificado, e de seguida confirmamos a excepção de segurança. Como podemos ver pela imagem anterior, a ligação estabelecida ao servidor é segura, sendo usado o protocolo TLS. http://www.pplware.com Pplware 7 / 8
Powered by TCPDF (www.tcpdf.org) Relativamente ao aviso O certificado do servidor não é fidedigno tal acontece porque o browser não conhece a nossa autoridade de certificação. Para tal, no primeiro aviso basta que indiquem que confiam na autoridade de certificação e que pretendem prosseguir. Caso a vossa distribuição não seja Debian-based, podem ver aqui como fazer. http://www.pplware.com Pplware 8 / 8