Por que as conexões TCP / IP de saída não precisam de portas de firewall para serem abertas?

2

Ao criar uma conexão TCP / IP ou UDP de entrada, precisamos que uma porta de firewall seja aberta ou obtenha privilégios para a porta especificada.

Por que não para conexões TCP / IP de saída?

    
por Mesut 07.08.2013 / 00:29

2 respostas

4

Alguns firewalls antiquados ou simplistas dos anos 90 podem ter sido capazes de aplicar regras a pacotes individuais isoladamente, mas todos os firewalls modernos são o que chamamos de firewalls Stateful Packet Inspection (SPI). Firewalls SPI lembram o estado de um fluxo de tráfego (como lembrar que eles viram uma Sincronização TCP de saída que iniciou uma sessão TCP) e aplicam essas informações de estado a futuras decisões de permissão / negação (como permitir que outros pacotes nessa sessão TCP fluam qualquer direção, desde que foi iniciada "de dentro").

Muitos produtos de roteadores de gateway doméstico nem têm firewalls com recursos completos, mas confiam no fato de que o NAT (especificamente "NAPT", a.k.a. "PAT") atua como uma espécie de "firewall SPI do pobre". Os gateways NAT precisam de mapeamentos de portas porque, caso uma tentativa de conexão recebida, iniciada do lado de fora, atinja o endereço IP externo do gateway NAT, ela não saberá para qual cliente lateral privado ela deve ser encaminhada, pois não possui nenhum estado gravado . Então tem que simplesmente largar isso. Os mapeamentos de porta permitem que o NAT saiba a qual cliente encaminhar certos tipos de solicitações recebidas para.

Quanto a obter privilégios para colocar um ouvinte em uma determinada porta em um host, alguns sistemas operacionais restringem a capacidade de colocar ouvintes nas portas "Bem Conhecidas" abaixo de 1024, ou até mesmo nas portas "Registradas" abaixo de 49152, mas a maioria Sistemas operacionais permitem que qualquer usuário normal coloque um ouvinte nas portas "Efêmeras" acima de 49152. Se você estivesse frustrado por não ter privs para iniciar seu próprio processo de servidor web na porta 80 (no intervalo de portas "bem conhecido") ou 8080 (registrado), tente iniciá-lo em 60080 (efêmero).

As conexões TCP e UDP de saída são atribuídas automaticamente a uma porta do intervalo efêmero (alguns sistemas operacionais também podem usar partes do intervalo "registrado" para portas efêmeras).

    
por 07.08.2013 / 03:00
3

Conexões TCP realmente de saída precisam firewall para serem abertas também. É possível configurar o firewall de forma a bloquear também a conexão de entrada e saída. Dê uma olhada no artigo acima sobre firewall.

Existe uma regra padrão para o firewall. A configuração mais segura terá a regra padrão para bloquear tudo, exceto algumas portas que precisam ser abertas. Para conexões de saída, a regra padrão pode ser "permitir tudo", a menos que haja uma configuração especial de segurança ou você não confie em programas executados no computador (ou "dentro" do firewall) - nesse caso, a regra padrão seria largar tudo e permitir conexões somente para portas ou endereços permitidos. E você também terá que abrir o firewall para conexões de saída.

Portanto, tudo isso é apenas uma questão de configuração de firewall e regras de firewall padrão.

    
por 07.08.2013 / 01:02