Como posso saber qual usuário ligou a quais portas?

1

Como posso obter uma lista de portas que estão sendo ouvidas e o nome do usuário que as ligou (no linux)?

Em última análise, eu quero ter vários usuários em um sistema que são atribuídos 2 portas para usar e não podem ligar em outras portas.

Eu não consegui descobrir como fazer isso, mas parece que se eu tivesse a combinação certa de bash-fu, eu deveria ser capaz de obter a lista acima e verificar periodicamente para ver quais usuários ligaram a quais portas e se qualquer usuário deve ser bloqueado para usar as portas que eles não foram atribuídos.

    
por CoolAJ86 21.08.2013 / 07:31

2 respostas

0

Provavelmente você pode obter a resposta usando o netstat, no entanto, sempre usei o lsof, que normalmente instalo em servidores. O lsof é ótimo para investigar processos do Linux e os arquivos e soquetes que eles estão utilizando. Por exemplo, lsof -i -P produzirá este tipo de saída:

# lsof -i -P
COMMAND     PID    USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
sshd       1468    root    3u  IPv4   599160      0t0  TCP *:22 (LISTEN)
mysqld     1718   mysql   10u  IPv4   599883      0t0  TCP *:3306 (LISTEN)
dovecot    1776    root    5u  IPv4   599934      0t0  TCP *:993 (LISTEN)
spamd      1789    root    5u  IPv4   600861      0t0  TCP localhost.localdomain:783 (LISTEN)

Combine isso com cut, grep, sed, etc., e você poderá criar scripts para uma solução que forneça um relatório.

    
por 21.08.2013 / 07:57
0

Que tal usar IPTABLES para permitir apenas as portas que você deseja que seus usuários tenham acesso: por exemplo, permitir a porta 80:

/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT

resto outras portas são rejeitadas por padrão (precisa de mais algumas entradas para especificar o comportamento padrão). O mesmo conceito é explicado aqui

Além disso, se no futuro você quiser permitir que qualquer usuário tenha acesso a alguma porta específica, você pode adicionar uma entrada ao IPTABLE com opções -m proprietário --uid-owner {USERNAME} para usuário específico

    
por 21.08.2013 / 17:17