Partilhar: WhatsApp
aulify · Mini-Projecto
UC UC00627 · T. Desenv. Software, T. Sist. Comp. Redes
Versão · Aluno

Mini-Projecto · Alojar 2 sites com HTTPS

Servidor web seguro com virtual hosts e TLS
⏱ Duração estimada: 6 horas (≈ 4 aulas) ↗ Referencial SNQ
Índice

Contexto

Cada par/trio configura, numa VM Ubuntu, um servidor web que aloja 2 sites distintos (virtual hosts): um estático e um dinâmico (PHP ou reverse proxy para app). Ambos com HTTPS, hardening e plano de testes. (Sem domínio real: usar /etc/hosts e certificado self-signed/staging; com domínio: Let's Encrypt real.)

Requisitos

Funcionais

  1. VM Ubuntu com Nginx (ou Apache).
  2. 2 virtual hosts: siteA.local (estático) e siteB.local (PHP ou proxy para app).
  3. HTTPS nos dois (self-signed/staging local, ou Let's Encrypt se houver domínio).
  4. Redirect HTTP→HTTPS.
  5. Hardening: firewall, headers de segurança, versão escondida, permissões.
  6. Plano de testes executado.

Não-funcionais

  1. Runbook reproduzível.
  2. Logs separados por site.
  3. Backup das configs.

Fases

Fase 1 · 1h

Base + instalação

Nginx a responder (curl) + ufw configurado.

Fase 2 · 1.5h

2 virtual hosts

Os 2 sites a responder por nome (HTTP).

Fase 3 · 1.5h

HTTPS

Os 2 sites em HTTPS + redirect.

Fase 4 · 1h

Hardening

Checklist de hardening + provas.

Fase 5 · 1h

Testes + runbook

Relatório de testes + runbook + demo 5 min.

Critérios de avaliação

Item Peso
Instalação + firewall 10%
2 virtual hosts funcionais 25%
Conteúdo dinâmico (PHP/proxy) 15%
HTTPS + redirect 20%
Hardening 20%
Testes + runbook 10%

Reflexão

Em meia página: o que foi mais difícil (virtual hosts, TLS, hardening)? Como isolarias melhor os dois sites? Que passos farias diferente num servidor exposto à Internet real?