De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: João Eriberto Mota Filho
Data de Publicação: 07 de agosto de 2010
Recentemente, divulguei duas atividades no meu [Twitter http://twitter.com/eribertomota] e no meu Blog que chamaram bastante a atenção das pessoas. Tratava-se de duas máquinas, que foram disponibilizadas na Internet, com SSH ativado e senha de root extremamente simples. Vários bots (robôs na Internet) descobriram a senha e avisaram aos seus donos. Com isso, narrei on-line, em tempo real ou quase real, tudo o que acontecia. Uma verdadeira festa de invasores.
Na primeira vez a senha foi descoberta por volta de 1 hora. Na segunda vez, em cerca de 15 horas. Isso, certamente, serviu para mostrar a muitos que senhas fracas não devem ser adotadas. Aquela história de "vai ser só de hoje para amanhã" não é uma boa atitude. As duas experiências estão nas seguintes URLs:
Sei que já deram aqui milhões de receitas para aumentar a segurança de serviços SSH. Mas vale a pena reforçar alguns procedimentos e sugerir outros, geralmente, desconhecidos. Vou falar sobre o Debian mas, com poucas adaptações, tudo o que for visto aqui poderá ser aplicado em outras distros.
Inicialmente, a mais óbvia. Troque a porta default de 22 para alguma
que esteja acima de 5000. Os bots, geralmente, só testam senhas em SSH
configurados na porta 22. Para trocar a porta, no Debian, edite o arquivo
/etc/ssh/sshd_config
e procure pela linha Port 22
. Depois de alterar
a porta, reinicie e o serviço com o comando:
# /etc/init.d/ssh restart
Há várias coisas legais que podem ser feitas, tudo já divulgado aqui no
Dicas-L por outros autores. Desabilitar o login pelo root, só permitir
login utilizando certificado etc. Mas digamos que você precise do método
de autenticação tradicional, com usuário e senha. Uma coisa é certa: nada
de senha óbvia. Use senhas com oito caracteres ou mais, contendo letras,
números e caracteres especiais. Além disso, instale o fail2ban
.
O fail2ban
é um sistema de verificação de falha de autenticação. Pode
ser utilizado com inúmeros serviços. Um deles é o SSH. Então, digamos que
alguém tente um login por SSH e erre X vezes o usuário, a senha ou ambos. O
IP desse usuário será bloqueado por N segundos. É isso que o fail2ban
faz. Inicialmente, instale-o com:
# apt-get install fail2ban
A seguir, edite o arquivo /etc/fail2ban/jail.conf
e, na seção [ssh]
,
altere a entrada
maxretry = 6
para
maxretry = 3
Ainda, abaixo da citada linha (maxretry = 3), acrescente:
bantime = 3600
Reinicie o serviço fail2ban
:
# /etc/init.d/fail2ban restart
No caso, o fail2ban
foi configurado para, na ocorrência de três tentativas
sem sucesso de autenticação SSH, bloquear por 1 hora (3600 segundos) o IP
do atacante. O bloqueio se dará por Netfilter (ativado pelo fail2ban
via comando iptables).
Por fim, o pior problema que pode acontecer numa invasão é você nunca ficar
sabendo que ela ocorreu. Então, você precisa do samhain
. O samhain
é
responsável por lhe avisar quando qualquer arquivo ou diretório que esteja
na relação de vigilância dele for alterado. Uma das formas de ser avisado
é por e-mail. Então, instale o samhain
com o comando:
# apt-get install samhain
Considerando que você esteja querendo vigiar por e-mail o servidor que
recebeu o samhain
, instale o sendmail em tal servidor para que este
possa enviar e-mails.
# apt-get install sendmail
O sendmail será instalado de forma que só a máquina local possa enviar mensagens (não haverá portas abertas para fora). Isso poderá ser verificado com o comando:
# netstat -tunlp
A seguir, edite o arquivo /etc/aliases
e, no fim, insira a linha:
root: seu_endereço_de_email
Ou seja: quando o samhain
enviar um mail local para o root, ele será
redirecionado para o seu e-mail. Para validar a configuração anterior,
execute o comando:
# newaliases
Se for necessário, no arquivo /etc/samhain/samhainrc
você poderá configurar
quais arquivos e diretórios devem ser observados ou não. Dentro do arquivo
tem toda a explicação de como fazer. Leia o arquivo desde do início. Você
poderá utilizar wildcards etc.
É lógico que existem outras artimanhas e programas que podem ser utilizados. Mas com o que escrevi aqui, com certeza, o grau de segurança do seu servidor SSH aumentará bastante.
Enjoy!
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários