Quando temos um servidor público, seja o sistema operativo que for, temos de tomar precauções para acessos indevidos e temos de estar sempre atentos a tentativas de intrusão. Podem dizer que ninguém tem interesse no vosso servidor particular mas não se esqueçam que há máquinas que varrem os IP de todo o mundo na procura de potenciais vitimas. O objectivo pode não ser roubar dados mas tornar a máquina “zombie” para ataques a terceiros.
No caso de Linux em geral e Ubuntu em particular, por norma acedemos à nossa máquina por SSH. Este protocolo é bastante seguro na sua essência, no entanto há algumas precauções a tomar.
- Password – É a chave da vossa casa. Uma password forte, com 12 ou mais caracteres, letras e números. Há programas que geram palavras especiais mas podem sempre escolher uma frase vossa e acrescentar uns números.
- Autenticação com chave encriptada. Um método muitas vezes ignorado mas bastante seguro. Na prática geramos um par de chaves (pública e privada) e guardamos a pública no servidor. e a privada no nosso PC. Já perceberam que só entra quem tiver a chave privada do respectivo par. Este método é teoricamente imune aos ataques de brute-force. Tem a desvantagem de que se perdermos a chave privada…
- Usar o failt2ban. Podem ver um artigo aqui.
- Alterar a porta de acesso SSH. By default, a porta de acesso SSH é a 22. É onde os scanners de IP públicos costumam “bater á porta”. O objectivo não é entrar logo mas sim saber se o servidor X tem a porta 22 à escuta.
É possível e devemos alterar a porta de acesso. Na consola editamos o seguinte ficheiro:
nano /etc/ssh/sshd_config
Vão encontrar o seguinte logo no início:
# What ports, IPs and protocols we listen for
Port 22
Agora é só alterar o 22 para outro número, de preferência acima de 1024 e no máximo 65535. Garantam que o numero da porta em causa não coincida com outra já em uso no vosso servidor.
No fim é só salvar e reiniciar o serviço ssh:
sudo service ssh restart - Verificar se alguém anda a tentar entrar ou se já entrou.
Para ver quem está ligado ao nosso servidor basta fazer o comando:
who
Para ver as tentativas falhadas:
grep sshd.*Failed /var/log/auth.log | less ( para sair carregar na tecla Q )
Para ver as tentativas sem autenticação (comum nos scanners de IP ):
grep sshd.*Did /var/log/auth.log | less ( para sair carregar na tecla Q )
Há outros métodos de protecção mais complexos mas na minha opinião estes são essenciais para dormir mais descansado.