Registrando tentativas de conexão de chave pública SSH com nftables [closed]

1

Pergunta

Qual é a melhor maneira de configurar as tentativas de SSH de log com autenticação de chave pública SSH e nftables? Além disso, qual é a melhor maneira de testar isso?

Eu gostaria de fazer isso sem instalar um pacote que 'apenas cuida disso' porque é um exercício de aprendizado para mim.

Descrição

Eu configurei um novo sistema bastante em branco para testar e aprender conceitos de rede. O sistema está executando o Arch Linux. nftables está ativo e em execução, e consigo fazer login neste sistema com a autenticação de chave pública SSH. O sistema de teste também está usando sshd.socket, pelo que vale a pena.

No entanto, notei que uma das regras do nftable não parece estar saindo como esperado:

log prefix "REJECTED" reject with icmpx type port-unreachable

Esta regra está na parte inferior da cadeia de entrada no meu nftables.conf, portanto, todo o tráfego de entrada rejeitado deve acertar isso (eu acho).

Talvez eu esteja testando isso incorretamente, mas quando executo journalctl -k | grep "REJECTED" , não vejo nenhuma entrada depois de tentar efetuar login por meio de uma máquina diferente. No entanto, vejo uma entrada quando uma máquina diferente com a chave correta tenta efetuar login mais de duas vezes em um minuto.

Além disso, observarei que consigo ver logins SSH bem-sucedidos com essa regra nftable (colocada acima da regra de rejeição acima):

tcp dport ssh limit rate 2/minute log prefix "SSH connection" accept

A execução de journalctl -k | grep "SSH" mostra essas conexões conforme o esperado.

    
por Aaron Thomas 24.11.2017 / 22:11

1 resposta

2

Você não pode determinar (nem logar) na camada de rede em que o login da conexão TCP falhou nem com qual método. O daemon SSH determina quando um login falha e registra-o, após o qual ele permite uma nova tentativa ou fecha a conexão (geralmente após uma certa quantidade de tentativas com falha).

As tentativas de login com falha são armazenadas no log de autenticação em /var/log/auth.log . Lá você pode encontrar entradas de log para logins com sucesso e com falha.

Na camada de rede, você pode registrar novas conexões no daemon SSH. O exemplo a seguir é diretamente da documentação do wiki :

tcp dport 22 ct state new log prefix \"New SSH connection: \" accept
    
por 24.11.2017 / 22:54

Tags