Permissões de porta TCP definidas pelo usuário

1

Existe uma maneira no Ubuntu para definir as permissões de portas TCP para usuários individuais?

Por exemplo, o userA só tem permissão para abrir portas entre 3000-3010. Portanto, se userA executasse o seguinte php -S 0.0.0.0:3001 , funcionaria. Mas se eles tentarem executar php -S 0.0.0.0:3200 , eles terão uma permissão negada.

    
por YarGnawh 18.01.2017 / 20:30

1 resposta

1

Sem envolver o MAC (SELinux ou AppArmor), você pode fazer este quick'n dirty hack com o iptables:

iptables -P INPUT DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -o ethX -m owner --uid-owner <userA_UID> -m multiport --dports 3000-3010 -j ACCEPT

No entanto, ele não registrará nada para o usuário e ainda permitirá que o usuário ligue o porto. Ele só vai sofrer de sintomas de ter uma porta bloqueada

    
por 18.01.2017 / 20:55