Definição de um par de soquetes :
Communicating local and remote sockets are called socket pairs. Each socket pair is described by a unique 4-tuple consisting of source and destination IP addresses and port numbers, i.e. of local and remote socket addresses.[3][4] In the TCP case, each unique socket pair 4-tuple is assigned a socket number, while in the UDP case, each unique local socket address is assigned a socket number.
No lado do servidor, a porta geralmente é corrigida pelo protocolo / aplicativo que está sendo usado. Por exemplo, SSH 22 e DNS 53.
No lado do cliente, aquele que inicia a conexão com o servidor, ele precisa escolher uma porta de origem para cumprir sua parte daquela 4-tupla necessária para identificar exclusivamente uma conexão. Os clientes geralmente escolhem uma porta aleatória no intervalo 1025-65535. Eu acredito que isso é o que eles estão chamando de portos efêmeros?
Alguns protocolos (por exemplo, portmap RPC) terão um servidor escutando em uma porta fixa, um cliente se conectará e solicitará um serviço específico, o listener fornecerá uma porta onde o cliente deve se conectar (geralmente aleatório, dentro de um intervalo) e spawn o serviço nessa porta. Este é apenas um exemplo de uma organização mais complexa para as portas do servidor, mas de forma alguma requer portas de origem específicas do lado do cliente a serem usadas. Eles deveriam ser aleatórios.
A filtragem na porta de origem é meio desajeitada. A listagem que você postou não mostra se está filtrando a origem ou as portas de destino. Se você realmente quer endurecer seu firewall, defina como padrão uma política block = all e deixe apenas as portas necessárias. Não mexerei em restringir quais portas de origem podem ser usadas, a menos que você esteja procurando por problemas (por exemplo, clientes não sendo capazes de conectar) ou trabalho extra (ou seja, regras complexas de firewall).
Parece que na primeira listagem eles estão especificando o aleatório de portas aleatórias que os clientes podem usar. Por que eles se importam?