Hoje encontramos diferentes formas de nos conectarmos aos nossos servidores com segurança para realizar tarefas de manutenção e suporte ou para verificar o estado dos mesmos. Como nem sempre podemos estar diretamente no local físico desta a forma mais prática e comum de acessar o servidor, isso é remotamente possível através do protocolo SSH.
SSH (Secure SHell) foi desenvolvido como um protocolo que permite estabelecer conexões entre dois sistemas baseados na arquitetura cliente / servidor, facilitando que como administradores ou usuários possamos nos conectar remotamente ao servidor ou computador, uma das vantagens mais notáveis do SSH é que ele é responsável por criptografar a sessão de conexão para aumentar a segurança, evitando que invasores acessem senhas não criptografadas.
Agora, todo login ou tentativa de acesso ao servidor via SSH é registrado e armazenado em um arquivo de log pelo daemon rsyslog do Linux para que seja possível acessá-lo e validar detalhadamente quem, quando e o estado de inicialização da sessão permitindo uma tarefa de auditoria e controle muito mais completa.
Solvetic irá explicar a você neste tutorial como visualizar este arquivo e determinar quem tentou ou fez login no computador.
1. Instale SSH no Linux
Para este exemplo usamos Ubuntu 19 e CentOS 8, lembre-se que ao acessar por SSH podemos trabalhar de forma abrangente no computador:
PROLONGAR
Instale SSH no CentOS 8Se você deseja instalar o SSH no CentOS 8, você deve executar o seguinte:
yum -y install openssh-server openssh-clients
PROLONGAR
Instale SSH no UbuntuSe quiser fazer isso no Ubuntu 19, você deve executar o seguinte:
sudo apt install servidor openssh
2. Use o comando grep para ver logins com falha no Linux
Passo 1
A maneira mais simples de determinar e visualizar as tentativas de login é executando o seguinte:
grep "Senha falhada" /var/log/auth.log
Passo 2
Podemos ver detalhes como:
- Usuário tentando fazer login
- Direção IP
- Porta usada para a tentativa de login
etapa 3
Encontramos o mesmo resultado com o comando cat:
cat /var/log/auth.log | grep "Senha falhada"
Passo 4
Caso você queira obter informações adicionais sobre os logins SSH com falha no Linux, devemos executar o seguinte. Como vemos, os detalhes são muito mais completos.
egrep "Falha | Falha" /var/log/auth.log
Ver registros no RHEL ou CentOS 8No caso do RHEL ou CentOS 8, todos os logs ficam alojados no arquivo / var / log / secure, para sua visualização executaremos o seguinte:
egrep "Falha | Falha" / var / log / secure
PROLONGAR
Vemos que os logs são mantidos com todos os detalhes, incluindo os nomes das sessões registradas (corretas ou não). Outra opção para visualizar logins SSH com falha no CentOS é usar uma das seguintes linhas:
grep "Falha" / var / log / secure grep "falha de autenticação" / var / log / secure
PROLONGAR
Etapa 5
Para exibir a lista de endereços IP que tentaram acessar, mas não tiveram sucesso, devemos usar o seguinte comando:
grep "Senha falhada" /var/log/auth.log | awk '{print $ 11}' | uniq -c | sort -nrEtapa 6
Nas distribuições mais atuais do Linux (como o Ubuntu 19), é possível acessar o arquivo de log do tempo de execução que o Systemd gerencia com o comando journalctl, se quisermos ver os logs de login SSH com falha, usaremos o comando grep para filtrar o resultados como este:
journalctl _SYSTEMD_UNIT = ssh.service | egrep "Falha | Falha" (Ubuntu) journalctl _SYSTEMD_UNIT = sshd.service | egrep "Falha | Falha" (RHEL, CentOS)
No CentOSNo CentOS também podemos usar o seguinte:
journalctl _SYSTEMD_UNIT = sshd.service | grep "falha" journalctl _SYSTEMD_UNIT = sshd.service | grep "falhou"
Podemos ver como visualizar cada tentativa de login SSH com falha e, com base nisso, tomar as medidas de segurança relevantes para preservar a disponibilidade dos serviços.