Por motivos além do meu controle, tenho um binário que se liga ao TCP "localhost:$PORT". (As ligações de soquete Unix tornariam essa questão discutível).
Se entendi corretamente, isso significa que, embora nenhuma máquina de rede possa se conectar, outros usuários na máquina (incluindo usuários de daemon sem privilégios) podem se conectar a essa porta.
Existe alguma maneira de eu especificar que apenas binários em execução como $me devem ter permissão para se conectar a esta porta? Eu posso me tornar root para especificar a configuração, mas o binário de escuta e os binários de conexão são executados como o usuário $me não root
Existe uma
owner
extensão match no iptables, mas ela só pode ser usada em chains OUTPUT e POSTROUTING. Então você pode adicionar duas regras no início da cadeia OUTPUT do iptables assim (acesso root necessário):Se o seu sistema tiver algum serviço que gerencie as configurações do iptables para você (por exemplo
ufw
, para sistemas Debian/Ubuntu oufirewalld
RedHat/Fedora), você provavelmente precisará configurar esse serviço para criar essas regras do iptables para você em vez de adicioná-las manualmente.