0% acharam este documento útil (0 voto)
19 visualizações13 páginas

Configuração de Servidor Web com HTTPS

O documento descreve a implementação de um servidor Web seguro utilizando o protocolo HTTPS, configurado no Apache em uma máquina Ubuntu. O processo inclui a instalação do servidor, criação de um domínio local, geração de chaves, solicitação e instalação de certificados, além de redirecionamento de HTTP para HTTPS. A conclusão enfatiza a importância da configuração adequada e da gestão da cadeia de certificação para garantir a segurança das comunicações.

Enviado por

rodaspro
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
19 visualizações13 páginas

Configuração de Servidor Web com HTTPS

O documento descreve a implementação de um servidor Web seguro utilizando o protocolo HTTPS, configurado no Apache em uma máquina Ubuntu. O processo inclui a instalação do servidor, criação de um domínio local, geração de chaves, solicitação e instalação de certificados, além de redirecionamento de HTTP para HTTPS. A conclusão enfatiza a importância da configuração adequada e da gestão da cadeia de certificação para garantir a segurança das comunicações.

Enviado por

rodaspro
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd

Rodrigo de Jesus Marques – 127829 - RSI

Implementação de servidor Web com


ligações HTTPS

Escola Superior de Tecnologia e Gestão de Águeda

Águeda, 2025
Implementação de servidor Web com ligações
HTTPS
As ligações a um servidor Web que utilizam o protocolo HTTP não são
seguras, uma vez que não garantem a confidencialidade nem a
integridade da informação transmitida. O protocolo HTTPS visa
assegurar comunicações seguras entre um browser e um servidor
Web, fornecendo três propriedades fundamentais de segurança:
confidencialidade, integridade e autenticação.

Neste trabalho, foi configurado um servidor Web, utilizando o


Apache, para disponibilizar as suas páginas através do protocolo
HTTPS. Para tal, recorreu-se a uma máquina com o sistema operativo
Ubuntu, que funcionou como servidor Web. O navegador Firefox foi
utilizado para testar o acesso às páginas alojadas no servidor. Além
disso, foi usada uma Autoridade Certificadora (CA) criada
previamente numa aula anterior, com o intuito de emitir o certificado
para o servidor Web.

1. Instalação de um Servidor Web


O primeiro passo consistiu na instalação do servidor Web. Foi utilizado
o Apache, instalado através do seguinte comando:

Para testar o funcionamento do servidor, abriu-se o navegador


Firefox, tendo sido apresentada com sucesso a página inicial padrão
do Apache.
Utilização de Nome de Domínio Local

Em vez de utilizar o endereço localhost, é recomendável configurar


um nome de domínio. Como não existe um domínio registado, definiu-
se um domínio local: [Link]. Para tal, editou-se o
ficheiro /etc/hosts com privilégios de superutilizador, adicionando
uma linha que associa este domínio ao endereço IP [Link]. Após
guardar o ficheiro, foi possível aceder ao servidor Web através do
novo nome de domínio.
1.1 Criação de um VirtualHost
Para associar o nome de domínio ao site, acedeu-se à pasta
/etc/apache2/sites-available e editou-se o ficheiro [Link].
Foi alterada a diretiva ServerName para refletir o domínio definido:

ServerName [Link]

De seguida, reiniciou-se o servidor Apache:

sudo service apache2 restart

O acesso ao site foi então testado com sucesso através do navegador.


2. Configuração para usar o protocolo HTTPS
2.1 Geração do par de chaves
Para gerar o par de chaves, utilizou-se o OpenSSL, incluído por
defeito no Ubuntu. O comando usado foi:

openssl genrsa -aes-128-cbc -out [Link] 2048

Este comando gera uma chave privada RSA de 2048 bits, cifrada
com AES-128 em modo CBC, sendo guardada no ficheiro
[Link].

Srsi (password)

2.2 Criação do pedido de certificado


O pedido de certificado foi criado com o seguinte comando:

openssl req -new -key [Link] -out [Link]

Durante a execução, foi necessário introduzir os dados de


