Como usar o HTTPS no servidor Web Arch Linux

Pré-requisitos

  • Um servidor Vultr executando o Arch Linux atualizado (consulte este artigo ).
  • Um servidor da Web em execução, Apache ou Nginx
  • Acesso Sudo
    • Os comandos que precisam ser executados como raiz são prefixados por #e os que podem ser executados como um usuário comum $. A maneira recomendada de executar comandos como root é, como usuário comum, prefixar cada um deles sudo.
  • Tenha um editor de texto instalado e esteja familiarizado com ele, como vi, vim, nano, emacs ou outro editor semelhante.

Serviço seguro via HTTPS

A veiculação de conteúdo via HTTPS pode usar criptografia extremamente forte, para que ninguém intercepte o tráfego entre o usuário e o servidor da Web possa lê-lo. Ele não apenas criptografa o tráfego em si, mas também a URL que está sendo acessada, o que pode expor as informações. Há algum tempo, o Google determina parcialmente as classificações de pesquisa com base no fato de uma página usar HTTPS, como parte da iniciativa HTTPS Everywhere.

Nota : uma pesquisa de DNS expõe o nome de domínio ao qual está sendo conectado, mas a URL inteira não é exposta durante esse processo.

Obter certificado SSL / TLS

Tecnicamente, o TLS substituiu o SSL pelos certificados HTTPS, mas a maioria dos lugares simplesmente continuou chamando os certificados TLS pelo termo mais popular de certificados SSL. Após o uso comum, este guia fará o mesmo.

Para usar HTTPS, seu servidor da web precisa de uma chave privada ( .key) para uso particular e de um certificado ( .crt) para compartilhar publicamente, que inclui uma chave pública. Um certificado deve ser assinado. Você pode assiná-lo, mas os navegadores modernos reclamam que não reconhecem o assinante. Por exemplo, o Chrome irá mostrar: Your connection is not private. Attackers might be trying to steal your information... NET::ERR_CERT_AUTHORITY_INVALID. Se apenas um grupo privado de pessoas estiver usando o site, isso pode ser aceitável, porque os navegadores permitirão uma maneira de prosseguir. Por exemplo, no Chrome, clique em "Avançado" e, em seguida, em "Continuar em ... (não seguro)"; ainda mostrará "Não seguro" e riscará o "https".

Observe que esse processo solicitará seu país, estado / providência, localidade, organização, unidade organizacional e nomes comuns e seu endereço de e-mail; tudo acessível no navegador de qualquer pessoa que se conecte ao seu site via HTTPS.

Observe também que, se você estiver fornecendo certificados de hosts virtuais, precisará fornecer nomes de arquivos distintos abaixo e apontá-los para suas configurações de host virtual.

Mude para o diretório apropriado para o seu servidor web.

Se você instalou o Apache:

$ cd /etc/httpd/conf

Se você instalou o Nginx:

$ cd /etc/nginx

Uma vez no diretório apropriado, gere uma chave privada ( server.key) e um certificado autoassinado ( server.crt):

# openssl req -new -x509 -nodes -newkey rsa:4096 -keyout server.key -out server.crt -days 825

Defina permissões somente leitura e permita apenas que a chave privada seja lida pela raiz:

# chmod 400 server.key
# chmod 444 server.crt

Como alternativa, você pode obter um certificado assinado por uma autoridade de certificação confiável. Você pode pagar várias empresas (autoridades de certificação) para assinar seu certificado. Ao considerar as autoridades de certificação, pode ser importante verificar em quais navegadores e quais versões os reconhecerão. Algumas autoridades de certificação mais recentes podem não ser reconhecidas como mais oficiais do que um certificado autoassinado em versões antigas de navegadores.

Você normalmente não precisa apenas de um endereço IP público, mas também de um nome de domínio. Algumas autoridades de certificação podem emitir um certificado para um endereço IP público, mas isso raramente é feito.

Muitos provedores oferecem uma avaliação gratuita de 30 dias, recomendada para começar, para garantir que o processo funcione antes de você pagar por isso. Os preços podem variar de alguns dólares por ano a centenas, dependendo do tipo e das opções, como vários domínios ou subdomínios. Um certificado padrão indica apenas que a autoridade de assinatura verificou que a pessoa que obtém o certificado pode fazer alterações no domínio. Um certificado de validação estendida também indicará que a autoridade de assinatura executou alguma diligência para examinar o solicitante e, em navegadores modernos, exibirá uma barra verde no URL ou próximo a ele. Ao verificar se você pode fazer alterações no domínio, algumas autoridades de assinatura exigirão que você receba emails em um endereço importante no nome do domínio, como[email protected]. Muitos oferecem verificação alternativa, como fornecer um arquivo para o servidor, como colocar o arquivo no /srv/http/.well-known/pki-validation/Apache ou /usr/share/nginx/html/.well-known/pki-validation/no Nginx, para configurações de diretórios de hospedagem única; ou criando temporariamente uma entrada CNAME, eles fornecem os registros DNS do seu domínio.

