One place for hosting & domains

      autoassinado

      Como criar um certificado SSL auto-assinado para o Apache no Ubuntu 20.04


      Introdução

      O TLS, ou “segurança de camada de transporte” — e seu antecessor, o SSL — são protocolos usados para envolver o tráfego normal em um pacote protegido, criptografado. Ao usar esta tecnologia, os servidores podem enviar informações com segurança aos seus clientes sem que suas mensagens sejam interceptadas ou lidas por terceiros.

      Neste guia, mostraremos como criar e usar um certificado SSL auto-assinado com o servidor Web Apache no Ubuntu 20.04.

      Nota: um certificado auto-assinado irá criptografar a comunicação entre seu servidor e qualquer cliente. No entanto, uma vez que ele não é assinado por nenhuma das autoridades de certificados confiáveis incluídas com navegadores Web e sistemas operacionais, os usuários não podem usar o certificado para validar a identidade do seu servidor automaticamente. Como resultado, seus usuários irão ver um erro de segurança ao visitar seu site.

      Devido a esta limitação, certificados auto-assinados não são adequados para um ambiente de produção que atenda ao público. Eles são normalmente usados para testes, ou para proteger serviços não críticos usados por um único usuário ou um pequeno grupo de usuários que possam estabelecer confiança na validade do certificado através de canais de comunicação alternativos.

      Para uma solução de certificado mais pronta para produção, confira o Let’s Encrypt, uma autoridade certificadora gratuita. Você pode aprender como baixar e configurar um certificado Let’s Encrypt em nosso tutorial How To Secure Apache with Let’s Encrypt on Ubuntu 20.04.

      Pré-requisitos

      Antes de iniciar este tutorial, você precisará do seguinte:

      • Acesso a um servidor Ubuntu 20.04 com um usuário não-root, habilitado no sudo. Nosso guia Initial Server Setup with Ubuntu 20.04 pode lhe mostrar como criar esta conta.
      • Você também precisará ter o Apache instalado. Você pode instalar o Apache usando o apt. Primeiro, atualize o índice de pacotes local para refletir as últimas alterações upstream:

      Então, instale o pacote apache2:

      E, finalmente, se você tiver um firewall ufw configurado, abra as portas http e https:

      • sudo ufw allow "Apache Full"

      Depois de completar estes passos, lembre-se de fazer o login com um usuário não-root para seguir com o tutorial.

      Passo 1 — Habilitando o mod_ssl

      Antes de usarmos qualquer certificado de SSL, é necessário, primeiramente, habilitar o mod_ssl, um módulo do Apache compatível com criptografia SSL.

      Habilite o mod_ssl com o comando a2enmod:

      Reinicie o Apache para ativar o módulo:

      • sudo systemctl restart apache2

      O módulo mod_ssl agora está habilitado e pronto para uso.

      Passo 2 — Criando o certificado SSL

      Agora que o Apache está pronto para usar criptografia, podemos passar para a geração de um novo certificado SSL. O certificado irá armazenar algumas informações básicas sobre seu site, e será acompanhado por um arquivo de chave que permite ao servidor lidar com segurança com dados criptografados.

      Podemos criar a chave SSL e os arquivos de certificado com o comando openssl:

      • sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt

      Depois de inserir o comando, você será levado a um prompt onde você pode inserir informações sobre seu site. Antes de passarmos por isso, vamos ver o que está acontecendo no comando que estamos emitindo:

      • openssl: esta é a ferramenta de linha de comando para criação e gerenciamento de certificados OpenSSL, chaves e outros arquivos.
      • req -x509: isto especifica que queremos usar o gerenciamento X.509 de solicitação de assinatura de certificado (CSR). O X.509 é um padrão de infraestrutura de chave pública ao qual o SSL e o TLS aderem para gerenciamento de chaves e certificados.
      • -nodes: isso diz ao OpenSSL para pular a opção de proteger nosso certificado com uma frase secreta. Precisamos que o Apache consiga ler o arquivo, sem a intervenção do usuário, quando o servidor for iniciado. Uma frase secreta impediria que isso acontecesse porque teríamos que digitá-la após cada reinício.
      • -days 365: esta opção define o período de tempo em que o certificado será considerado válido. Aqui, nós configuramos ela para um ano. Muitos navegadores modernos irão rejeitar quaisquer certificados que sejam válidos por mais de um ano.
      • -newkey rsa:2048: isso especifica que queremos gerar um novo certificado e uma nova chave ao mesmo tempo. Não criamos a chave necessária para assinar o certificado em um passo anterior, então precisamos criá-la junto com o certificado. A parte rsa:2048 diz a ele para criar uma chave RSA com 2048 bits.
      • -keyout: esta linha diz ao OpenSSL onde colocar o arquivo de chave privada gerado que estamos criando.
      • -out: isso diz ao OpenSSL onde colocar o certificado que estamos criando.

      Preencha os prompts devidamente. A linha mais importante é aquela que requisita o Common Name. Você precisa digitar o nome do host que usará para acessar o servidor ou o IP público do mesmo. É importante que este campo corresponda ao que você colocar na barra de endereços do seu navegador para acessar o site, pois uma incompatibilidade irá causar mais erros de segurança.

      A lista completa de prompts será algo parecido com isto:

      Country Name (2 letter code) [XX]:US
      State or Province Name (full name) []:Example
      Locality Name (eg, city) [Default City]:Example 
      Organization Name (eg, company) [Default Company Ltd]:Example Inc
      Organizational Unit Name (eg, section) []:Example Dept
      Common Name (eg, your name or your server's hostname) []:your_domain_or_ip
      Email Address []:webmaster@example.com
      

      Ambos os arquivos que você criou serão colocados nos subdiretórios apropriados em /etc/ssl.

      Em seguida, atualizaremos nossa configuração do Apache para usar o novo certificado e chave.

      Passo 3 — Configurando o Apache para usar SSL

      Agora que temos nosso certificado auto-assinado e a chave disponíveis, precisamos atualizar nossa configuração do Apache para usá-los. No Ubuntu, você pode colocar novos arquivos de configuração do Apache (eles devem terminar em .conf) dentro de /etc/apache2/sites-available/ e eles serão carregados da próxima vez que o processo do Apache for recarregado ou reiniciado.

      Para este tutorial, criaremos um novo arquivo de configuração mínima. (Se você já tiver um Apache <Virtualhost> configurado e apenas precisar adicionar SSL a ele, você provavelmente precisará copiar as linhas de configuração que começam com SSL, e mudar a porta do VirtualHost de 80 para 443. Cuidaremos da porta 80 no próximo passo.)

      Abra um novo arquivo no diretório /etc/apache2/sites-available:

      • sudo nano /etc/apache2/sites-available/your_domain_or_ip.conf

      Cole nele a seguinte configuração mínima do VirtualHost:

      /etc/apache2/sites-available/your_domain_or_ip.conf

      <VirtualHost *:443>
         ServerName your_domain_or_ip
         DocumentRoot /var/www/your_domain_or_ip
      
         SSLEngine on
         SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
         SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
      </VirtualHost>
      
      

      Certifique-se de atualizar a linha ServerName para o que você pretende endereçar ao seu servidor. Isso pode ser um nome de host, nome de domínio completo, ou um endereço IP. Verifique se o que você escolhe corresponde ao Common Name que você escolheu ao criar o certificado.

      As linhas restantes especificam um diretório DocumentRoot a partir do qual serão apresentados os arquivos e as opções SSL necessárias para apontar o Apache para nosso certificado e chave recém-criados.

      Agora, vamos criar nosso DocumentRoot e colocar um arquivo HTML nele apenas para fins de teste:

      • sudo mkdir /var/www/your_domain_or_ip

      Abra um novo arquivo index.html com seu editor de texto:

      • sudo nano /var/www/your_domain_or_ip/index.html

      Cole o seguinte no arquivo em branco:

      /var/www/your_domain_or_ip/index.html

      <h1>it worked!</h1>
      

      Este não é um arquivo HTML completo, claro, mas os navegadores são flexíveis e isso será suficiente para verificar nossa configuração.

      Salve e feche o arquivo. Em seguida, precisamos habilitar o arquivo de configuração com a ferramenta a2ensite:

      • sudo a2ensite your_domain_or_ip.conf

      Em seguida, vamos testar à procura de erros de configuração:

      • sudo apache2ctl configtest

      Se tudo for bem-sucedido, você receberá um resultado que se parecerá com este:

      Output

      AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message Syntax OK

      A primeira linha é apenas uma mensagem informando que a diretiva ServerName não está definida globalmente. Se você quiser se livrar dessa mensagem, você pode definir ServerName como o nome de domínio do seu servidor ou o endereço IP em /etc/apache2/apache2.conf. Isso é opcional, uma vez que a mensagem não causará problemas.

      Se seu resultado tiver Syntax OK nele, seu arquivo de configuração não possui erros de sintaxe. Podemos recarregar com segurança o Apache para implementar nossas alterações:

      • sudo systemctl reload apache2

      Agora, carregue seu site em um navegador, garantindo usar https:// no início.

      Você deve ver um erro. Isso é normal para um certificado auto-assinado! O navegador está lhe alertando que ele não pode verificar a identidade do servidor, pois nosso certificado não é assinado por nenhuma das suas autoridades certificadoras conhecidas. Para fins de teste e uso pessoal, isso está ok. Você deve ser capaz de clicar em avançado ou obter mais informações e optar por prosseguir.

      Depois que fizer isso, o navegador irá carregar it worked! como mensagem.

      Nota: se seu navegador não se conectar ao servidor, certifique-se de que sua conexão não esteja sendo bloqueada por um firewall. Se você estiver usando o ufw, os seguintes comandos abrirão as portas 80 e 443:

      • sudo ufw allow "Apache Full"

      Em seguida, adicionaremos outra seção VirtualHost à nossa configuração para atender requisições HTTP simples e redirecioná-las ao HTTPS.

      Passo 4 — Redirecionando HTTP para HTTPS

      Atualmente, nossa configuração irá responder apenas às requisições HTTPS na porta 443. É uma boa prática também responder na porta 80, mesmo que você queira forçar todo o tráfego a ser criptografado. Vamos configurar um VirtualHost para responder a essas requisições não criptografadas e redirecioná-las para HTTPS.

      Abra o mesmo arquivo de configuração do Apache que iniciamos nos passos anteriores:

      • sudo nano /etc/apache2/sites-available/your_domain_or_ip.conf

      Ao final, crie outro bloco VirtualHost para corresponder às requisições na porta 80. Use a diretiva ServerName para corresponder novamente ao seu nome de domínio ou endereço IP. Em seguida, use Redirect para corresponder a quaisquer requisições e enviá-las para o VirtualHost SSL. Certifique-se de incluir a barra final:

      /etc/apache2/sites-available/your_domain_or_ip.conf

      <VirtualHost *:80>
          ServerName your_domain_or_ip
          Redirect / https://your_domain_or_ip/
      </VirtualHost>
      

      Salve e feche este arquivo quando você tiver terminado, então teste sua sintaxe de configuração novamente e recarregue o Apache:

      • sudo apachectl configtest
      • sudo systemctl reload apache2

      Você pode testar a nova funcionalidade de redirecionar visitando seu site com o http:// simples em frente ao endereço. Você deve ser redirecionado para https:// automaticamente.

      Conclusão

      Agora, você configurou o Apache para atender requisições criptografadas usando um certificado SSL auto-assinado, e para redirecionar requisições HTTP não criptografadas para HTTPS.

      Se você estiver planejando usar SSL para um site público, você deve procurar comprar um nome de domínio e usar uma autoridade certificadora amplamente suportada, como o Let’s Encrypt.

      Para obter mais informações sobre o uso do Let’s Encrypt com o Apache, leia nosso tutorial How To Secure Apache with Let’s Encrypt on Ubuntu 20.04.



      Source link

      Como Criar um Certificado SSL Autoassinado para o Apache no Debian 10


      Introdução

      O TLS, ou Transport Layer Security, e seu predecessor SSL, que significa Secure Sockets Layer, são protocolos web usados para agrupar o tráfego normal em um encapsulamento protegido e criptografado.

      Usando essa tecnologia, os servidores podem enviar tráfego com segurança entre servidores e clientes, sem a possibilidade de mensagens serem interceptadas por terceiros. O sistema de certificação também ajuda os usuários a verificar a identidade dos sites aos quais estão se conectando.

      Neste guia, mostraremos como configurar um certificado SSL autoassinado para uso com um servidor web Apache no Debian 10.

      Nota: Um certificado autoassinado irá criptografar a comunicação entre o seu servidor e quaisquer clientes. No entanto, como ele não é assinado por nenhuma autoridade de certificação confiável incluída nos navegadores web, os usuários não podem usar o certificado para validar a identidade do seu servidor automaticamente.

      Um certificado autoassinado pode ser apropriado se você não tiver um nome de domínio associado ao seu servidor e nos casos em que uma interface web criptografada não esteja voltada para o usuário. Se você tiver um nome de domínio, em muitos casos, é melhor usar um certificado assinado pela CA (Autoridade Certificadora). Você pode descobrir como configurar um certificado gratuito confiável com o projeto Let’s Encrypt aqui.

      Pré-requisitos

      Antes de começar, você deve ter um usuário não-root configurado com privilégios sudo. Você pode aprender como configurar esse tipo de conta de usuário seguindo nosso tutorial Initial Server Setup with Debian 10.

      Você também precisará ter o servidor web Apache instalado. Se você deseja instalar uma pilha LAMP inteira (Linux, Apache, MariaDB, PHP) em seu servidor, siga nosso guia setting up LAMP on Debian 10. Se você deseja apenas o servidor Apache, pule os passos referentes ao PHP e ao MariaDB.

      Quando tiver concluído esses pré-requisitos, continue abaixo.

      Passo 1 — Criando o Certificado SSL

      O TLS/SSL funciona usando uma combinação de um certificado público e uma chave privada. A chave SSL é mantida em segredo no servidor. Ela é usada para criptografar o conteúdo enviado aos clientes. O certificado SSL é compartilhado publicamente com qualquer pessoa que solicite o conteúdo. Ele pode ser usado para descriptografar o conteúdo assinado pela chave SSL associada.

      Podemos criar uma chave autoassinada e um par de certificados com o OpenSSL em um único comando:

      • sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt

      Você será solicitado a responder uma série de perguntas. Antes de analisarmos isso, vamos dar uma olhada no que está acontecendo no comando que estamos executando:

      • openssl: Esta é a ferramenta de linha de comando básica para criar e gerenciar certificados OpenSSL, chaves e outros arquivos.
      • req: Este subcomando especifica que queremos usar o gerenciamento de solicitação de assinatura de certificado X.509 (CSR). O “X.509” é um padrão de infraestrutura de chave pública ao qual o SSL e o TLS aderem para seu gerenciamento de chaves e certificados. Queremos criar um novo certificado X.509, portanto, estamos usando esse subcomando.
      • -x509: Isso modifica ainda mais o subcomando anterior dizendo ao utilitário que queremos criar um certificado autoassinado em vez de gerar uma solicitação de assinatura de certificado, como normalmente aconteceria.
      • -nodes: Isso diz ao OpenSSL para ignorar a opção de proteger nosso certificado com uma senha. Precisamos do Apache para poder ler o arquivo, sem a intervenção do usuário, quando o servidor iniciar. Uma senha secreta impediria que isso acontecesse, pois teríamos que inseri-la após cada reinicialização.
      • -days 365: Esta opção define o período em que o certificado será considerado válido. Definimos isso para um ano aqui.
      • -newkey rsa:2048: Isso especifica que queremos gerar um novo certificado e uma nova chave ao mesmo tempo. Não criamos a chave necessária para assinar o certificado em uma etapa anterior, portanto, precisamos criá-la junto com o certificado. A parte rsa: 2048 diz para criar uma chave RSA com 2048 bits de comprimento.
      • -keyout: Essa linha informa ao OpenSSL onde colocar o arquivo de chave privada gerado que estamos criando.
      • -out: Isso informa ao OpenSSL onde colocar o certificado que estamos criando.

      Como dissemos acima, essas opções criarão um arquivo de chave e um certificado. Serão feitas algumas perguntas sobre nosso servidor para incorporarmos as informações corretamente no certificado.

      Preencha as instruções adequadamente. A linha mais importante é aquela que solicita o Common Name (por exemplo, FQDN do servidor ou SEU nome). Você precisa inserir o nome de domínio associado ao seu servidor ou, mais provavelmente, o endereço IP público do seu servidor.

      O sumário das solicitações será mais ou menos assim:

      Output

      Country Name (2 letter code) [AU]:US State or Province Name (full name) [Some-State]:New York Locality Name (eg, city) []:New York City Organization Name (eg, company) [Internet Widgits Pty Ltd]:Bouncy Castles, Inc. Organizational Unit Name (eg, section) []:Ministry of Water Slides Common Name (e.g. server FQDN or YOUR name) []:endereço_IP_do_servidor Email Address []:admin@seu_domínio.com

      Ambos os arquivos que você criou serão colocados nos subdiretórios apropriados em /etc/ssl.

      Passo 2 — Configurando o Apache para Usar SSL

      Criamos nossos arquivos de chave e certificado no diretório /etc/ssl. Agora só precisamos modificar nossa configuração do Apache para tirar vantagem disso.

      Vamos fazer alguns ajustes em nossa configuração:

      1. Criaremos um bloco de configuração para especificar configurações SSL fortes por padrão.
      2. Modificaremos o arquivo incluído de Virtual Host SSL do Apache para apontar para nossos certificados SSL que foram gerados.
      3. (Recomendado) Modificaremos o arquivo de Virtual Host não criptografado para redirecionar automaticamente as solicitações para o Virtual Host criptografado.

      Quando terminarmos, devemos ter uma configuração SSL segura.

      Criando um Bloco de Configuração do Apache com Definições Fortes de Criptografia

      Primeiro, criaremos um bloco de configuração do Apache para definir algumas configurações de SSL. Isso configurará o Apache com um forte conjunto de cifras SSL e permitirá alguns recursos avançados que ajudarão a manter nosso servidor seguro. Os parâmetros que definiremos podem ser usados por qualquer Virtual Host que habilite o SSL.

      Crie um novo bloco no diretório /etc/apache2/conf-available. Vamos nomear o arquivo como ssl-params.conf para tornar claro o seu propósito.

      • sudo nano /etc/apache2/conf-available/ssl-params.conf

      Para configurar o Apache SSL com segurança, usaremos as recomendações de Remy van Elst no site Cipherli.st. Este site foi desenvolvido para fornecer configurações de criptografia fáceis de consumir por softwares populares.

      As configurações sugeridas no site mencionado acima oferecem segurança forte. Às vezes, isso vem com o custo de se ter mais compatibilidade do cliente. Se você precisar oferecer suporte a clientes mais antigos, existe uma lista alternativa que pode ser acessada clicando no link na página rotulada “Yes, give me a ciphersuite that works with legacy / old software.” Essa lista pode ser substituída pelos itens copiados abaixo.

      A escolha de qual configuração você usará dependerá em grande parte do que você precisa suportar. Ambos fornecerão grande segurança.

      Para nossos propósitos, podemos copiar as configurações fornecidas na íntegra. Faremos apenas uma pequena alteração e desabilitaremos o cabeçalho Strict-Transport-Security (HSTS).

      O pré-carregamento do HSTS fornece maior segurança, mas pode ter consequências de longo alcance se for ativado acidentalmente ou incorretamente. Neste guia, não habilitaremos as configurações, mas você poderá modificá-las se tiver certeza de entender as implicações.

      Antes de decidir, reserve um momento para ler HTTP Strict Transport Security, or HSTS, e especificamente sobre a funcionalidade de “pré-carregamento”.

      Cole a seguinte configuração no arquivo ssl-params.conf que abrimos:

      /etc/apache2/conf-available/ssl-params.conf

      SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
      SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
      SSLHonorCipherOrder On
      # Disable preloading HSTS for now.  You can use the commented out header line that includes
      # the "preload" directive if you understand the implications.
      # Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
      Header always set X-Frame-Options DENY
      Header always set X-Content-Type-Options nosniff
      # Requires Apache >= 2.4
      SSLCompression off
      SSLUseStapling on
      SSLStaplingCache "shmcb:logs/stapling-cache(150000)"
      # Requires Apache >= 2.4.11
      SSLSessionTickets Off
      

      Salve e feche o arquivo quando terminar.

      Modificando o Arquivo Padrão de Virtual Host SSL do Apache

      Agora, vamos modificar /etc/apache2/sites-available/default-ssl.conf, o arquivo padrão de Virtual Host SSL do Apache. Se você estiver usando um arquivo de blocos de servidor diferente, substitua seu nome nos comandos abaixo.

      Antes de prosseguir, vamos fazer backup do arquivo original do Virtual Host SSL:

      • sudo cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-available/default-ssl.conf.bak

      Agora, abra o arquivo Virtual Host SSL para fazer ajustes:

      • sudo nano /etc/apache2/sites-available/default-ssl.conf

      Dentro dele, com a maioria dos comentários removidos, o bloco de Virtual Host deve se parecer com isso por padrão:

      /etc/apache2/sites-available/default-ssl.conf

      <IfModule mod_ssl.c>
              <VirtualHost _default_:443>
                      ServerAdmin webmaster@localhost
      
                      DocumentRoot /var/www/html
      
                      ErrorLog ${APACHE_LOG_DIR}/error.log
                      CustomLog ${APACHE_LOG_DIR}/access.log combined
      
                      SSLEngine on
      
                      SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
                      SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
      
                      <FilesMatch ".(cgi|shtml|phtml|php)$">
                                      SSLOptions +StdEnvVars
                      </FilesMatch>
                      <Directory /usr/lib/cgi-bin>
                                      SSLOptions +StdEnvVars
                      </Directory>
      
              </VirtualHost>
      </IfModule>
      

      Faremos alguns pequenos ajustes no arquivo. Definiremos as coisas normais que queremos ajustar em um arquivo de Virtual Host (endereço de email do ServerAdmin, ServerName etc.) e ajustaremos as diretivas SSL para apontar para o nosso certificado e arquivos de chave. Novamente, se você estiver usando um document root diferente, atualize a diretiva DocumentRoot.

      Depois de fazer essas alterações, seu bloco de servidor deve ser semelhante a este:

      /etc/apache2/sites-available/default-ssl.conf

      <IfModule mod_ssl.c>
              <VirtualHost _default_:443>
                      ServerAdmin seu_e-mail@example.com
                      ServerName domínio_do_servidor_ou_IP
      
                      DocumentRoot /var/www/html
      
                      ErrorLog ${APACHE_LOG_DIR}/error.log
                      CustomLog ${APACHE_LOG_DIR}/access.log combined
      
                      SSLEngine on
      
                      SSLCertificateFile      /etc/ssl/certs/apache-selfsigned.crt
                      SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
      
                      <FilesMatch ".(cgi|shtml|phtml|php)$">
                                      SSLOptions +StdEnvVars
                      </FilesMatch>
                      <Directory /usr/lib/cgi-bin>
                                      SSLOptions +StdEnvVars
                      </Directory>
      
              </VirtualHost>
      </IfModule>
      

      Salve e feche o arquivo quando terminar.

      (Recomendado) Modificando o Arquivo de Virtual Host HTTP para Redirecionar para HTTPS

      Do jeito que está no momento, o servidor fornecerá tanto o tráfego HTTP não criptografado quanto HTTPS criptografado. Para maior segurança, é recomendado na maioria dos casos redirecionar HTTP para HTTPS automaticamente. Se você não quiser ou não precisar dessa funcionalidade, você poderá pular seguramente esta seção.

      Para ajustar o arquivo de Virtual Host não criptografado para redirecionar todo o tráfego a ser criptografado por SSL, abra o arquivo /etc/apache2/sites-available/000-default.conf:

      • sudo nano /etc/apache2/sites-available/000-default.conf

      Dentro dos blocos de configuração VirtualHost, adicione uma diretiva Redirect, apontando todo o tráfego para a versão SSL do site:

      /etc/apache2/sites-available/000-default.conf

      <VirtualHost *:80>
              . . .
      
              Redirect "/" "https://seu_domínio_ou_IP/"
      
              . . .
      </VirtualHost>
      

      Salve e feche o arquivo quando terminar.

      Essas são todas as alterações de configuração que você precisa fazer no Apache. A seguir, discutiremos como atualizar as regras do firewall com o ufw para permitir o tráfego HTTPS criptografado no seu servidor.

      Passo 3 — Ajustando o Firewall

      Se você tiver o firewall ufw ativado, conforme recomendado pelos guias de pré-requisito, pode ser necessário ajustar as configurações para permitir o tráfego SSL. Felizmente, quando instalado no Debian 10, o ufw vem carregado com perfis de aplicativos que você pode usar para ajustar suas configurações de firewall.

      Podemos ver os perfis disponíveis digitando:

      Você deve ver uma lista como esta, com os quatro perfis a seguir na parte inferior da saída:

      Output

      Available applications: . . . WWW WWW Cache WWW Full WWW Secure . . .

      Você pode ver a configuração atual digitando:

      Se você permitiu apenas o tráfego HTTP regular anteriormente, sua saída pode ter esta aparência:

      Output

      Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere WWW ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) WWW (v6) ALLOW Anywhere (v6)

      Para permitir adicionalmente o tráfego HTTPS, permita o perfil “WWW Full” e então exclua a permissão redundante de perfil “WWW”:

      • sudo ufw allow 'WWW Full'
      • sudo ufw delete allow 'WWW'

      Seu status deve ficar assim agora:

      Output

      Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere WWW Full ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) WWW Full (v6) ALLOW Anywhere (v6)

      Com seu firewall configurado para permitir o tráfego HTTPS, você pode prosseguir para o próximo passo, onde veremos como habilitar alguns módulos e arquivos de configuração para permitir que o SSL funcione corretamente.

      Passo 4 — Ativando as Alterações no Apache

      Agora que fizemos nossas alterações e ajustamos o nosso firewall, podemos habilitar os módulos de SSL e de headers no Apache, habilitar o Virtual Host pronto para SSL e reiniciar o Apache para efetivar essas alterações.

      Ative o mod_ssl, o módulo SSL do Apache e o mod_headers, que são necessários para algumas das configurações em nosso bloco SSL, com o comando a2enmod:

      • sudo a2enmod ssl
      • sudo a2enmod headers

      Em seguida, ative seu Virtual Host SSL com o comando a2ensite:

      • sudo a2ensite default-ssl

      Você também precisará habilitar seu arquivo ssl-params.conf para ler os valores que você definiu:

      Neste ponto, o site e os módulos necessários estão habilitados. Devemos verificar para garantir que não haja erros de sintaxe em nossos arquivos. Faça isso digitando:

      • sudo apache2ctl configtest

      Se tudo der certo, você obterá um resultado parecido com o seguinte:

      Output

      Syntax OK

      Desde que sua saída tenha um Syntax OK, seu arquivo de configuração não tem erros de sintaxe e você poderá reiniciar o Apache com segurança para implementar as alterações:

      • sudo systemctl restart apache2

      Com isso, seu certificado SSL autoassinado está pronto. Agora você pode testar se seu servidor está criptografando corretamente o tráfego.

      Passo 5 — Testando a Criptografia

      Agora você está pronto para testar seu servidor SSL.

      Abra o seu navegador e digite https:// seguido pelo nome de domínio ou IP do seu servidor na barra de endereços:

      https://domínio_do_servidor_ou_IP
      

      Como o certificado que você criou não foi assinado por uma das autoridades de certificação confiáveis do seu navegador, você provavelmente verá um aviso de aparência assustadora como o abaixo:

      Apache self-signed cert warning

      Isso é esperado e normal. Estamos interessados apenas no aspecto de criptografia do nosso certificado, não na validação de terceiros da autenticidade do nosso host. Clique em AVANÇADO e, em seguida, no link fornecido para continuar com seu host:

      Apache self-signed override

      Você deve ser levado ao seu site. Se você procurar na barra de endereço do navegador, verá uma fechadura com um “x” sobre ela ou outro aviso similar de “não seguro”. Nesse caso, isso significa apenas que o certificado não pode ser validado. Ele ainda está criptografando sua conexão.

      Se você configurou o Apache para redirecionar HTTP para HTTPS, também poderá verificar se o redirecionamento funciona corretamente:

      http://domínio_do_servidor_ou_IP
      

      Se isso resultar no mesmo ícone, isso significa que seu redirecionamento funcionou corretamente. No entanto, o redirecionamento que você criou anteriormente é apenas um redirecionamento temporário. Se você deseja tornar o redirecionamento permanente para HTTPS, continue até o passo final.

      Passo 6 — Alterando para um Redirecionamento Permanente

      Se o seu redirecionamento funcionou corretamente e você tem certeza de que deseja permitir apenas o tráfego criptografado, modifique o Apache Virtual Host não criptografado novamente para tornar o redirecionamento permanente.

      Abra o arquivo do bloco de configuração do seu servidor novamente:

      • sudo nano /etc/apache2/sites-available/000-default.conf

      Encontre a linha Redirect que adicionamos anteriormente. Adicione permanent a essa linha, que altera o redirecionamento de um redirecionamento 302 temporário para um redirecionamento 301 permanente:

      /etc/apache2/sites-available/000-default.conf

      <VirtualHost *:80>
              . . .
      
              Redirect permanent "/" "https://seu_domínio_ou_IP/"
      
              . . .
      </VirtualHost>
      

      Salve e feche o arquivo.

      Verifique sua configuração quanto a erros de sintaxe:

      • sudo apache2ctl configtest

      Se este comando não relatar erros de sintaxe, reinicie o Apache:

      • sudo systemctl restart apache2

      Isso tornará o redirecionamento permanente, e seu site servirá apenas tráfego por HTTPS.

      Conclusão

      Você configurou o servidor Apache para usar criptografia forte para conexões de cliente. Isso permitirá que você atenda solicitações com segurança e impedirá que terceiros leiam seu tráfego.



      Source link

      Como criar um certificado SSL autoassinado para o Apache no Ubuntu 18.04


      Uma versão anterior deste tutorial foi escrita por Justin Ellingwood.

      Introdução

      O TLS, ou segurança de camada de transporte e seu antecessor, o SSL, que significa camada de socket segura, são protocolos Web usados para envolver o tráfego normal em um pacote protegido e criptografado.

      Ao usar essa tecnologia, os servidores podem enviar tráfego com segurança entre servidores e clientes sem a possibilidade de mensagens serem interceptadas por agentes externos. O sistema de certificados também ajuda os usuários a verificar a identidade dos sites com os quais eles estão se conectando.

      Neste guia, mostraremos como configurar um certificado SSL autoassinado para uso com um servidor Web Apache no Ubuntu 18.04.

      Nota: um certificado autoassinado irá criptografar a comunicação entre seu servidor e qualquer cliente. No entanto, uma vez que ele não está assinado por nenhuma das autoridades de certificados confiáveis incluídas com navegadores Web, os usuários não podem usar o certificado para validar a identidade do seu servidor automaticamente.

      Um certificado autoassinado pode ser apropriado se você não tiver um nome de domínio associado ao seu servidor e para instâncias onde uma interface Web criptografada não seja voltada para o usuário. Se você tiver de fato um nome de domínio, em muitos casos é melhor usar um certificado assinado por CA. Você pode descobrir como configurar um certificado de confiança gratuito com o projeto Let’s Encrypt aqui

      Pré-requisitos

      Antes de começar, você deve ter um usuário não-raiz configurado com privilégios sudo. Você pode aprender como configurar esse tipo de usuário seguindo nossa Configuração inicial de servidor com o Ubuntu 18.04.

      Você também precisará ter o servidor Web Apache instalado. Se você quiser instalar uma pilha LAMP (Linux, Apache, MySQL, PHP) inteira no seu servidor, você pode seguir nosso guia sobre como configurar o LAMP no Ubuntu 18.04. Se você quiser apenas o servidor web Apache, pule os passos referentes ao PHP e MySQL.

      Quando tiver completado os pré-requisitos, continue abaixo.

      Passo 1 — Criando o certificado SSL

      O TLS/SSL funciona usando uma combinação de um certificado público e uma chave privada. A chave SSL é mantida em segredo no servidor. Ela é usada para criptografar o conteúdo enviado para clientes. O certificado SSL é compartilhado publicamente com qualquer um que solicitar o conteúdo. Ele pode ser usado para decifrar o conteúdo assinado pela chave SSL associada.

      Podemos criar um par chave autoassinada e certificado com o OpenSSL em um único comando:

      • sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt

      Uma séria de questões será feita a você. Antes de passarmos por isso, vamos ver o que está acontecendo no comando que estamos emitindo:

      • openssl: esta é a ferramenta básica de linha de comando para criação e gerenciamento de certificados OpenSSL, chaves e outros arquivos.
      • req: este subcomando especifica que queremos usar o gerenciamento X.509 de solicitação de assinatura de certificado (CSR). O “X.509” é um padrão de infraestrutura de chave pública aderido pelo SSL e o TLS para seu gerenciamento de chaves e certificados. Queremos criar um novo cert X.509, então estamos usando este subcomando.
      • -x509: isso modifica ainda mais o subcomando anterior dizendo ao utilitário que queremos criar um certificado autoassinado em vez de gerar uma solicitação de assinatura de certificado, como normalmente aconteceria.
      • -nodes: isso diz ao OpenSSL para pular a opção de proteger nosso certificado com uma frase secreta. Precisamos que o Apache consiga ler o arquivo, sem a intervenção do usuário, quando o servidor for iniciado. Uma frase secreta impediria que isso acontecesse porque teríamos que digitá-la após cada reinício.
      • -days 365: esta opção define a duração do tempo em que o certificado será considerado válido. Aqui, nós configuramos ela para um ano.
      • -newkey rsa:2048: isso especifica que queremos gerar um novo certificado e uma nova chave ao mesmo tempo. Não criamos a chave necessária para assinar o certificado em um passo anterior, então precisamos criá-la junto com o certificado. A porção rsa:2048 diz a ele para criar uma chave RSA que seja de 2048 bits.
      • -keyout: esta linha diz ao OpenSSL onde colocar o arquivo gerado de chave privada que estamos criando.
      • -out: isso diz ao OpenSSL onde colocar o certificado que estamos criando.

      Como mostrado acima, essas opções criarão tanto um arquivo de chave como um certificado. Algumas perguntas sobre nosso servidor serão feitas para incorporar as informações corretamente no certificado.

      Preencha os prompts devidamente. A linha mais importante é aquela que solicita o Nome comum (por exemplo, o servidor FQDN ou o SEU nome). Você precisa digitar o nome do domínio associado ao seu servidor ou, mais provável, o endereço IP público do seu servidor.

      A totalidade dos prompt se parecerá com isto:

      Output

      Country Name (2 letter code) [AU]:US State or Province Name (full name) [Some-State]:New York Locality Name (eg, city) []:New York City Organization Name (eg, company) [Internet Widgits Pty Ltd]:Bouncy Castles, Inc. Organizational Unit Name (eg, section) []:Ministry of Water Slides Common Name (e.g. server FQDN or YOUR name) []:server_IP_address Email Address []:admin@your_domain.com

      Ambos os arquivos que você criou serão colocados nos subdiretórios apropriados em /etc/ssl.

      Passo 2 — Configurando o Apache para usar o SSL

      Criamos nossos arquivos de chave e certificado no diretório /etc/ssl. Agora, precisamos modificar nossa configuração do Apache para aproveitarmos melhor o mesmo.

      Vamos fazer alguns ajustes na nossa configuração:

      1. Criaremos um snippet de configuração para especificar configurações padrão robustas do SSL.
      2. Vamos modificar o arquivo SSL Apache Host Virtual incluso para apontar para nossos certificados SSL gerados.
      3. (Recomendado) Modificaremos o arquivo de Host Virtual não criptografado para redirecionar automaticamente as solicitações para o Host Virtual criptografado.

      Quando terminarmos, devemos ter uma configuração SSL segura.

      Criando um snippet de configuração do Apache com configurações de criptografia robustas

      Primeiro, vamos criar um snippet de configuração do Apache que defina algumas configurações do SSL. Isso irá configurar o Apache com uma série de criptografia SSL forte e habilitar algumas funcionalidades avançadas que irão ajudar a manter nosso servidor seguro. Os parâmetros que vamos definir podem ser usados por qualquer Host Virtual habilitando o SSL.

      Crie um novo snippet no diretório /etc/apache2/conf-available. Vamos nomear o arquivo ssl-params.conf para deixar seu objetivo claro:

      • sudo nano /etc/apache2/conf-available/ssl-params.conf

      Para configurar o Apache SSL com segurança, utilizaremos as recomendações de Remy van Elst presentes no site Cipherli.st. Este site foi projetado para fornecer configurações de criptografia de fácil acesso para softwares populares.

      [note ]As configurações sugeridas no site mostrado acima oferecem uma segurança robusta. De vez em quando, isso acontece ao custo de maior compatibilidade com o cliente. Se você precisa dar suporte a clientes antigos, existe uma lista alternativa que pode ser acessada clicando no link na página rotulada “Sim, dê-me uma criptografia que funciona com o software legado / velho.” Essa lista pode ser substituída pelos itens copiados abaixo.

      A escolha de qual configuração você usa dependerá em grande parte do que você precisa suportar. Ambas fornecerão uma ótima segurança.

      Para nossos propósitos, podemos copiar as configurações fornecidas em sua totalidade. Vamos fazer apenas uma pequena mudança. Vamos desativar o cabeçalho Strict-Transport-Security (HSTS).

      O pré-carregamento do HSTS proporciona maior segurança, mas pode ter consequências consideráveis se for habilitado acidentalmente ou de maneira incorreta. Neste guia, não habilitaremos essas configurações, mas você pode modificar isso caso tenha certeza de que você entenda as implicações.

      Antes de decidir, leia com cuidado Segurança de transporte estrito HTTP, ou HSTS, mais especificamente sobre a funcionalidade “pré-carregamento”

      Cole a configuração no arquivo ssl-params.conf que abrimos:

      /etc/apache2/conf-available/ssl-params.conf

      SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
      SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
      SSLHonorCipherOrder On
      # Disable preloading HSTS for now.  You can use the commented out header line that includes
      # the "preload" directive if you understand the implications.
      # Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
      Header always set X-Frame-Options DENY
      Header always set X-Content-Type-Options nosniff
      # Requires Apache >= 2.4
      SSLCompression off
      SSLUseStapling on
      SSLStaplingCache "shmcb:logs/stapling-cache(150000)"
      # Requires Apache >= 2.4.11
      SSLSessionTickets Off
      

      Salve e feche o arquivo quando você terminar.

      Modificando o arquivo padrão de Host Virtual SSL do Apache

      Em seguida, vamos modificar o /etc/apache2/sites-available/default-ssl.conf, o arquivo padrão de Host Virtual SSL do Apache Se estiver usando um arquivo de bloco de servidor diferente, substitua seu nome nos comandos abaixo.

      Antes de continuar, vamos voltar para o arquivo de Host Virtual SSL original:

      • sudo cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-available/default-ssl.conf.bak

      Agora, abra o arquivo de Host Virtual SSL para fazer ajustes:

      • sudo nano /etc/apache2/sites-available/default-ssl.conf

      Dentro, com a maioria dos comentários removidos, o arquivo de Host Virtual deve se parecer com isso por padrão:

      /etc/apache2/sites-available/default-ssl.conf

      <IfModule mod_ssl.c>
              <VirtualHost _default_:443>
                      ServerAdmin webmaster@localhost
      
                      DocumentRoot /var/www/html
      
                      ErrorLog ${APACHE_LOG_DIR}/error.log
                      CustomLog ${APACHE_LOG_DIR}/access.log combined
      
                      SSLEngine on
      
                      SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
                      SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
      
                      <FilesMatch ".(cgi|shtml|phtml|php)$">
                                      SSLOptions +StdEnvVars
                      </FilesMatch>
                      <Directory /usr/lib/cgi-bin>
                                      SSLOptions +StdEnvVars
                      </Directory>
      
              </VirtualHost>
      </IfModule>
      

      Vamos fazer alguns pequenos ajustes no arquivo. Vamos definir as coisas normais que gostaríamos de ajustar em um arquivo de Host Virtual (endereço de e-mail do ServerAdmin, ServerName, etc., e ajustar as diretivas do SSL para que apontem para nossos arquivos de certificado e chave.

      Após fazer essas alterações, seu bloco de servidor deve se parecer com este:

      /etc/apache2/sites-available/default-ssl.conf

      <IfModule mod_ssl.c>
              <VirtualHost _default_:443>
                      ServerAdmin your_email@example.com
                      ServerName server_domain_or_IP
      
                      DocumentRoot /var/www/html
      
                      ErrorLog ${APACHE_LOG_DIR}/error.log
                      CustomLog ${APACHE_LOG_DIR}/access.log combined
      
                      SSLEngine on
      
                      SSLCertificateFile      /etc/ssl/certs/apache-selfsigned.crt
                      SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
      
                      <FilesMatch ".(cgi|shtml|phtml|php)$">
                                      SSLOptions +StdEnvVars
                      </FilesMatch>
                      <Directory /usr/lib/cgi-bin>
                                      SSLOptions +StdEnvVars
                      </Directory>
      
              </VirtualHost>
      </IfModule>
      

      Salve e feche o arquivo quando você terminar.

      (Recomendado) Modificando o arquivo de host HTTP para redirecionar para HTTPS

      Da forma em que se encontra, o servidor fornecerá tanto tráfego HTTP não criptografado quanto HTTPS criptografado. Para maior segurança, é recomendável redirecionar na maioria dos casos o HTTP para HTTPS automaticamente. Se não quiser ou precisar dessa funcionalidade, você pode pular essa seção com segurança.

      Para ajustar o arquivo de Host Virtual não criptografado para redirecionar todo o tráfego a ser criptografado pelo SSL, podemos abrir o arquivo /etc/apache2/sites-available/000-default.conf:

      • sudo nano /etc/apache2/sites-available/000-default.conf

      Lá, dentro dos blocos de configuração VirtualHost, precisamos adicionar uma diretiva Redirect, que direciona todo o tráfego para a versão SSL do site:

      /etc/apache2/sites-available/000-default.conf

      <VirtualHost *:80>
              . . .
      
              Redirect "/" "https://your_domain_or_IP/"
      
              . . .
      </VirtualHost>
      

      Salve e feche o arquivo quando você terminar.

      Passo 3 — Como ajustar o Firewall

      Se você tem o firewall ufw ativado, conforme recomendado pelos guias de pré-requisitos, pode ser necessário ajustar as configurações para permitir o tráfego SSL. Felizmente, o Apache registra alguns perfis com o ufw na instalação.

      Podemos ver os perfis disponíveis digitando:

      Você deve ver uma lista como essa:

      Output

      Available applications: Apache Apache Full Apache Secure OpenSSH

      Você pode verificar a configuração atual digitando:

      Se você permitiu apenas o tráfego HTTP regular mais cedo, seu resultado pode se parecer com este:

      Output

      Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Apache ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Apache (v6) ALLOW Anywhere (v6)

      Para também admitir o tráfego HTTPS, podemos permitir o perfil “Apache Full” e então excluir a permissão de perfil redundante “Apache”:

      • sudo ufw allow 'Apache Full'
      • sudo ufw delete allow 'Apache'

      Agora, seu status deve se parecer com este:

      Output

      Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Apache Full ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Apache Full (v6) ALLOW Anywhere (v6)

      Passo 4 — Habilitando as alterações no Apache

      Agora que fizemos nossas alterações e ajustamos nosso firewall, é possível habilitar os módulos SSL e de cabeçalhos no Apache, habilitar nosso Host Virtual pronto para o SSL e reiniciar o Apache.

      Podemos habilitar o mod_ssl, o módulo SSL do Apache e o mod_headers, necessário para algumas das configurações no nosso snippet SSL, com o comando a2enmod:

      • sudo a2enmod ssl
      • sudo a2enmod headers

      Em seguida, podemos habilitar nosso Host Virtual SSL com o comando a2ensite:

      • sudo a2ensite default-ssl

      Também precisaremos habilitar nosso arquivo ssl-params.conf, para que leia nos valores que definirmos:

      Neste ponto, nosso site e os módulos necessários estão habilitados. Devemos verificar e garantir que não haja erros de sintaxe em nossos arquivos. Podemos fazer isso digitando:

      • sudo apache2ctl configtest

      Se tudo for bem-sucedido, você receberá um resultado que se parecerá com este:

      Output

      AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message Syntax OK

      A primeira linha é apenas uma mensagem informando que a diretiva ServerName não está definida globalmente. Se você quiser se livrar dessa mensagem, é possível definir o ServerName como o nome do domínio do seu servidor ou o endereço IP em /etc/apache2/apache2.conf. Isso é opcional, uma vez que a mensagem não causará problemas.

      Se seu resultado tiver Syntax OK, seu arquivo de configuração não possui erros de sintaxe. Podemos reiniciar com segurança o Apache para implementar nossas alterações:

      • sudo systemctl restart apache2

      Passo 5 — Testando a criptografia

      Agora, estamos prontos para testar nosso servidor SSL.

      Abra seu navegador Web e digite https:// seguido pelo nome do domínio ou endereço IP do seu servidor na barra de endereço:

      https://server_domain_or_IP
      

      Pelo fato do certificado que criamos não ser assinado por uma das autoridades de certificado confiáveis do seu navegador, você provavelmente verá um aviso assustador como o que está abaixo:

      Apache self-signed cert warning

      Isso é esperado e é normal. Só estamos interessados no aspecto de criptografia do nosso certificado, não na validação de terceiros da autenticidade do nosso host. Em todo caso, clique em “ADVANCED” e então no link fornecido para prosseguir para seu host:

      Apache self-signed override

      Você deve ser levado para seu site. Se você olhar na barra de endereço do navegador, será possível ver um cadeado com um “x” sobre ele. Neste caso, isso significa apenas que o certificado não pode ser validado. Ela ainda está criptografando sua conexão.

      Se você configurou o Apache para redirecionar HTTP para HTTPS, também é possível verificar se o redirecionamento está funcionando corretamente:

      http://server_domain_or_IP
      

      Se o resultado for o mesmo ícone, isso significa que seu redirecionamento funcionou corretamente.

      Passo 6 — Mudando para um redirecionamento permanente

      Se seu redirecionamento funcionou corretamente e você tem certeza de que quer permitir apenas o tráfego criptografado, você deve modificar novamente o Host Virtual do Apache não criptografado para tornar o redirecionamento permanente.

      Abra mais uma vez o arquivo de configuração do bloco do seu servidor:

      • sudo nano /etc/apache2/sites-available/000-default.conf

      Encontre a linha Redirect que adicionamos mais cedo. Adicione permanent a essa linha. Isso muda o redirecionamento de uma redirecionamento temporário 302 para um redirecionamento permanente 301:

      /etc/apache2/sites-available/000-default.conf

      <VirtualHost *:80>
              . . .
      
              Redirect permanent "/" "https://your_domain_or_IP/"
      
              . . .
      </VirtualHost>
      

      Salve e feche o arquivo.

      Verifique sua configuração quanto a erros de sintaxe:

      • sudo apache2ctl configtest

      Quando estiver pronto, reinicie o Apache para tornar o redirecionamento permanente:

      • sudo systemctl restart apache2

      Conclusão

      Você configurou seu servidor Apache para usar uma criptografia robusta para conexões com clientes. Isso permitirá que você atenda aos pedidos com segurança e impedirá que agentes externos leiam seu tráfego.



      Source link