aulify · Mini-Projecto
UC UC00626 · T. Sist. Comp. Redes
Versão · Aluno
Mini-Projecto · Servidor Linux base
Instalar, configurar e proteger um servidor Ubuntu
Contexto
Cada par/trio instala e configura um servidor Linux (Ubuntu Server, em VM) pronto a alojar serviços: utilizadores, permissões, SSH com chaves, firewall e um serviço gerido por systemd. Entrega um runbook reproduzível.
Requisitos
Funcionais
- Ubuntu Server instalado em VM (VirtualBox/Hyper-V/QEMU).
- Particionamento manual com
/e/homeseparados. - Utilizador não-root com sudo (sem usar root directamente).
- SSH a funcionar com chaves (autenticação por senha desactivada).
- Firewall
ufwactiva, só portas necessárias abertas. - Um serviço instalado e gerido por systemd (ex.: nginx) a arrancar no boot.
- Estrutura de permissões correcta numa pasta partilhada por um grupo.
Não-funcionais
- Runbook em Markdown, reproduzível.
- Comandos exactos + saídas relevantes.
- Sem dados pessoais reais.
Fases
Fase 1 · 1h
Instalação
- VM + Ubuntu Server.
- Particionamento manual (/ e /home).
- Utilizador inicial.
Capturas da instalação + esquema de partições.
Fase 2 · 1h
Base do sistema
apt update && upgrade.- Ferramentas (git, curl, vim, htop).
- Utilizador com sudo; não usar root.
Lista de comandos + verificação.
Fase 3 · 1.5h
SSH com chaves
- Gerar par de chaves no anfitrião.
- Copiar pública (
ssh-copy-id). - Desactivar password auth e login de root em
sshd_config. - Testar.
sshd_config final + demonstração de acesso só por chave.
Fase 4 · 1h
Firewall + serviço
ufw: deny incoming, allow ssh, allow http.- Instalar nginx,
enable --now, testarcurl.
ufw status + página servida.
Fase 5 · 1h
Permissões de grupo
- Criar grupo
equipa+ 2 utilizadores. - Pasta
/srv/partilhacom permissões de grupo correctas (SGID). - Demonstrar que ambos escrevem e os "outros" não acedem.
Comandos + prova com ls -l e teste de acesso.
Fase 6 · 0.5h
Runbook + demo
runbook.md + apresentação 5 min.
Critérios de avaliação
| Item | Peso |
|---|---|
| Instalação + particionamento | 15% |
| Utilizadores/sudo | 15% |
| SSH com chaves (sem senha) | 20% |
| Firewall | 15% |
| Serviço via systemd | 15% |
| Permissões de grupo | 15% |
| Runbook | 5% |
Reflexão
Em meia página: o que foi mais diferente do Windows? Que decisão de segurança custou mais? Como aplicarias isto a um servidor real exposto à Internet?