Certificado SSL para um endereço IP público?

10

Eu apenas tentei comprar um SSL Comodo Positive, mas ele foi rejeitado por não suportar um endereço IP público, mas, em vez disso, eles suportam apenas um nome de domínio.

Alguém conhece algum provedor de certificado SSL que suporte endereço IP público em vez de um nome de domínio?

Minha empresa possui um servidor dedicado hospedado em uma empresa de hospedagem na web, usada para executar um rastreador de bugs para vários projetos (para vários clientes). Como ele é usado apenas para um rastreador de bugs, não precisamos de um nome de domínio (nossos clientes acessam digitando o IP público no navegador).

mecanismo serial
fonte
2
Eu configuraria um nome de domínio para que você não precise se lembrar do endereço IP quando estiver em um local onde não o tenha marcado. Além disso, quando você alterar os IPs, será transparente.
Mark Wagner

Respostas:

16

Eu acho que você pode fazer isso, mas não da maneira que você está tentando fazer.

Um certificado SSL é uma instrução que liga uma chave de criptografia pública a uma estrutura X.500 que inclui um elemento CN ou Common Name; um certificado assinado é aquele em que a ligação é verificável certificada por uma autoridade de certificação de terceiros, usando a chave pública já conhecida dos usuários finais (a pilha de certificados da Autoridade de Certificação (CA) que habita o navegador).

Quando você visita um site protegido por SSL com um navegador, a CN assinada é divulgada ao navegador. O que o navegador escolhe fazer é com o navegador. Os navegadores que eu conheço comparam com o nome do host solicitado e erro se for diferente (ou se a ligação certificada não resistir à análise, por exemplo, o certificado de assinatura não é conhecido pelo navegador ou a ligação está fora do ar). atual, mas essa é uma questão diferente). Não há nada que, em princípio, impeça você de obter um certificado assinado publicamente em que o CN é um endereço IP, não um FQDN (nome de domínio totalmente qualificado) [1], mas isso não fará magicamente o navegador comparar o CN com o IP. endereço, em vez de com o nome do host solicitado .

Suspeito que a maneira mais simples de resolver seu problema é iniciar sua própria autoridade de certificação, o que é fácil, e há muitos tutoriais públicos sobre; um está aqui . Depois que seus usuários finais importarem sua CA nos navegadores, todos os certificados que você criar serão aceitos como autorizados.

Você pode ter um segundo problema, pois deseja executar muitos sites NameVirtualHost em um único endereço IP. Historicamente, isso é insuperável, pois (ao contrário do TLS) a negociação SSL ocorre antes de qualquer outra coisa em uma conexão; isto é, a CN incorporada ao seu certificado é conhecida e usada pelo cliente antes que ele possa dizer a qual host está tentando se conectar.

Recentemente, parece ter sido introduzida uma extensão de protocolo chamada SNI (Server Name Indication), que permite ao cliente e ao servidor indicar que eles gostariam de fazer algumas coisas sobre o nome do host antes que o certificado SSL seja apresentado, permitindo o caminho certo para um conjunto de certificados a serem dados pelo servidor. Aparentemente, isso requer o apache 2.2.10, uma versão suficientemente recente do OpenSSL e ( importante ) suporte do lado do cliente.

Portanto, se eu tivesse que fazer o que você está tentando fazer, estaria cunhando meu próprio certificado CA, informando aos usuários finais que eles precisam usar navegadores compatíveis com SNI e importar meu certificado raiz CA, e cortar e assinar meus próprios certificados SSL para cada site de trilha de erros.

[1] OK, você pode não ter encontrado alguém que faça isso, mas esse é um detalhe da implementação. O que estou tentando mostrar aqui é que, mesmo que você o fizesse, isso não resolveria o seu problema.

Chapeleiro Louco
fonte
4
Para uma aplicação específica, por que não? Se ele é cunhado pelo provedor do aplicativo e você não confia nele, você está ferrado com relação a esse aplicativo, pois ele tem a chave SSL privada e pode descriptografar as coisas independentemente. e se isso os preocupa muito, ele pode simplesmente cortar certificados autoassinados para cada um de seus sites buqtrack, e eles podem importá-los conforme a necessidade.
MadHatter
2
@ Tom - se você não confia na pessoa que lhe oferece o certificado no exemplo acima, por que você estaria negociando com ela em primeiro lugar? Se o certificado SSL é ou não emitido por / com o suporte de / uma CA conhecida é a menor das suas preocupações no WRT, se você estiver confiando dados a um aplicativo 'online'.
precisa
2
Presumo que o receio é que, como parece não haver maneira de instalar uma autoridade de certificação autorizada apenas para determinados domínios, depois de instalarem a raiz da minha autoridade de certificação, posso certificar sites bancários on-line tão facilmente quanto meu próprio aplicativo de rastreamento de bugs. Se eu posso envenenar o cache do DNS, posso executar um ataque intermediário ao banco on-line. Se isso realmente os preocupa e eles não querem usar um navegador personalizado para este projeto, como eu disse acima, posso cortar um certificado autoassinado para cada rastreador de bugs individual, que os clientes podem instalar conforme necessário.
MadHatter
1
Tom, na verdade, eu concordo com esse motivo por querer usar um certificado 'confiável'. Na verdade, eu concordo com isso 100%. Não foi assim que seu comentário original apareceu, no entanto.
Rob Moir
1
Nome de domínio em chamas? Minha língua nativa não é o inglês, então você pode explicar isso? Além disso, meu chefe prefere usar um IP público, talvez ele não queira que o site seja encontrado pelo mecanismo de pesquisa (os mecanismos de pesquisa podem encontrar o site mesmo que não tenha um nome de domínio?)
serial engine
10

