Pplware

Aprenda a configurar o Apache com SSL (Parte III) – Final

Nos dias que correm, é importante que todos os dados sensíveis transaccionados entre um cliente e um servidor sejam cifrados de modo a que estes não possam ser entendidos por terceiros. Na prática, quando acedemos a um serviço online que nos solicita dados pessoais ou credenciais de acesso (ex. sites de bancos) é importante que a toda a informação passada seja cifrada de modo a tornar-se ilegível. No caso dos servidor Web (entre outros serviços de uma rede), uma das formas de proceder a cifra dos dados é recorrendo ao protocolo SSL.

Depois de termos deixado aqui uma breve descrição sobre o que são chaves privadas e chaves publicas, um certificado digital, o protocolo SSL e o OpenSSL, e de termos aprendido aqui a produzir certificados digitais, hoje vamos finalizar esta sessão de tutoriais, explicando como se configura o Apache com o protocolo SSL (recorrendo aos certificados já criados).

Para quem não conhece, o Apache foi desenvolvido pela Apache Software Foundation e é o servidor WWW mais popular, tendo suporte para a maioria dos sistemas operativos. Além de muitas outras funcionalidades, o Apache tem suporte para o protocolo SSL através da activação de um modulo específico.

No CentOS o principal ficheiro de configuração do Apache encontra-se em /etc/httpd/conf/httpd.conf. Dentro do directório /etc/httpd/conf.d/ podemos proceder à configuração dos módulos.

Como instalar o mod_ssl?

Como referido, o Apache tem suporte para SSL através do modulo mod_ssl. Para instalar o modulo mod_ssl basta executar o comando:

yum install mod_ssl

Após a instalação é criado automaticamente o ficheiro /etc/httpd/conf.d/ssl.conf, onde podemos realizar as configuração associadas ao SSL. Usando o ficheiro já criado, apenas necessitamos de indicar os seguintes paramentos:

Nota: De referir, que os ficheiros foram produzidos com base no processo descrito neste artigo

##
## SSL Virtual Host Context
##



# General setup for the virtual host, inherited from global configuration
#DocumentRoot "/var/www/html"
#ServerName www.example.com:443

# Use separate log files for the SSL virtual host; note that LogLevel
# is not inherited from httpd.conf.
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn

#   SSL Engine Switch:
#   Enable/Disable SSL for this virtual host.
SSLEngine on

#   SSL Protocol support:
# List the enable protocol levels with which clients will be able to
# connect.  Disable SSLv2 access by default:
SSLProtocol all -SSLv2
#   SSL Cipher Suite:
# List the ciphers that the client is permitted to negotiate.
# See the mod_ssl documentation for a complete list.
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW

#   Server Certificate:
# Point SSLCertificateFile at a PEM encoded certificate.  If
# the certificate is encrypted, then you will be prompted for a
# pass phrase.  Note that a kill -HUP will prompt again.  A new
# certificate can be generated using the genkey(1) command.
#SSLCertificateFile /etc/pki/tls/certs/localhost.crt

SSLCertificateFile /etc/pki/tls/pplware/www.crt
SSLCertificateKeyFile /etc/pki/tls/pplware/chaveprivada.key
SSLVerifyClient require 
SSLVerifyDepth  10 …. 

Após a configuração, apenas temos de reiniciar o Apache (service httpd restart) e verificar se tudo está a funcionar correctamente. Para isso, basta que abram um browser e estabelecem ligação ao servidor.

Como podemos ver pela imagem anterior, a ligação estabelecida ao servidor é segura, sendo usado o protocolo TLS. 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.

Esperamos que este conjunto de 3 tutoriais vos sejam úteis, e que a partir de agora possam implementar servidores Apache seguros. O processo de criação de certificados é idêntico para outros serviços da rede como por exemplo e-Mail, FTP, etc. Alguma duvida ou questão, basta deixar nos comentários deste artigo.

Exit mobile version