Sou muito novo em administração de redes, por isso, tenha em mente que ainda não sou tão experiente.
Eu tenho um servidor raiz Ubuntu com painel plesk.
Ontem, meus amigos e eu percebemos que a qualidade da fala no nosso TS3 ficou muito ruim. Enviei alguns pings para o servidor e houve uma perda muito grande de pacotes. Depois disso, pesquisei um pouco e descobri que existe um auth.log
. Eu baixei e rolei um pouco, então achei o seguinte:
May 13 10:01:27 rs204941 sshd[9351]: input_userauth_request: invalid user student [preauth]
May 13 10:01:27 rs204941 sshd[9351]: pam_unix(sshd:auth): check pass; user unknown
May 13 10:01:27 rs204941 sshd[9351]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=112.220.198.102
May 13 10:01:29 rs204941 sshd[9351]: Failed password for invalid user student from 112.220.198.102 port 39806 ssh2
May 13 10:01:29 rs204941 sshd[9351]: Received disconnect from 112.220.198.102: 11: Bye Bye [preauth]
May 13 10:01:31 rs204941 sshd[9353]: Invalid user student from 112.220.198.102
Parece que alguém tentou fazer logon no SSH várias vezes. Rolei um pouco e vi que esse alguém tenta usar muitos nomes de usuário diferentes:student, tech, psi, news,...
Centenas desses logons foram exibidos no arquivo.
Procurei as estatísticas de tráfego no site do meu datacenter. Foi apenas a 17 MB por hora. Eu tenho um Backbone de 100Mbit, então a transferência de dados em si não parece ser o problema.
No momento, não consigo acessar o servidor de forma alguma.
Minha pergunta é: como posso obter acesso novamente, como posso suprimir esse ataque e impedir os seguintes ataques?
Respostas:
Não está claro por que você não pode acessar sua conta.
Se a sua máquina estiver sob ataque ou com muita carga, você deve conversar com seu provedor sobre a restrição de acesso (restrições de IP) ou o desligamento do servidor (desconectado da Internet).
Você também pode precisar de acesso fora da banda, com o qual seu provedor poderá ajudar.
Se alguém comprometer seu servidor, talvez seja necessário restaurar os backups ou usar uma imagem de recuperação.
melhor maneira de evitar logons de força bruta?
Não os deixe chegar à sua máquina em primeiro lugar! Existem várias maneiras de interromper as tentativas de força bruta antes que elas cheguem ao seu host ou mesmo no nível SSH.
Dito isto, proteger o sistema operacional com algo como fail2ban é uma ótima idéia. http://en.wikipedia.org/wiki/Fail2ban
Há várias técnicas importantes de segurança que você deve considerar para ajudar a impedir logins de força bruta:
SSH:
Aplicação:
fonte
Normalmente eu mudo a porta ssh padrão de 22 para outra como 1122. Isso evita muitos ataques automáticos do bot, mas uma simples verificação de porta pode detectá-la. De qualquer forma:
e edite a porta 22 para a porta 1122 , mas isso não é suficiente.
Regras automáticas de IPTables no bruteforce
Eu uso log2iptables https://github.com/theMiddleBlue/log2iptables em vez Fail2ban, porque é um script Bash simples que analisa qualquer arquivo de log com uma expressão regular e executa iptables. Por exemplo, quando ocorrem 5 correspondências, log2iptables descarta o endereço IP específico. É legal porque usa a API do Telegram e pode me enviar uma mensagem no meu telefone quando ele encontrar um problema :)
espero que isso ajude!
fonte
Acabei de montar isso, execute a cada 15 minutos como um cronjob etc:
fonte
Esta é a minha solução alternativa para ataques SSH. A idéia é continuar fechando o daemon SSH se não for usado. Sem porta aberta, sem ataque. Você pode experimentá-lo. É de código aberto https://github.com/indy99/nnet_port_guard
fonte
Solução automatizada para Centos / RHEL para bloquear maus atores
Aqui está um script para o Centos verificar logins com falha ssh para contas de usuário inválidas e senhas ruins para contas válidas. Se o IP de origem nos atingiu mais de três vezes e ainda não estiver na lista de negações, ele será adicionado à lista de negações. Eu corro isso a cada 15 minutos a partir do crontab da raiz. Também não permiti logins raiz via ssh, para que a combinação mantenha as coisas razoavelmente silenciosas.
fonte
fail2ban
que faz a mesma coisa e é testado em batalha.