primeira vez configurando ssl, tutoriais não foram muito úteis

1

Esta é a primeira vez que tento configurar um ssl para um site, e estou executando em um servidor que tem 3 outros sites já hospedados.

Estou usando o apache2. e a instalação veio com uma página ssl.conf.

O ssl.conf tem as seguintes configurações

LoadModule ssl_module modules/mod_ssl.so
Listen 443
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl    .crl

<VirtualHost *:443>
    ServerAdmin [email protected]
    DocumentRoot /var/www/html/securesite
    ServerName securesite.com
    ErrorLog logs/securesite-error_log
    CustomLog logs/securesite-access_log common
    SSLEngine on
    SSLCertificateFile /etc/httpd/ssl.crt/securesite.com.crt
    SSLCertificateKeyFile /etc/httpd/ssl.key/server.key
    SSLCertificateChainFile /etc/httpd/ssl.crt/gd_bundle.crt
</VirtualHost>

Quando executo o 'apachectl configtest', não recebo nenhum erro, mas executando 'apachectl -k restart', recebo 'httpd não executando, tentando iniciar'.

Eu tenho duas perguntas

1) Existe um erro na maneira como estou definindo meu virtualhost para 443 ?? o resto das minhas entradas apontam para < VirtualHost *: 80 & gt ;. Quando eu comento a entrada acima, o apache corre bem.

2) Preciso configurar um redirecionamento da porta 80 para um site seguro? Porque a maioria dos usuários vai para http: ou www. , e eu preciso enviá-los para https: o apache faz isso automaticamente? ou preciso criar uma entrada com um redirecionamento?

    
por pedalpete 17.03.2010 / 04:13

2 respostas

1

Você verificou o log de HTTP para mensagens de erro?

Tente comentar SSLCertificateChainFile e veja se isso ajuda. Eu executo muitos sites com SSL ativado e nunca precisei usar esse arquivo.

Configure seu próprio certificado assinado para teste, caso ainda não tenha feito isso. link

Se você estiver executando o securesite.com na porta 80 e 443, então sim, você precisará fazer algum tipo de redirecionamento se quiser forçar os clientes a https. Você pode usar um arquivo .htaccess para direcionar certas páginas, diretórios ou o site inteiro para o uso de https.

    
por 17.03.2010 / 08:46
0

Se eu tiver um servidor limpo, preciso instalar o SSL nestes passos que são normalmente executados.

Primeiro eu edito o SSLCipherSuite e o SSLProtocol em /etc/httpd/conf.d/ssl.conf para endurecer um pouco a instalação.


/etc/httpd/conf.d/ssl.conf


SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM
SSLProtocol -ALL +SSLv3 +TLSv1

Então eu crio as pastas /etc/httpd/conf/ssl.crt, /etc/httpd/conf/ssl.key, /etc/httpd/conf/ssl.csr. Você poderia muito bem colocá-los na pasta / etc / pki / tls existente, mas eu gosto de manter as coisas do meu site separadas de qualquer outro material da CA que possa estar acontecendo no servidor. Coloquei a chave e o certificado e, opcionalmente, o CSR nas pastas que criei. Se houver algum certificado intermediário, encadeie-os em um arquivo e coloque-o na pasta /etc/httpd/conf/ssl.crt como intermediate.pem.

Eu normalmente mantenho a configuração para cada host virtual em seu próprio arquivo em /etc/httpd/conf.d/vhosts/. (certifique-se de que sua configuração principal do apache esteja configurada para ler em qualquer arquivo * .conf dessa pasta). Então eu posso ter um arquivo chamado /etc/httpd/conf.d/vhosts/www.mysite.com.conf. Este arquivo conterá duas diretivas, uma para a porta 80 e outra para a porta 443. Se eu quiser que todos usem SSL, você poderá fazer uma reconfiguração de mod como neste exemplo.



/etc/httpd/conf.d/vhosts/www.mysite.com.conf


[VirtualHost 192.168.0.1:80]
    ServerName www.mysite.com
    ServerAlias mysite.com
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
[/VirtualHost]

[VirtualHost 192.168.0.1:443]
    ServerName www.mysite.com
    ServerAlias mysite.com
    DocumentRoot /var/www/vhosts/www.mysite.com/httpdocs
    SSLEngine on
    SSLVerifyClient none
    SSLCertificateFile /etc/httpd/conf/ssl.crt/www.mysite.com.crt
    SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
    SSLCACertificateFile /etc/httpd/conf/ssl.crt/intermediate.pem
    ErrorLog /var/log/vhosts/www.mysite.com-error_log
    CustomLog /var/log/vhosts/www.mysite.com-access_log common
[/VirtualHost]

Substitua os [] com os de < > mesmo nas tags pré que estava tentando lê-los como html e não aparecer corretamente.

Então, diretamente para suas perguntas:

1) Eu nunca vi ou usei o SSLCertificateChainFile Im assumindo que é o pacote intermediário de certificados para o qual eu usaria o SSLCACertificateFIle.

2) Se você quiser forçar todos a HTTPS, você precisará fazer um redirecionamento ou uma mod-rewrite. O Apache terá prazer em hospedar tanto o conteúdo HTTP quanto o HTTPS ao mesmo tempo e, para a maioria das pessoas, é isso que eles querem. Pode ser um grande PITA para obter todos os recursos externos que você puxa para o seu site para ser HTTPS, o que lançará mensagens de aviso para seus usuários se você usar HTTPS em sua home page. Se isso não for um problema para você, então use todos os meios HTTPS.

    
por 05.10.2011 / 21:00