Como criar certificados e chaves SSL autoassinados para Apache no RHEL/CENTOS 7.0

Como criar certificados e chaves SSL autoassinados para Apache no RHEL/CENTOS 7.0

Ssl (Camada de soquetes seguros) é um protocolo criptográfico que permite o fluxo de dados seguro entre um servidor e seus clientes usando chaves simétricas/assimétricas usando um certificado digital assinado por uma autoridade de certificado (CA).

Crie certificados SSL para Apache

Requisitos

  1. Instalação básica da lâmpada no RHEL/CENTOS 7.0

Este tutorial fornece uma abordagem sobre como configurar Camada de soquetes seguros (SSL) Protocolo criptográfico de comunicação no Apache Web Server instalado em Red Hat Enterprise Linux/CENTOS 7.0, e gerar certificados e chaves autoassinados com a ajuda de um script bash que simplifica bastante todo o processo.

Etapa 1: Instale e configure o Apache SSL

1. Para ativar o SSL no Apache HTTP Server, use o seguinte comando para instalar o módulo SSL e o kit de ferramentas OpenSSL, necessário para o suporte a SSL/TLS.

# yum install mod_ssl OpenSSL
Instale o módulo SSL

2. Depois que o módulo SSL foi instalado, reinicie Httpd Daemon e adicione uma nova regra de firewall para garantir que a porta SSL - 443 - É aberto a conexões externas em sua máquina em estado de audição.

# SystemCtl Reiniciar httpd # firewall-cmd --add-service = https ## Regra de voar # firewall-cmd --permanent --add-service = https ## Regra permanente - precisa de reinício do firewalld
Reinicie o serviço Apache

3. Para testar a conexão SSL, abra um navegador remoto e navegue até o endereço IP do servidor usando o protocolo HTPS no https: // server_ip.

Teste a conexão SSL

Etapa 2: Crie certificados e chaves SSL

4. A comunicação SSL anterior entre o servidor e o cliente foi feita usando um certificado padrão e a chave gerada automaticamente na instalação. Para gerar novas chaves privadas e pares de certificados autoassinados, crie o seguinte script Bash em um caminho de sistema executável ($ Caminho).

Para este tutorial /usr/local/bin/ O caminho foi escolhido, verifique se o script tem um conjunto de bits executável e, em seguida, use -o como um comando para criar novos pares SSL em /etc/httpd/ssl/ como certificados e teclas Localização padrão.

# nano/usr/local/bin/apache_ssl

Use o seguinte conteúdo de arquivo.

#!/bin/bash mkdir/etc/httpd/ssl cd/etc/httpd/ssl eco -e "Digite seu host virtual fqdn: \ \ nthis gerará o nome padrão para o certificado Apache SSL e a chave!"Leia o Cert OpenSSL GenpKey -Algorithm RSA -PKEYOPT RSA_KEYGEN_BITS: 2048 -OUT $ CERT.chave CHMOD 600 $ CERT.key OpenSSL Req -New -Key $ CERT.Chave -out $ certificado.CSR OpenSSL X509 -Req -Days 365 -Em $ CERT.CSR -SignKey $ CERT.Chave -out $ certificado.CRT eco -e "O certificado e a chave para $ cert!\ Nplease Link It ao site Apache SSL disponível!"LS -Al/etc/httpd/ssl saída 0
Crie certificados e chaves autoassinados

5. Agora faça deste script executável e inicie -o para gerar um novo par de certificados e chave para o seu host virtual SSL Apache.

Preencha com suas informações e preste atenção Nome comum valor para corresponder ao seu servidor FQDN ou em caso de hospedagem virtual para corresponder ao endereço da web que você estará acessando ao se conectar a um site seguro.

# chmod +x/usr/local/bin/apache_sssl # apache_ssl
Digite informações SSL

6. Depois que o certificado e a chave são gerados, o script apresentará uma longa lista de todos os seus pares SSL Apache armazenados em /etc/httpd/ssl/ localização.

Pares SSL Apache

7. Outra abordagem sobre a geração de certificados e chaves SSL é instalando cripto-utils embalagem no seu sistema e gerar pares usando Genkey comando, que pode impor alguns problemas, especialmente quando usado em um Putty Tela do terminal.

Então, sugiro usar esse método somente quando você estiver conectado diretamente a um monitor de tela.

# yum instalar cripto-utils # genkey your_fqdn
Instale o pacote criptográfico

8. Para adicionar o novo certificado e a chave ao seu site SSL, abra o arquivo de configuração do site e substitua SslCertificatefile e SslCertificateKeyFile Declarações com a localização e nomes dos novos pares.

Habilite SSL no VirtualHosts

9. Se o certificado não for emitido por uma autoridade de certificação CA - CA - Nome do Certificado, não corresponde ao nome do host que estabelece a conexão, um erro deve aparecer no seu navegador e você deve aceitar manualmente o certificado.

Erro de certificado SSL SSL ativado no Apache

É isso! Agora você pode usar apache_sslComo uma linha de comando no RHEL/CENTOS 7.0 para gerar tantos pares de certificados e chaves auto-sintados que você precisa, e tudo será mantido /etc/httpd/ssl/ caminho com o arquivo -chave protegido com 700 permissões.