Yacy com ssl
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