Yacy com ssl

Fonte: wirelesspt.net

Este artigo visa explicar como configurar o yacy com o protocolo de segurança https utilizando SSL3, TLS1 & TLS1.1.

Certificado gerado por java

Utilizando o aplicativo Java JDK (and JRE) da SUN podemos gerar um certificado de criptografia da seguinte forma utilizando a sua keytool.

Devemos ir ao directório mencionado em baixo e digitar:

cd <YaCy-Dir>/DATA/SETTINGS 

De seguida executar o seguinte comando:

keytool -keystore minha_chave_do_servidor -genkey -keyalg RSA -alias meu_certificado

Caso o comando keytool não esteja disponível pode ser localizado da seguinte forma:

find /opt/sun-jdk* -iname keytool

ou

locate keytool

A keytool fará perguntas sobre vários tipos de informação e pedirá uma senha secreta á escolha do utilizador que não deverá ser esquecida.

De seguida devemos desligar o yacy e abrir o ficheiro de configuração mencionado em baixo.

nano DATA/SETTINGS/yacy.conf 

E colocar os seguintes parâmetros:

keyStore=DATA/SETTINGS/minha_chave_do_servidor 
keyStorePassword=minha_senha_secreta 

Usar um certificado CA

Para quem não pretende criar o seu próprio certificado; é possível utilizar um certificado gratuito obtido em CA Cert. Estes certificados não são incluídos na maior parte dos navegadores web mas tem-se tornado um método de certificado ssl normal para certificados não cunhados por empresas como a verisign.

Para quem pretender criar o seu próprio certificado de criptografia deve ter em conta que o yacy necessita que este certificado seja em formato PKCS12.

Para gerar o certificado basta digitar:

openssl pkcs12 -export -out keystore.pkcs12 -passout pass:passwordforyacysconfig -in certificado_cert.crt -inkey chaveprivada.key 

De seguida devemos copiar o ficheiro keystore.pkcs12 gerado para DATA/SETTINGS/ e editar DATA/SETTINGS/yacy.conf

nano DATA/SETTINGS/yacy.conf
pkcs12ImportFile=DATA/SETTINGS/keystore.pkcs12
pkcs12ImportPwd=passwordforyacysconfig

Ambos os parâmetros são cruciais e a falha de um deles causará mau funcionamento para o serviço com uso de ssl. Caso isto aconteça; o yacy deverá ser desligado e devemos retomar o processo.

Estabelecer ligação

O yacy deverá estar disponível em:

* http://localhost:8090/ConfigBasic.html

Devemos agora activar/escolher ssl na opção 4 e reiniciar o yacy e verificar o seu funcionamento em: https://<IP>:<Porta>

Por padrão o yacy utiliza a porta 843 para https e para alterar o numero da porta basta ir ao ficheiro de configurar e alterar o parâmetro port.ssl

nano DATA/SETTINGS/yacy.conf

Para quem não instalou manualmente um certificado root no seu navegador irá ser notificado com um aviso requisitando acesso às [[chaves de criptografia o que é perfeitamente normal para quem gera o ser certifica de criptografia

Ligar e desligar

Dependentemente de como o yacy foi instalado existem várias formas de o ligar, desligar e reiniciar. Se foi instalado via administração de pacotes da distribuição de linux a forma mais comum de alterar o seu funcionamento é:

/etc/init.d/yacy start
/etc/init.d/yacy stop
/etc/init.d/yacy reload

Se foi instalado manualmente devemos ir ao directório de raiz (yacy/) e executar.

./startYACY.sh
./stopYACY.sh
./killYACY.sh

Ver ainda

Editor

--Cmsv (discussão) 11h35min de 31 de julho de 2014 (EDT)