Neste artigo não vou explicar como instalar e para que serve o SSH, porque isso já é um assunto muito bem explicado pelo nossos colegas aqui do VOL.
Se você não conhece o SSH, faça uma busca logo ali no topo da página do lado oposto do logo, por
SSH em artigos.
Este artigo é mais uma coletânea de ideias de outros artigos em um só, ou um resumo do que já foi falado em um único tutorial, só que o meu foco é a
segurança do SSH.
Para deixar o seu sistema super seguro, vamos seguir os passos:
- Escolher uma senha forte;
- Instalar o DenyHosts para bloqueio automático de intrusos;
- Modificar a porta padrão;
- Desabilitar protocolo inseguro;
- Desabilitar login como root;
- Reduzir o número da conexões autenticadas;
- Reduzir o tempo de espera para login;
- Autorizar somente específicos usuários e/ou grupos;
- Autorizar conexões de um único IP;
- Somente autorizar usuários com chaves, proibir o uso de senhas;
- Ligar o SSH à uma interface de rede específica.
Estes passos envolvem modificação do arquivo de configuração global
/etc/ssh/sshd_config e o empacotamento TCP através do host
/etc/hosts.allow e
/etc/hosts.deny.
Passo I: Senha forte
Se você não está nem aí para segurança, se você não acredita que o seu sistema sequer pode ser invadido porque você acha que seus documentos são
irrelevantes para qualquer um, então, pelo menos escolha uma senha decente para proteger o mínimo do seu sistema.
Ainda que você pense que seus arquivos são irrelevantes para qualquer um, para você eles podem ter um valor e isso já é motivo suficiente para você
escolher uma senha para o seu usuário e, principalmente, para o root, já que esse é o mais atacado.
Se você está em um computador que você crê que alguém pode estar tentando invadir, use estes comandos para fazer uma auditoria e veja se o root
não é o alvo principal.
Top 5 mais recentes ataques:
# lastb | awk '{print $1}' | sort | uniq -c | sort -rn | head -5
Top 5 contas mais atacadas de todos os tempos:
# awk 'gsub(".*sshd.*Failed password for (invalid user )?", "") {print $1}' /var/log/secure* | sort | uniq -c | sort -rn | head -5
Top 5 IPs de atacantes (estes devem entrar na sua lista negra):
# awk 'gsub(".*sshd.*Failed password for (invalid user )?", "") {print $3}' /var/log/secure* | sort | uniq -c | sort -rn | head -5
Para que você possa dormir tranquilo sabendo que sua senha é segura, rode o
John the Ripper no seu sistema, se demorar muito para
descobrir a senha, é porque a senha é boa, caso o John encontre a senha rápido, é bom trocar...
Passo II: Instale DenyHost
Esta aplicação vai observar os usuários que tentam logar no sistema e falham, ao perceber que um determinado host está tentando muito e falhando,
ele automaticamente inclui esse host na lista negra.
No
Fedora instale assim:
# yum install denyhosts
# chkconfig denyhosts on
# /etc/init.d/denyhosts start
No
Ubuntu:
sudo apt-get install denyhosts
$ sudo service denyhosts start
Dê uma olhada no arquivo de configuração e faça a alteração que você achar necessária. Caso o seu sistema não tenha, crie os arquivos
/etc/hosts.allow e
/etc/hosts.deny, onde em:
- allow → Deve-se colocar o IP das máquinas que você usará para conectar.
- deny → Máquinas que você já sabe que são de invasores ou pessoas que você deseja bloquear.
Passo III: Mude a porta padrão
Quando você instala o SSH por padrão, ele escuta a porta 22, assim, por medida de segurança, mude para uma porta maior que 1024.
Eu já vi muitos blogs e artigos indicando a porta 2222, o que não é problema, porém, eu navego contra a correnteza se vejo que tem um "mundarel"
de pessoas usando a 2222, um invasor vai tentar a 2222 porque ele também faz pesquisa no Google e vê estes artigos. Assim sendo, prefiro usar uma
outra tipo 2233, 2200, 2000 etc.
Porém, indico você a seguir o seu padrão. O meu
Squid, por exemplo, não roda na porta 3128 e sim na 3120, qualquer instalação do
Squid, eu rodo na 3120.
Bom, mas Squid já é outro assunto... Voltando ao SSH, vamos editar o arquivo
/etc/ssh/sshd_config, procure a linha onde indica a porta
e coloque um "#" antes, copie para a linha debaixo mudando o numero da porta:
# Port 22
Port 2200
Quando conectar, use a porta escolhida:
ssh mauricio@192.168.34.70 -p 2200