A autoridade de assinatura que você escolher pode ter etapas ligeiramente diferentes, mas a maioria aceitará o seguinte procedimento:

No diretório apropriado, gere uma chave privada ( server.key):

# openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:4096 -out server.key

Defina a chave privada como somente leitura, apenas pela raiz:

# chmod 400 server.key

Gere uma solicitação de assinatura de certificado ( server.csr). Você deve inserir seu nome de domínio quando ele solicitar Common Namee poderá deixar a senha de desafio em branco:

# openssl req -new -sha256 -key server.key -out server.csr

Defina a solicitação de assinatura de certificado como somente leitura, apenas pela raiz:

# chmod 400 server.csr

Veja o conteúdo da solicitação de assinatura de certificado. Essas informações são codificadas em base64, portanto, parecerão caracteres aleatórios:

# cat server.csr
-----BEGIN CERTIFICATE REQUEST-----
.....
-----END CERTIFICATE REQUEST-----

Siga o processo da sua autoridade de assinatura e, quando solicitado a colar no seu CSR, copie e cole esse arquivo inteiro, incluindo as -----linhas. Dependendo da autoridade de assinatura que você escolheu e do tipo de certificado, eles podem fornecer imediatamente o certificado assinado ou pode demorar alguns dias. Depois de fornecer o certificado assinado, copie-o (incluindo as linhas -----BEGIN CERTIFICATE-----e -----END CERTIFICATE-----) em um arquivo nomeado server.crt, no diretório apropriado, indicado acima para o seu servidor da Web e configure-o como somente leitura:

# chmod 444 server.crt

Configure seu servidor da Web para usar a chave privada e o certificado

Se você estiver usando um firewall, precisará habilitar o tráfego TCP de entrada na porta 443.

Para Apache

Edite /etc/httpd/conf/httpd.confe remova o comentário destas linhas:

LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
Include conf/extra/httpd-ssl.conf

Observe se você estiver usando hosts virtuais, fazendo a alteração acima para /etc/httpd/conf/httpd.confusar o mesmo certificado em todos os hosts. Para atribuir a cada host seu próprio certificado para evitar que os navegadores se queixem de que o certificado não corresponde ao nome de domínio, é necessário editar cada um dos arquivos de configuração /etc/httpd/conf/vhosts/para apontar para seu próprio certificado e chave privada:

  • Mude <VirtualHost *:80>para <VirtualHost *:80 *:443>.
  • Dentro da VirtualHostseção, adicione o seguinte:

    SSLEngine on
    SSLCertificateFile "/etc/httpd/conf/YOUR-DOMAIN-NAME.com.crt"
    SSLCertificateKeyFile "/etc/httpd/conf/YOUR-DOMAIN-NAME.com.key"
    

Reinicie o Apache:

# systemctl restart httpd

Para Nginx

Edite /etc/nginx/nginx.confe próximo à parte inferior, remova o comentário da HTTPS serverseção e altere as linhas para o seguinte:

ssl_certificate      server.crt;
ssl_certificate_key  server.key;
root                /usr/share/nginx/html;

Observe que se você estiver usando hosts virtuais, faça a alteração acima para /etc/nginx/nginx.confenviar todos os hosts para esse local. Para atribuir a cada host seu próprio certificado, é necessário editar cada um de seus arquivos de configuração /etc/nginx/sites-enabled/para ter um bloco de servidor adicional para apontar para seu próprio certificado e chave privada:

server {
    listen 443 ssl;
    server_name YOUR-DOMAIN-NAME.com;

    ssl_certificate      YOUR-DOMAIN-NAME.com.crt;
    ssl_certificate_key  YOUR-DOMAIN-NAME.com.key;

    ssl_session_cache   shared:SSL:1m;
    ssl_session_timeout 5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

    location / {
        root /usr/share/nginx/YOUR-DOMAIN-NAME.com;
        index  index.html index.htm;
    }
}

Reinicie o Nginx:

# systemctl restart nginx


Leave a Comment

Como instalar o Apache 2.4 no Arch Linux

Como instalar o Apache 2.4 no Arch Linux

Pré-requisitos Um servidor Vultr executando o Arch Linux. Consulte este guia para mais informações. Acesso Sudo. Comandos necessários para serem executados como ar raiz

Configurar um servidor Team Fortress 2 no Arch Linux

Configurar um servidor Team Fortress 2 no Arch Linux

Este tutorial explica como configurar um servidor Team Fortress 2 no Arch Linux. Presumo que você esteja logado com uma conta de usuário não raiz que tenha acesso ao sudo

Configuração do Mumble Server no Arch Linux

Configuração do Mumble Server no Arch Linux

Este tutorial explica como configurar um servidor Mumble (Murmur) no Arch Linux. Tudo o que é feito neste tutorial é feito como usuário root. Instalação e

Como instalar o Perl 5.28 em um servidor Web Arch Linux

Como instalar o Perl 5.28 em um servidor Web Arch Linux

Pré-requisitos Um servidor Vultr executando o Arch Linux atualizado (consulte este artigo.) Um servidor Web em execução, com acesso ao Apache ou Nginx Sudo: os comandos requerem

