Tabela de Conteúdos
4.1.2 Apache2 + Ssl
A adição do suporte ssl ao servidor web permite o restabelecimento de ligação seguras e encriptadas entre o servidor e o cliente. Deste modo, é possível trocar dados confidenciais, como passwords, com a certeza que esta não será capturada por terceiros.
É assim possível usar as ligações seguras como base para a implementação de outros serviços como, por exemplo, um serviço webmail.
Configuração
Durante a instalação do apache2 é criada uma configuração para acesso seguro (https). No entanto, esta configuração deverá ser alterada para incluir os 3.5.1 Certificados Ssl Auto-Assinados gerados previamente. A configuração é guardada no ficheiro /etc/apache2/sites-available/default-ssl.conf:
- /etc/apache2/sites-available/default-ssl.conf
# [...] # SSL Engine Switch: # Enable/Disable SSL for this virtual host. SSLEngine on # A self-signed (snakeoil) certificate can be created by inst$ # the ssl-cert package. See # /usr/share/doc/apache2/README.Debian.gz for more info. # If both key and certificate are stored in the same file, on$ # SSLCertificateFile directive is needed. # SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem # SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key SSLCertificateFile /etc/ssl/certs/server.crt SSLCertificateKeyFile /etc/ssl/private/server.key # [...]
Em seguida, deve ser activado o módulo ssl:
root@server:~# a2enmod ssl Considering dependency setenvif for ssl: Module setenvif already enabled Considering dependency mime for ssl: Module mime already enabled Considering dependency socache_shmcb for ssl: Module socache_shmcb already enabled Enabling module ssl. See /usr/share/doc/apache2/README.Debian.gz on how to configure SSL and create self-signed certificates. To activate the new configuration, you need to run: service apache2 restart
E o novo site também deve ser activado:
root@server:~# a2ensite default-ssl
Enabling site default-ssl.
To activate the new configuration, you need to run:
service apache2 reload
Verificar que a sintaxe do ficheiro de configuração está correta:
root@server:~# apachectl -t Syntax OK
Finalmente, reiniciar o serviço:
root@server:~# service apache2 restart
Verificação
Num browser, inserir o endereço do servidor (https://192.168.1.100). Após o aviso sobre o certificado auto assinado, deverá aparecer uma página:
O browser alertará para a existência de um certificado auto-assinado que, obviamente, não poderá atestar. Para evitar este alerta no futuro, basta adicionar o certificado à lista de exceções do browser.