Ir diretamente para o conteúdo

Definições de cookies

Escolha que tipos de cookies permite. Pode alterar a sua escolha a qualquer momento em Definições de cookies, no fundo de cada página. Política de privacidade

Necessários

Sempre ativos

Necessários para iniciar sessão, manter o seu carrinho e memorizar as suas escolhas. Estão sempre ativos.

Que cookies?
  • weboke_sessie, weboke_klant, weboke_remember: a sua sessão e manter a sessão iniciada
  • weboke_basket: o seu carrinho
  • wkBtwIncl: mostrar preços com ou sem IVA
  • wok_cookies: a sua escolha de cookies, 12 meses

Mede que anúncio leva a uma visita ou encomenda, para não pagarmos por anúncios que não dão resultado.

Que cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), até 90 dias
  • OpenAI Ads, anúncios no ChatGPT
  • wok_aff: através de que parceiro chegou até nós (programa de afiliados), 60 dias

4,6

País e idioma

Cada país tem o seu próprio site, com os preços e o IVA desse país.

Ver

Verificação final: o seu servidor posto à prova

Módulo 10: Manter a segurança · Tempo de leitura: 10 minutos

Objetivo de aprendizagem: No final desta lição, conseguirá avaliar o seu próprio servidor com uma lista de verificação e um controlo automático a partir do exterior. Saberá também que pontos têm prioridade e terá um ritmo de manutenção fixo e um breve dossiê do servidor.

Conceitos-chave: lista de verificação, prioridade, controlo a partir do exterior, dossiê do servidor, ritmo de manutenção (semanal, mensal, trimestral, anual), data de fim de suporte da versão, teste de reposição

De lições separadas a um todo

Neste curso configurou um servidor passo a passo: início de sessão seguro, permissões, atualizações, firewall, serviços, um site com https, cópias de segurança, monitorização e contentores. Nesta última lição reúne tudo numa única lista. Verifica o seu servidor, deixa o programa do curso observá-lo a partir do exterior e define a forma como vai manter o servidor nos próximos anos.

Um servidor nunca está "concluído". O software fica desatualizado, os certificados expiram, os discos enchem e as versões chegam ao fim de vida (end of life). Por isso, um ritmo fixo é tão importante como a configuração inicial.

A lista de verificação, por ordem de importância

Nem tudo é igualmente urgente. Percorra a lista de cima para baixo: os primeiros blocos evitam a maior parte dos problemas.

Bloco 1: ninguém entra sem mais nem menos (módulo 2, 3, 5)

  • Início de sessão apenas com chaves; PasswordAuthentication no e KbdInteractiveAuthentication no, verificado com sudo sshd -T.
  • O root não inicia sessão com palavra-passe; trabalha como utilizador normal com sudo.
  • As bases de dados, caches e clusters de pesquisa escutam em 127.0.0.1; as portas 3306, 5432, 6379, 9200 e 27017 estão fechadas ao exterior, tanto em IPv4 como em IPv6.
  • Uma firewall que, por predefinição, bloqueia todo o tráfego de entrada; apenas as portas de que precisa estão abertas.
  • O fail2ban está em execução para o SSH (fail2ban-client status sshd).

Bloco 2: as falhas são corrigidas (módulo 4)

  • Atualizações de segurança automáticas ativadas e verificadas (registo, apt list --upgradable).
  • Um plano para reinícios; /var/run/reboot-required não fica lá durante semanas.
  • A versão continua a ser suportada; a data de fim de suporte está na sua agenda.

Bloco 3: consegue voltar atrás (módulo 8)

  • Cópias de segurança encriptadas fora do servidor, automáticas e monitorizadas.
  • Um teste de reposição realizado, e sabe quanto tempo demora uma reposição.
  • Sabe como criar um snapshot e abrir a consola.

Bloco 4: o exterior está correto (módulo 7)

  • Os registos A e AAAA apontam para o seu servidor; o DNS reverso (PTR) aponta de volta para o mesmo nome.
  • https com um certificado válido que é renovado automaticamente; o http redireciona para https.
  • HSTS e alguns cabeçalhos de segurança; um security.txt com um endereço de contacto funcional e uma data de expiração.

