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.

Referências