Saltar para o conteúdoHisnLabs
← Reforço do macOS, definição a definição

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:

Terminal
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.

Apoio da Apple: Mudar as definições de Firewall no Mac.
Opção do firewallO que faz
Bloquear todas as ligações recebidasImpede 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 assinadoPermite 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 furtivoImpede 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:

Terminal
/usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate
Firewall is enabled. (State = 1)
/usr/libexec/ApplicationFirewall/socketfilterfw --getstealthmode
Firewall stealth mode is off

Ativar 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. 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. 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. 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.

Fontes

Ponha em prática no seu Mac

Experimente todas as funcionalidades grátis durante 17 dias, sem cartão.

Transferir para Mac Docs