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

9

Eu tentei comprar um Comodo Positive SSL, mas ele foi rejeitado devido a não suportar um endereço IP público, mas em vez disso, ele suporta 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 tem um servidor dedicado hospedado em uma empresa de hospedagem, que é usado para executar um bugtracker para vários projetos (para vários clientes). Como ele é usado apenas para um bugtracker, não precisamos de um nome de domínio (nossos clientes o acessam digitando o IP público no navegador).

    
por i.am.noob 22.10.2010 / 10:42

3 respostas

15

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

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

Quando você visita um site protegido por SSL com um navegador, o CN assinado é dado a conhecer ao navegador. O que o navegador escolhe fazer com ele depende do navegador. Os navegadores que conheço comparam-no ao nome do host solicitado e erro se for diferente (ou se essa ligação certificada não Levar-se a análise, por exemplo, o certificado de assinatura não é conhecido para o navegador ou a ligação está desatualizada, mas isso é um problema 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 que não fará o navegador magicamente comparar o CN com o endereço IP, em vez de com o nome do host solicitado .

Eu suspeito que a maneira mais simples de resolver seu problema é iniciar sua própria CA, o que é fácil de fazer, e há muitos tutoriais públicos sobre; um é aqui . Depois que os usuários finais importarem sua CA para os navegadores, todos os certificados que você for usar serão aceitos como autoritativos.

Você pode ter um segundo problema em que deseja executar muitos sites NameVirtualHost em um único endereço IP. Isso tem sido historicamente insuperável, uma vez que (ao contrário do TLS) a negociação SSL acontece antes de qualquer outra coisa em uma conexão; ou seja, o CN incorporado em seu certificado é conhecido e usado pelo cliente antes que o cliente possa dizer em qual host ele está tentando se conectar.

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

Então, se eu tivesse que fazer o que você está tentando fazer, eu estaria olhando para cunhar meu próprio certificado de CA, dizendo aos meus usuários finais que eles têm que usar navegadores que suportam SNI e importam meu certificado raiz da CA. e cortar e assinar meus próprios certificados SSL para cada site de bugtracks.

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

    
por 22.10.2010 / 11:09
10

Existe uma Autoridade de Certificação Raiz que eu conheço que é pré-preenchida com todos os principais navegadores e que emitem certificados SSL em endereços IP públicos: dê uma olhada em GlobalSign Eles leem informações RIPE para validar sua solicitação de certificado, portanto, você pode querer verificar primeiro se a entrada RIPE é emitida no nome correto.

Em relação ao feedback que esta entrada recebeu:

Sim , é preferível comprar um nome de domínio e emitir um certificado SSL nesse CN. Também é menos dispendioso do 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 do DNS. Se você está oferecendo algum tipo de site que provavelmente será bloqueado, por exemplo, por motivos políticos, é uma boa opção ter este site acessível através de seu endereço IP público. Ao mesmo tempo, você irá querer criptografar o tráfego para esses usuários e não deseja que seus usuários não técnicos passem pelo incômodo de clicar nos avisos de exceção de segurança de seu navegador (porque o CN do certificado não corresponde ao atual digitado). Fazer com que eles instalem sua própria autoridade de certificação raiz é ainda mais complicado e não realista.

    
por 24.01.2011 / 15:30
1

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

Em seguida, para cada bugtracker, configure um subdomínio para esse nome. Obtenha um certificado SSL para cada um desses subdomínios. Como você parece ter aversão a custos, a empresa com a qual deseja negociar é chamada de StartSSL.

link

O motivo pelo qual você deseja usá-los é porque (além de ser confiável para os principais navegadores) seus certificados não custam um braço e uma perna. O tipo mais básico de certificado é realmente, honestamente, sem graça. Eles verificam sua identidade e, em seguida, permitem que você emita quantos você precisar. Se você quer certs mais extravagantes (que normalmente custam várias centenas de dólares), você está olhando para cerca de US $ 50 por dois anos para suportar SSL para vários domínios em um único IP.

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

    
por 24.10.2010 / 22:08