Qual é o número máximo da porta?

67

Gostaria de definir alguns serviços Linux para portas não padrão - qual é o número de porta válido mais alto?

Yehosef
fonte

Respostas:

73

(2 ^ 16) -1 ou 0-65.535 (o -1 é porque a porta 0 está reservada e indisponível). (editado porque o_O Tync me lembrou que não podemos usar a porta 0 e Steve Folly me lembrou que você solicitou a porta mais alta, não o número de portas)

Mas você provavelmente está fazendo isso da maneira errada. Há pessoas que argumentam a favor e contra portas fora do padrão. Eu digo que eles são irrelevantes, exceto para o scanner mais casual, e o scanner mais casual pode ser mantido afastado usando software atualizado e técnicas adequadas de firewall, além de senhas fortes. Em outras palavras, práticas recomendadas de segurança.

Matt Simmons
fonte
3
-1 para a resposta errada. Tente 65.535. Mas bom argumento sobre o argumento a favor / contra portas não padrão.
Steve Folly
2
Existem pessoas de segurança / conformidade que impõem esse tipo de decisão. Executamos serviços SMTP em uma porta alta predeterminada para nos proteger contra o escritório do oficial de segurança que nos assedia.
duffbeer703
11
Steve, editado, e você está certo. Eu respondi a pergunta errada com o meu número :)
Matt Simmons
2
@Matt: removed -1 :-)
Steve Folly
11
Monitoro as tentativas de login com ssh e várias tentativas têm o IP bloqueado (solução padrão do CPanel VPS). Só estou tentando reduzir o número de tentativas que tenho que olhar todos os dias. A varredura de portas também é bloqueada, o que reduz a multidão. Também estou considerando uma VPN, mas parecia que mudar a porta seria um primeiro passo mais fácil.
Yehosef 18/01/10
41

1-65535 estão disponíveis, e as portas no intervalo de 1 a 1023 são as privilegiadas : um aplicativo precisa ser executado como root para ouvir essas portas.

Kolypto
fonte
8

Embora 1-65535 sejam portas TCP legítimas e é verdade que 1-1023 são para serviços de porta conhecidos. Você pode ter problemas aleatórios com seus próprios serviços se eles forem iniciados após o estabelecimento de uma porta efêmera. Para quem não sabe, portas efêmeras são aquelas conectadas localmente para pontos finais remotos (ou algo nesse sentido). Portanto, se você escrever um serviço TCP que escute na porta 20001. Você pode ser bom hoje ... e amanhã. Mas um dia seu serviço pode ser iniciado e tentar se conectar ao 20001 e falhará porque foi tomado como uma porta efêmera. Existe uma solução. Você deve ter seu administrador, ou você mesmo, alterar a política de intervalo efetivo de portas do sistema em seu servidor. Nos sistemas Linux, isso é feito em duas etapas:

  • Dinamicamente
  • Permanentemente

As duas etapas devem ser executadas; inútil você planeja reiniciar; nesse caso, a etapa Dinâmica não é necessária. Para definir seu intervalo de até 40000 a 65535, faça o seguinte:

Dinâmico

echo 40000 65535 > /proc/sys/net/ipv4/ip_local_port_range

ou

sysctl -w net.ipv4.ip_local_port_range="40000 65535"

Permanente

Adicione o seguinte ao /etc/sysctl.conf:

net.ipv4.ip_local_port_range = 40000 65535

Para ler a configuração atual ou confirmar a alteração:

/sbin/sysctl net.ipv4.ip_local_port_range

A saída será algo como isto:

net.ipv4.ip_local_port_range = 9000 65500

Certifique-se de entender o objetivo do seu servidor. Reduzir muito o alcance pode levar a outros problemas.

Feliz codificação! (ou o que você faz)

Stephen Mathews
fonte