Como ligar a uma porta privilegiada de um processo não-raiz, em um Synology NAS

5

Eu quero executar um servidor DNS personalizado ( NxFilter para ser preciso) em um Synology DS115j NAS , que obviamente se liga à porta 53. Isso funciona quando executado como root, mas eu quero bloquear o processo agora.

Este NAS executa um sabor de busybox do Linux (usando o DSM5 no jargão da Synology). Eu instalei o Java com o pacote Java Manager. Agora, procuro uma maneira de executar o processo java em uma conta não raiz, enquanto ainda permite que ele se vincule à porta 53 privilegiada.

Eu olhei para essa ótima resposta: link mas isto não funciona na minha caixa Synology. Eu não tenho setcap nem authbind disponível.

Portanto, a questão é: Como permitir especificamente que um processo / binário se vincule a uma porta privilegiada em um busybox linux?

    
por hitchhiker 01.01.2017 / 13:29

1 resposta

2

Você tem acesso ao iptables, lembro-me vagamente de que as caixas Synology NAS funcionam? Se assim você pode colocar um redirecionamento com isso: -

iptables -I INPUT 1 -p tcp --dport 53 -j ACCEPT
iptables -I INPUT 1 -p tcp --dport 7000 -j ACCEPT
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 53 -j REDIRECT --to-port 7000

A linha 1 adiciona uma abertura à porta 53 A linha 2 adiciona uma abertura à porta 7000, que é o que você deve definir para usar seu aplicativo java A linha 3 adiciona um redirecionamento que qualquer tráfego de entrada na porta 53 é direcionado para a porta 7000.

Espero que ajude

    
por 04.07.2017 / 12:09