Como criar um certificado SSL auto-signitado local no CentOS 8

Como criar um certificado SSL auto-signitado local no CentOS 8

Ssl (Camada de soquete segura), e sua versão aprimorada, TLS (Camada de soquete de transporte), são protocolos de segurança usados ​​para proteger o tráfego da web enviado do navegador da web de um cliente para um servidor da web.

Um Ssl Certificado é um certificado digital que cria um canal seguro entre o navegador de um cliente e um servidor da web. Ao fazê -lo, dados sensíveis e confidenciais, como dados de cartão de crédito, credenciais de login e outras informações altamente privadas, são criptografadas, impedindo que hackers escutem e roubem suas informações.

O que é um certificado SSL autoassinado?

Um certificado SSL autoassinado, ao contrário de outros Ssl certificados assinados e confiáveis ​​por um Autoridade de certificado (Ca), é um certificado assinado por um indivíduo que o possui.

É totalmente gratuito para criar um e é uma maneira barata de criptografar seu servidor web hospedado localmente. No entanto, o uso de um certificado SSL autoassinado é altamente desencorajado em ambientes de produção pelos seguintes motivos:

  1. Já que não é assinado por um Autoridade de certificado, Um certificado SSL autoassinado gera alertas sobre os navegadores da web, alertando os usuários de riscos potenciais à frente, caso decidam prosseguir. Esses alertas são indesejados e dissuadirão os usuários de visitar seu site, potencialmente levando a um declínio no tráfego da web. Como solução alternativa a esses alertas, as organizações geralmente incentivam seus funcionários a simplesmente ignorar os alertas e prosseguir. Isso pode gerar um hábito perigoso entre os usuários que podem decidir continuar ignorando esses alertas em outros sites on -line, potencialmente vítima de sites de phishing.
  2. Certificados autônomos têm um nível de baixa segurança, pois implementam tecnologias e hashes de baixo nível. Assim, o nível de segurança pode não estar em pé de igualdade com as políticas de segurança padrão.
  3. Além disso, não há suporte para funções de infraestrutura de chave pública (PKI).

Dito isto, o uso de um certificado SSL autoassinado não é uma má idéia para testar serviços e aplicativos em uma máquina local que requer TLS / SSL criptografia.

Neste guia, você aprenderá como instalar um certificado SSL auto-signitado no Apache LocalHost Web Server em um CENTOS 8 sistema de servidor.

Pré -requisitos:

Antes de começar, verifique se você tem os seguintes requisitos básicos:

  1. Uma instância do servidor CentOS 8.
  2. SERVER da Web Apache instalado no servidor
  3. Um nome de host já configurado e definido no /etc/hosts arquivo. Para este guia, vamos usar Tecmint.local um nome de host para o nosso servidor.

Etapa 1: Instalando MOD_SSL no CentOS

1. Para começar, você precisa verificar se o Apache O servidor da web está instalado e em execução.

$ sudo status Systemctl httpd 

Aqui está a saída esperada.

Verifique o status do Apache

Se o servidor da web não estiver em execução, você poderá iniciá -lo ao inicializar usando o comando.

$ sudo systemctl start httpd $ sudo systemctl atable httpd 
Inicie o Apache Web Server

Você pode confirmar se o Apache está em funcionamento.

2. Para ativar a instalação e a configuração do certificado SSL auto-signo local, o mod_ssl o pacote é necessário.

$ sudo dnf install mod_ssl 

Depois de instalado, você pode verificar sua instalação executando.

$ sudo rpm -q mod_ssl 
Verifique a instalação MOD SSL

Além disso, verifique se o OpenSSL o pacote está instalado (OpenSSL vem instalado por padrão em CENTOS 8).

$ sudo rpm -q OpenSSL 
Verifique a instalação do OpenSSL

Etapa 2: Crie um certificado SSL autoassinado local para Apache

