Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Criando mais um nivel de proteção para acessar a conta do root com o comando trap

Colaboração: Altemir Braz Dantas Junior

Data de Publicação: 08 de fevereiro de 2011

Vamos abrir o arquivo /root/.bashrc

  # vi /root/.bashrc
  < A NAME="note" HREF="#textnote">< SUP> no final do arquivo vamos acrecentar as linhas abaixo
  seguranca()
  {
   echo "Qual a cor do cavalo de napoleao?"
   trap seguranca 2 20
   read -s resp
   if [ "$resp" != "naoseinao" ]; then
         echo "Errou"
         logout
   fi
  }
  seguranca
  < A NAME="note" HREF="#textnote">< SUP>## fim do arquivo .bashrc

Explicando:

  1. Quando um usuario logar na conta do root e o arquivo /root/.bashrc vai ser executado.

  2. A linha seguranca vai executar a função seguranca(). Se o usuário errar a resposta é deslogado da conta da root.

    Os linuxers já devem estar pensando É só eu dar um Crtl+C ou Crtl-Z que ele sai do programa e já ganho a conta do root sem responder a pergunta.

    Por isso do nosso amigo trap. Ele possibilita pegar sinais e enviar para um comando.

    Você pode ver a numeração correspondente as sinais com o comando
      # trap -l
      
      Crtl+C = 2 =>  SIGINT
      Crtl-Z = 20 =>  SIGTSTP
    
    A linha trap seguranca 2 20 vai fazer o seguinte: se o pessoa que logou tentar sair do programa com o Crtl+C ou Crtl-Z ele vai chamar a função novamente, só conseguindo ganhar o shell se ele realmente acertar a resposta.

    Protegendo o arquivo para ninguem alem do root ver a resposta:

      # chmod 700 /root/.bashrc
    

    Para maior seguranca desative o Login do root via ssh para não alterar esse arquivo via scp.

Veja a relação completa dos artigos de Altemir Braz Dantas Junior

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 2.96/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (982 votos)

Opinião dos Leitores

kleber
22 Abr 2011, 12:21
Muito boa a dica, mas o sftp parou de funcionar :P
alias, como se cria uma nova sessão ssh para o sftp e não há interação o sftp não funciona pois o .bashrc dá logout em caso de resposta errada.

alguma solução para isto?
Altemir Braz Dantas Junior
14 Fev 2011, 17:21
Carlos verifiquei que isso realmente ocorria, entao melhorei o script dixando assim

seguranca()
{
echo "Qual a cor do cavalo de napoleao?"
trap 'echo "Desabilitado";resp="";echo echo "Qual a cor do cavalo de napoleao?"' 2 20
read -s resp
if [ "$resp" != "www.papaicomanda.com.br" ]; then
echo "Seu ip foi cadastrado em nosso banco de dados como tetativade acesso"
#libera os crtls depois do acerto
trap - 2 20
logout
fi
}
seguranca

Oque fiz foi, ao invez de chamar a function novamente soh imprimir a pergunta novamente e limpei a variavel resp no caso dela ter ja recebido algum caracter

[]s
Altemir Braz Dantas Junior (Jocajuni)
Bruno Carvalho
11 Fev 2011, 20:20
Muito show essa dica, parabéns!
Carlos
10 Fev 2011, 15:50
Olha quando eu dou ctrl+C a senha não funciona mais? porque?
Agnaldo - Rio Preto
09 Fev 2011, 08:11
Dica boa sim, valendo mais uma opção para adm...

toda segurança é bem vinda
Claudio Junior
08 Fev 2011, 09:10
como dica para um novo procedimento para segurança, não achei legal, em vista que adiciona uma nova "senha" a root, sendo que o melhor é ter senhas fortes e a root não deve estar disponível para login por qualquer usuário, ou pelo ambiente de rede. Agora, olhando melhor a dica, as informações sobre o comando trap são muito boas. Poucas pessoas conhecem este comando e simplesmente conhecer a forma como tratar sinais através do shell é muito interessante. Por este motivo achamos esta dica mais do que interessante.
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script
Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

Objective-C Fundamental