Guia de Cibersegurança Municipal: Conselhos Genéricos e uma Visão Global da Situação

Existem actualmente uma série de plataformas de teste, gratuitas e facilmente acessíveis que permitem verificar e melhorar os padrões de cibersegurança das presenças digitais e, designadamente, dos seus sites das autarquias portuguesas.

Entre as várias existentes sugerimos:
https://webcheck.pt (uma iniciativa conjunta do Centro Nacional de Cibersegurança e da Associação DNS.PT)
https://sitecheck.sucuri.net (da Sucuri: uma empresa que vende serviços de consultadoria e aconselhamento de cibersegurança desde 2009) e a
https://observatory.mozilla.org (da Fundação Mozilla)
sendo que esta última agrega várias outras plataformas de teste tais como
SSLlabs, ImmuniWeb, securityheaders.com e hstspreload.org para além de produzir um ranking único e simplificado elaborado a partir dos testes do próprio observatório.

As câmaras municipais devem seguir todas as boas práticas de cibersegurança na indústria tornando Portugal mais resiliente num contexto cada vez mais perigoso como a vaga de ataques a empresas e organizações portuguesas do passado fevereiro veio demonstrar. A sua posição como primeiro elo do Estado junto dos cidadãos, a importância do seu papel e dos serviços que prestam aos cidadãos assim como a constância e crescente gravidade de ataques que têm sido notícia no campo da cibersegurança reforçaram a ideia de que as autarquias para poderem cumprir as suas missões tem que ser ciberresilientes e estarem protegidas contra este tipo de ameaças:
https://www.bbc.com/news/uk-england-gloucestershire-60638835
https://www.forbes.com/sites/forbestechcouncil/2021/06/22/municipal-cyberattacks-a-new-threat-or-persistent-risk/
https://www.infosecurity-magazine.com/opinions/municipalities-managing-cyber-risk/

Sugerimos que todas as autarquias testem:
Da webcheck.pt:
“O nome de domínio não se encontra assinado com DNSSEC”
“Não foi possível estabelecer um canal de comunicação seguro (HTTPS). A comunicação entre o navegador de internet (browser) e o servidor que disponibiliza a página de internet pode ser comprometida.”
“Redireccionamento HTTP: As comunicação não são redirecionadas corretamente para o canal seguro (HTTPS).”
“O domínio de correio eletrónico implementa uma política SPF que não foi considerada suficientemente segura.”
“O domínio de correio eletrónico não possui um registo DKIM configurado.” “O domínio de correio eletrónico não tem associado um registo DMARC.”
(entre outros)

Da Sucuri.net:
“Apache under 2.4.44”
“Password input field detected on an unencrypted HTTP page”
“WordPress under 5.4.2/5.3.4/5.2.7”
“Joomla under 3.9.21”
“Nginx under 1.17.3”
“PHP under 7.4.6”
“TLS certificate does not match the host name. Please consider setting up HTTPS to avoid the “”Not Secure”” browser warning.”
“Directory Listing is enabled on your site. This can lead to information leakage. We recommend disabling Directory Listing”
“HTTPS mixed content found. Your HTTPS website is referring to an HTTP resource”
(entre outros)

Da https://observatory.mozilla.org :
o TLS Observatory
o SSH Observatory e os
Third-party Tests acime listados

Acreditamos que a maioria das autarquias de Portugal ainda não aderiram à normal DNSSEC (provavelmente apenas 10%), que boa parte ainda não tem um registo DMARC no seu domínio de correio electrónico (talvez menos de 80%) e que, ainda menos, utilizam registos DKIM (menos de metade). É também nossa convicção que as políticas SPF não se encontram ao nível recomendado (cerca de metade) e que nem todas realizam redireccionamento do tráfego HTTP para HTTPS e que apresentam conteúdo misto HTTP e HTTPS nos seus sites e uma em cada quatro das autarquias pareciam correr software desactualizado. Esta convicção resulta da simples navegação por alguns dos sites e domínios a que estão associados às nossas autarquias. Da mesma navegação foi possível encontrar alguns problemas com os certificados SSL/TLS (hostnames que não constavam dos SAN dos certificados) que podem ser identificados e corrigidos através da consulta das plataformas acima indicadas.

