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?
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:
- Quando um usuario logar na conta do root e o arquivo
/root/.bashrcvai ser executado. - 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 linhatrap seguranca 2 20vai 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.
Referências Adicionais
Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.
Avalie esta dica
Opinião dos Leitores
kleber
22 Abr 2011, 12:21
22 Abr 2011, 12:21
Altemir Braz Dantas Junior
14 Fev 2011, 17:21
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)
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
11 Fev 2011, 20:20
Muito show essa dica, parabéns!
Carlos
10 Fev 2011, 15:50
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
09 Fev 2011, 08:11
Dica boa sim, valendo mais uma opção para adm...
toda segurança é bem vinda
toda segurança é bem vinda
Claudio Junior
08 Fev 2011, 09:10
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.
Powered by Scriptsmill Comments Script




