hosts.allow:% u não está funcionando (nome de usuário do log)

4

Eu preciso acompanhar todas as SSH conexões no meu servidor. No meu /etc/hosts.allow eu tenho algo assim:

sshd: ALL : spawn ( echo "'date' from %u %a " >> /var/log/ssh/%d.log ) &

onde %a registra o IP do cliente e %u deve registrar o nome de usuário. Mas, em vez disso, %u registra apenas unknown . Existe uma maneira de corrigir isso? Eu preciso registrar o IP e o nome de usuário para cada conexão.

    
por Martin Vegter 17.09.2013 / 08:18

1 resposta

6

O nome de usuário do cliente %u é conhecido apenas se a máquina do lado do cliente estiver executando identd e fornecer o nome de usuário sob solicitação.

tcp wrappers, por exemplo, tcpd faz a pesquisa identd e retorna "unknown" se não obtiver uma resposta da máquina cliente.

A execução de identd costumava ser prática comum nos anos 90, mas é extremamente incomum nos dias de hoje - e muitos clientes (máquinas Windows, por exemplo) nem sequer têm um programa idêntico ou semelhante.

Em suma, você fica "desconhecido" porque a máquina do cliente não está fornecendo essas informações.

Seu sshd deve estar registrando todas as tentativas de conexão - verifique /var/log/auth.log ou / var / log / syslog ou / var / log / messages (dependendo da sua distribuição e de como o seu syslogd está configurado).

    
por 17.09.2013 / 08:30