Como instalar o MongoDB 4.0 no Arch Linux

Como instalar o MongoDB 4.0 no Arch Linux

Pré-requisitos Um servidor Vultr executando o Arch Linux atualizado (consulte este artigo) Acesso ao Sudo: os comandos necessários para serem executados como raiz são prefixados por # e um

Como instalar o PHP 7.3 em um servidor Web Arch Linux

Como instalar o PHP 7.3 em um servidor Web Arch Linux

Pré-requisitos Um servidor Vultr executando o Arch Linux atualizado (consulte este artigo.) Um servidor da Web em execução, com acesso ao Apache ou Nginx Sudo. Comandos requerem

Como instalar o PostgreSQL 11.1 no Arch Linux

Como instalar o PostgreSQL 11.1 no Arch Linux

Pré-requisitos Um servidor Vultr executando o Arch Linux atualizado (consulte este artigo.) Acesso ao Sudo. Os comandos que precisam ser executados como raiz são prefixados por # e um

Como instalar o MariaDB 10.3 ou MySQL 8.0 no Arch Linux

Como instalar o MariaDB 10.3 ou MySQL 8.0 no Arch Linux

Pré-requisitos Um servidor Vultr executando o Arch Linux atualizado (consulte este artigo.) Acesso ao Sudo: os comandos necessários para serem executados como raiz são prefixados por # e um

Configurar servidor Spigot no Arch Linux

Configurar servidor Spigot no Arch Linux

Este tutorial explica como configurar um servidor Minecraft usando o Spigot no Arch Linux. Este tutorial assume que você é um usuário normal (não root) e que possui

Construindo pacotes no Arch Linux (incluindo o AUR)

Construindo pacotes no Arch Linux (incluindo o AUR)

No Arch Linux, os repositórios oficiais são: core, extra e community. Esses pacotes já estão compilados e são instalados através do pacman. Adiante

Configurar um servidor Counter-Strike: Global Offensive (CSGO) no Arch Linux

Configurar um servidor Counter-Strike: Global Offensive (CSGO) no Arch Linux

Este tutorial explica como configurar um servidor Counter-Strike: Global Offensive no Arch Linux. Este tutorial pressupõe que você efetuou login com um uso padrão

Instalando o Arch Linux em um servidor Vultr

Instalando o Arch Linux em um servidor Vultr

O Vultr fornece a incrível funcionalidade de permitir que você use sua própria imagem personalizada, além de seus excelentes modelos, que permitem executar

Instalar o Arch Linux com Btrfs Snapshotting

Instalar o Arch Linux com Btrfs Snapshotting

Prefácio O Arch Linux é uma distribuição de uso geral conhecida por sua tecnologia de ponta e configuração flexível. Com os snapshots do Btrfs, podemos tirar

Usando o Devtools no Arch Linux

Usando o Devtools no Arch Linux

O pacote Devtools foi originalmente criado para Usuários Confiáveis ​​para criar corretamente pacotes para os repositórios oficiais. No entanto, ele pode ser usado por usuários comuns

Usando Makepkg no Arch Linux

Usando Makepkg no Arch Linux

Se você usa o makepkg diretamente, polui seu sistema. O grupo de pacotes base-devel deve estar instalado. Dessa forma, por padrão, as dependências necessárias apenas

Instalando o Arch Linux 2019 em um servidor Vultr

Instalando o Arch Linux 2019 em um servidor Vultr

Introdução O Arch Linux possui uma distribuição menor, mas ainda forte, do que as distribuições mais populares. Sua filosofia é bastante diferente, com vantagens e

Como instalar o Python 3.7 em um servidor Web Arch Linux

Como instalar o Python 3.7 em um servidor Web Arch Linux

Pré-requisitos Um servidor Vultr executando o Arch Linux atualizado (consulte este artigo.) Um servidor Web em execução, com acesso ao Apache ou Nginx Sudo: os comandos requerem

Como instalar o Nginx 1.14 no Arch Linux

Como instalar o Nginx 1.14 no Arch Linux

Pré-requisitos Um servidor Vultr executando o Arch Linux atualizado (consulte este artigo.) Acesso ao Sudo. Os comandos que precisam ser executados como raiz são prefixados por #. º

A IA pode lutar contra o aumento do número de ataques de ransomware

A IA pode lutar contra o aumento do número de ataques de ransomware

Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane

ReactOS: Este é o futuro do Windows?

ReactOS: Este é o futuro do Windows?

ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+

Como a IA pode levar a automação de processos ao próximo nível?

Como a IA pode levar a automação de processos ao próximo nível?

Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

O que é um sistema de arquivos de registro no diário e como ele funciona?

O que é um sistema de arquivos de registro no diário e como ele funciona?

Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true

Singularidade tecnológica: um futuro distante da civilização humana?

Singularidade tecnológica: um futuro distante da civilização humana?

À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

O impacto da inteligência artificial na saúde 2021

O impacto da inteligência artificial na saúde 2021

A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA ​​na área da saúde ainda está crescendo dia a dia.