Bloco 5: vê o que está a acontecer (módulo 6, 8)

  • O journal é persistente; consegue ler registos de antes de um reinício.
  • Monitorização a partir do exterior (disponibilidade, certificado) e do interior (disco, serviços), com alertas que chegam efetivamente.
  • systemctl --failed está vazio.

Bloco 6: contentores sob controlo (módulo 9, se utilizar Docker)

  • Portas dos contentores em 127.0.0.1 ou atrás do proxy reverso; nada de docker.sock em contentores que não precisem mesmo disso.
  • Os volumes estão incluídos na cópia de segurança; as imagens são atualizadas regularmente.
  • Os segredos estão em ficheiros .env com permissões restritas, não no Git.

O controlo a partir do exterior

Parte desta lista pode ser verificada pelo programa do curso a partir do exterior, exatamente como qualquer pessoa na internet vê o seu servidor. O exercício final (Z10.4) combina os controlos de exercícios anteriores:

ComponenteO que o programa fazDa lição
SSHLê o banner de versão e pergunta que métodos de início de sessão o seu servidor oferece para o seu nome de utilizador; não inicia sessão2.2
Portas de bases de dadosTenta apenas estabelecer uma ligação às portas 3306, 5432, 6379, 9200 e 27017; não envia nada5.1
httpsVerifica o certificado (válido, fidedigno, nome correto)7.3
CabeçalhosLê o HSTS e os outros cabeçalhos de segurança7.4
security.txtObtém /.well-known/security.txt e verifica Contact e Expires7.4
ContentorProcura o cabeçalho com o seu código, definido pelo seu proxy reverso9.4

O programa não executa nada no seu servidor, não experimenta palavras-passe e não analisa outras portas. Cada endereço só pode ser verificado algumas vezes por hora. Um resultado verde significa: vistos do exterior, os erros mais conhecidos estão ausentes. Não diz nada sobre o que acontece dentro do seu servidor; isso corresponde ao resto da lista de verificação, que tem de verificar por si.

O dossiê do servidor

Escreva para cada servidor um documento breve, guardado fora do servidor (por exemplo, no seu gestor de palavras-passe ou numa pasta partilhada):

  • nome, endereços IP, fornecedor, versão e data de fim de suporte;
  • o que está em execução (serviços, contentores, sites) e porquê;
  • que portas estão abertas e para quê;
  • onde estão as cópias de segurança, como se faz a reposição e quando foi o último teste;
  • que segredos existem no servidor (não os segredos em si, mas quais são e onde são substituídos);
  • o que fez conscientemente de forma diferente da predefinição (por exemplo, uma sugestão do Lynis que ignorou, lição 10.1);
  • quem tem acesso (que chaves estão em authorized_keys).

Este dossiê vale ouro num incidente (lição 10.3), numa atualização de versão (lição 4.3) e quando outra pessoa assume a gestão.

Um ritmo de manutenção

Sem ritmo, o cuidado diminui. Segue-se um exemplo para um servidor pequeno; adapte-o à sua situação.

QuandoO quê
Todas as semanasRever a monitorização e os alertas; systemctl --failed; reiniciar se existir /var/run/reboot-required (ou verificar se o reinício automático funcionou)
Todos os mesesapt list --upgradable (há algo pendente?); docker compose pull e up -d para os seus contentores, com as notas de versão; espaço em disco; fail2ban-client status; registo à procura de erros invulgares (journalctl -p err --since "1 month ago")
Todos os trimestresTeste de reposição de uma cópia de segurança; rever authorized_keys e os utilizadores (remover quem já não deve ter acesso); voltar a executar o Lynis; repetir o controlo final a partir do exterior (exercício Z10.4)
Todos os anosAtualizar security.txt (Expires); consultar a data de fim de suporte da versão e planear uma atualização; atualizar o dossiê do servidor e o plano de emergência

Marque estes momentos na sua agenda. Grande parte pode também ser automatizada com a monitorização da lição 8.3, mas continua a ser necessário verificar.

