Como instalar o certificado Let's Crypt SSL para proteger o Apache no RHEL/CENTOS 7/6

Como instalar o certificado Let's Crypt SSL para proteger o Apache no RHEL/CENTOS 7/6

Estendendo o último tutorial Let's Encrypt sobre certificados gratuitos SSL/TLS, neste artigo, vamos demonstrar como obter e instalar certificados gratuitos SSL/TLS emitidos por Vamos criptografar a autoridade de certificado para Apache servidor da web em CENTOS/RHEL 7/6 e distribuições de Fedora também.

Se você deseja instalar o Let's Encrypt for Apache no Debian e Ubuntu, siga este guia abaixo:

Configuração Vamos criptografar para garantir o Apache no Debian e Ubuntu

Testando o ambiente de amostra
Instalar Lets Encrypt for Apache no CentOS e Rhel

Requisitos

  1. Um nome de domínio registrado com válido A registra para apoiar o endereço IP público do servidor.
  2. Servidor Apache instalado com o módulo SSL ativado e a hospedagem virtual ativada caso você esteja hospedando vários domínios ou subdomínios.

Etapa 1: Instale o Apache Web Server

1. Se ainda não estiver instalado, o daemon httpd pode ser instalado emitindo o comando abaixo:

# yum instalar httpd 

2. Para que o Software Let's Encrypt trabalhe com o Apache, assegure que o módulo SSL/TLS seja instalado emitindo o comando abaixo:

# yum -y install mod_ssl 

3. Por fim, inicie o Apache Server com o seguinte comando:

# SystemCtl Iniciar httpd.Serviço [no RHEL/CENTOS 7] # Serviço HTTPD START [ON RHEL/CENTOS 6] 

Etapa 2: Instale o Certificado SSL Let's Crypt Crypt

4. O método mais simples de instalar Vamos criptografar O cliente está clonando o repositório do GitHub em seu sistema de arquivos. Para instalar o git no seu sistema, você deve ativar os repositórios EPEL com o seguinte comando.

# Yum Instale o lançamento de Epel 

5. Depois que os repositórios EPEL forem adicionados ao seu sistema, vá em frente e instale o GIT Client, executando o comando abaixo:

# yum install git 

6. Agora, depois de instalar todas as dependências necessárias para lidar com o Let's Crypt /usr/local/ diretório e comece a puxar o cliente Let's Encrypt formar seu repositório oficial do GitHub com o seguinte comando:

# cd/usr/local/ # git clone https: // github.com/letsencrypt/letsencrypt 

Etapa 3: Obtenha um certificado Let's Let's Crypt SSL gratuito para Apache

7. O processo de obtenção de um certificado Let's Crypt para Apache gratuito é automatizado para CENTOS/RHEL Graças ao plugin Apache.

Vamos correr Vamos criptografar Comando de script para obter um certificado SSL. Vá para o diretório de instalação Let's Let's Crypt /usr/local/letsencrypt e execute o LetSencrypt-Auto comando fornecendo --apache opção e a -d Bandeira para cada subdomínio que você precisa de um certificado.

# cd/usr/local/letsencrypt # ./LetSencrypt -AUTO --APACH -D Your_Domain.tld 
Criar Lets Crypt SSL Certificado para Apache

8. Forneça o endereço de e -mail que será usado por Let's Encrypt para recuperar sua chave perdida ou para avisos urgentes e pressionar Digitar continuar.

Adicionar endereço de e -mail para Lets Encrypt

9. Concorde os termos da licença pressionando a tecla Enter.

Concordo, vamos criptografar a licença

10. Sobre CENTOS/RHEL, Por padrão, o Apache Server não usa o conceito de separar diretórios para hosts ativados dos hosts disponíveis (inativos) como Debian Distribuição baseada em.

Além disso, a hospedagem virtual é desativada por padrão. A instrução Apache que especifica o nome do servidor (Nome do servidor) não está presente no arquivo de configuração SSL.

Para ativar esta diretiva, vamos ENCRYPT solicitará que você selecione um host virtual. Como não encontra nenhum VHost disponível, selecione o ssl.conf arquivo a ser modificado automaticamente pelo cliente Let's Encrypt e pressione Digitar continuar.

Diretiva Virtualhost ativa e selecione Mod_SSL

11. Em seguida, escolha o Fácil método para Http solicita e pressione Digitar seguir em frente.

Permitir solicitações fáceis de HTTP

12. Finalmente, se tudo correr bem, uma mensagem de parabéns deve ser exibida na tela. Imprensa Digitar para liberar o prompt.

Vamos criptografar ativado no domínio

É isso! Você emitiu com sucesso um SSL/TLS Certificado para seu domínio. Agora você pode começar a navegar no seu site usando Https protocolo.

Etapa 4: Teste livre, vamos criptografar a criptografia no domínio

13. Para testar a reta do seu domínio SSL/TLS Handshake, visite o link abaixo e teste seu certificado em seu domínio.

https: // www.ssllabs.com/ssltest/analise.html 
Verifique se Let

14. Se você receber uma série de relatórios sobre sua vulnerabilidade de domínio nos testes conduzidos, precisará consertar esses orifícios de segurança com urgência.

Uma classificação geral de C A classe torna seu domínio muito inseguro. Para corrigir esses problemas de segurança, abra o arquivo de configuração do Apache SSL e faça as seguintes alterações:

# vi/etc/httpd/conf.d/ssl.conf 

Procure por linha com SSLProtocolo declaração e adicione -SSLV3 No final da linha.

Corrija a configuração do Apache SSL

