localhost com o secure socket layer [RESOLVIDO]

1. localhost com o secure socket layer [RESOLVIDO]

Domingos Pinho
linuxparaavida

(usa OpenSuSE)

Enviado em 12/05/2009 - 18:30h

Olá a todos!

Estou a usar o OpenSuse 11.1, e tenho vindo a aprender bastante, nomeadamente o apache. Então para fins de curiosidade e com o intuito de perceber melhor, andei a ler documentação e comecei a fazer um exercício. entrar no localhost através do http e https.
Algo que ainda não consegui.

adicionei o módulo ao apache
a2enmod ssl

Criando um certificado Auto-Assinado
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

cp /etc/apache2/ssl.key/server.key
cp /etc/apache2/ssl.key/server.crt

no sites-available não tenho default porque causa do ispconfig 'penso eu'
/etc/apache2/sites-available/default

/etc/apache2/listen.conf

adicionei a porta 443

E não consigo entrar no localhost via https

Se alguém me puder ajudar, ficaria grato. É apenas curiosidade e treino mas gostaria de conseguir.

Obrigado!



  


2. SSL no localhost (HTTPS)

Domingos Pinho
linuxparaavida

(usa OpenSuSE)

Enviado em 24/06/2009 - 06:41h

1º=> Editar o seguinte ficheiro de configuração.
/etc/sysconfig/apache2
Acrescentar SSL entre as aspas.
APACHE_SERVER_FLAGS="SSL"
Esta é a linha default antes da configuração.
APACHE_SERVER_FLAGS=""

2º=> Copiar um exemplo de um virtual host "ssl" e nomeá-lo com o nome que quiser-mos
cp /etc/apache2/vhosts.d/vhost-ssl.template /etc/apache2/vhosts.d/serverssl.conf

3º=> Criar um pasta para criar-mos os certificados (podem criar os certificados noutro local)
mkdir /tmp/holdcerts
cd /tmp/holdcerts

4º=> Criar uma chave privada (1024)
openssl genrsa -des3 -out server.key 1024
[enter a password]
[confirm your password]

5º=> Criar um certificado CSR (Certificate Signing Request)
openssl req -new -key server.key -out server.csr

[enter your private key password]
[enter your two character country code]
[enter your full state or province name]
[enter your city name]
[enter your company name]
[enter your organizational unit or leave it blank]
[enter your common name or fqdn]
[enter your admin email address]
[leave the rest of the attributes blank]

6º=> Criar a assinatura para o certificado (CSR (Certificate Signing Request)) e ficamos com um CRT
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt

7º=> Copiar a chave privada, acrescentando apenas o ".secure"
cp server.key server.key.secure
=> Remove a palavra pass do teu certificado (private key) e restabelece a chave privada (server.key)
openssl rsa -in server.key.secure -out server.key
[enter your private key password]

8º=> Mover os certificados para os respectivos directórios
mv server.csr /etc/apache2/ssl.csr/server.csr
mv server.crt /etc/apache2/ssl.crt/server.crt
mv server.key /etc/apache2/ssl.key/server.key
mv server.key.secure /etc/apache2/server.key.secure

9º=> Aplicar as devidas restrições por motivos de segurança
chmod 400 /etc/apache2/ssl.csr/server.csr
chmod 400 /etc/apache2/ssl.crt/server.crt
chmod 400 /etc/apache2/ssl.key/server.key
chmod 400 /etc/apache2/server.key.secure

10º=> Agora vamos editar o ficheiro virtual host (SSL) que criamos no inicio /etc/apache2/vhosts.d/serverssl.conf
E modificamos as seguintes linhas

SSLCertificateFile /etc/apache2/ssl.crt/server.crt
Neste caso fica assim, uma vez que o nome dos meus certificados são "server"
Nota: Podem usar qualquer nome para o vosso certificado (Penso que não é permitido caracteres)
SSLCertificateKeyFile /etc/apache2/ssl.key/server.key


11º=> Reiniciar o Apache
/etc/init.d/apache2 restart

E pronto quando digitamos https://localhost e abre com ssl
Nota: O browser diz que a ligação não é segura, porque o certificado é auto-assinado

Muito interessante para quem quer aprender mais sobre este tema, inclusivé para quem tem uma conta dyndns ou noip, e quer verificar a sua página em https.

Todos os comentários são bem vindos

abraço






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts