Lição 4 de 5 · 9 min
Serviços, partilha e portas abertas
Desligue serviços de partilha que não usa, veja o que está realmente à escuta de ligações, e ative o Firewall de Aplicações.
Cada serviço de partilha que deixa ligado é um pequeno servidor de rede a correr no seu Mac, à espera que alguém se lhe ligue. A maioria das pessoas ativa um uma vez, para uma tarefa, e nunca mais o desliga. Esta lição aborda como encontrar e fechar esses, e depois acrescentar um firewall por cima como uma segunda camada.
Serviços de partilha
No macOS atual, os serviços de partilha vivem em Definições do Sistema → Geral → Partilha: Partilha de Ficheiros, Partilha de Ecrã, Início de Sessão Remoto (SSH), Gestão Remota, Partilha de Multimédia, Cache de Conteúdo, Partilha de Internet, Partilha de Impressora, e mais alguns dependendo do Mac. Cada um está desligado por defeito e permanece desligado até o ativar por um motivo específico, como enviar um ficheiro para outro Mac na mesma rede ou deixar um técnico ligar-se remotamente.
- Se ativou a Partilha de Ficheiros uma vez para mover ficheiros entre dois Macs, ou a Partilha de Ecrã para receber ajuda de alguém, desligue-a de novo no mesmo painel de Partilha assim que terminar.
- O Início de Sessão Remoto abre acesso SSH ao seu Mac. A própria documentação da Apple para isto diz claramente que "permitir o início de sessão remoto no seu Mac pode torná-lo menos seguro." Deixe-o desligado a menos que precise especificamente de se ligar a este Mac a partir de outro lugar.
- Se vários destes aparecerem como ligados e não se lembrar de os ter ativado, isso por si só vale a pena investigar.
Ver o que está realmente à escuta
Desligar os serviços de partilha em Definições do Sistema fecha os que a Apple expõe através de um interruptor, mas outro software (um servidor de multimédia, uma ferramenta de desenvolvimento, um controlador de impressora) pode abrir as suas próprias portas à escuta sem pedir. O lsof (lista ficheiros abertos, que no Unix inclui sockets de rede) consegue mostrar-lhe todos os processos atualmente à espera de uma ligação TCP recebida:
lsof -iTCP -sTCP:LISTEN -n -P
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rapportd 1442 admin 15u IPv4 ... 0t0 TCP *:64654 (LISTEN)
ControlCe 1775 admin 9u IPv4 ... 0t0 TCP *:7000 (LISTEN)Cada linha é um processo à escuta numa porta: o nome do comando, o seu ID de processo, o endereço a que está associado (* significa todas as interfaces de rede, 127.0.0.1 significa apenas ligações locais), e o número da porta depois dos dois pontos. O -n e o -P dizem ao lsof para mostrar endereços e números de porta em bruto em vez de os resolver, o que é ao mesmo tempo mais rápido e mais claro. Uma porta associada apenas a 127.0.0.1 só é alcançável a partir do próprio Mac; uma porta associada a * pode, se a rede o permitir, ser alcançada a partir de outros dispositivos. Algumas entradas vão ser os próprios serviços em segundo plano da Apple (como o assistente de AirDrop/Handoff rapportd, ou o recetor de AirPlay do Centro de Controlo); as que valem a pena questionar são apps que instalou e que não esperava que estivessem à escuta de todo.
O Firewall de Aplicações
O Firewall de Aplicações, em Definições do Sistema → Rede → Firewall, é uma segunda camada por cima de fechar serviços não usados: em vez de bloquear por número de porta, decide por app se essa app pode aceitar ligações recebidas de todo. A Apple descreve-o como protegendo o Mac "de contacto indesejado iniciado por outros computadores quando está ligado à internet ou a uma rede", ao mesmo tempo que ainda lhe permite autorizar apps ou serviços específicos.
| Opção do firewall | O que faz |
|---|---|
| Bloquear todas as ligações recebidas | Impede ligações recebidas para serviços e apps não essenciais, deixando apenas os serviços básicos necessários para o Mac encontrar outros computadores na rede. |
| Permitir automaticamente software assinado | Permite que apps incorporadas ou descarregadas, assinadas por um certificado válido, recebam ligações recebidas sem perguntar. Desligar isto significa mais pedidos, mas menos exceções silenciosas. |
| Ativar modo furtivo | Impede que o Mac responda a pedidos de sondagem, incluindo ping (ICMP), que de outra forma poderiam ser usados para detetar que existe numa rede. |
Pode verificar o estado atual do firewall a partir do Terminal sem mudar nada:
/usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate
Firewall is enabled. (State = 1)
/usr/libexec/ApplicationFirewall/socketfilterfw --getstealthmode
Firewall stealth mode is offAtivar o firewall e ativar o modo furtivo exigem ambos uma palavra-passe de administrador; os comandos --get só de leitura acima não mudam nada.
A reter
- Os serviços de partilha (Partilha de Ficheiros, Partilha de Ecrã, Início de Sessão Remoto e outros) vivem em Definições do Sistema → Geral → Partilha, estão desligados por defeito, e devem ser desligados de novo assim que uma tarefa específica terminar.
- `lsof -iTCP -sTCP:LISTEN -n -P` lista todos os processos atualmente à escuta de ligações TCP recebidas, para que possa detetar portas que não esperava que estivessem abertas.
- Uma porta associada a `127.0.0.1` é só local; uma associada a `*` pode potencialmente ser alcançada a partir da rede.
- O Firewall de Aplicações controla ligações recebidas por app; o modo furtivo impede que o Mac responda a sondagens como o ping.
- O Firewall de Aplicações não filtra ligações de saída.
Teste-se
1. O que lhe mostra `lsof -iTCP -sTCP:LISTEN -n -P`?
- Todos os ficheiros alguma vez abertos no Mac
- Todos os processos atualmente à escuta de ligações TCP recebidas, com a sua porta — Certo.
- Uma lista de endereços IP bloqueados
- A palavra-passe de Wi-Fi do Mac
Esta combinação exata de opções filtra o `lsof` para processos com um socket TCP aberto e à escuta, mostrando endereços e números de porta em bruto.
2. Uma porta à escuta mostrada como `127.0.0.1:5432` significa o quê?
- É alcançável a partir de qualquer dispositivo na internet
- Só é alcançável a partir do próprio Mac — Certo.
- É um serviço Bluetooth
- Foi bloqueada pelo firewall
127.0.0.1 é o endereço de loopback: as ligações a ele só podem ter origem na mesma máquina.
3. O que controla principalmente o Firewall de Aplicações do macOS?
- Ligações de saída que as apps fazem para a internet
- Ligações recebidas para apps e serviços no Mac — Certo.
- Pedidos de emparelhamento Bluetooth
- Que sites podem ser visitados
O Firewall de Aplicações decide, por app, se ligações recebidas não solicitadas são permitidas; não filtra o que as apps enviam para fora.
Praticar com o FireAI
Ponha esta lição em prática no seu próprio Mac.
- Modos de segurança: Casa, Café, Paranoico, Sob ataque — Ajuste o rigor do FireAI ao sítio onde o seu Mac está de facto, com um toque.
- Encontre apps com falhas de segurança conhecidas — Feche falhas conhecidas antes que alguém as use: atualize a única app que precisa disso.
- Responda ao seu primeiro pedido de ligação, e o que cada duração significa — Perceba exatamente o que está a aprovar da primeira vez que o FireAI perguntar.
Fontes
- Apple Support: Block connections to your Mac with a firewall
- Apple Support: Change Firewall settings on Mac
- Apple Support: Allow a remote computer to access your Mac (Remote Login)
- Apple Support: Set up file sharing on Mac
Ponha em prática no seu Mac
Experimente todas as funcionalidades grátis durante 17 dias, sem cartão.