Como expandir o intervalo de portas privilegiadas após 1024?

3

Números de porta abaixo de 1024 são reservados para o superusuário, portanto, um usuário normal não pode se ligar a portas no intervalo.

E um intervalo de portas para o qual o sistema atribuirá solicitações de ligação aleatórias pode ser definido em /proc/sys/net/ipv4/ip_local_port_range . Portanto, posso reservar um intervalo da alocação automática. Mas como negar acesso a usuários não privilegiados para um intervalo de portas?

Por exemplo, eu gostaria de ter portas 16000-17000 para ser usado apenas pelo superusuário. Ou apenas aumentando o padrão 0-1024 para 0-17000 ou algum número arbitrário que eu escolher. Como posso conseguir isso?

    
por Joseph Santaniello 03.12.2013 / 12:26

1 resposta

0

No seu código fonte do kernel, acesse include / net / sock.h

Dentro de sock.h encontra:

#define PROT_SOCK   1024

Qualquer valor menor que o número nessa linha será uma porta protegida.

Se você quiser um limite inferior, provavelmente você pode encontrar onde adicionar isso, procurando onde PROT_SOCK é usado e adicionando um cheque adicional. Um passo rápido com o grep mostra que a verificação é feita por protocolo, então você precisará modificar o teste para ipv4, ipv6 e qualquer outro que você use individualmente.

Deve ser relativamente fácil, mas você terá que mantê-lo à mão sempre que quiser atualizar o kernel.

    
por Perkins 26.07.2017 / 07:11