[Criptografia] HTTPs com Apache2 no Debian 6

Procedimento para instalação e configuração de um host ssl com o Apache2.

Na aula de hoje vamos instalar o Apache2 no Debian 6 da forma mais simples possível – via pacote .deb pré-compilado. Após isso, vamos trabalhar com o mod_rewrite do Apache, forçando acessos HTTP a serem requisitados como HTTPs pelo Browser cliente.

Abaixo segue um passo-a-passo comentado do processo de instalação do Apache2 + SSL, com geração do certificado .pem e habilitação do vhost default para HTTP e para HTTPs:

PASSO 1

Instalação do pacote “apache2” e suas dependências via mirros em “/etc/apt/sources.list” utilizando o gerenciador
de pacotes “apt”:
# apt-get install apache2

PASSO 2

Instalação dos pacotes “openssl” e “ssl-cert” (e suas dependências) via mirros em “/etc/apt/sources.list”
utilizando o gerenciador de pacotes “apt”
# apt-get install openssl ssl-cert

PASSO 3

Habilitação do módulo “ssl” via utilitário “a2enmod” ([A]pache[2] [EN]able [MOD]ule)
# a2enmod ssl

PASSO 4

Geração do certificado para o módulo ssl do apache2 com o utilitário “openssl”. Pelos parâmetros passados, será um certificado novo, no padrão X.509 com  validade de 1 ano
# openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout /etc/apache2/apache.pem

PASSO 5

Permissão de leitura e de escrita apenas para o owner, no nosso caso, root
# chmod 600 /etc/apache2/apache.pem

PASSO 6

Habilitação do site “default-ssl”, com configuração em “/etc/apache2/sites-available/” através do utilitário”a2ensite” ([A]pache[2] [EN]able [SITE])
# a2ensite default-ssl

PASSO 7

Solicitação de re-leitura dos arquivos de configuração do apache2 e recarga das configurações novas
# /etc/init.d/apache2 reload

Para testar, basta acessar o Apache via navegador com HTTP e com HTTPs. Os dois tipos de acesso devem funcionar. Caso negativo, “netstat -nap” para verificar se o apache realmente está “escutando” nas portas 80/TCP e 443/TCP, além de verificações de Firewall.

O próximo passo, é forçar todo acesso HTTP a ser solicitado novamente como HTTPs, de forma transparente para o usuário. Isso você encontra em meu blog, acessando a URL abaixo:

https://thiagolucas.wordpress.com/2012/07/24/forcando-https-com-o-modrewrite-do-apache/

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s