O poder do SSH

Neste artigo pretendo mostrar o quanto o SSH pode ser útil e o quanto podemos produzir com os recursos que ele oferece, que vão desde um backup automático até a execução de um simples comando e a criação de uma chave pública para acesso sem senha. Há também exemplos com código-fonte de scripts que fazem a mesma tarefa, mas de modo automático.

[ Hits: 84.364 ]

Por: Djair Dutra C. Jr. em 23/06/2007


Segurança



Antes de terminar este artigo gostaria de dar uma dica de segurança em servidores ssh.

A porta padrão usada pelo ssh é a 22, e por esquecimento ou desconhecimento alguns usuários deixam servidores abertos nesta porta. Tudo bem que se alguém tentar invadir seu servidor deve ter um usuário e uma senha, mas só o fato dele já estar chegando até a tela de login já é assustador. Para isso aconselho alterar a porta do servidor ssh para uma outra qualquer, como a 24680, por exemplo.

Entre no arquivo /etc/ssh/sshd_config (pode variar dependendo da sua distro), procure e altere a opção port de 22 para o número que você quiser.

Depois disso dê uma reiniciada no seu servidor ssh e pronto. Para entrar nele a partir de outro Linux passe a usar o comando:

$ ssh seu_ip -p sua_porta

Uma dica para saber se tem alguém tentando entrar no seu servidor é dar uma olhada nos seus arquivos de log. Lá ficam guardadas as tentativas erradas de logar como root ou com outro usuário.

Para ver as tentativas erradas de acesso entre em /var/log/messages. Dentro deste arquivo procure por linhas com o seguinte texto:

"Failed password for root from"

Ou para ver tentativas de acesso com um usuário inexistente procure por linhas com o seguinte texto:

"Illegal user"

Se desejar copie as linhas abaixo e monte um script para fazer esta tarefa facilmente pra você. O resultado final é bem mais limpo e fácil de entender. O script também pode ser acessado aqui.

#!/bin/sh
clear
echo
echo "Aguarde..."
echo
logs=`ls /var/log/messages*`
echo "Arquivos Selecionados:
`du -ah /var/log/messages*`" && echo
for i in `echo $logs`;do
echo "Verificando o arquivo $i"
cat $i | grep -i "Failed password for root from" > tent_root.log
cat $i | grep -i "Illegal user" > tent_user.log
done
echo
echo "#############################################"
echo "########### Tentativas de acesso do root ##############"
echo "#############################################"
echo
for i in `cat tent_root.log | tr -s ' ' ','`;do
        mes=`echo $i | cut -d , -f 1`
        dia=`echo $i | cut -d , -f 2`
        hora=`echo $i | cut -d , -f 3`
        host=`echo $i | cut -d , -f 11`
        echo "$dia/$mes,$hora,$host" | tr ',' '\t'
done
echo
echo "############################################"
echo "######## Tentativas de acesso com outros usuários ########"
echo "############################################"
for i in `cat tent_user.log | tr -s ' ' ','`;do
        mes=`echo $i | cut -d , -f 1`
        dia=`echo $i | cut -d , -f 2`
        hora=`echo $i | cut -d , -f 3`
        user=`echo $i | cut -d , -f 8`
        host=`echo $i | cut -d , -f 10`
        echo "$dia/$mes,$hora,$user,$host" | tr ',' '\t'
done
rm -rf tent_root.log
rm -rf tent_user.log

Espero que este artigo possa ajudar alguém, assim como uso bastante todas as funções informadas nele.

Estou aberto a sugestões, dicas e correções sobre quaisquer erros que por ventura venham a aparecer nos códigos.

Agradeço a quem enviar algum comentário e a todos que escrevem para este site, mantendo vivo o sentimento que deu origem ao Linux.

Página anterior    

Páginas do artigo
   1. Iniciando
   2. Login automático por ssh (sem senha)
   3. Criando backups em servidores remotos
   4. Segurança
Outros artigos deste autor

Tux, o cabo eleitoral

Desenvolvimento Web - Simples dicas de segurança

Falta de padronização no Linux

Por que eu pago por 10 megas, mas só faço download a 1 mega?

O dia em que o KDE me surpreendeu

Leitura recomendada

Asterisk com PostgreSQL e unixodbc

Clonar FreeBSD pela rede e sem downtime

Spreading Linux de fato! Case "Heavy-User"

Cube 2 - Sauerbraten: Jogo de tiro em primeira pessoa

LPI - Certificação Profissional Linux

  
Comentários
[1] Comentário enviado por Gleidison em 23/06/2007 - 12:10h

bao tarde amigo. não sei muita coisa me linuz. mas acabe ide alugar um servidor dedicado e não saco como gerenciar ele eu gostaria de uma ajuda tipo. como eu faço os backps automaticos de todos os meusclientes e no com eu restauro ou instalo algoi assim. tipo gerenciar o servidor pelo monos o basico se tever como vc me passar ficarei muito grato.

[2] Comentário enviado por malacker em 24/06/2007 - 11:04h

Quanto aos backups, há inúmeras possibilidades de acordo com o tipo de dados que você tem, bem como o tamanho dos bds.
Se seu bd for MySql tem um tipo de backup. Se for em simples arquivos texto, tem outro tipo e por aí vai.
Quanto a instalar, desinstalar ou atualizar alguma coisa, vai depender muito tb do seu tipo de distribuição.
Para criar os backups, sem dúvida vc deverá usar o comando crontab. Para "zipar" os arquivos vc deverá usar o comando tar. Para integrar todas as tarefas, você deverá integrar tudo através de um script. Como vc diz não ter muito conhecimento de linux, lhe aconselho buscar informações básicas antes de entrar direto em backups, transferências, compactação, etc.

[3] Comentário enviado por calaff2 em 25/06/2007 - 11:28h

bala!! Viva o linux!

[4] Comentário enviado por ederalves em 25/06/2007 - 18:13h

ai vc e o cará sou teu fá.rsrsr

[5] Comentário enviado por rklein em 26/11/2007 - 11:28h

Para seu script funcionar e nescessario liberar o login por root neh ??
e tbm e nescessario colocar a senha de usuario !!! como faço pra aceitar so a chave de criptografia ???

[6] Comentário enviado por alanskate em 16/02/2010 - 14:22h

muito bom, precisei usar isso hoje no trabalho :)

[7] Comentário enviado por cvasconcelosb em 28/05/2010 - 10:11h

Bom dia Djair Dutra,

EXCELENTE artigo, principlamente no tópico referente ao "Login automático por ssh (sem senha)".

Parabéns


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts