Eu queria fornecer atraso de login durante o login através do ssh. Tentei duas maneiras de fazer o mesmo, mas não consegui encontrar o resultado desejado.
Eu tentei as etapas fornecidas pelo link fornecido.
http://hostingfu.com/article/ssh-dictionary-attack-prevention-with-iptables
iptables -N SSH_CHECK
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j SSH_CHECK
iptables -A SSH_CHECK -m recent --set --name SSH
iptables -A SSH_CHECK -m recent --update --seconds 60 --hitcount 4 --name SSH -j DROP
Não tenho o módulo pam instalado na minha máquina, portanto, não posso fazer nenhuma modificação relacionada aos arquivos pam
Então, qualquer corpo, deixe-me sugerir outra maneira de fazer o mesmo?
Eu tenho o kernel linux vazio executando na plataforma incorporada.
linux
networking
ssh
sshd
RAM
fonte
fonte
fail2ban
usa a infraestrutura exata que você já possui - regras ssh logs e iptables.Respostas:
Método # 1 - desativar logins de senha
Se você não precisar permitir logins de senhas, simplesmente desabilitá-los dará o efeito desejado. Basta adicionar esta linha a
/etc/ssh/sshd_config
:Além disso, você pode limitar o uso de senha para determinados usuários usando o
Match
operador emsshd_config
:Método # 2 - iptables
Você também pode usar
iptables
para rastrear tentativas de login com falha e descartá-las após um certo limite. Isso é semelhante ao seu exemplo de hostingfu, mas é mais fácil de entender.NOTA: A primeira linha basicamente cria uma regra que se aplica apenas aos pacotes usados para novas tentativas de conexão na porta ssh. A segunda linha diz que, se houver mais de 4 tentativas de um IP em 60 segundos, qualquer tráfego desse IP deverá ser trocado. Esta solução não se importa se as tentativas em diferentes contas de usuário ou não.
Método # 3 - use PAM
Sei que você disse que não possui o PAM disponível, mas, se o tiver, é assim que você poderá atrasar as tentativas de login com falha. Se sua intenção é simplesmente atrasar falhas de login ssh, você poderá usar o módulo PAM
pam_faildelay
. Esse módulo PAM geralmente é incluído no mix padrão.No meu sistema Fedora 19, faz parte da instalação padrão.
Exemplo
Procure por arquivos relacionados a
pam_faildelay
.Veja por qual RPM eles são fornecidos:
Uso
Para criar um atraso na falha, basta adicionar uma linha como esta ao seu
sshd
arquivo de configuração do pam. Novamente nos sistemas Fedora / CentOS / RHEL, este arquivo está localizado aqui:/etc/pam.d/sshd
.Para criar um atraso de 10 segundos:
Um atraso de 60 segundos:
Exemplo
Com um atraso de 20 segundos usando o método acima, alterei meu
sshd
arquivo de configuração do PAM da seguinte forma:Agora, quando eu faço o login:
Referências
fonte
--hitcount 4
é excedido, a regra bloqueia o endereço IP incorreto por 60 segundos.Desabilitar senhas. Sem senhas, sem ataques de força bruta.
Você pode usar ssh-keys para efetuar login - o que deve ser muito mais seguro e mais difícil de invadir.
fonte
Em uma instalação limpa do Ubuntu 16.04 com
openssh-server
, já existe um atraso para uma tentativa incorreta de senha com mais de zero caracteres. O atraso parece ser superior a 1 segundo .Para uma tentativa incorreta de senha com zero caracteres, não há atraso, portanto o invasor determinará imediatamente que sua senha não é a sequência vazia, se na verdade não for a sequência vazia. Como a sequência vazia provavelmente não é permitida como senha, eles já sabem disso e, portanto, não tentarão a sequência vazia.
fonte