medindo a largura de banda por usuário usada pelas conexões do lado do servidor ssh no linux

4

Eu gostaria de poder medir a largura de banda usada por cada usuário por suas conexões ssh de entrada, em uma caixa linux.

Meço a maioria dos outros tráfegos usando o iptables e a correspondência de usuários, mas os sockets ssh de entrada parecem ser de propriedade do root, por isso não posso usar essa abordagem aqui.

    
por Ben Clifford 08.05.2012 / 23:27

1 resposta

4

Infelizmente, acho que você vai estar perseguindo o próprio rabo. O socket é de propriedade de root ... porque o sshd está rodando como root. O usuário não é estabelecido até que o usuário tenha autenticado ... mas como a conexão nunca é fechada, o soquete ainda é de propriedade do root. Curto de tentar fazer algum tipo de correspondência reversa entre o ID do soquete e o usuário atual após o fato ... Eu não sei como você faria isso. Eu tenho visto hacks customizados diretamente no opensc src que adicionam algum nível de Traffic Accounting ... mas eles são altamente específicos da versão, e eu duvido que você veja algum deles chegando ao repositório padrão.

Encontrei um exemplo de contabilidade depois do fato. Eu questiono sua confiabilidade e precisão ... mas é melhor que nada. Basicamente, ele depende do seu relatório auth.log nos estados de conexão dos usuários. (isto é, conecta / desconecta) e tail funcionando continuamente. Infelizmente, o tail tem um limite de 1-2 segundos no mínimo entre as atualizações ... e há uma margem de erro quando se trata de monitorar o auth.log. (especialmente durante log-rotates)

link

    
por 08.05.2012 / 23:49