Vá mais fundo no arquivo, pesquise e comente a linha com Sslciphersuite Colocando a # na frente e adicione o seguinte conteúdo nesta linha:

SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256 :DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA -AES256-SHA384: ECDHE-ECDSA-AES256-SHA384: ECDHE-RSA-AES256-SHA: ECDHE-ECDSA-AES256-SHA: DHE-RSA-AES128-SHA256: DHE-RSA-AES128-SHA: DHE-SHA-SS128-SSE-SSA12888888888880: DHE-RSA-AES128-SHA: -SHA256: DHE-RSA-AES256-SHA256: DHE-DSS-AES256-SHA: DHE-RSA-AES256-SHA: AES128-GCM-SHA256: AES256-GCM-SHA384: aes128-sha256: AES2566-SHA384: aes128-sha256: AES2566 : AES256-SHA: AES: Camellia: DES-CBC3-SHA:!Anull:!Enull:!EXPORTAR:!DES:!RC4:!MD5:!Psk:!AECDH:!Edh-DSS-DES-CBC3-SHA:!Edh-RSA-DES-CBC3-SHA:!Krb5-deS-CBC3-SHA SSLHONORCIPERORDER ON SSLOPTions +Strictrequire 
Configure a configuração SSL

15. Depois de fazer todas as alterações acima, salvar e fechar o arquivo e reiniciar o Apache Daemon para aplicar alterações.

# SystemCtl Reiniciar httpd.Serviço [no RHEL/CENTOS 7] # Serviço HTTPD RESTART [ON RHEL/CENTOS 6] 

16. Agora, testa o status da sua criptografia de domínio novamente, visitando o mesmo link que acima. Para executar o reteste, atinja o link de cache transparente do site.

https: // www.ssllabs.com/ssltest/analise.html 
O teste permite criptografar o certificado SSL no site

Agora você deveria conseguir uma aula A Classificação geral, o que significa que seu domínio é altamente seguro.

Etapa 4: Renovar automaticamente, vamos criptografar certificados no Apache

17. Esta versão beta do Let's Encrypt Software libera certificados com data de validade após 90 dias. Portanto, para renovar o certificado SSL, você deve executar o LetSencrypt-Auto comando novamente antes da data de validade, com as mesmas opções e bandeiras usadas para obter o certificado inicial.

Um exemplo de como renovar manualmente o certificado é apresentado abaixo.

# cd/usr/local/letsencrypt # ./LetSencrypt-AUTO Certonly --Apache-Rerenow-By-Default -D Your_Domain.tld 

18. Para automatizar esse processo, crie o seguinte script de bash fornecido por Github Erikaheidi, em /usr/local/bin/ diretório com o seguinte conteúdo. (O script é ligeiramente modificado para refletir nosso diretório de instalação LetSencrypt).

# vi/usr/local/bin/le-renowentos 

Adicione o seguinte conteúdo a Le-renowentos arquivo:

!/bin/bash domain = $ 1 le_path = "/usr/local/letSencrypt" le_conf = "/etc/letSencrypt" exp_limit = 30; get_domain_list () certDomain = $ 1 config_file = "$ le_conf/renowal/$ certdomain.Conf "se [ ! -f $ config_file]; então ecoar."Exit 1; Fi domínios = $ (Grep-com correspondência --perl-Regex" (?<=domains \= ).*" "$config_file") last_char=$(echo "$domains" | awk 'print substr($0,length,1)') if [ "$last_char" = "," ]; then domains=$(echo "$domains" |awk 'print substr($0, 1, length-1)') fi echo $domains;  if [ -z "$domain" ] ; then echo "[ERROR] you must provide the domain name for the certificate renewal." exit 1; fi cert_file="/etc/letsencrypt/live/$domain/fullchain.pem" if [ ! -f $cert_file ]; then echo "[ERROR] certificate file not found for domain $domain." exit 1; fi exp=$(date -d "'openssl x509 -in $cert_file -text -noout|grep "Not After"|cut -c 25-'" +%s) datenow=$(date -d "now" +%s) days_exp=$(echo \( $exp - $datenow \) / 86400 |bc) echo "Checking expiration date for $domain… " if [ "$days_exp" -gt "$exp_limit" ] ; then echo "The certificate is up to date, no need for renewal ($days_exp days left)." exit 0; else echo "The certificate for $domain is about to expire soon. Starting renewal request… " domain_list=$( get_domain_list $domain ) "$le_path"/letsencrypt-auto certonly --apache --renew-by-default --domains "$domain_list" echo "Restarting Apache… " /usr/bin/systemctl restart httpd echo "Renewal process finished for domain $domain" exit 0; fi 

19. Concessão de permissão de execução para o script, instale bc empacote e execute o script para testá -lo. Use seu nome de domínio como um parâmetro posicional para o script. Emitir os comandos abaixo para realizar esta etapa:

# yum install bc # chmod +x/usr/local/bin/le-renew-cento #/usr/local/bin/le-renow-centos your_domain.tld 

20. Por fim, usando o agendamento do Linux, adicione um novo trabalho de Cron para executar o script a cada dois meses, garantindo que seu certificado seja atualizado antes da data de validade.

# Crontab -e 

Adicione a seguinte linha na parte inferior do arquivo.

0 1 1 */2 */usr/local/bin/le-renowentos your_domain.tld >>/var/log/your_domain.tld-renow.log 2> & 1 

É isso! Seu servidor Apache em execução em cima de CENTOS/RHEL O sistema agora está servindo conteúdo SSL usando um certificado Let's Crypt SSL gratuito.