Tornar usuário ou grupo a própria porta

1

Em algumas situações, um aplicativo da Web conversará com clientes por meio de um proxy reverso (por exemplo, Apache com mod_proxy) em que o proxy reverso está escutando na porta 80 e o aplicativo da Web está escutando em uma porta maior que 1023 (porque raiz possui portas abaixo 1024).

Como mencionado em algumas respostas a essa questão , qualquer processo pode começar a escutar na porta alta se nenhum outro processo tiver começado a ouvi-la. Isso pode ser um problema se o aplicativo da Web não tiver iniciado a escuta na porta ainda e algum outro processo começar a ouvi-lo primeiro, acidentalmente ou por engano.

Existe alguma maneira de fazer um usuário ou grupo possuir uma porta, de modo que apenas o proprietário do aplicativo da Web possa iniciar um processo que ouça nessa porta?

    
por David Winiecki 24.04.2016 / 10:52

2 respostas

1

Ou simplesmente atribua uma porta fixa no intervalo de portas reservado e conceda ao seu aplicativo os direitos de vincular a essa porta.

sudo setcap 'cap_net_bind_service=+ep' /usr/local/bin/application
    
por 24.04.2016 / 13:36
0

Se você tem o Selinux (não tenho certeza sobre o AppArmor), você pode muito bem conseguir isso:

Certifique-se de que apenas o contexto desse aplicativo específico possa escutar essa porta e, em seguida, certifique-se de que apenas o usuário desejado possa iniciar esse aplicativo.

    
por 24.04.2016 / 11:29