Como proteger um certificado SSL (Apache / CentOS)

7

Atualmente, uso um certificado SSL de servidor sem uma frase secreta para permitir que o Apache inicialize sem supervisão.

Há sinais dos clientes para exigir que protejamos o certificado SSL com mais segurança. Eu não tenho certeza ainda o que eles estão apontando para, mas por enquanto eu acho que eles não querem um certificado SSL desprotegido no disco. Eu suponho que não posso evitar tê-lo em claro dentro da memória do Apache, mas vamos supor que seja aceitável.

Eu criei um sistema elaborado para manter a frase secreta na memória de um processo em um servidor interno (ou seja, não no servidor da web de linha de frente) e entregá-la ao servidor da linha de frente usando um Apache. SSLPassPhraseDialog ( link ). O servidor interno terá que digitar a frase secreta quando for iniciado, e teremos vários desses servidores com balanceamento de carga para alta disponibilidade.

Minha pergunta é:

  1. Como os "garotos grandes" protegem seu certificado SSL? Eles apenas forçam suas coisas a digitar a frase secreta na reinicialização do servidor ou mantêm-na descriptografada como o resto de nós?
  2. Minha experiência com código aberto é que há uma boa chance de que alguém já tenha resolvido qualquer problema que eu enfrente - esse sistema já está disponível?
  3. Seria razoável, do ponto de vista do negócio, apenas dizer que mantemos o certificado não criptografado e apenas temos procedimentos rápidos para revogá-lo se for roubado?
por Amos Shapira 02.02.2010 / 05:10

2 respostas

3

Permite analisar os princípios básicos da Infra-estrutura de Chaves Públicas primeiro em um modelo de PKI hierárquico.

  1. Uma chave pública é um criptografo / bloqueador e incorporada em um certificado criado por uma autoridade de certificação.
  2. Uma chave privada é um decodificador / desbloqueador usado em conjunto com uma chave pública.
  3. Chaves públicas e certificados não têm requisitos de confidencialidade.
  4. As chaves privadas têm requisitos de confidencialidade

Portanto, sua preocupação com o Apache deve ser em torno da chave privada, não da chave pública. A maneira típica como um engenheiro de segurança pode proteger uma chave privada é usar um módulo de segurança de hardware. Um módulo de segurança de hardware (HSM) pode vir em muitos fatores de forma, incluindo um cartão inteligente, uma placa PCIe, uma placa PCI, um dongle USB, um dispositivo USB, um HSM baseado em rede ou outros. Assim, eles podem cobrir uma grande quantidade de orçamentos e recursos de segurança.

Existem alguns HSMs que validaram implementações de segurança, como FIPS 140-2 nos níveis 1 (software em geral) 2 físico (resistência à violação) 3 físico (resistência à adulteração e resposta à intrusão) e 4 físicos (resistência à adulteração, resposta à intrusão) e zeramento da chave).

Para avaliar se sua empresa deve fazer alguma coisa, analisarei uma análise de custo-benefício & uma avaliação de risco que inclui cálculos de ALE, ARO e SLE. No entanto, se você estiver fazendo negócios pela Web, talvez seja melhor trazer um profissional de segurança da Web para avaliar toda a sua infraestrutura e criar uma lista consolidada de vulnerabilidades e fraquezas, com um plano de remediação priorizado com o qual você pode trabalhar sua gestão.

    
por 15.03.2012 / 14:57
4

Eu diria que os "meninos grandes" descarregam o SSL em balanceadores de carga frontais agrupados, já que é isso que eu faço e não estou perto de um "garoto grande".

Eu encontrei estas instruções no httpd.apache.org para remover a caixa de diálogo de frase secreta , o que você provavelmente já viu se você pesquisou no Google o problema, o que eu presumo que você tenha.

O problema com a revogação é que você está à mercê da CA de assinatura para se apressar e lidar com o problema. Se você pagar muito pelos seus certificados, tenho certeza de que o serviço deles é muito positivo. Não sei como seria para alguns dos maiores atacadistas. Talvez outra pessoa possa entrar em contato.

    
por 02.02.2010 / 05:40