Nesse sentido elaborámos alguns guias de explicação destas possíveis vulnerabilidades e guias de resolução que colocámos em:
https://cidadaospelaciberseguranca.wordpress.com/2022/03/26/teste-o-seu-site-na-immuniweb-com/
https://cidadaospelaciberseguranca.wordpress.com/2022/03/29/dnssec-domain-name-system-security-extensions/
https://cidadaospelaciberseguranca.wordpress.com/2022/03/29/o-que-e-o-dkim/
https://cidadaospelaciberseguranca.wordpress.com/2022/03/29/o-que-e-o-dmarc/
https://cidadaospelaciberseguranca.wordpress.com/2022/03/29/o-que-e-o-spf-ou-sender-policy-framework-spf/
https://cidadaospelaciberseguranca.wordpress.com/2022/03/29/formularios-de-recolha-de-palavras-chave-em-sites-que-nao-as-recolhem-de-forma-encriptada/
https://cidadaospelaciberseguranca.wordpress.com/2022/03/29/solucao-ao-nao-foi-possivel-estabelecer-uma-conexao-segura-com-este-site/
https://cidadaospelaciberseguranca.wordpress.com/2022/03/29/o-observatory-da-mozilla/
https://cidadaospelaciberseguranca.wordpress.com/2022/03/29/actualizar-o-nginx/
https://cidadaospelaciberseguranca.wordpress.com/2022/03/29/actualizar-o-php/
https://cidadaospelaciberseguranca.wordpress.com/2022/03/29/o-alerta-https-mixed-content-found-your-https-website-is-referring-to-an-http-resource/
https://cidadaospelaciberseguranca.wordpress.com/2022/03/29/os-testes-da-https-securityheaders-com/
https://cidadaospelaciberseguranca.wordpress.com/2022/03/29/o-teste-oferecido-pela-https-hstspreload-org/
https://cidadaospelaciberseguranca.wordpress.com/2022/03/29/se-tem-o-alerta-directory-listing-is-enabled-on-your-site-this-can-lead-to-information-leakage-we-recommend-disabling-directory-listing-no-sucuri-net-e-porque-tem-a-opcao-directory-listing/
https://cidadaospelaciberseguranca.wordpress.com/2022/03/29/actualize-o-wordppress/

Assim como alguns guias mais genéricos:
https://cidadaospelaciberseguranca.wordpress.com/2022/03/21/ramsonware-como-se-proteger/
https://cidadaospelaciberseguranca.wordpress.com/2022/03/14/o-que-e-uma-botnet-como-as-podemos-evitar/
https://cidadaospelaciberseguranca.wordpress.com/2022/03/01/treino-e-formacao/
https://cidadaospelaciberseguranca.wordpress.com/2022/03/01/autenticacao-por-multiplo-factor-mfa/
https://cidadaospelaciberseguranca.wordpress.com/2022/03/29/conversation-hacks/

Actualize o WordPress

Todos aqueles que mantêm sites wordpress alojados em plataformas terceiras ou em instalações nas suas próprias máquinas já foram confrontados como pedidos de atualização e se sentiram tentados a ignorá-los ou, pior, a adiá-los continuamente. Pois bem: não faça isso: Os Updates são nossos amigos. E são nossos amigos por várias razões:

A segurança é, de longe, a maior razão para manter o seu site sempre na última versão. 40% de todos os sites na Internet correm em wordpress e esse número sobe a 1% por ano, consistentemente, desde 2019 sem dar sinais de abrandar. Isso torna-o (como o Windows) num alvo interessante para qualquer grupo criminoso.

Por outro lado, como o WordPress é um projecto de código aberto, isso significa que os bugs podem ser detectados mais cedo mas também que podem ser descobertos por hackers e estarem a ser ativamente explorados sem que mais ninguém os conheça. Mas quando alguém descobre o bug e o resolve o seu papel é usar essa descoberta antes que alguém, mal intencionado, o faça por si. E atenção que isto não se aplica apenas ao próprio WordPress mas a todos os plugins e themes que tiver instalado. Na verdade: quanto mais contido for nestas expansões: melhor. Porque estas tendem a ser mais inseguras e mal mantidas que as oficiais e que o próprio WordPress.

Para além de mais segurança atualizar o seu site em WordPress também lhe trará novas funcionalidades, ganhos em desempenho e correcção a bugs da plataforma. Uma atualização poderá também aumentar a compatibilidade com algum plugin que já tenha mas também a poderá diminuir introduzindo problemas novos pelo que a deve testar antes e procurar confirmar o estado de compatibilidade de cada plugin antes de actualizar a sua solução.

Para actualizar o WordPress:
O WordPress tem um mecanismo próprio que alerta para a existência de actualizações ao seu core, plugins e themes. Este mecanismo lista as actualizações existentes e apresenta-as quando se loga no Dashboard dando-lhe depois a possibilidade de as instalar através do clique num único botão.

Alternativamente pode usar um plugin para receber por mail esses alertas ou configurar o WordPress para se manter actualizado de forma dinâmica e automática. Esta opção contudo, não é desejável, já que o processo deve estar sob o seu controlo para minimizar downtime e incompatibilidades.

Se tem o alerta “Directory Listing is enabled on your site. This can lead to information leakage. We recommend disabling Directory Listing” no sucuri.net é porque tem a opção “Directory Listing”

