Se você estiver definindo conexões por meio do nome do host - em vez do endereço IP - parece que está lendo a questão aqui que o problema é que o Logstash agora exige que o certificado SSL para o host tenha um nome CN (nome comum), além de gerar o SSL sem o sinalizador -batch
no local:
Figured out the issue - looks like you need to generate the SSL certificate differently now. It must include the 'common name' (i.e. your servers hostname). In my case, I just dropped the
-batch
flag when generating the certificate causing openssl to ask me for the hostname.
O comando seria algo assim na linha de comando de qualquer máquina com o OpenSSL instalado:
openssl req -x509 -nodes -newkey rsa:2048 -keyout logstash-forwarder.key -out logstash-forwarder.crt
O logstash-forwarder.key
e logstash-forwarder.crt
podem ser alterados para corresponder ao seu nome de host, se desejar. Quando você executar esse comando, você verá algo assim:
Generating a 2048 bit RSA private key
.............................................+++
..........+++
unable to write 'random state'
writing new private key to 'logstash-forwarder.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:New York
Locality Name (eg, city) []:Brooklyn
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Some Company
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:my_hostname.local
Email Address []:
E o que eu digitei para este exemplo foi o seguinte; o item mais importante é o "Nome Comum" (CN)
- Nome do país: EUA
- Estado ou nome da província: Nova York
- Nome da localidade: Brooklyn
- Nome da organização: Alguma empresa
- Nome da Unidade Organizacional: [Deixei isso em branco de propósito.]
- Nome comum: my_hostname.local
- Endereço de e-mail: [Deixei isso em branco de propósito.]
Eu pessoalmente gosto de digitar o nome do país, estado & nome da localidade, uma vez que me ajuda a classificar essas coisas, mas essas são realmente apenas a cereja no topo do bolo. O "bolo" em si é o nome do host: my_hostname.local
.
Agora, essa solução funciona para conexões feitas por meio do nome do host. Se a máquina com a qual você tem um problema não tiver um nome de host, ele deverá ser configurado. Ou talvez devesse ser definido no arquivo /etc/hosts
na máquina de conexão para, pelo menos, "enganar" a configuração para usar um nome de host.
Um usuário nesse relatório de problemas postou um script legal para criar um certificado autoassinado para uso do endereço IP, que é localizado aqui , mas deve haver uma maneira de lidar com isso diretamente na linha de comando também. E olhando para este site, parece que o problema é como configurar solicitações SSL com SubjectAltName
ao usar o OpenSSL.