Instalar, configurar e manter sistemas operativos de servidor (UC00242)
- Introdução
- 1. Sistemas operativos de servidor: funções, características e tipos
- 2. Aquisição, licenciamento e requisitos do sistema
- 3. Instalar um sistema operativo de servidor
- Antes de instalar: planear
- Procedimento de instalação do Windows Server
- Configuração inicial (pós-instalação) no Windows Server
- Procedimento de instalação do Linux (Debian ou Ubuntu Server)
- Verificar a instalação
- Otimização do sistema operativo servidor
- Exemplo resolvido · Instalar Windows Server em Server Core e configurá-lo
- 4. Gestão de processos e de memória
- 5. Armazenamento, RAID e sistemas de ficheiros
- 6. Contas de utilizador, grupos e permissões de acesso
- Princípios
- Utilizadores e grupos em Windows Server
- Utilizadores e grupos em Linux
- Permissões em Linux: modelo POSIX
- Permissões em Windows: NTFS e partilha
- Política de palavras-passe e bloqueio
- Ciclo de vida de uma conta
- Exemplo resolvido · Criar uma pasta de departamento com acesso controlado (Linux)
- 7. Domínios, diretório e segurança centralizada
- 8. Servidores de ficheiros e de impressão, recursos partilhados
- 9. Acesso remoto e instalação de clientes
- 10. Rede, monitorização e segurança do servidor
- 11. Cópias de segurança, migração e virtualização
- 12. Planos de recuperação de desastres
- 13. RGPD, normas e regulamentos aplicáveis
- Erros comuns
- Glossário
- Síntese
- Exercícios resolvidos
Há um pacote premium desta unidade: um PowerPoint editável de 100 ou mais diapositivos, um manual em PDF e dois testes com correção. Esta sebenta continua gratuita.
Introdução
Esta sebenta ensina a instalar, configurar e manter sistemas operativos de servidor, as máquinas que guardam os ficheiros, autenticam os utilizadores, imprimem, executam aplicações e mantêm uma organização a funcionar. Um posto de trabalho avariado afeta uma pessoa; um servidor avariado deixa dezenas ou centenas de pessoas sem poder trabalhar. Por isso o trabalho do técnico de sistemas tem uma exigência própria: tudo o que se faz num servidor tem de ser planeado, documentado, protegido e reversível.
O percurso segue as quatro realizações do referencial: instalar sistemas operativos servidores; configurar sistemas de backup; desenvolver planos de recuperação de desastres; e gerir as contas de utilizador e as permissões de acesso aos recursos dos servidores. Ao longo dos capítulos usam-se dois exemplos que representam as duas grandes famílias: o Windows Server, um sistema proprietário, e o Linux (com a distribuição Debian ou Ubuntu Server como referência), um sistema open source. Os conceitos são os mesmos nos dois; o que muda são as ferramentas e os comandos.
Os critérios de desempenho que atravessam toda a UC são três: cumprir as orientações técnicas (os manuais do fabricante e os procedimentos da organização), garantir a proteção dos dados armazenados nos servidores e cumprir as normas e regulamentos aplicáveis, com destaque para o Regulamento Geral sobre a Proteção de Dados (RGPD). As atitudes que se treinam são a responsabilidade pelas ações, a autonomia, a persistência na resolução de problemas, o respeito pelas normas de segurança, o sentido crítico e o sentido de organização.
Convenções desta sebenta. Os comandos de Windows Server são de PowerShell e aparecem em blocos de código. Os comandos de Linux são de shell (bash) e, quando precisam de privilégios, vêm precedidos de sudo. Os endereços, nomes de máquinas e domínios são de exemplo: usa-se a gama privada 192.168.10.0/24 e o domínio corp.example.com, um nome reservado para documentação. Num ambiente real, substitui sempre pelos valores da tua organização e consulta o manual da versão que estás a instalar, porque as opções mudam entre versões.
1. Sistemas operativos de servidor: funções, características e tipos
O que é um sistema operativo de servidor
Um sistema operativo é o software que gere o hardware e fornece serviços aos programas: reparte o processador e a memória, controla os discos, comunica pela rede e aplica regras de acesso. Um sistema operativo de servidor faz o mesmo, mas está otimizado para servir outros computadores (os clientes) de forma contínua, segura e previsível. Em vez de uma interface pensada para uma pessoa a trabalhar, privilegia a estabilidade, a administração remota, o controlo de acesso e a capacidade de correr muitos serviços em simultâneo.
Na prática, um servidor pode ser uma máquina física (de torre, de bastidor ou blade), uma máquina virtual a correr num anfitrião, ou uma instância em nuvem. O sistema operativo instalado é que define o que ele consegue fazer.
Funções de um servidor
A mesma máquina pode desempenhar uma ou várias funções (em inglês, roles). As mais comuns são:
| Função | O que faz | Exemplo de serviço |
|---|---|---|
| Servidor de ficheiros (file server) | guarda e partilha ficheiros pela rede, com controlo de acesso | SMB/CIFS (Windows e Samba), NFS |
| Servidor de impressão (print server) | centraliza as filas e os controladores das impressoras | Serviços de Impressão do Windows, CUPS |
| Controlador de domínio / diretório | autentica utilizadores e computadores e aplica políticas | Active Directory Domain Services, LDAP |
| Servidor DNS | traduz nomes em endereços IP | DNS Server do Windows, BIND, Unbound |
| Servidor DHCP | atribui automaticamente endereços IP aos clientes | DHCP Server do Windows, Kea |
| Servidor web | publica sites e aplicações | IIS, Apache, Nginx |
| Servidor de base de dados | guarda dados estruturados para aplicações | SQL Server, PostgreSQL, MariaDB |
| Servidor de correio | recebe, guarda e entrega mensagens | Exchange, Postfix |
| Servidor de backup | recebe e guarda cópias de segurança | Windows Server Backup, rsync, Bacula |
| Servidor de virtualização | aloja máquinas virtuais | Hyper-V, KVM |
| Servidor de acesso remoto | permite administrar ou usar o servidor à distância | RDP, SSH, VPN |
Uma boa prática é separar funções críticas: o controlador de domínio não deve ser também servidor web exposto à internet, porque uma falha de segurança numa função compromete a outra. Em organizações pequenas junta-se por economia; em organizações maiores, ou onde os dados são sensíveis, separa-se (muitas vezes com máquinas virtuais).
Características de um sistema operativo de servidor
O que distingue um sistema de servidor de um de posto de trabalho:
- Disponibilidade e estabilidade: pensado para estar ligado semanas ou meses, com atualizações que possam ser planeadas e, sempre que possível, aplicadas sem interromper todos os serviços.
- Escalabilidade: suporta mais processadores, mais memória e mais utilizadores em simultâneo.
- Administração remota: gere-se sobretudo por consola remota (PowerShell, SSH, ferramentas gráficas à distância), sem teclado nem ecrã junto à máquina.
- Segurança e controlo de acesso: autenticação centralizada, permissões finas, registos de auditoria e firewall integrada.
- Gestão de armazenamento avançada: discos redundantes (RAID), volumes que crescem, quotas, snapshots.
- Funções e serviços modulares: instala-se só o que é necessário, o que reduz a superfície de ataque (quanto menos serviços ativos, menos portas e vulnerabilidades expostas).
- Automação: tudo o que se faz na interface pode ser feito por script, o que torna a configuração repetível.
Tipos: proprietários e open source
Um sistema proprietário tem código fechado, é desenvolvido e vendido por uma empresa, e usa-se mediante uma licença paga. Um sistema open source (código aberto) tem o código disponível para ser lido, modificado e redistribuído de acordo com a sua licença; o software pode ser gratuito, e as organizações pagam, quando querem, por suporte e subscrições.
| Aspeto | Proprietário (exemplo: Windows Server) | Open source (exemplo: Linux) |
|---|---|---|
| Código | fechado | aberto |
| Custo de aquisição | licenças por núcleo e por acesso | normalmente gratuito; suporte opcional pago |
| Suporte | contratos do fabricante, ciclo de vida definido | comunidade e/ou subscrição comercial |
| Administração | interface gráfica e PowerShell | linha de comandos e ficheiros de texto |
| Integração | muito forte com o ecossistema Microsoft (Active Directory) | muito flexível; integra-se com Windows através de Samba e LDAP |
| Atualizações | Windows Update, WSUS, pacotes de correções | gestores de pacotes (apt, dnf) |
Nenhum é "melhor" em absoluto. A escolha depende dos requisitos (que aplicações precisam de correr), das competências da equipa, do custo total (licenças, suporte, formação) e das normas que a organização tem de cumprir. É comum encontrar ambientes mistos, com controladores de domínio em Windows Server e servidores de aplicações ou de bases de dados em Linux.
No Linux existem várias distribuições (Debian, Ubuntu Server, Red Hat Enterprise Linux e derivadas, SUSE), que combinam o mesmo núcleo (kernel) com ferramentas, gestor de pacotes e ciclo de suporte diferentes. As versões com suporte de longo prazo (LTS, nas Ubuntu; versões stable na Debian) são a escolha habitual para servidores.
Interpretar manuais do fabricante, guiões e tutoriais técnicos
Um técnico de sistemas passa uma parte do tempo a ler documentação. Saber interpretá-la é uma aptidão em si mesma. Regras práticas:
- Identifica a versão a que o documento se refere. Um tutorial para uma versão antiga pode usar opções que já não existem. Se o comando que lês não existe na tua versão, o problema está quase sempre aqui.
- Prefere a fonte primária: a documentação oficial do fabricante (Microsoft Learn, documentação da distribuição Linux, páginas do manual
man) antes de blogues e fóruns. - Lê os pré-requisitos e os avisos antes dos passos. Um aviso como "esta operação apaga todos os dados do disco" está lá por um motivo.
- Distingue o guião do tutorial: um guião (procedimento) diz o que fazer, passo a passo, na ordem; um tutorial explica também o porquê. Para operações críticas, segue o procedimento da organização.
- Testa primeiro em ambiente de ensaio (uma máquina virtual) antes de executar em produção.
- Regista o que fizeste: data, versão, comandos e resultado. É a base da documentação do servidor.
Em Linux, a ajuda está no próprio sistema: man useradd abre o manual do comando useradd; useradd --help mostra um resumo. No PowerShell, Get-Help New-ADUser -Examples mostra exemplos de utilização e Get-Command *Share* procura comandos relacionados com partilhas.
Exemplo resolvido · Escolher o sistema para um novo servidor de ficheiros
Situação. Uma unidade administrativa com 35 postos de trabalho Windows precisa de um servidor para partilhar pastas por departamento, com autenticação com as mesmas contas que os utilizadores já têm no domínio. A equipa de TI tem experiência em Windows e não tem em Linux.
Passo 1, levantar requisitos. Partilha de ficheiros por SMB; integração com o Active Directory existente; permissões por grupo; cópias de segurança diárias.
Passo 2, comparar opções. Windows Server integra-se nativamente com o Active Directory e as permissões NTFS; Linux com Samba também pode ser membro de um domínio, mas exige mais configuração e competência que a equipa não tem.
Passo 3, considerar o custo. Windows Server implica licença do servidor e licenças de acesso de cliente (CAL) para os 35 utilizadores ou dispositivos; Linux não tem custo de licença, mas há custo de formação e de suporte.
Passo 4, decidir e justificar. Escolhe-se Windows Server, porque o custo de formação e o risco de erro com Linux superam a poupança em licenças para esta equipa. A decisão fica registada com a justificação e é revista se os requisitos mudarem.
Conclusão. A escolha do sistema é uma decisão de requisitos, competências e custo total, nunca uma questão de preferência ou de moda.
2. Aquisição, licenciamento e requisitos do sistema
Aquisição
Adquirir um sistema operativo de servidor não é só comprar um programa. Envolve decidir como se compra e a quem:
- Licenças em volume (contratos para organizações), que permitem comprar várias licenças com condições e gestão centralizada.
- OEM, em que a licença vem associada ao servidor físico adquirido ao fabricante do hardware e acompanha essa máquina.
- Retalho, para pequenas necessidades.
- Subscrição e nuvem: pagar periodicamente pelo uso, incluindo servidores em nuvem em que o sistema é parte do preço da instância.
- Open source: descarregar a distribuição escolhida (normalmente uma imagem ISO) a partir da fonte oficial, verificando a soma de verificação (checksum) para garantir que o ficheiro não foi adulterado, e contratar suporte se necessário.
Licenciamento
A licença define o que se pode fazer com o software. Há duas dimensões a perceber: o sistema e o acesso.
No Windows Server (modelo de referência, a confirmar sempre nos termos de licenciamento da versão adquirida):
- Licencia-se o servidor por núcleos (cores) físicos. O licenciamento impõe um mínimo de núcleos por processador e por servidor; a regra concreta e o número vêm nos termos da versão adquirida.
- Existem edições com direitos diferentes. A edição Standard destina-se a ambientes pouco ou nada virtualizados e dá direito a um número limitado de máquinas virtuais; a Datacenter destina-se a ambientes muito virtualizados e dá direito a máquinas virtuais ilimitadas no anfitrião licenciado.
- Para os utilizadores acederem aos serviços, são necessárias CAL (Client Access Licenses), por utilizador (User CAL) ou por dispositivo (Device CAL). Quando vários utilizadores usam o mesmo posto (turnos), as licenças por dispositivo podem sair mais económicas; quando o mesmo utilizador usa vários dispositivos, compensa por utilizador.
- Serviços adicionais, como o acesso remoto por Serviços de Ambiente de Trabalho Remoto, têm CAL próprias (RDS CAL).
No Linux, o software em si costuma ter licenças de código aberto (por exemplo, a GPL), que permitem usar, estudar, modificar e redistribuir. Isto não significa que não haja custos: o suporte profissional, as subscrições de atualizações de empresa e a formação têm preço. Além disso, as licenças open source têm obrigações (por exemplo, manter o aviso de licença e disponibilizar o código se redistribuíres versões modificadas), e o cumprimento delas faz parte da conformidade.
Em qualquer dos casos, uma organização deve manter um inventário de licenças (o que tem, quantas, onde estão instaladas, quando expiram). Usar mais licenças do que as compradas é uma infração ao contrato e pode ter consequências legais e financeiras.
Requisitos do sistema
Cada versão tem requisitos mínimos (para arrancar) e recomendados (para trabalhar bem). A aptidão pedida é verificar os requisitos técnicos recomendados, o que significa consultá-los no manual do fabricante e compará-los com a carga real prevista. Os parâmetros a verificar:
| Recurso | O que verificar |
|---|---|
| Processador | arquitetura de 64 bits; número de núcleos; extensões de virtualização se o servidor for anfitrião de máquinas virtuais |
| Memória (RAM) | mínimo do sistema mais o que cada função e cada aplicação consome, com margem de crescimento |
| Armazenamento | espaço do sistema, espaço dos dados, espaço para logs e para atualizações; velocidade (disco rígido ou SSD); redundância |
| Rede | placa(s) de rede compatíveis e velocidade adequada (1 Gbit/s ou superior); possibilidade de ligações redundantes |
| Firmware | UEFI e, quando exigido, Secure Boot e TPM; versão de firmware atualizada |
| Compatibilidade | hardware presente na lista de compatibilidade do fabricante; controladores (drivers) disponíveis para essa versão |
Uma regra de dimensionamento prudente é partir do mínimo do fabricante, somar a necessidade de cada função, acrescentar uma margem (por exemplo, 30% a 50%) para crescimento nos anos seguintes, e validar com medições depois de entrar em produção.
Exemplo resolvido · Dimensionar a memória de um servidor
Situação. Um servidor Windows vai ser controlador de domínio e servidor de ficheiros para 35 utilizadores, num ambiente pequeno. O fabricante indica 2 GB de RAM como mínimo para a instalação do sistema (valor ilustrativo; confirma o da tua versão).
Passo 1, valores base. Sistema operativo: 2 GB (mínimo de partida). Serviços de diretório e DNS para 35 utilizadores: estima-se mais 2 GB. Serviço de ficheiros, com cache de ficheiros e tarefas de backup: mais 4 GB.
Passo 2, soma. 2 + 2 + 4 = 8 GB de necessidade estimada.
Passo 3, margem de crescimento. Aplicando 50%: 8 × 1,5 = 12 GB.
Passo 4, arredondar ao módulo disponível. Os módulos de memória vendem-se em capacidades normalizadas, pelo que se escolhe 16 GB, a configuração imediatamente acima.
Passo 5, validar. Depois de arrancar o servidor em produção, mede-se a utilização de memória durante duas semanas; se o consumo médio ficar em 6 GB e o máximo em 9 GB, o dimensionamento está confortável.
Conclusão. Dimensionar é somar necessidades, acrescentar margem, arredondar para a configuração comercial e confirmar com medições reais.
3. Instalar um sistema operativo de servidor
Antes de instalar: planear
A instalação é a parte mais curta do trabalho; o que a torna bem-sucedida é a preparação. Antes de arrancar o instalador, deve estar definido e escrito:
- Função do servidor e serviços que vai alojar.
- Nome da máquina segundo a convenção da organização (por exemplo,
SRV-FICH-01), sem espaços nem acentos. - Endereço IP estático, máscara, gateway e servidores DNS. Um servidor não deve depender de DHCP para ter o endereço, porque os clientes precisam de o encontrar sempre no mesmo sítio.
- Esquema de discos: um volume para o sistema e outro(s) para os dados (separar facilita backup, recuperação e crescimento). Redundância (RAID) quando aplicável.
- Edição e licença (e a respetiva chave ou método de ativação).
- Origem do instalador: imagem ISO oficial, com soma de verificação conferida; cópia de controladores do fabricante se o instalador não reconhecer o controlador de discos.
- Plano de reversão: o que fazer se a instalação falhar, e confirmação de que não há dados em disco que se vão perder.
- Janela de intervenção acordada com a organização, se o servidor substituir outro em produção.
Procedimento de instalação do Windows Server
Os passos gerais, que se mantêm nas versões atuais:
- Arrancar pelo suporte de instalação (USB criado a partir da ISO, DVD, ou imagem montada numa máquina virtual). Pode ser preciso alterar a ordem de arranque no UEFI/BIOS.
- Escolher idioma, formato de hora e teclado (para Portugal, teclado português).
- Escolher Instalar agora e a edição. Existem duas variantes de instalação: Server Core (sem interface gráfica local, administrada por PowerShell e por ferramentas remotas) e Server com Experiência de Ambiente de Trabalho (com interface gráfica). O Server Core tem menos superfície de ataque e menos atualizações, e é a opção recomendada quando a equipa sabe administrar à distância.
- Aceitar os termos de licenciamento.
- Escolher Personalizada: instalar apenas o Windows (instalação limpa). A opção de atualização (upgrade) conserva dados e aplicações da versão anterior e usa-se em migrações no próprio sítio.
- Selecionar o disco e particionar. Se o disco não aparecer, carregar o controlador de armazenamento (Carregar controlador). Atenção: apagar ou formatar uma partição destrói os dados nela contidos.
- Aguardar a cópia de ficheiros e os reinícios.
- Definir a palavra-passe do Administrador local, cumprindo a política de complexidade (comprimento elevado, mistura de tipos de caracteres).
- Iniciar sessão.
Configuração inicial (pós-instalação) no Windows Server
Com o sistema instalado, executa-se uma lista de tarefas que se repete em todos os servidores. Em PowerShell:
# Nome da máquina
Rename-Computer -NewName "SRV-FICH-01" -Restart
# IP estático (o nome da interface obtém-se com Get-NetAdapter)
New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress 192.168.10.10 `
-PrefixLength 24 -DefaultGateway 192.168.10.1
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" `
-ServerAddresses 192.168.10.5
# Fuso horário e verificação
Set-TimeZone -Id "GMT Standard Time"
Get-NetIPConfiguration
O fuso "GMT Standard Time" corresponde à hora de Portugal continental, com mudança automática de hora. Seguem-se: instalar as atualizações disponíveis, ativar a firewall (já vem ativa), confirmar a ativação da licença, e só então adicionar funções e juntar ao domínio:
# Ver funções disponíveis e instalar uma
Get-WindowsFeature
Install-WindowsFeature FS-FileServer -IncludeManagementTools
# Juntar a máquina a um domínio existente
Add-Computer -DomainName "corp.example.com" -Credential (Get-Credential) -Restart
Procedimento de instalação do Linux (Debian ou Ubuntu Server)
Em Linux de servidor o instalador é em modo de texto e o fluxo é semelhante:
- Arrancar pela imagem ISO oficial.
- Escolher idioma e teclado (
Portuguese). - Configurar a rede; o instalador pode propor DHCP, que deve ser trocado por endereço estático (ou por uma reserva DHCP fixa para esta máquina).
- Definir o nome da máquina.
- Particionar os discos. Duas abordagens: partições simples ou LVM (Logical Volume Manager), que permite aumentar volumes mais tarde sem refazer partições. Uma divisão habitual é:
/boot(e partição EFI em UEFI),/para o sistema,/var(logs e dados de serviços, que crescem) e/homeou um volume de dados à parte. - Criar o utilizador administrador (não se trabalha como
rootde forma corrente; usa-sesudo) e definir palavra-passe. - Escolher software: instalar o servidor SSH e apenas o que for necessário, deixando fora o ambiente gráfico.
- Instalar o carregador de arranque e reiniciar.
Pós-instalação em Ubuntu/Debian:
sudo apt update # atualiza a lista de pacotes disponíveis
sudo apt upgrade # instala as atualizações
sudo hostnamectl set-hostname srv-fich-01
sudo timedatectl set-timezone Europe/Lisbon
ip -br address # ver interfaces e endereços
Em Ubuntu Server a rede configura-se por ficheiros do Netplan (em /etc/netplan/, formato YAML); em Debian pode ser por /etc/network/interfaces ou por NetworkManager/systemd-networkd, conforme a instalação. Consulta o manual da versão antes de editar, e depois de alterar aplica a configuração (por exemplo, sudo netplan apply).
Verificar a instalação
Uma instalação só acaba quando se verifica a versão (cat /etc/os-release ou Get-ComputerInfo), a rede (ip -br address ou Get-NetIPConfiguration), os discos (lsblk ou Get-Volume), os serviços, as atualizações e a hora.
Otimização do sistema operativo servidor
Otimizar não é "acelerar a qualquer custo": é ajustar o servidor para fazer bem o que lhe cabe, com o menor risco. As técnicas mais úteis:
- Remover ou desativar o que não se usa: serviços, funções, programas de arranque. Menos serviços significa menos memória gasta e menos pontos de ataque.
- Ajustar o plano de energia para desempenho elevado em servidores físicos.
- Separar dados e sistema em volumes diferentes, e colocar logs e ficheiros de paginação onde o disco é mais rápido.
- Manter as atualizações de sistema e de controladores em dia, com um processo de teste antes de produção.
- Dimensionar o ficheiro de paginação (page file) ou a swap de acordo com o fabricante e a carga.
- Afinar a rede: velocidades e duplex corretos, agregação de placas quando existir.
- Medir antes e depois: sem medição não há otimização, há palpite. Guarda os valores de base (processador, memória, disco, rede) e compara depois de cada alteração.
- Documentar cada alteração, com forma de a desfazer.
Em Linux, algumas afinações vêm de systemctl disable --now <serviço> para serviços não necessários e de parâmetros do núcleo em /etc/sysctl.conf ou em /etc/sysctl.d/; alterações de núcleo fazem-se com conhecimento do efeito e testam-se primeiro.
Exemplo resolvido · Instalar Windows Server em Server Core e configurá-lo
Situação. É preciso um servidor de ficheiros novo, SRV-FICH-01, numa máquina virtual com dois discos virtuais: 60 GB (sistema) e 500 GB (dados). A rede é 192.168.10.0/24, o domínio é corp.example.com, o controlador de domínio e DNS está em 192.168.10.5.
Passo 1, preparar. Confirmar a ISO, a edição e a licença; reservar o IP 192.168.10.10; escrever o plano.
Passo 2, instalar. Arrancar pela ISO, escolher Server Core e instalação personalizada; instalar no disco de 60 GB. Definir a palavra-passe do Administrador.
Passo 3, configuração inicial pela consola sconfig ou por PowerShell: nome, IP estático, DNS, fuso horário.
Passo 4, preparar o disco de dados.
Get-Disk # identificar o disco de 500 GB (Number 1)
Initialize-Disk -Number 1 -PartitionStyle GPT
New-Partition -DiskNumber 1 -UseMaximumSize -DriveLetter D
Format-Volume -DriveLetter D -FileSystem NTFS -NewFileSystemLabel "Dados"
Passo 5, instalar a função e juntar ao domínio.
Install-WindowsFeature FS-FileServer
Add-Computer -DomainName "corp.example.com" -Credential (Get-Credential) -Restart
Passo 6, verificar. Depois de reiniciar: Get-Volume mostra D: com 500 GB; Test-ComputerSecureChannel devolve True se a relação com o domínio estiver saudável; a máquina aparece no Active Directory.
Conclusão. A sequência é planear, instalar o mínimo, configurar a rede, preparar o armazenamento, adicionar só a função necessária e verificar. O mesmo esquema serve para Linux, trocando os comandos.
4. Gestão de processos e de memória
Processos
Um programa é um ficheiro; um processo é um programa em execução, com o seu espaço de memória, o seu estado e as suas permissões. Num servidor correm centenas de processos ao mesmo tempo. Cada processo tem um identificador (PID), um proprietário (a conta com que corre) e um estado (em execução, à espera, parado).
Conceitos essenciais:
- Serviço (Windows) ou daemon (Linux): processo que corre em segundo plano, sem utilizador ligado, e que fornece uma função (servidor web, DNS, partilha de ficheiros). Pode arrancar automaticamente com o sistema.
- Fio de execução (thread): unidade de execução dentro de um processo; um processo pode ter vários.
- Prioridade: o escalonador do sistema reparte o tempo do processador pelos processos segundo prioridades. Em Windows existe prioridade de processo; em Linux existe o valor de nice, de −20 (mais prioritário) a 19 (menos prioritário).
- Estados que importa reconhecer: processo a consumir processador em excesso, processo "preso" (não responde), e processo zombie em Linux (terminou mas o processo pai ainda não registou a sua saída).
Ver e controlar processos
| Tarefa | Windows (PowerShell) | Linux |
|---|---|---|
| Listar processos | Get-Process |
ps aux |
| Ordenar por consumo de CPU | Get-Process \| Sort-Object CPU -Descending \| Select-Object -First 5 |
top ou ps aux --sort=-%cpu \| head |
| Terminar um processo | Stop-Process -Id 1234 |
kill 1234 (pede para terminar) ou kill -9 1234 (força) |
| Serviços | Get-Service, Restart-Service Spooler |
systemctl status ssh, systemctl restart ssh |
| Arranque automático | Set-Service -Name Spooler -StartupType Automatic |
systemctl enable ssh |
| Alterar prioridade | (Get-Process nome).PriorityClass = "BelowNormal" |
renice 10 -p 1234 |
Boa prática: antes de forçar o fim de um processo (kill -9, Stop-Process -Force), tenta o pedido normal de terminação, porque dá ao programa a oportunidade de gravar dados e fechar ficheiros. Terminar à força um serviço de base de dados pode corromper dados.
Memória
A memória RAM é rápida e volátil: guarda o que os processos precisam de usar agora. Os sistemas modernos usam memória virtual: cada processo "vê" um espaço de endereços próprio e o sistema mapeia-o para RAM ou para disco. Quando a RAM se esgota, o sistema move páginas pouco usadas para disco (ficheiro de paginação em Windows, partição ou ficheiro de swap em Linux). Como o disco é muito mais lento do que a RAM, um sistema que usa muito a paginação ou a swap fica lento, sinal de memória insuficiente (thrashing).
Outras ideias a reter:
- A cache de ficheiros usa a RAM livre para acelerar leituras. Em Linux,
free -hmostra "free" baixa mas "available" alta, e isso é normal: a memória usada em cache liberta-se quando um programa a pede. - Uma fuga de memória (memory leak) é um programa que reserva memória e nunca a liberta, até esgotar o sistema. Deteta-se vendo o consumo de um processo a subir continuamente.
- Quando a memória acaba mesmo, o Linux pode ativar o OOM killer, que termina processos para salvar o sistema; o Windows recusa novas alocações e os programas falham.
Ferramentas de observação
Em Windows: Gestor de Tarefas, Monitor de Recursos (resmon), Monitor de Desempenho (perfmon) e, em PowerShell, Get-Counter:
Get-Counter '\Processor(_Total)\% Processor Time' -SampleInterval 5 -MaxSamples 3
Get-Counter '\Memory\Available MBytes'
Em Linux:
top # vista dinâmica de processos
free -h # memória e swap
vmstat 5 3 # estatísticas de sistema, 3 amostras de 5 s
uptime # carga média
Em uptime aparecem três números, a carga média em 1, 5 e 15 minutos. Em termos simples, a carga ideal é inferior ao número de núcleos do processador; uma carga persistentemente superior indica que há processos à espera de CPU.
Exemplo resolvido · Diagnosticar um servidor lento
Situação. Os utilizadores queixam-se de que o servidor Linux de aplicações está lento depois das 10h. Liga-se por SSH.
Passo 1, ver a carga. uptime devolve load average: 6.2, 5.8, 4.9 num servidor com 4 núcleos. A carga excede os núcleos: há procura de CPU maior do que a capacidade.
Passo 2, ver quem consome. top mostra um processo backup-script a usar 95% de CPU, em horário de expediente.
Passo 3, ver a memória. free -h mostra 1,2 GB de swap em uso e "available" baixa: o sistema está a paginar.
Passo 4, causa provável. Um script de backup, agendado por engano em horário laboral, está a comprimir dados e a consumir CPU e memória.
Passo 5, ação. Em vez de o terminar à força durante a escrita, confirma-se se está a meio de uma cópia; reagenda-se para as 02:00 no cron e baixa-se a prioridade com nice -n 10 para que não concorra com as aplicações.
Passo 6, validar. No dia seguinte compara-se a carga média com os valores de base.
Conclusão. O diagnóstico segue a ordem: carga, processo responsável, memória, causa, ação reversível e confirmação.
5. Armazenamento, RAID e sistemas de ficheiros
Discos, partições e volumes
Um servidor guarda dados em discos: discos rígidos (HDD, mecânicos, com maior capacidade e menor custo por terabyte) e SSD (sem partes móveis, muito mais rápidos, adequados a bases de dados e sistemas). Interfaces habituais: SATA, SAS e NVMe.
Um disco divide-se em partições. O esquema de partições pode ser MBR (limite de 2 TB por disco e quatro partições primárias) ou GPT (necessário para arranque UEFI e discos grandes). Em servidores atuais usa-se GPT. Sobre a partição cria-se o sistema de ficheiros, que organiza os dados em ficheiros e pastas.
Para ganhar flexibilidade existem camadas acima das partições: em Linux, o LVM (volumes físicos, grupos de volumes e volumes lógicos); em Windows, os Espaços de Armazenamento (Storage Spaces) e os discos dinâmicos. A vantagem é poder aumentar um volume depois, juntando capacidade, sem refazer tudo.
RAID: redundância de discos
RAID (Redundant Array of Independent Disks) combina vários discos numa só unidade lógica para ganhar desempenho, tolerância a falhas, ou ambos. Pode ser implementado por hardware (placa controladora RAID) ou por software (o sistema operativo: mdadm em Linux, Espaços de Armazenamento em Windows).
| Nível | Como funciona | Discos mínimos | Capacidade útil | Tolera falha de |
|---|---|---|---|---|
| RAID 0 | divide os dados pelos discos (striping) | 2 | n × C | nenhum disco (qualquer falha perde tudo) |
| RAID 1 | duplica os dados (mirroring) | 2 | C (um disco; com 2 discos, metade do total) | n − 1 discos do espelho |
| RAID 5 | striping com paridade distribuída | 3 | (n − 1) × C | 1 disco |
| RAID 6 | striping com dupla paridade | 4 | (n − 2) × C | 2 discos |
| RAID 10 | espelhos agrupados em striping | 4 | (n ÷ 2) × C | 1 disco por espelho |
Em que n é o número de discos e C a capacidade de cada um (discos iguais).
Pontos a reter:
- O RAID 0 não é redundante; só serve para ganho de velocidade em dados descartáveis.
- O RAID 1 é simples e robusto; usa-se muito para o disco do sistema.
- O RAID 5 equilibra capacidade e proteção, mas a reconstrução após uma falha é lenta e, durante ela, uma segunda falha perde o volume. Com discos muito grandes, prefere-se RAID 6 ou RAID 10.
- O RAID 10 dá bom desempenho e boa tolerância, ao custo de 50% da capacidade.
- RAID não é backup. O RAID protege contra a avaria de um disco, não contra apagar um ficheiro por engano, contra um vírus que cifra os dados, contra corrupção lógica ou contra um incêndio. Os ficheiros apagados apagam-se também no espelho. A proteção contra estes riscos é o backup (capítulo 11).
- Um disco hot spare (de reserva, ligado e pronto) entra automaticamente quando um disco falha, encurtando o tempo em risco.
Exemplo resolvido · Capacidade e tolerância de uma matriz
Situação. Dispõe-se de 6 discos de 2 TB. Comparar RAID 5, RAID 6 e RAID 10.
RAID 5: (6 − 1) × 2 = 10 TB úteis; tolera 1 falha.
RAID 6: (6 − 2) × 2 = 8 TB úteis; tolera 2 falhas.
RAID 10: (6 ÷ 2) × 2 = 6 TB úteis; tolera 1 falha por par espelhado (3 pares).
Decisão. Para um servidor de ficheiros em que a disponibilidade importa e os discos são grandes, escolhe-se o RAID 6 (8 TB, tolera 2 falhas). Para uma base de dados com muita escrita, o RAID 10 compensa os 6 TB. Seja qual for a escolha, mantém-se o backup à parte.
Criar um RAID 1 em Linux com mdadm
sudo apt install mdadm
lsblk # identificar os discos livres (ex.: sdb e sdc)
sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc
cat /proc/mdstat # estado e progresso da sincronização
sudo mkfs.ext4 /dev/md0
sudo mkdir /dados
sudo mount /dev/md0 /dados
sudo mdadm --detail /dev/md0 # estado da matriz
Para montar automaticamente ao arrancar, regista-se o volume no /etc/fstab, preferencialmente pelo UUID (obtido com sudo blkid /dev/md0), e não pelo nome do dispositivo, que pode mudar:
UUID=<uuid-do-volume> /dados ext4 defaults 0 2
Uma matriz em modo degradado (com um disco em falta) continua a funcionar, mas sem redundância: deve substituir-se o disco avariado e deixar reconstruir. Um erro frequente é não monitorizar a matriz e só descobrir que tinha um disco avariado quando falha o segundo.
Sistemas de ficheiros
O sistema de ficheiros define como os dados são guardados e encontrados no disco, que atributos os ficheiros têm, e que mecanismos de segurança existem.
| Sistema | Onde se usa | Características |
|---|---|---|
| NTFS | Windows | permissões por utilizador e grupo (ACL), cifragem (EFS), compressão, quotas, registo de transações (journaling) |
| ReFS | Windows Server | resiliência a corrupção, volumes grandes, usado com Espaços de Armazenamento e virtualização |
| ext4 | Linux | journaling, estável e amplamente usado, permissões POSIX |
| XFS | Linux | bom desempenho com ficheiros e volumes muito grandes |
| Btrfs | Linux | snapshots, soma de verificação de dados, volumes flexíveis |
| FAT32 / exFAT | suportes amovíveis | simples e compatível; sem permissões; FAT32 limita ficheiros a 4 GB |
O journaling regista as operações antes de as aplicar, o que permite recuperar o sistema de ficheiros de forma consistente após um corte de energia.
Permissões e quotas. O NTFS suporta quotas por utilizador (limite de espaço), o que evita que uma pessoa encha o volume partilhado. Em Linux, as quotas ativam-se por volume com as ferramentas de quota. Em ambos os casos devem ser acompanhadas por monitorização do espaço livre (um volume a 100% pode parar um serviço).
Gestão de recursos de armazenamento
Gerir os recursos é saber quanto há, quanto se usa, e quem usa:
Get-Volume # Windows: espaço por volume
Get-ChildItem D:\Dados -Recurse -File | Sort-Object Length -Descending | Select-Object -First 10 FullName,Length
df -h # Linux: espaço por sistema de ficheiros
du -sh /dados/* # tamanho de cada pasta
sudo du -ah /dados | sort -rh | head -10 # os 10 maiores
Convém alertar quando o espaço livre de um volume desce abaixo de 20%, para haver tempo de agir. Se o volume estiver prestes a esgotar-se: identificar o que ocupa mais, perguntar ao proprietário dos dados antes de apagar, arquivar o que é antigo, e planear a expansão. Em LVM, aumenta-se um volume lógico e o sistema de ficheiros num só passo:
sudo lvextend -r -L +50G /dev/vg0/dados # -r redimensiona também o sistema de ficheiros
Em Windows, Resize-Partition faz o equivalente num volume com espaço disponível a seguir.
6. Contas de utilizador, grupos e permissões de acesso
Princípios
A realização central desta parte é gerir as contas de utilizador e as permissões de acesso aos recursos. Para a fazer bem, há quatro princípios de segurança:
- Identificação e autenticação: cada pessoa tem uma conta individual e pessoal, provada por palavra-passe (de preferência com um segundo fator). Contas partilhadas impedem saber quem fez o quê.
- Autorização: depois de saber quem és, o sistema decide o que podes fazer.
- Mínimo privilégio: cada conta recebe apenas as permissões estritamente necessárias para as suas funções, nem mais.
- Auditoria: as ações ficam registadas.
A prática recomendada para atribuir permissões é nunca a utilizadores individuais, sempre a grupos. Colocam-se as pessoas em grupos por função (Vendas, Contabilidade) e dão-se permissões aos grupos. Quando alguém muda de departamento, muda-se de grupo, sem rever permissões pasta a pasta.
Utilizadores e grupos em Windows Server
Há contas locais (existem só na máquina) e contas de domínio (existem no Active Directory e valem em toda a rede). Num ambiente de domínio gerem-se as contas no AD (capítulo 7). Localmente:
New-LocalUser -Name "tecnico1" -Description "Tecnico de apoio" `
-Password (Read-Host -AsSecureString "Palavra-passe")
New-LocalGroup -Name "Manutencao"
Add-LocalGroupMember -Group "Manutencao" -Member "tecnico1"
Get-LocalGroupMember -Group "Administrators"
O grupo local Administrators dá controlo total; deve ter o menor número possível de membros. A conta Administrador de origem deve ter palavra-passe forte e, idealmente, ser renomeada ou desativada em favor de contas nominais com privilégios.
Utilizadores e grupos em Linux
Os utilizadores estão em /etc/passwd, os grupos em /etc/group e as palavras-passe (cifradas) em /etc/shadow, que só o root lê.
sudo groupadd vendas
sudo useradd -m -s /bin/bash -G vendas ana # -m cria a pasta pessoal; -G acrescenta a grupo
sudo passwd ana # define a palavra-passe
sudo usermod -aG vendas rui # acrescenta a um grupo (o -a é essencial)
id ana # ver utilizador e grupos
sudo chage -l ana # ver validade da palavra-passe
sudo usermod -L ana # bloquear a conta
sudo userdel -r ana # remover conta e pasta pessoal
Atenção ao -a em usermod -aG: sem ele, o utilizador é retirado de todos os outros grupos suplementares e fica só no indicado.
Em vez de entrar como root, os administradores usam sudo. As regras do sudo editam-se com sudo visudo, que valida a sintaxe antes de gravar (um erro no ficheiro sem validação pode bloquear o acesso administrativo).
Permissões em Linux: modelo POSIX
Cada ficheiro tem um proprietário, um grupo e três conjuntos de permissões: para o proprietário (u), para o grupo (g) e para os outros (o). Cada conjunto tem leitura (r, valor 4), escrita (w, valor 2) e execução (x, valor 1). Numa pasta, x significa poder entrar e atravessar.
| Notação simbólica | Valor numérico | Significado |
|---|---|---|
rwxr-x--- |
750 | dono: tudo; grupo: ler e entrar; outros: nada |
rw-r--r-- |
644 | dono: ler e escrever; grupo e outros: só ler |
rwx------ |
700 | só o dono |
ls -l /dados/vendas
sudo chown :vendas /dados/vendas # muda o grupo
sudo chmod 2770 /dados/vendas # dono e grupo: tudo; outros: nada; setgid
O primeiro dígito 2 do 2770 é o bit setgid numa pasta: os ficheiros novos herdam o grupo da pasta, o que facilita o trabalho em equipa. Para necessidades mais finas existem as ACL (Access Control Lists): setfacl -m u:ana:rw ficheiro dá a ana leitura e escrita nesse ficheiro e getfacl ficheiro mostra o resultado. Quando existe uma ACL, o chmod sobre o grupo altera a máscara (mask), que limita o acesso efetivo do grupo dono e das entradas nomeadas; o getfacl assinala a diferença com #effective:.
Permissões em Windows: NTFS e partilha
No Windows, cada ficheiro e pasta tem uma lista de controlo de acesso (ACL) com entradas que ligam um utilizador ou grupo a permissões como Leitura, Modificação ou Controlo Total. Características a conhecer:
- As permissões herdam-se das pastas para as subpastas.
- Existe a permissão de Negar, que tem precedência sobre Permitir. Deve usar-se com parcimónia, porque torna a análise difícil.
- As permissões efetivas de uma pessoa são a soma das permissões dos grupos a que pertence (com Negar a prevalecer).
- Para um recurso partilhado pela rede aplicam-se duas camadas: as permissões da partilha e as permissões NTFS. Vale a mais restritiva das duas. Uma boa prática é dar à partilha Todos/Utilizadores Autenticados com Modificação e controlar o acesso real com NTFS, ou então dar Controlo Total à partilha para o grupo adequado e deixar o NTFS decidir.
icacls D:\Dados\Vendas /inheritance:r
icacls D:\Dados\Vendas /grant "CORP\GG_Vendas:(OI)(CI)M"
icacls D:\Dados\Vendas /grant "BUILTIN\Administrators:(OI)(CI)F"
icacls D:\Dados\Vendas /grant "NT AUTHORITY\SYSTEM:(OI)(CI)F"
icacls D:\Dados\Vendas
Aqui /inheritance:r remove as permissões herdadas; (OI)(CI) aplica a ficheiros e subpastas; M é Modificação e F é Controlo Total. Se a primeira linha for executada sem as seguintes, ninguém fica com acesso, pelo que a ordem é importante. Os administradores (BUILTIN\Administrators, que existe em qualquer máquina) e a conta SYSTEM mantêm o controlo: é com SYSTEM que correm o serviço de cópias de segurança e o antivírus.
Política de palavras-passe e bloqueio
A configuração de contas inclui a política de palavras-passe: comprimento mínimo, complexidade, histórico, validade e bloqueio após tentativas falhadas. Orientações atuais (como as do NIST) privilegiam palavras-passe longas (frases) e verificação contra listas de palavras-passe conhecidas e comprometidas, em vez de renovações forçadas muito frequentes, e recomendam o segundo fator de autenticação, sobretudo para contas privilegiadas. Em Windows, definem-se por política de grupo; em Linux, por PAM e por chage.
Ciclo de vida de uma conta
- Criação a partir de um pedido autorizado (RH ou chefia), com os grupos corretos.
- Alteração quando a pessoa muda de funções: retiram-se os acessos antigos.
- Revisão periódica (por exemplo, trimestral) das contas privilegiadas e dos membros dos grupos.
- Desativação imediata na saída; conserva-se a conta desativada durante um período definido antes de apagar, para transferir dados e responsabilidades.
Exemplo resolvido · Criar uma pasta de departamento com acesso controlado (Linux)
Pedido. O departamento de Vendas (utilizadores ana e rui) precisa de uma pasta partilhada /dados/vendas, onde só Vendas lê e escreve; a Direção (dir1) só lê.
Passo 1, grupos.
sudo groupadd vendas
sudo groupadd direcao
sudo usermod -aG vendas ana
sudo usermod -aG vendas rui
sudo usermod -aG direcao dir1
Passo 2, pasta e permissões base.
sudo mkdir -p /dados/vendas
sudo chown root:vendas /dados/vendas
sudo chmod 2770 /dados/vendas
Com 2770, o grupo vendas lê e escreve, os restantes nada.
Passo 3, acrescentar leitura à Direção com ACL.
sudo setfacl -m g:direcao:rx /dados/vendas
sudo setfacl -d -m g:direcao:rx /dados/vendas # -d: aplicar por defeito aos novos ficheiros
getfacl /dados/vendas
Passo 4, testar. Com su - dir1, listar /dados/vendas funciona, mas touch /dados/vendas/teste falha com "Permission denied". Com su - ana, criar um ficheiro funciona.
Conclusão. Grupos por função, permissões mínimas, ACL só quando o modelo base não chega, e teste a partir da conta de cada perfil.
7. Domínios, diretório e segurança centralizada
Grupo de trabalho e domínio
Num grupo de trabalho (workgroup), cada computador tem as suas próprias contas: para um utilizador entrar em três máquinas, é preciso criar a conta em três sítios. Não escala e é difícil de proteger. Num domínio, existe um serviço de diretório central que guarda utilizadores, grupos, computadores e políticas; os utilizadores autenticam-se uma vez, no servidor, e essa identidade vale em todos os computadores do domínio. Este é o modelo normal de qualquer organização acima de poucos postos.
O serviço de diretório da Microsoft é o Active Directory Domain Services (AD DS). Em Linux, o equivalente aberto mais usado é o OpenLDAP (e, para integração com Windows, o Samba pode atuar como controlador de domínio compatível com AD ou como membro de um domínio existente; também existem soluções como FreeIPA).
Conceitos do Active Directory
- Domínio: unidade administrativa (por exemplo,
corp.example.com). - Controlador de domínio (DC): servidor que guarda uma réplica do diretório e autentica. Devem existir pelo menos dois por domínio, para que a falha de um não pare a autenticação.
- Floresta e árvore: agrupamentos de domínios. Uma organização pequena tem uma floresta com um domínio.
- Unidade organizacional (UO): contentor para organizar objetos (por exemplo, UO Vendas). É nas UO que se aplicam as políticas e se delega a administração.
- Objetos: utilizadores, computadores, grupos, impressoras.
- DNS: o AD depende do DNS. Os clientes encontram os controladores de domínio através de registos DNS; por isso, os computadores do domínio têm de usar o DNS do domínio e não um DNS público.
- Autenticação: o AD usa sobretudo Kerberos (com tickets), e NTLM como alternativa mais antiga. A hora tem de estar sincronizada entre máquinas, porque o Kerberos tolera uma diferença pequena; uma deriva de relógio impede o início de sessão.
- Âmbitos de grupo: Global (agrupa utilizadores de um domínio), Domínio local (recebe permissões sobre recursos) e Universal. A estratégia clássica, abreviada em AGDLP, é: Contas entram em grupos Globais, estes entram em grupos de Domínio Local, e a estes dão-se as Permissões. Para organizações pequenas, a regra simplificada é usar grupos de segurança por função e atribuir as permissões a esses grupos.
Instalar e promover um controlador de domínio
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools
Install-ADDSForest -DomainName "corp.example.com" -DomainNetbiosName "CORP" `
-InstallDns -SafeModeAdministratorPassword (Read-Host -AsSecureString "DSRM")
O comando Install-ADDSForest cria uma nova floresta e reinicia o servidor. A palavra-passe pedida é a do Modo de Restauro dos Serviços de Diretório (DSRM), indispensável para recuperar o AD; guarda-se em local seguro. Antes de promover, confirma-se o nome, o IP estático e o fuso horário. Para acrescentar um segundo controlador a um domínio existente usa-se Install-ADDSDomainController.
Gerir utilizadores, grupos e UO no AD
New-ADOrganizationalUnit -Name "Vendas" -Path "DC=corp,DC=example,DC=com"
New-ADGroup -Name "GG_Vendas" -GroupScope Global -GroupCategory Security `
-Path "OU=Vendas,DC=corp,DC=example,DC=com"
New-ADUser -Name "Ana Silva" -SamAccountName "ana.silva" `
-UserPrincipalName "ana.silva@corp.example.com" `
-Path "OU=Vendas,DC=corp,DC=example,DC=com" `
-AccountPassword (Read-Host -AsSecureString "Palavra-passe inicial") `
-ChangePasswordAtLogon $true -Enabled $true
Add-ADGroupMember -Identity "GG_Vendas" -Members "ana.silva"
Get-ADUser -Identity "ana.silva" -Properties MemberOf
Disable-ADAccount -Identity "ana.silva"
Unlock-ADAccount -Identity "ana.silva"
O nome "Ana Silva" é um exemplo genérico. A consola gráfica equivalente é Utilizadores e Computadores do Active Directory (dsa.msc). O ChangePasswordAtLogon obriga a pessoa a escolher a sua palavra-passe no primeiro acesso, de modo que o administrador não a conhece.
Para criar várias contas de uma vez, lê-se um ficheiro CSV (aqui com as colunas Nome e Conta, separadas por ;) e repete-se o comando por linha. A pesquisa de contas desativadas e a lista de membros de um grupo fazem-se com:
$pw = Read-Host -AsSecureString "Palavra-passe inicial"
Import-Csv -Path C:\Temp\novos.csv -Delimiter ';' | ForEach-Object {
New-ADUser -Name $_.Nome -SamAccountName $_.Conta -Path "OU=Vendas,DC=corp,DC=example,DC=com" `
-AccountPassword $pw -ChangePasswordAtLogon $true -Enabled $true
}
Get-ADGroupMember -Identity "GG_Vendas" | Select-Object Name,SamAccountName
Search-ADAccount -AccountDisabled -UsersOnly | Select-Object Name,SamAccountName
Políticas de grupo (GPO) e perfis
As Políticas de Grupo (Group Policy Objects, GPO) aplicam definições a utilizadores e computadores de forma centralizada: política de palavras-passe, bloqueio do ecrã, mapeamento automático de unidades de rede, restrições de software, configuração da firewall, redirecionamento de pastas. Ligam-se a um domínio ou a uma UO e são herdadas. Podem ser geridas na consola de Gestão de Política de Grupo (gpmc.msc) e verificadas num cliente com:
gpupdate /force # força a aplicação das políticas
gpresult /r # mostra as políticas aplicadas ao utilizador e ao computador
Os perfis de utilizador guardam as definições pessoais (ambiente de trabalho, documentos, configurações de aplicações). Em ambientes com domínio, podem ser locais (ficam no computador), móveis (roaming, sincronizados com o servidor) ou combinados com redirecionamento de pastas, que faz com que Documentos e Ambiente de Trabalho fiquem no servidor, onde têm backup. A vantagem é que a pessoa vê o seu ambiente em qualquer posto e os dados importantes não ficam só num computador que pode avariar.
Segurança da conta e do domínio
- Contas de administrador separadas das contas do dia a dia: o técnico usa uma conta normal para correio e navegação e uma conta própria com privilégios só para administrar.
- Grupos privilegiados (Domain Admins) com o mínimo de membros e revistos regularmente.
- Política de bloqueio de conta após várias tentativas falhadas, para travar ataques de adivinhação.
- Os controladores de domínio são o ativo mais crítico: acesso físico restrito, atualizações em dia, poucos serviços, backup do estado do sistema testado.
- Registo e análise dos eventos de segurança (capítulo 10).
Exemplo resolvido · Utilizador que não consegue iniciar sessão no domínio
Sintoma. Um utilizador recebe "a relação de confiança entre esta estação de trabalho e o domínio principal falhou" ou "o utilizador ou a palavra-passe estão incorretos".
Passo 1, ver se a conta está bloqueada ou desativada. Get-ADUser ana.silva -Properties LockedOut,Enabled. Se LockedOut for True, Unlock-ADAccount.
Passo 2, confirmar o DNS do cliente. No posto, ipconfig /all deve mostrar o DNS do domínio, não um público.
Passo 3, confirmar a hora. A diferença de hora entre o cliente e o controlador pode impedir o Kerberos; w32tm /query /status no cliente.
Passo 4, canal seguro. Se a mensagem é de confiança, Test-ComputerSecureChannel -Repair -Credential (Get-Credential) repara a relação do computador com o domínio.
Passo 5, ver o registo. No controlador, procurar o evento 4740 (bloqueio de conta) e o 4771 (falha de autenticação Kerberos); no posto onde a sessão foi tentada, o 4625 (falha de início de sessão).
Conclusão. Diagnostica-se da conta para a rede: estado da conta, DNS, hora, canal seguro e registos.
8. Servidores de ficheiros e de impressão, recursos partilhados
Servidor de ficheiros
Um servidor de ficheiros centraliza os dados da organização em pastas partilhadas, com permissões por grupo e com backup. Protocolos principais:
- SMB/CIFS (Server Message Block): o protocolo de partilha do Windows, também usado em Linux pelo Samba e em muitos equipamentos. Versões antigas (SMB1) estão obsoletas e devem estar desativadas por falhas de segurança graves.
- NFS (Network File System): o protocolo de partilha típico de Unix/Linux.
Boas práticas: partilhas organizadas por departamento ou projeto, nomes claros, permissões por grupos, backups, quotas, e não misturar dados pessoais dos funcionários com dados da organização sem política definida.
Partilhar pastas no Windows Server
New-Item -Path D:\Dados\Vendas -ItemType Directory
New-SmbShare -Name "Vendas" -Path "D:\Dados\Vendas" `
-FullAccess "CORP\Domain Admins" -ChangeAccess "CORP\GG_Vendas"
Get-SmbShare
Get-SmbShareAccess -Name "Vendas"
Get-SmbSession # quem está ligado agora
Por cima da partilha ficam as permissões NTFS (capítulo 6). O nome de partilha que termina em $ (por exemplo, Admin$) fica oculto na navegação de rede, o que reduz a visibilidade mas não substitui as permissões. Do lado do cliente, mapeia-se a unidade de rede:
New-PSDrive -Name "V" -PSProvider FileSystem -Root "\\SRV-FICH-01\Vendas" -Persist
Em ambiente de domínio faz-se o mapeamento centralizado por política de grupo, para que não dependa de cada utilizador.
Outras funcionalidades úteis do Windows Server: quotas e filtros de ficheiros (FSRM), cópias sombra (Volume Shadow Copy, versões anteriores de ficheiros, que permitem à pessoa recuperar o que apagou) e espaços de nomes DFS (nomes de partilha estáveis que escondem a localização real).
Partilhar com Samba em Linux
sudo apt install samba
sudo nano /etc/samba/smb.conf
No fim do ficheiro smb.conf:
[vendas]
path = /dados/vendas
read only = no
valid users = @vendas
create mask = 0660
directory mask = 2770
testparm # valida a configuração
sudo smbpasswd -a ana # a conta Samba é distinta da conta Linux
sudo systemctl restart smbd
O utilizador tem de existir no sistema e ter também palavra-passe Samba (smbpasswd), exceto quando a máquina é membro de um domínio. O valid users = @vendas restringe a partilha ao grupo vendas; as permissões do sistema de ficheiros (capítulo 6) continuam a aplicar-se por baixo. Quando um utilizador recebe NT_STATUS_ACCESS_DENIED, verificam-se por ordem: se tem conta Samba (sudo pdbedit -L), se pertence ao grupo (id nome; uma sessão aberta antes de entrar no grupo não o vê), se as permissões da pasta o deixam entrar (ls -ld /dados/vendas) e que ligações existem (sudo smbstatus).
Servidor de impressão
Um servidor de impressão gere as impressoras de rede num ponto único: instala-se o controlador (driver) uma vez, no servidor, e os clientes recebem-no automaticamente. Vantagens: gestão centralizada de filas, permissões por grupo (quem pode imprimir, quem gere trabalhos), contabilização e menos instalações em cada posto.
No Windows Server, instala-se a função Serviços de Impressão e Documentos (Print and Document Services) e gere-se na consola Gestão de Impressão (printmanagement.msc) ou por PowerShell:
Install-WindowsFeature Print-Services -IncludeManagementTools
Add-PrinterPort -Name "IP_192.168.10.50" -PrinterHostAddress 192.168.10.50
Add-PrinterDriver -Name "Nome exato do controlador instalado"
Add-Printer -Name "Impressora-Contabilidade" -DriverName "Nome exato do controlador instalado" `
-PortName "IP_192.168.10.50" -Shared -ShareName "ImpContab"
Get-Printer
Get-PrintJob -PrinterName "Impressora-Contabilidade"
O nome do controlador tem de ser o do controlador efetivamente instalado (consulta Get-PrinterDriver). Em Linux usa-se o CUPS:
sudo apt install cups
sudo systemctl enable --now cups
lpstat -p -d # impressoras e a predefinida
sudo lpadmin -p ContabLaser -E -v ipp://192.168.10.50/ipp/print -m everywhere
lpstat -o # fila de trabalhos
cancel -a ContabLaser # cancelar trabalhos
A interface web do CUPS (porta 631) deve ser acessível só a quem administra. Uma fila de impressão bloqueada resolve-se, em Windows, reiniciando o serviço Spooler (Restart-Service Spooler) depois de se limparem os trabalhos presos; o serviço de impressão foi alvo de vulnerabilidades graves no passado, pelo que o servidor de impressão deve estar atualizado e não deve ser o controlador de domínio.
9. Acesso remoto e instalação de clientes
Acesso remoto: porquê e riscos
O acesso remoto permite administrar servidores ou trabalhar à distância. Um servidor raramente tem ecrã e teclado ao lado; todas as tarefas do dia a dia fazem-se à distância. Mas a porta aberta para administração é também a porta mais atacada. Por isso aplicam-se regras: autenticação forte, canal cifrado, mínimo de contas autorizadas e registo.
Protocolos de acesso remoto
| Protocolo | Para quê | Porta habitual | Notas |
|---|---|---|---|
| SSH | consola segura em Linux (e disponível no Windows) | TCP 22 | cifrado; suporta chaves |
| RDP | ambiente de trabalho remoto em Windows | TCP 3389 | nunca exposto diretamente à internet |
| WinRM / PowerShell Remoting | comandos PowerShell remotos | TCP 5985 (HTTP) e 5986 (HTTPS) | para automação e administração |
| VPN | túnel cifrado até à rede da organização | depende da tecnologia | mecanismo preferido para trabalho remoto |
| Telnet | consola sem cifra | TCP 23 | obsoleto e inseguro; não usar |
SSH em Linux
sudo apt install openssh-server
sudo systemctl enable --now ssh
ssh ana@192.168.10.20 # ligar a partir de um cliente
ssh-keygen -t ed25519 # criar um par de chaves no cliente
ssh-copy-id ana@192.168.10.20 # instalar a chave pública no servidor
Depois de testar que o acesso por chave funciona, cria-se o grupo dos utilizadores autorizados e endurece-se o servidor no ficheiro /etc/ssh/sshd_config:
sudo groupadd acesso-ssh
sudo usermod -aG acesso-ssh ana # juntar quem pode entrar por SSH
PermitRootLogin no
PasswordAuthentication no
AllowGroups acesso-ssh
sudo sshd -t # verificar a sintaxe
sudo systemctl reload ssh # aplicar
Em Debian e Ubuntu o serviço chama-se ssh; noutras distribuições chama-se sshd. Não feches a sessão atual antes de confirmares, numa segunda janela, que consegues entrar com a nova configuração; um erro pode deixar-te sem acesso. Adicionalmente, uma ferramenta como o fail2ban bloqueia endereços com muitas tentativas falhadas.
Ambiente de Trabalho Remoto (RDP) no Windows Server
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' `
-Name "fDenyTSConnections" -Value 0
Enable-NetFirewallRule -Group "@FirewallAPI.dll,-28752" # grupo «Ambiente de Trabalho Remoto», independente do idioma
A opção de exigir autenticação ao nível da rede (NLA) deve estar ativa. Só os utilizadores do grupo Remote Desktop Users (ou administradores) podem ligar-se; atribui-se por grupo, não por conta. A porta 3389 não deve ser publicada na internet: o acesso externo faz-se através de VPN ou de um gateway de acesso com autenticação forte.
Para administrar à distância com PowerShell:
Enable-PSRemoting -Force # no servidor a administrar
Enter-PSSession -ComputerName SRV-FICH-01 # sessão interativa
Invoke-Command -ComputerName SRV-FICH-01 -ScriptBlock { Get-Service }
Instalar e configurar clientes
A aptidão instalar e configurar clientes cobre ligar os postos de trabalho aos serviços do servidor:
- Windows como cliente de domínio: IP/DNS (por DHCP ou estático),
Add-Computer -DomainName, reinício, início de sessão com conta de domínio, confirmação de políticas (gpresult /r), pastas de rede mapeadas e impressoras instaladas. - Linux como cliente: montar uma partilha SMB ou NFS e configurar o acesso:
sudo apt install cifs-utils
sudo mount -t cifs //192.168.10.10/Vendas /mnt/vendas -o username=ana.silva,domain=CORP
Para um mapeamento permanente, as credenciais vão num ficheiro protegido (permissões 600) referido por credentials= no /etc/fstab, nunca escritas diretamente no fstab, que é legível por todos.
- Cliente SSH ou RDP para os técnicos administrarem os servidores.
Um posto bem configurado tem: nome segundo a convenção, hora certa, atualizações aplicadas, antivírus/proteção ativa, firewall ativa, e só os programas necessários. O processo deve ser repetível: uma imagem de referência ou um conjunto de políticas poupa tempo e reduz erros.
DHCP e DNS para os clientes
Dois serviços de rede sustentam os clientes. O DHCP atribui automaticamente IP, máscara, gateway e DNS; o DNS resolve nomes. Em Windows Server:
Install-WindowsFeature DHCP -IncludeManagementTools
Add-DhcpServerv4Scope -Name "LAN" -StartRange 192.168.10.100 -EndRange 192.168.10.200 `
-SubnetMask 255.255.255.0
Set-DhcpServerv4OptionValue -ScopeId 192.168.10.0 -Router 192.168.10.1 -DnsServer 192.168.10.5
Num domínio, o servidor DHCP precisa de ser autorizado no AD (Add-DhcpServerInDC), para impedir servidores DHCP não autorizados. Os servidores têm IP fora do intervalo distribuído (aqui, abaixo de .100). Equipamentos que precisam sempre do mesmo endereço (impressoras) recebem reservas DHCP.
10. Rede, monitorização e segurança do servidor
Gestão e monitorização de redes e aplicações
Monitorizar é medir continuamente o estado dos servidores, da rede e das aplicações para detetar problemas antes de os utilizadores se queixarem. A aptidão do referencial é instalar ferramentas para monitorizar o desempenho da rede. O que se mede:
| Domínio | Indicadores | Alerta típico |
|---|---|---|
| Processador | % de utilização, carga média | acima de 85% de forma sustentada |
| Memória | memória disponível, uso de swap | disponível abaixo de 10-15% |
| Disco | espaço livre, latência, estado RAID/SMART | espaço livre abaixo de 20% |
| Rede | débito, erros, perdas, latência | perdas ou erros acima do normal |
| Serviços | serviço ativo, porta a responder, tempo de resposta | serviço parado |
| Disponibilidade | tempo ativo (uptime) | indisponível |
Ferramentas: Monitor de Desempenho e Visualizador de Eventos (Windows); top, vmstat, iostat e journalctl (Linux); sistemas de monitorização centralizada como Zabbix, Nagios/Icinga, Prometheus com Grafana (open source) ou o System Center (proprietário). Estes sistemas recolhem valores por SNMP (protocolo de gestão de equipamentos de rede) ou por agentes, guardam histórico e enviam alertas.
Para a rede, comandos de diagnóstico básicos:
ping -c 4 192.168.10.1 # conectividade (no Windows, ping -n 4)
traceroute 8.8.8.8 # caminho dos pacotes (Windows: tracert)
ss -tulpn # portas à escuta e processo responsável (Linux)
nslookup servidor.corp.example.com
Test-NetConnection -ComputerName 192.168.10.10 -Port 445 # a porta SMB responde?
Get-NetTCPConnection -State Listen # portas à escuta
Exemplo resolvido · Instalar a monitorização e dois alertas com Prometheus (Debian)
Situação. Um servidor Debian com a partilha Samba tem de ser vigiado: um alerta quando o espaço livre de um volume desce abaixo de 20% e outro quando o serviço smbd está parado. Usam-se duas ferramentas open source: o node_exporter, um agente que publica as métricas da máquina na porta 9100, e o Prometheus, que as recolhe, guarda o histórico e avalia as regras de alerta.
Passo 1, instalar (os dois pacotes existem nos repositórios da Debian).
sudo apt install prometheus prometheus-node-exporter
Passo 2, confirmar a leitura do estado dos serviços. No node_exporter original o módulo systemd vem desligado, mas o pacote da Debian (e o da Ubuntu) já o traz ligado. Confirma-se que as métricas existem:
curl -s http://localhost:9100/metrics | grep node_systemd_unit_state | head -3
Se não aparecerem (por exemplo, num node_exporter instalado de outra forma), acrescenta-se a opção em /etc/default/prometheus-node-exporter e reinicia-se o agente:
ARGS="--collector.systemd"
sudo systemctl restart prometheus-node-exporter
Passo 3, indicar o que recolher. Em /etc/prometheus/prometheus.yml ficam o ficheiro de regras e a lista de máquinas a vigiar (cada uma com o seu agente, em endereço:9100). Se estes blocos já existirem, acrescentam-se só as linhas em falta:
rule_files:
- /etc/prometheus/alertas.yml
scrape_configs:
- job_name: node
static_configs:
- targets: ['localhost:9100']
Passo 4, escrever os alertas em /etc/prometheus/alertas.yml. A cláusula for obriga a condição a manter-se durante esse tempo antes de o alerta disparar, o que evita alarmes por picos breves.
groups:
- name: servidor
rules:
- alert: EspacoLivreBaixo
expr: node_filesystem_avail_bytes{fstype=~"ext4|xfs"} / node_filesystem_size_bytes{fstype=~"ext4|xfs"} < 0.20
for: 5m
labels:
severity: aviso
annotations:
summary: "Menos de 20% de espaço livre em {{ $labels.mountpoint }}"
- alert: ServicoSambaParado
expr: node_systemd_unit_state{name="smbd.service",state="active"} == 0
for: 2m
labels:
severity: critico
annotations:
summary: "O serviço smbd está parado"
Passo 5, validar e aplicar.
promtool check config /etc/prometheus/prometheus.yml
sudo systemctl restart prometheus
Passo 6, provocar o alerta. Para a prova, interrompe-se o serviço (sudo systemctl stop smbd) e abre-se http://localhost:9090/alerts: o alerta passa a Pending e, ao fim dos 2 minutos, a Firing. Volta a ligar-se com sudo systemctl start smbd e confirma-se que o alerta desaparece.
Conclusão. A página de alertas mostra o estado; para receber aviso por correio é preciso acrescentar o Alertmanager, um componente à parte do Prometheus. Neste exemplo o Prometheus corre na própria máquina e lê localhost:9100, pelo que a porta 9100 não precisa de estar aberta à rede. Se a recolha passar para um servidor de monitorização dedicado (por exemplo, 192.168.10.30), abre-se a porta só a esse endereço: sudo ufw allow from 192.168.10.30 to any port 9100 proto tcp. O mesmo resultado obtém-se com o Zabbix, que usa um agente nas máquinas vigiadas e um servidor central com interface web.
Monitorização de segurança e análise do sistema
Os registos (logs) são a memória do servidor. Em Windows, o Visualizador de Eventos tem os registos Aplicação, Sistema e Segurança. Em Linux, o journald e os ficheiros em /var/log.
| Evento | Windows (ID) | Linux |
|---|---|---|
| Início de sessão com sucesso | 4624 | last, /var/log/auth.log (Debian, Ubuntu) |
| Falha de início de sessão | 4625 (no posto ou servidor onde a sessão foi tentada); 4771 (falha Kerberos, no controlador) | lastb, auth.log |
| Conta bloqueada | 4740 | faillock, auth.log |
| Alteração de grupo privilegiado | 4728, 4732 | /var/log/auth.log, getent group sudo |
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4625} -MaxEvents 20
sudo journalctl -u ssh --since "1 hour ago"
sudo grep "Failed password" /var/log/auth.log | tail
A auditoria tem de ser ativada (política de auditoria em Windows) para os eventos existirem. Boas práticas: sincronizar a hora de todos os sistemas (NTP), centralizar os registos num servidor à parte (para que um atacante não os apague no servidor comprometido), definir tempos de retenção e rever alertas. Muitos eventos 4625 seguidos, do mesmo endereço de origem, sugerem um ataque de adivinhação de palavra-passe.
Procedimentos de segurança nas redes e nos servidores
- Atualizações de sistema e aplicações, com teste prévio e janela de manutenção.
- Firewall com política de "negar por defeito": abrir só as portas necessárias.
- Reduzir a superfície: desinstalar funções e desligar serviços que não se usam.
- Contas: mínimo privilégio, segundo fator, contas nominais para administração.
- Segmentação da rede (VLAN): servidores separados dos postos e dos convidados; acesso a servidores só pelas portas necessárias.
- Proteção contra código malicioso (antivírus/EDR) e backups protegidos contra cifragem.
- Cifragem em trânsito (SSH, HTTPS, SMB com cifragem quando aplicável) e em repouso (BitLocker em Windows, LUKS em Linux) para dados sensíveis.
- Segurança física: servidores em sala fechada, com controlo de acesso e registo de entradas.
Exemplos de firewall:
sudo ufw default deny incoming
sudo ufw allow from 192.168.10.0/24 to any port 22 proto tcp
sudo ufw allow from 192.168.10.0/24 to any port 445 proto tcp
sudo ufw enable
sudo ufw status verbose
Get-NetFirewallProfile | Select-Object Name, Enabled
New-NetFirewallRule -DisplayName "Permitir SMB da LAN" -Direction Inbound `
-Protocol TCP -LocalPort 445 -RemoteAddress 192.168.10.0/24 -Action Allow
Cuidado: ao ativar a firewall por SSH, permite primeiro a porta 22, ou ficas sem acesso.
11. Cópias de segurança, migração e virtualização
Porque se faz backup
O backup (cópia de segurança) é a cópia dos dados num local e momento diferentes, que permite restaurar o que se perdeu por avaria, erro humano, ataque ou desastre. Os dados são o ativo mais valioso do servidor; os restantes substituem-se. Um backup de que ninguém testou a restauração é uma esperança, não um backup.
Tipos de backup
| Tipo | O que copia | Espaço e tempo | Restauro |
|---|---|---|---|
| Completo (full) | tudo o que está definido | o maior | simples: uma cópia |
| Incremental | só o alterado desde o último backup (de qualquer tipo) | o menor | mais lento: último completo mais todos os incrementais |
| Diferencial | o alterado desde o último completo | intermédio, cresce durante a semana | último completo mais o último diferencial |
Cópias de estado do sistema guardam a configuração do servidor (no controlador de domínio, o AD); cópias de imagem capturam o disco inteiro e permitem restaurar uma máquina de uma vez; snapshots de máquina virtual ou de sistema de ficheiros são pontos de partida rápidos, mas não substituem o backup, porque vivem no mesmo armazenamento.
A regra 3-2-1
A regra de referência para planear cópias é 3-2-1:
- 3 cópias dos dados (a original e duas cópias);
- em 2 tipos de suporte diferentes (por exemplo, disco do servidor, NAS e fita ou nuvem);
- com 1 cópia fora do local (off-site), para sobreviver a um incêndio ou roubo.
Hoje acrescenta-se muitas vezes uma cópia imutável ou desligada (offline), que um ataque de cifragem (ransomware) não consiga alterar, e a verificação regular do restauro (variante 3-2-1-1-0: uma cópia offline/imutável e zero erros na verificação).
Exemplo resolvido · Restauro com completo, incremental e diferencial
Situação. Backup completo ao domingo; de segunda a sábado, backup noturno. Os dados perdem-se na quinta-feira de manhã. O sistema foi copiado na quarta-feira à noite.
Com incrementais. Restaurar: completo de domingo + incrementais de segunda, terça e quarta = 4 conjuntos.
Com diferenciais. Restaurar: completo de domingo + diferencial de quarta = 2 conjuntos.
Conclusão. Os incrementais poupam espaço e tempo de cópia, mas multiplicam o restauro e o risco (se um falha, falha a cadeia). Os diferenciais custam mais espaço e cópias mais longas ao fim da semana, mas restauram-se com dois conjuntos.
Planear a janela e o espaço
Janela de backup: tempo disponível sem prejudicar o serviço. Estimativa: tempo = dados ÷ débito. Para 2 TB (2 000 000 MB) a um débito real de 100 MB/s: 2 000 000 ÷ 100 = 20 000 s ≈ 5,6 horas. Se a janela útil forem 4 horas, a cópia completa diária não cabe: faz-se o completo ao fim de semana e incrementais ou diferenciais nos outros dias, ou aumenta-se o débito. Copiar a partir de um snapshot permite que o serviço continue a trabalhar durante a cópia, mas não a torna mais curta.
Ferramentas e comandos
Windows Server Backup (função incluída no sistema):
Install-WindowsFeature Windows-Server-Backup
wbadmin start backup -backupTarget:E: -include:D: -allCritical -quiet
wbadmin get versions
-backupTarget:E: é o destino (um volume dedicado, não o que se copia), -include:D: o que copiar e -allCritical inclui os volumes críticos do sistema para restauro completo. O comando wbadmin get versions lista as cópias disponíveis.
Linux:
# espelho por sincronização: transfere só o que mudou, mas guarda apenas a versão mais recente (apaga no destino o que foi apagado na origem)
rsync -a --delete /dados/ /mnt/backup/dados/
# arquivo comprimido com data
tar -czf /mnt/backup/dados-$(date +%F).tar.gz /dados
# agendamento no cron (crontab -e): todos os dias às 02:00
0 2 * * * /usr/local/bin/backup-dados.sh
Cuidado com --delete: se a origem estiver vazia por engano, o destino também fica; por isso mantém-se histórico (versões) e não só um espelho. Para cópias com histórico, desduplicação e cifragem existem ferramentas como Borg e restic, além de produtos comerciais.
Boas práticas: automatizar; proteger as cópias com cifragem e controlo de acesso (a cópia contém os mesmos dados pessoais que o original); monitorizar o resultado de cada tarefa; definir a retenção (quanto tempo se guarda); testar o restauro periodicamente e registar o resultado.
Plano de backup, migração e reposição
Um plano de backup responde por escrito a: o que se copia, com que frequência, para onde, quem é responsável, quanto tempo se retém, como se testa e como se restaura. A reposição (restauro) tem um procedimento documentado, passo a passo.
A migração é mudar serviços e dados de um servidor para outro (versão nova, hardware novo, nuvem). Sequência prudente: inventariar o que existe, escolher a estratégia (migração no próprio sítio ou para um servidor novo, em paralelo), fazer backup, testar num ambiente de ensaio, definir a janela e o plano de reversão, migrar, validar com os utilizadores, manter o servidor antigo disponível durante um período e só depois desativá-lo. A migração em paralelo é, em regra, mais segura que a atualização no próprio sítio, porque o sistema original fica intacto.
Virtualização
A virtualização permite correr várias máquinas virtuais (VM) no mesmo hardware físico, através de um hypervisor: Hyper-V (Windows Server), KVM (Linux), VMware ESXi, Proxmox VE e outros. Vantagens: aproveitamento do hardware, isolamento entre serviços, criação rápida de ambientes, snapshots para testes, e restauro e migração mais simples (uma VM é um conjunto de ficheiros). Cuidados: o anfitrião é um ponto único de falha (por isso, redundância e backups); a licença do sistema convidado tem de cobrir o uso; e o backup deve cobrir as VM e o anfitrião.
12. Planos de recuperação de desastres
Conceitos
Um desastre é qualquer evento que impede o funcionamento dos sistemas críticos por tempo inaceitável: incêndio, inundação, falha de energia prolongada, avaria grave, ataque de ransomware, erro humano de grande impacto. O plano de recuperação de desastres (Disaster Recovery Plan, DRP) descreve como retomar os sistemas e os dados. Distingue-se do plano de continuidade de negócio (BCP), mais abrangente, que trata de manter a atividade da organização como um todo, incluindo pessoas, instalações e processos.
RPO e RTO
Duas medidas orientam todo o plano:
- RPO (Recovery Point Objective): a quantidade máxima de dados que a organização aceita perder, medida em tempo. Um RPO de 4 horas significa que, no pior caso, perdem-se as últimas 4 horas de trabalho. Determina a frequência do backup/replicação.
- RTO (Recovery Time Objective): o tempo máximo aceitável para repor o serviço. Um RTO de 8 horas significa que o serviço tem de estar a funcionar 8 horas depois do desastre. Determina a solução de recuperação.
Há uma terceira ideia, o MTD (tempo máximo tolerável de paragem), que é o limite acima do qual a organização sofre danos graves; o RTO tem de ser menor.
Quanto mais baixos o RPO e o RTO, mais caros: o RPO quase nulo exige replicação contínua; o RTO de minutos exige infraestrutura de reserva sempre pronta.
Metodologia para planear a recuperação
- Inventário dos sistemas, dados e dependências (o servidor de ficheiros depende do AD, do DNS e da rede).
- Análise de impacto no negócio (BIA): que serviços são críticos, quanto custa cada hora de paragem, quem é afetado.
- Avaliação de riscos: ameaças e probabilidade.
- Definir RPO e RTO por serviço, com a validação da direção.
- Escolher estratégias: backup, replicação, servidor de reserva, nuvem.
- Escrever o plano: procedimentos de recuperação, ordem de reposição (rede, DNS, controlador de domínio, ficheiros, impressão e, por fim, aplicações, porque cada serviço depende dos anteriores), contactos, responsáveis, localização das cópias e das palavras-passe de emergência (guardadas em cofre).
- Testar: leitura em mesa, simulação, restauro real num ambiente de ensaio.
- Manter: rever após alterações, após incidentes e, pelo menos, anualmente.
Exemplo resolvido · Definir RPO, RTO e solução
Situação. Uma organização tem o servidor de ficheiros (documentos de trabalho) e o servidor de faturação (transações). Na BIA, a direção diz: no ficheiro, perder meio dia de trabalho é suportável e parar um dia inteiro é aceitável; na faturação, perder mais de 15 minutos de transações é grave e parar mais de 4 horas interrompe a atividade.
| Serviço | RPO | RTO | Solução adequada |
|---|---|---|---|
| Servidor de ficheiros | 12 horas | 24 horas | backup diário + cópia externa; restauro para um servidor novo |
| Faturação | 15 minutos | 4 horas | base de dados com cópia de registos de transações (log shipping/replicação) para servidor de reserva; backup completo diário |
Verificação. Um backup diário à 02:00 dá RPO de até 24 horas: excede as 12 horas do ficheiro. Corrige-se com dois backups por dia (por exemplo, às 02:00 e às 14:00). As cópias sombra ou snapshots de seis em seis horas ajudam a recuperar um ficheiro apagado, mas, como vivem no mesmo armazenamento, não substituem a segunda cópia. Para a faturação, um backup diário seria insuficiente para um RPO de 15 minutos, daí a replicação.
Conclusão. O RPO manda na frequência da cópia; o RTO manda na solução de recuperação. Verifica-se sempre se a solução cumpre ambos.
Exemplo resolvido · Calcular o tempo de restauro e comparar com o RTO
Situação. Restaurar 1,5 TB de dados de um NAS por rede gigabit, a 100 MB/s reais.
Cálculo. 1 500 000 MB ÷ 100 MB/s = 15 000 s ≈ 4,2 horas, só para copiar. A isto somam-se a instalação do sistema (1 h), a configuração e a validação (1 h): total ≈ 6,2 horas.
Comparação. Com RTO de 4 horas, não cumpre. Opções: restauro a partir de disco local de maior velocidade, replicação para um servidor de reserva, ou renegociar o RTO. O teste de restauro serve para descobrir isto antes do desastre.
13. RGPD, normas e regulamentos aplicáveis
O RGPD no trabalho de um técnico de sistemas
O Regulamento Geral sobre a Proteção de Dados (Regulamento (UE) 2016/679, RGPD) estabelece as regras para o tratamento de dados pessoais: qualquer informação relativa a uma pessoa singular identificada ou identificável (nome, número de utilizador, endereço IP associado a uma pessoa, imagem, dados de saúde). Em Portugal é complementado pela lei nacional de execução (Lei n.º 58/2019, na redação em vigor), e a autoridade de controlo é a Comissão Nacional de Proteção de Dados (CNPD).
O técnico de sistemas não decide, em regra, que dados a organização trata (isso cabe ao responsável pelo tratamento), mas é quem implementa as medidas técnicas que os protegem, e trata dados pessoais nos próprios sistemas (contas, registos, backups).
Princípios relevantes para servidores
- Licitude, lealdade e transparência e limitação das finalidades: usar dados só para o que foi definido.
- Minimização: recolher e guardar apenas o necessário.
- Exatidão e limitação da conservação: não guardar mais tempo do que o necessário (com impacto na retenção de backups e de registos).
- Integridade e confidencialidade: proteger contra acesso não autorizado, perda ou destruição.
- Responsabilidade: poder demonstrar o cumprimento (documentação).
O regulamento exige medidas técnicas e organizativas adequadas ao risco (artigo 32.º), que mencionam, entre outras, a pseudonimização e cifragem, a capacidade de assegurar a confidencialidade, integridade, disponibilidade e resiliência dos sistemas, a capacidade de restabelecer a disponibilidade e o acesso aos dados em caso de incidente, e um processo de teste regular da eficácia das medidas. Isto liga-se diretamente ao conteúdo desta UC:
| Exigência | Medida num servidor |
|---|---|
| Confidencialidade | permissões por grupo, mínimo privilégio, cifragem de discos e de cópias |
| Integridade | auditoria, controlo de alterações, soma de verificação |
| Disponibilidade e resiliência | RAID, redundância, monitorização |
| Restabelecer o acesso | backup 3-2-1, DRP, testes de restauro |
| Responsabilidade | registos, documentação, revisão de acessos |
Violação de dados pessoais
Uma violação de dados pessoais é uma violação da segurança que provoque, de modo acidental ou ilícito, a destruição, perda, alteração, divulgação ou acesso não autorizados a dados pessoais. Um ransomware que cifra o servidor de ficheiros, um portátil perdido com dados sem cifra ou uma partilha aberta a toda a gente são exemplos.
Quando há violação, o responsável pelo tratamento tem de notificar a CNPD sem demora injustificada e, sempre que possível, no prazo de 72 horas após ter tido conhecimento, a menos que seja improvável que a violação resulte em risco para os direitos e liberdades das pessoas. Se o risco for elevado, tem também de comunicar aos titulares dos dados. Todas as violações, notificadas ou não, têm de ser documentadas internamente. O técnico tem o dever prático de reportar de imediato ao responsável qualquer incidente que detete, preservar as provas (registos) e não apagar nada.
As infrações podem dar origem a coimas administrativas de valor elevado, que podem chegar a 20 milhões de euros ou 4% do volume de negócios anual mundial, consoante o montante mais elevado, nas infrações mais graves.
Outras normas e regulamentos
O referencial pede o cumprimento das normas e regulamentos aplicáveis. Para além do RGPD, convém conhecer, na redação em vigor: o Regime Jurídico da Cibersegurança, aprovado pelo Decreto-Lei n.º 125/2025, de 4 de dezembro, que transpõe a Diretiva (UE) 2022/2555 sobre um elevado nível comum de cibersegurança na União; o Quadro Nacional de Referência para a Cibersegurança e as orientações do Centro Nacional de Cibersegurança, que integra o Gabinete Nacional de Segurança; normas internacionais de gestão da segurança da informação como a ISO/IEC 27001; e, em organismos da administração pública e em contexto militar, as regras internas de segurança e de classificação da informação, em que a Autoridade Nacional de Segurança dirige o Gabinete Nacional de Segurança. A regra de ouro é: perguntar qual o regulamento interno e cumpri-lo, sem improvisar.
Exemplo resolvido · Que fazer ao detetar acesso indevido a uma partilha
Situação. Ao rever os registos, o técnico vê que uma conta de um colaborador que já saiu há dois meses abriu ficheiros da pasta de RH na semana passada.
Passo 1, não apagar nada. Preservar os registos e anotar data e hora.
Passo 2, conter. Desativar a conta (Disable-ADAccount), alterar as palavras-passe associadas e confirmar o âmbito do acesso.
Passo 3, reportar de imediato ao responsável pelo tratamento e/ou ao encarregado de proteção de dados, conforme o procedimento interno.
Passo 4, avaliar com o responsável se houve violação de dados pessoais, qual o risco, e se é preciso notificar a CNPD dentro das 72 horas desde o conhecimento.
Passo 5, corrigir a causa. A conta não foi desativada à saída: reforça-se o processo de desativação e a revisão trimestral de contas.
Passo 6, documentar o incidente e as medidas.
Conclusão. O papel do técnico é detetar, conter, preservar e reportar; a decisão de notificar é do responsável pelo tratamento.
Erros comuns
- Instalar com DHCP e esquecer o IP fixo: os clientes deixam de encontrar o servidor.
- Um único volume para sistema e dados: dificulta backup, crescimento e recuperação.
- Dar permissões a utilizadores em vez de grupos: ninguém sabe, passado um ano, quem tem acesso a quê.
- Usar
usermod -Gsem-a: o utilizador perde os outros grupos. - Confundir permissões da partilha com permissões NTFS: vale a mais restritiva.
- Usar a conta de administrador para tudo, incluindo correio e navegação.
- Julgar que RAID é backup: não protege contra apagar, ransomware ou incêndio.
- Não monitorizar a matriz RAID: só se descobre o disco avariado quando falha o segundo.
- Expor o RDP (porta 3389) à internet.
- Ativar a firewall por SSH sem permitir a porta 22 primeiro.
- Backup só no próprio servidor, ou nunca testado no restauro.
- Backup espelho com
--deletesem histórico: o erro propaga-se à cópia. - Definir um RPO que a frequência do backup não cumpre.
- Desativar a conta de quem sai só meses depois.
- Apagar registos ou ficheiros ao detetar um incidente, em vez de os preservar e reportar.
Glossário
- Sistema operativo de servidor: sistema otimizado para servir outros computadores de forma contínua e segura.
- Proprietário / open source: software de código fechado e licença paga, ou de código aberto.
- CAL: licença de acesso de cliente, por utilizador ou por dispositivo.
- Server Core: instalação do Windows Server sem interface gráfica local.
- Processo: programa em execução, com PID, proprietário e memória própria.
- Serviço / daemon: processo em segundo plano que fornece uma função.
- Swap / ficheiro de paginação: espaço em disco usado como extensão da RAM.
- RAID: conjunto redundante de discos (níveis 0, 1, 5, 6 e 10).
- Sistema de ficheiros: forma de organizar dados no disco (NTFS, ReFS, ext4, XFS).
- ACL: lista de controlo de acesso de um ficheiro ou pasta.
- Mínimo privilégio: atribuir só as permissões necessárias.
- Active Directory: serviço de diretório da Microsoft para utilizadores, computadores e políticas.
- Controlador de domínio: servidor que autentica e guarda o diretório.
- GPO: política de grupo, aplicada de forma centralizada.
- SMB / NFS: protocolos de partilha de ficheiros (Windows e Samba; Unix).
- SSH / RDP: acesso remoto em modo texto seguro; ambiente de trabalho remoto do Windows.
- VPN: túnel cifrado até à rede da organização.
- Backup completo, incremental, diferencial: cópia de tudo, do alterado desde a última cópia, do alterado desde a última completa.
- Regra 3-2-1: três cópias, dois suportes, uma fora do local.
- RPO: perda máxima de dados aceitável, medida em tempo.
- RTO: tempo máximo aceitável para repor o serviço.
- DRP: plano de recuperação de desastres.
- Virtualização: várias máquinas virtuais no mesmo hardware, através de um hypervisor.
- RGPD: Regulamento Geral sobre a Proteção de Dados; CNPD: autoridade de controlo nacional.
- Violação de dados pessoais: incidente de segurança que afeta dados pessoais.
Síntese
Instalar um servidor começa em planear: função, nome, IP fixo, discos separados, licença e plano de reversão. Depois instala-se o mínimo, atualiza-se, configura-se a rede, adiciona-se só a função necessária e verifica-se. A gestão de processos e memória lê-se pela carga, pelo consumo e pela paginação.
O armazenamento combina RAID para disponibilidade com sistemas de ficheiros adequados; o RAID não substitui o backup. As contas individuais entram em grupos por função e as permissões atribuem-se aos grupos, com o mínimo privilégio, em NTFS e em POSIX. No domínio, o Active Directory, o DNS e as GPO centralizam a identidade e as regras; as partilhas e as impressoras servem os clientes. O acesso remoto faz-se por canais cifrados e nunca por portas expostas à internet.
A monitorização e os registos antecipam e explicam os problemas. O backup segue a regra 3-2-1 e só vale se o restauro for testado. O plano de recuperação define RPO e RTO por serviço e verifica se a solução os cumpre. O RGPD exige medidas técnicas adequadas, a capacidade de restabelecer o acesso aos dados e a notificação à CNPD em 72 horas quando aplicável.
Exercícios resolvidos
Exercício resolvido · Número de conjuntos a restaurar
Backup completo ao domingo, incrementais de segunda a sábado. Falha na sexta de manhã, depois do backup de quinta. Quantos conjuntos são precisos?
Resolução. Completo de domingo mais incrementais de segunda, terça, quarta e quinta: 5 conjuntos. Com diferenciais seriam 2 (o completo e o diferencial de quinta).
Exercício resolvido · RAID 6 com cinco discos
Cinco discos de 4 TB em RAID 6. Capacidade útil e tolerância?
Resolução. (5 − 2) × 4 = 12 TB; tolera a falha de 2 discos.
Exercício resolvido · Cumprir o RPO
O RPO é de 4 horas e o backup corre uma vez por dia às 02:00. Cumpre?
Resolução. Não: no pior caso perdem-se quase 24 horas. Para cumprir, o intervalo entre cópias (ou replicações) tem de ser de 4 horas ou menos, por exemplo seis cópias por dia ou replicação contínua.