Se tem o alerta “Directory Listing is enabled on your site. This can lead to information leakage. We recommend disabling Directory Listing” no sucuri.net é porque tem a opção “Directory Listing” ligada no seu site. Essa configuração é perigosa porque pode levar à libertação de informação que não deseja que seja pública e abrir assim a porta a acessos indesejados à sua organização.
Muitos webservers permitem que o utilizador navegue pelos ficheiros no site se não existir um ficheiro de index.

Para desligar o “Directory Listing” no Apache basta aceder ao ficheiro .htaccess e acrescentar a linha
Options -Indexes
Em https://key2blogging.com/disable-directory-listing/ listam-se duas outras formas de fazer esta desabilitação (uma via cPanel outra através de colocação de ficheiros nos directórios que deseja proteger)

O teste oferecido pela https://hstspreload.org/

O teste oferecido pela https://hstspreload.org/ analisa os domínios submetidos consoante a “HTTP Strict Transport Security (HSTS)” preload list do Chrome sendo que a maioria dos outros browsers disponíveis no mercado também possuem listas HSTS baseadas na lista do Chrome.

Existe um formulário para submissão mas o site tem que passar o teste em https://hstspreload.org/

Devendo serem cumpridos os seguintes requisitos:
1. Ter um certificado válido
2. Redireccionar de HTTP para HTTPS no mesmo host se o serviço estiver a ser fornecido no porto 80
3. Servir todos os subdomains em HTTPS
4. Suportar HTTPS no www subdomain se existir um registo DNS para esse subdomain
5. Possuir um HSTS header no domínio base com
uma max-age de pelo menos um ano (31536000 segundos)
Uma directiva includeSubDomains
Uma directiva preload
Se existirem redirects adicionais no site HTTPS estes devem possuir, todos, HSTS headers.

Saber mais em:
https://hstspreload.org/
https://datatracker.ietf.org/doc/html/rfc6797
https://hstspreload.org/#submission-requirements

Os testes da https://securityheaders.com/

Os testes da https://securityheaders.com/ produzem um ranking de A+ a R e no próprio site apresentam um agregado de todos os quase 200 milhões (!) de sites que já foram aqui testados:
A+ 2,166,976
A 22,142,318
B 4,604,939
C 5,557,772
D 22,404,842
E 8,214,207
F 101,550,276
R 32,342,791
É um projecto de https://scotthelme.co.uk/ e no site analisa os “HTTP response headers” construindo em função das respostas um sistema de ranking. No processo são analisados vários níveis de protecção com a intenção de promover o uso destes headers na internet.

O teste procura pelos headers Strict-Transport-Security, Content-Security-Policy, X-Frame-Options, X-Content-Type-Options e Referrer-Policy Permissions-Policy e alerta para a sua omissão:
https://scotthelme.co.uk/content-security-policy-an-introduction/
https://scotthelme.co.uk/hardening-your-http-response-headers/#x-frame-options
https://scotthelme.co.uk/hardening-your-http-response-headers/#x-content-type-options
https://scotthelme.co.uk/a-new-security-header-referrer-policy/
https://scotthelme.co.uk/goodbye-feature-policy-and-hello-permissions-policy/
https://scotthelme.co.uk/a-new-security-header-expect-ct/
https://scotthelme.co.uk/coop-and-coep/
Concedendo conselhos práticos de como a posição no ranking pode ser melhorada através do reforço da cibersegurança do seu site.

https://cidadaospelaciberseguranca.wordpress.com/2022/03/29/os-testes-da-https-securityheaders-com/

Os testes da https://securityheaders.com/

Os testes da https://securityheaders.com/ produzem um ranking de A+ a R e no próprio site apresentam um agregado de todos os quase 200 milhões (!) de sites que já foram aqui testados:
A+ 2,166,976
A 22,142,318
B 4,604,939
C 5,557,772
D 22,404,842
E 8,214,207
F 101,550,276
R 32,342,791
É um projecto de https://scotthelme.co.uk/ e no site analisa os “HTTP response headers” construindo em função das respostas um sistema de ranking. No processo são analisados vários níveis de protecção com a intenção de promover o uso destes headers na internet.

O teste procura pelos headers Strict-Transport-Security, Content-Security-Policy, X-Frame-Options, X-Content-Type-Options e Referrer-Policy Permissions-Policy e alerta para a sua omissão:
https://scotthelme.co.uk/content-security-policy-an-introduction/
https://scotthelme.co.uk/hardening-your-http-response-headers/#x-frame-options
https://scotthelme.co.uk/hardening-your-http-response-headers/#x-content-type-options
https://scotthelme.co.uk/a-new-security-header-referrer-policy/
https://scotthelme.co.uk/goodbye-feature-policy-and-hello-permissions-policy/
https://scotthelme.co.uk/a-new-security-header-expect-ct/
https://scotthelme.co.uk/coop-and-coep/
Concedendo conselhos práticos de como a posição no ranking pode ser melhorada através do reforço da cibersegurança do seu site.