Conheço uma autoridade de certificação raiz que é pré-preenchida com todos os principais navegadores e emite certificados SSL em endereços IP públicos: dê uma olhada no GlobalSign . Eles leem as informações RIPE para validar sua solicitação de certificado, portanto, convém verificar primeiro se a entrada RIPE foi emitida com o nome correto.

Em relação ao feedback, esta entrada foi recebida:

Sim , é preferível comprar um nome de domínio e emitir um certificado SSL nessa CN. Também é mais barato que a opção GlobalSign acima.

Mas há casos em que os certificados SSL com um IP público como o CN são úteis. Muitos provedores de internet e governos bloqueiam sites indesejados com base na infraestrutura de DNS. Se você está oferecendo algum tipo de site que provavelmente será bloqueado, por exemplo, por razões políticas, é uma boa opção disponibilizá-lo através do seu endereço IP público. Ao mesmo tempo, você vai querer o tráfego criptografar para aqueles usuários e você não quer que seus usuários não-tech para ir até o aborrecimento de clicar através de avisos de exceção de segurança do seu navegador (porque o CN do certificado não corresponde o atual digitado). Fazer com que eles instalem sua própria CA raiz é ainda mais complicado e pouco realista.

semanticalo
fonte
Notavelmente, "um servidor dedicado hospedado com uma empresa de hospedagem na web" dificilmente terá uma entrada RIP própria, mas a rede circundante terá uma entrada RIPE (sobre a empresa de hospedagem)
Hagen von Eitzen
1

Vá em frente e compre o nome de domínio. Eles são baratos, não sejam mais baratos que isso. Você só precisa de um. Talvez até mesmo configure o bugtracker.yourcompany.com.

Em seguida, para cada rastreador de erros, configure um subdomínio para esse nome. Obtenha um certificado SSL para cada um desses subdomínios. Como você parece particularmente avesso aos custos, a empresa com a qual deseja negociar se chama StartSSL.

http://www.startssl.com/

A razão pela qual você deseja usá-los é porque (além de serem confiáveis ​​pelos principais navegadores), seus certificados não custam um braço e uma perna. O tipo mais básico de certificado é realmente, honestamente, gratuito. Eles verificam sua identidade e permitem emitir quantas você precisar. Se você deseja certificados mais sofisticados (que normalmente custam várias centenas de dólares), está procurando cerca de US $ 50 por 2 anos para oferecer suporte ao SSL para vários domínios em um único IP.

Eles são super baratos para o que você recebe. Eles emitem certificados reais, confiáveis ​​pelos navegadores de seus clientes, e não testes de 90 dias, como outros lugares.

Paul McMillan
fonte
1
Acho que também não entendo isso. Um certificado SSL emitido corretamente é um token de identificação por si só; a autoridade de certificação não fornece nenhum serviço após o problema. Meu site está protegido por um certificado RapidSSL, mas se eles fossem falidos amanhã, meu certificado seria tão eficaz quanto é agora.
MadHatter
2
Quantos de seus clientes farão uma verificação completa dos antecedentes no seu provedor SSL? Eles realmente teriam que cavar antes de perceberem que estavam fazendo negócios com uma empresa que fazia negócios com uma empresa israelense. Como MadHatter disse, a instabilidade política tem muito pouco a ver com a validade ou não do seu certificado. Depois de emitido, é válido até expirar, ponto final. Mas é legal se você quiser pagar algum dinheiro ridículo a outros registradores por algo que não é tecnicamente complicado. Certificados SSL são um dos golpes mais ridículos de todos os tempos.
Paul McMillan
2
Ei, basta apenas um cliente para realizá-lo. Desculpe, pois não sou muito claro desde o início. Meu país não permite que seu povo faça negócios com Israel. Isso é tudo.
engine serial
1
Sim, isso teria sido uma coisa mais útil a dizer. Certificados SSL são desnecessariamente caros, mas na escala de fazer negócios, o custo é quase nada.
Paul McMillan
2
"Uma vez emitido, é válido até expirar, ponto final". A menos que contenha informações de revogação, seja revogado e o cliente imponha a verificação de revogação. E uma autoridade de certificação que esteja sendo processada provavelmente será forçada a revogar todos os seus atos. Apenas dizendo
Ryan Bolger