[FUGSPBR] RES: Apache com OpenSSL

Ronielton Rezende Oliveira ronieltonprogramador em yahoo.com.br
Sex Nov 19 15:45:29 BRST 2004


Boa Tarde,

Alexandre e comunidade,

Sua dica foi muito util. Vamos aos resultados e um novo problema:

1) Primeiramente configurei meu server para responder por IP's virtuais, no
rc.conf: ifconfig_interface_alias0 = "inet 192.168.254.13 netmask
255.255.255.255", considerando que o ip real da minha placa de rede eh:
ifconfig_interface = "inet 192.168.254.1 netmask 255.255.255.240", o que me
forneceu um segundo numero IP para configurar o apache.

2) Nas configuracoes de VirtualHost do apache, modifiquei a entrada do host
virtual para o novo endereco de IP, <VirtualHost 192.168.254.13:80> e fiz as
respectivas configuracoes.

3) No BIND, inseri um novo host apontando para o IP Virtual, e criei um
alias para ele:
        hostvirtual IN A 192.168.254.13
        www  IN CNAME hostvirtual

4) Feitos os testes atraves de ping e navegador o host virtual respondeu
perfeitamente e funcionando como se nada tivesse sido alterado.

5) Então parti para as configuracoes do ssl.conf, adicionando ao seu
conteudo:

<VirtualHost www.ronielton.eti.br:443>
        DocumentRoot "/home/ronielton/public_html"
        ServerName www.ronielton.eti.br:433
        ServerAdmin ronielton em ronielton.eti.br
        ErrorLog /usr/local/apache/logs/ronielton-error_log
        TransferLog /usr/local/apache/logs/ronielton-access_log

        SSLEngine on
        SSLCipherSuite
ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
        SSLCertificateFile
/usr/local/apache/certificados/ronielton.eti.br/www.ronielton.eti.br.crt
        SSLCertificateKeyFile
/usr/local/apache/certificados/ronielton.eti.br/www.ronielton.eti.br.key
        <Files ~ "\.(cgi|shtml|phtml|php?)$">
            SSLOptions +StdEnvVars
        </Files>
        <Directory "/home/ronielton/public_html/cgi-bin">
            SSLOptions +StdEnvVars
        </Directory>

        SetEnvIf User-Agent ".*MSIE.*" \
                 nokeepalive ssl-unclean-shutdown \
                 downgrade-1.0 force-response-1.0

        CustomLog /usr/local/apache/logs/ssl_request_log \
                  "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>

5) Gerei o certificado para o caminho indicado, e reinicializei o servidor.

Então acionei o Browser nas urls: https://www.rroit.com.br e
https://www.ronielton.eti.br , sendo exibido o respectivo certificado para
cada uma delas. Entretando me deparei com o seguinte problema agora:

Quando crio subpastas nos meus dominios a diretiva "DirectoryIndex" do
apache não funciona quando utilizo o https. Ex:

https://www.ronielton.eti.br
|----index.php (o apache funciona normalmente e exibe a pagina de indice)
|----/teste/
       |
       |--- index.php (o apache nao encontra o indice, caso eu digite no
navegador: https://www.ronielton.eti.br/teste e apresenta "A página não pode
ser exibida")

Porem se digito https://www.ronielton.eti.br/teste/index.php a pagina e
exibida corretamente.

Isto so acontece quando estou trabalhando sobre a porta 443 (https), se
trabalho na porta 80 (http) o apache funciona normamente, seja quando eu
digito o endereco completo com a pagina indice
(http://www.ronielton.eti.br/teste/index.php), ou quando digito somente o
endereco sem a pagina indice (http://www.ronielton.eti.br/teste) ele
encontra o conteudo.

Alguem já passou por problema parecido e sabe como posso resolver isto???
Por que tenho alguns scripts em PHP que não estao funcionando quando
trabalho no procolo https, porem funcionam quando trabalho no protocolo
http, isto tudo por que não esta sendo encontrada a pagina de indice.

Estes scrpits estao numa area protegida do servidor com o uso de .htaccess.

Obrigado pela Ajuda!!!

Ronielton Rezende Oliveira
Três Corações/MG


----- Original Message ----- 
From: "Alexandre Vasconcelos" <alexandre em fugspbr.org>
To: <fugspbr em fugspbr.org>
Sent: Thursday, November 18, 2004 5:52 PM
Subject: Re: [FUGSPBR] Apache com OpenSSL


Ronielton Rezende Oliveira wrote:
[cut]
>
> Minhas dúvidas são:
>
> 1) Eh possivel que eu utilize mais de uma chave num mesmo servidor apache
> com dominios virtuais onde cada dominio virtual tem seu proprio
certificado
> e como faria isto???

Bom, estive apanhando disso há um tempo atrás.. pelas pesquisas/testes
que fiz pude concluir que para cada site virtual vc deve ter um IP.
Tentei fazer como no apache sem ssl, mas não consegui.. atribuindo um IP
pra cada site virtual (nada de virtual hehe) o ssl funciona numa boa.

>
> 2) Por eu ter a SSL instalada todo o trafego do meu servidor esta
> encriptado? ou somente os dominios que tiverem o certificado instalado???

A partir do momento que vc coloca https:// o tráfego passa a ser
criptografado. Se o certificado não bater ou a entidade não estiver
presente no navegador do cliente vc recebe uma mensagem de alerta.

>
> Meu server FreeBSD esta funcionando da seguinte maneira:
>
> a) dominio não real (internet) e principal no apache, com certificado
criado
> por mim: rroit.com.br - funcionando o https://www.rroit.com.br
> b) dominio real (internet) e virtual no apache, onde não consegui exibir a
> chave: ronielton.eti.br, quando tento exibir https://www.ronielton.eti.br
e
> exibido a chave do dominio principal, ja alterei no apache para
<VirtualHost
> endereco_ip:443> e inseri o caminho da chave no ssl.conf mas não funciona.

Como disse anteriormente, configure um IP pra cada site, poste o
resultado aqui na lista.

-- 
Alexandre Vasconcelos
Unix Admin
SSP/GO


_______________________________________________________________
Para enviar um novo email para a lista: fugspbr em fugspbr.org
Sair da Lista: http://lists.fugspbr.org/listinfo.cgi
Historico: http://www4.fugspbr.org/lista/html/FUG-BR/



Mais detalhes sobre a lista de discussão freebsd