O alerta “”HTTPS mixed content found. Your HTTPS website is referring to an HTTP resource”

O alerta “”HTTPS mixed content found. Your HTTPS website is referring to an HTTP resource” indica que no site scanned pela sucuri.net existem links http:// para conteúdos internos ou externos que não estão encriptados. Podem ser fontes da Google ou Javascripts externos (as fontes mais comuns deste alerta).

Para o resolver procure em todas as páginas do seu site por referências à string “http://” e substitua-as por conteúdos alojados em sites https. Desta forma melhorará a segurança do seu site garantindo que todo o tráfego é encriptado e que melhora o seu ranking SEO nos motores de busca.

Actualizar o PHP

O PHP não é mais inseguro que qualquer outra linguagem muito utilizada mas como é mito popular isso torna-o (como sucede ao Windows) um grande alvo com muitas implementações pelo que é mais provável de encontrar e explorar vulnerabilidades

Se não tiver o PHP no seu servidor devidamente actualizado está exposto a todas estas vulnerabilidades:
https://www.cybersecurity-help.cz/vdb/php_group/php/
Adicionalmente terá também ganhos de funcionalidades e desempenho com o consequente impacto no ranking SEO do seu site.

Se usar WordPress:
https://wordpress.org/support/update-php/
Se usar o XAMPP em Windows 10:
https://wecode101.com/upgrade-xampp-from-php-7-to-8-windows-10
Se usar Ubuntu:
https://www.itsolutionstuff.com/post/how-to-upgrade-php-version-from-74-to-8-in-ubuntuexample.html

Actualizar o Nginx

O “Nginx é um servidor leve de HTTP, proxy reverso, proxy de e-mail IMAP/POP3, feito por Igor Sysoev em 2005, sob licença BSD-like 2-clause. O Nginx consome menos memória que o Apache, pois lida com requisições Web do tipo “event-based web server”; e o Apache é baseado no “process-based server”, podendo trabalhar juntos”
https://pt.wikipedia.org/wiki/Nginx

A principal razão para actualizar o seu Nginx é a segurança. As atualizações garantem-lhe protecção contra as vulnerabilidades identificadas no sistema:
https://www.cvedetails.com/vulnerability-list/vendor_id-10048/product_id-17956/Nginx-Nginx.html
assim como uma melhoria de desempenho e novas funcionalidades.

Em
https://medium.com/@soban1193/upgrading-nginx-to-the-latest-version-on-ubuntu-c0ad9116cf87
encontra um bom guia de como actualizar a sua instalação em Ubuntu
e em
https://www.mysterydata.com/update-nginx-to-latest-official-version-in-centos-8-el8-cwp/
um outro guia para CentOS

O Observatory da Mozilla

O Observatory da Mozilla

Os resultados no Observatory da Mozilla fornecidos pela ssllabs.com também sem traduzem num ranking por letras e são da responsabilidade da https://www.qualys.com/ sendo possível aceder diretamente aos mesmos em https://www.ssllabs.com/ssltest/index.html

O serviço inspeciona a configuração SSL dos websites que lhe são apresentados nas vertentes de SSL, certificado e site. O teste indica se um certificado SSL/TLS merece aprovação ou se o sistema SSL está correctamente instalado. O teste e o ranking obtido no mesmo (de A+ a J) permitem avaliar o grau de segurança do site e orientar os responsáveis na sua elevação.

O teste da Qualys avalia o emissor do certificado, a sua validade, o algoritmo usado para o assinar, os detalhes do protocolo, a cipher suites e faz uma handshake simulation detectando os erros mais comuns e as vulnerabilidades mais conhecidas e exploradas. O teste avalia também se o site usa a “HTTP Strict Transport Security (HSTS)” uma tecnologia que impede “cookie hijacking” (uma técnica que pode ser usada para ultrapassar métodos de autenticação por multiplo factor (MFA) uma vez que com a cookie certa um atacante pode fazer bypass a qualquer sistema MFA.

Para além do https://www.ssllabs.com/ssltest/index.html
encontra outras plataformas de testes em
https://www.thesslstore.com/ssltools/ssl-checker.php
https://gf.dev/tls-test
https://www.wormly.com/test_ssl
https://www.digicert.com/help/
https://www.howsmyssl.com/
https://www.sslshopper.com/ssl-checker.html

Todas estas plataformas darão conselhos práticos sobre como aumentar a segurança do seu site.

Para saber mais:
https://geekflare.com/ssl-test-certificate/
https://securityintelligence.com/articles/guide-to-cookie-hijacking/
https://hackertarget.com/ssl-check/