TEMPLATES HTML5

BTemplates.com

Tecnologia do Blogger.

sexta-feira, 10 de abril de 2020

Configurando HTTPS


Configurando HTTPS

Ambiente de desenvolvimento

Ativar o módulo SSL

O suporte a SSL, vem por padrão no pacote Apache Ubuntu 14.04 ou superior. Precisamos habilitá-lo a tirar proveito do SSL em nosso sistema. Ative o módulo digitando:
    sudo a2enmod ssl
Depois de habilitar o SSL, você terá que reiniciar o servidor web para que a alteração seja reconhecida:
    sudo service apache2 restart

Crie um Certificado SSL autenticado

Comecemos criando um subdiretório dentro da hierarquia de configuração do Apache para colocar os arquivos de certificados que faremos:
    sudo mkdir /etc/apache2/ssl/{nome_instalacao} #-- Ex.: sudo mkdir /etc/apache2/ssl/testing
Agora que temos um local para colocar nossa chave e certificado, podemos criá-los com o comando:
    sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/{nome_instalacao}/apache.key -out /etc/apache2/ssl/{nome_instalacao}/apache.crt
O que você está executando é:
  • openssl: Esta é a ferramenta de linha de comando básica fornecida pela OpenSSL para criar e gerenciar certificados, chaves, solicitações de assinatura, etc.
  • req: Especifica um subcomando para gerenciamento de solicitação de assinatura de certificado X.509 (CSR). O X.509 é um padrão de infraestrutura de chave pública que o SSL adere para sua gestão de chaves e certificados. Como queremos criar um novo certificado X.509, isso é o que queremos.
  • -x509: esta opção especifica que queremos fazer um arquivo de certificado auto-assinado em vez de gerar um pedido de certificado.
  • -nodes: esta opção informa ao OpenSSL que não queremos proteger nosso arquivo de chave com uma senha. Ter um arquivo de chave protegido por senha ficaria no caminho do Apache começando automaticamente, pois teríamos que inserir a senha toda vez que o serviço for reiniciado.
  • - dias 365: especifica que o certificado que criamos será válido por um ano.
  • -newkey rsa: 2048: Esta opção criará a solicitação de certificado e uma nova chave privada ao mesmo tempo. Isso é necessário porque não criamos uma chave privada com antecedência. A rsa:2048conta OpenSSL para gerar uma chave RSA que é de 2048 bits de comprimento.
  • -keyout: este parâmetro nomeia o arquivo de saída para o arquivo de chave particular que está sendo criado.
  • -out: esta opção nomeia o arquivo de saída para o certificado que estamos gerando.
Quando você clicar em "ENTER", será feita uma série de perguntas.
O item mais importante que é solicitado é a linha "Common Name (e.g. server FQDN or YOUR name)". Você deve inserir o nome de domínio que deseja associar ao certificado ou o endereço IP público do servidor se você não possui um nome de domínio.
A parte das perguntas parece algo assim:
    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]:Your Company
    Organizational Unit Name (eg, section) []:Department of Kittens
    Common Name (e.g. server FQDN or YOUR name) []:your_domain.com
    Email Address []:your_email@domain.com

Configurar virtualhost

Editar o arquivo de configuração e alterar a porta:
    <Virtualhost _default_:443>
Para habilitar o uso de SSL no host basta adicionar as seguintes linhas nas configurações do virtualhost:
    SSLEngine on
    SSLProxyEngine On
    SSLCertificateFile /etc/apache2/ssl/{nome_instalacao}/apache.crt
    SSLCertificateKeyFile /etc/apache2/ssl/{nome_instalacao}/apache.key
Adicionar as seguintes linhas para que ao acessar a instalação sem especificar o protocolo ele acesse utilizando HTTPS:
    <VirtualHost *:80>
        ServerName academico.instituicao.com.br
        DocumentRoot /var/www/solisge_instalacao
        Redirect permanent / https://academico.instituicao.com.br/
    </VirtualHost>

Download da base de dados

Para efetuar o download da base de dados do cliente através do browser acessar o seguinte link
academico.instituicao.com.br/index.php?module=basic&action=dbdownload
O download só será permitido se:
  • O usuário estiver logado no sistema.
  • Tiver permissão de admin no módulo básico.