identificação do servidor, garantindo que o Common Name
corresponde ao nome de domínio definido anteriormente. O ficheiro
[Link] foi depois enviado à CA para emissão do certificado.
2.2 Geração do certificado para o Servidor Web
Usando a aplicação XCA, foi importado o CSR na aba Certificate
Signing Requests. Iniciou-se o processo de assinatura do pedido,
utilizando a chave da CA previamente criada. Foi selecionado o
modelo TLS_server, e garantiu-se a correção dos dados, sobretudo
do Common Name. Após a assinatura, o certificado foi exportado no
formato PEM (chain), incluindo o certificado da CA.
2.4 Instalação do certificado e chave privada no
Servidor Web
O módulo SSL foi ativado com o comando:

sudo a2enmod ssl

O ficheiro /etc/apache2/sites-available/[Link] foi editado


para utilizar os ficheiros gerados:

SSLCertificateKeyFile /home/srsi/Transferências/SRSI/[Link]

SSLCertificateFile /home/srsi/Transferências/SRSI/www.127829-
[Link]

SSLCertificateChainFile /home/srsi/Transferências/SRSI/www.127829-
[Link]

Depois, o site foi ativado e o servidor reiniciado:

sudo a2ensite [Link]

sudo service apache2 restart


2.5 Acesso à página inicial do Servidor Web
Ao tentar aceder a [Link] o acesso
inicialmente falhou, pois o nome de domínio não existe na Internet
pública. Para resolver, editou-se novamente o ficheiro /etc/hosts,
associando o domínio ao endereço [Link].

O erro seguinte foi relativo à cadeia de certificação, dado que a CA


utilizada não é reconhecida como confiável pelo navegador. Para
solucionar este problema, importou-se manualmente o certificado da
CA raiz no Firefox:

1. Abrir o Firefox;

2. Aceder a Definições → Privacidade e Segurança →


Certificados → Ver Certificados;

3. Na aba Autoridades, clicar em Importar...;

4. Selecionar o certificado da CA raiz;

5. Marcar a opção "Confiar nesta CA para identificar


websites".

Após a importação, o acesso ao servidor foi possível sem erros.

Ao tentar aceder via [Link] o navegador voltou a


apresentar um erro, desta vez por incompatibilidade entre o nome do
certificado (Common Name) e o endereço IP. Este comportamento é
esperado, pois o certificado foi emitido apenas para www.127829-
[Link].
Soluções possíveis:

 Solução A (recomendada): Utilizar sempre o nome de


domínio configurado.

 Solução B (alternativa): Criar um novo certificado incluindo


[Link] no campo Subject Alternative Name (SAN).
2.6 Análise da configuração do Servidor Web
Foi utilizada a ferramenta [Link] para analisar a configuração SSL
do servidor. Como esta ferramenta não se encontra nos repositórios
oficiais, foi clonada a partir do GitHub:

git clone [Link]

A análise indicou uma classificação global de "T" (Trust issues),


associada a problemas de confiança no certificado, geralmente
devido a uma cadeia de certificação incompleta. A configuração pode
ser melhorada com a desativação de protocolos antigos, ativação de
cifragens modernas e reorganização das suites de cifragem.
2.7 Redirecionamento para HTTPS
Para garantir que todo o tráfego é redirecionado para HTTPS, foi
adicionada a seguinte linha ao ficheiro [Link]:

Redirect permanent / [Link]

Depois, foi ativado o módulo rewrite:

sudo a2enmod rewrite

sudo service apache2 restart

Conclusão
A configuração de um servidor Web com suporte para HTTPS foi
concluída com sucesso, recorrendo à criação e gestão de certificados
digitais emitidos por uma CA própria. A utilização do protocolo HTTPS
permite garantir a confidencialidade, autenticidade e integridade das
comunicações. A análise efetuada destacou a importância de uma
configuração cuidada, bem como da correta gestão da cadeia de
certificação para assegurar a confiança dos navegadores. A aplicação
de boas práticas como o redireccionamento de HTTP para HTTPS
contribui adicionalmente para a segurança da solução implementada.

FIM!!

Você também pode gostar