3. Com o Apache servidor da web e todos os pré -requisitos sob controle, você precisa criar um diretório no qual as chaves criptográficas serão armazenadas.

Neste exemplo, criamos um diretório em /etc/ssl/privado.

$ sudo mkdir -p/etc/ssl/privado 

Agora crie a chave e o arquivo do certificado SSL local usando o comando:

$ sudo openssl req -x509 -Nodes -NewKey RSA: 2048 -Keyout Tecmint.local.chave -Tecmint.local.Crt 

Vamos dar uma olhada no que algumas das opções do comando realmente representam:

  • Req -x509 - Isso indica que estamos usando a solicitação de assinatura de certificado X509 (CSR).
  • -nós - Esta opção instrui o OpenSSL a pular criptografar o certificado SSL usando uma senha. A idéia aqui é permitir que o Apache possa ler o arquivo sem qualquer tipo de intervenção do usuário que não seria possível se uma senha for fornecida.
  • -Newkey RSA: 2048 - Isso indica que queremos criar simultaneamente uma nova chave e um novo certificado. A porção RSA: 2048 implica que queremos criar uma chave RSA de 2048 bits.
  • -Keyout - Esta opção especifica onde armazenar o arquivo de chave privada gerada após a criação.
  • -fora - A opção especifica onde colocar o certificado SSL criado.
Crie certificado SSL local para Apache

Etapa 3: Instale o certificado SSL local autoassinado no Apache

4. Depois de gerar o arquivo de certificado SSL, agora é hora de instalar o certificado usando as configurações do Apache Web Server. Abrir e editar o /etc/httpd/conf.d/ssl.conf arquivo de configuração.

$ sudo vi/etc/httpd/conf.d/ssl.conf 

Certifique -se de ter as seguintes linhas entre as tags do host virtual.

 ServerAdmin [Email Protected] ServerName WWW.Tecmint.Servidor local Tecmint.documentroot/var/www/html sslengine SslCertificatefile/etc/ssl/privado/tecmint.local.Crt SslCertificateKeyFile/etc/ssl/privado/tecmint.local.chave  

Salvar e sair do arquivo. Para que as alterações sejam efetuadas, reinicie o Apache usando o comando:

$ sudo systemctl reiniciar httpd 

5. Para usuários externos para acessar seu servidor, você precisa abrir a porta 443 através do firewall como mostrado.

$ sudo firewall-cmd --add-port = 443-zone = public --permanent $ sudo firewall-cmd--reload 

Etapa 3: Testando o certificado SSL autoassinado local no Apache

Com todas as configurações em vigor, inicie seu navegador e navegue.

Para otimizar os testes, você pode considerar redirecionar o protocolo HTTP para HTTPS no servidor da web do Apache. Isso é para que sempre que você navegue no domínio em HTTP simples, ele será automaticamente redirecionado para o protocolo HTTPS.

Então, navegue no domínio ou IP do seu servidor

https: // domain_name/ 

Você receberá um alerta informando que a conexão não é segura como mostrado. Isso varia de um navegador para outro. Como você pode imaginar, o alerta se deve ao fato de o certificado SSL não ser assinado pelo Autoridade de certificado e o navegador registra isso e relata que o certificado não pode ser confiável.

Aviso de certificado SSL

Para prosseguir para o seu site, clique no 'Avançado'Guia como mostrado acima:

Prossiga avisos de certificado SSL

Em seguida, adicione a exceção ao navegador.

Confirme a exceção de segurança

Por fim, recarregue seu navegador e observe que agora você pode acessar o servidor, embora haja um aviso na barra de URL de que o site não esteja totalmente seguro pela mesma razão de que o certificado SSL é auto-signo e não assinado pelo Autoridade de certificado.

Site de acesso ao HTTPS

É nossa esperança que você possa prosseguir e criar e instalar um certificado SSL autoassinado no servidor da web do Apache Localhost em CENTOS 8.