Na prática

Quer o seu servidor esteja na WebOké, quer noutro fornecedor: o fornecedor trata do hardware, da rede e da possibilidade de criar snapshots e cópias de segurança; o utilizador trata de tudo o que está dentro do servidor. Este curso é de autoaprendizagem: ninguém acompanha o seu servidor por si. Com esta lista de verificação, o dossiê e o ritmo, tem, no entanto, tudo o que precisa para fazer essa gestão de forma autónoma e correta.

Resumo

  • Verifique o seu servidor por blocos: ninguém entra sem mais nem menos, as falhas são corrigidas, consegue voltar atrás, o exterior está correto, vê o que está a acontecer, contentores sob controlo.
  • O controlo a partir do exterior analisa os métodos de início de sessão SSH, as portas de bases de dados, o https, os cabeçalhos, o security.txt e o cabeçalho do seu contentor; o resto verifica por si.
  • Mantenha um dossiê do servidor, guardado fora do servidor.
  • Trabalhe com um ritmo fixo: semanal, mensal, trimestral e anual.

Questionário

1. Tem apenas uma hora. Que ponto da lista de verificação trata primeiro?



2. O controlo final a partir do exterior está totalmente verde. O que significa isso?



3. Porque guarda o dossiê do servidor fora do servidor?



4. Que tarefa pertence ao ritmo trimestral?



5. O seu security.txt tem uma data Expires em maio do próximo ano. O que faz?



Exercício

Exercício Z10.4: Exercício final: o seu servidor visto do exterior. Deixe o programa do curso verificar o seu servidor de uma só vez a partir do exterior: os métodos de início de sessão SSH para o seu nome de utilizador, as cinco portas de bases de dados, o https e os cabeçalhos do seu site, o seu security.txt e o cabeçalho X-Weboke-Cursus com o seu código no nome onde o seu contentor está em execução. Preencha também a lista de verificação dos blocos 1 a 6 para aquilo que o programa não consegue ver.

Exercício Z10.4: Exercício final: o seu servidor visto do exterior

Não iniciamos sessão nem testamos qualquer palavra-passe ou chave. Primeiro, mostre que o servidor é seu: clique em "Mostrar o meu código" e coloque um ficheiro /.well-known/weboke-cursus-<code>.txt apenas com esse código no servidor web do seu nome de anfitrião. Obtemo-lo diretamente em cada endereço IP que verificamos (IPv4 e IPv6 em separado); um registo TXT não conta aqui. A verificação é feita a partir de heavy.webawere.nl (185.158.167.16 e 2a07:ae80:100:0:185:158:167:16), não do nosso servidor web. Apenas para formandos com sessão iniciada; no máximo 6 verificações por hora por servidor. A verificação final executa sucessivamente as verificações de Z2.2, Z5.1, Z7.3, Z7.4 e Z9.4. SSH, portas e https têm de estar a verde; cabeçalhos, security.txt e o cabeçalho do curso são recomendações.








O que preenche e o que encontramos não ficam guardados. O seu navegador memoriza as suas respostas e se concluiu o exercício com sucesso. Se tiver sessão iniciada, guardamos apenas que concluiu o exercício (quase) com sucesso em Os meus cursos; aí também o pode eliminar.

Exercício O10.4: O seu ritmo de manutenção. Crie o seu próprio dossiê do servidor e ritmo de manutenção: o que faz semanalmente, mensalmente, trimestralmente e anualmente, e marque esses momentos na sua agenda.

Exercício O10.4: O seu ritmo de manutenção

Este exercício faz você mesmo; ninguém o verifica. Assinale o que já fez e marque o exercício como concluído.




As suas marcações e notas ficam apenas neste navegador; não as enviamos para lado nenhum. Se tiver sessão iniciada, guardamos em Os meus cursos apenas que concluiu o exercício.

Para saber mais

Um momento…

Configurar os seus domínios

Para cada domínio, defina os servidores de nomes, a ligação ao seu alojamento e quem fica como titular.

A carregar os seus domínios…